vue-draggable
Advanced tools
Comparing version 1.0.6 to 1.0.7
@@ -103,25 +103,20 @@ (function webpackUniversalModuleDefinition(root, factory) { | ||
\**********************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
/*! exports provided: VueDraggableDirective, default */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VueDraggableDirective", function() { return VueDraggableDirective; }); | ||
/* harmony import */ var _vue_draggable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./vue-draggable */ "./src/vue-draggable.js"); | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.VueDraggableDirective = undefined; | ||
var _vueDraggable = __webpack_require__(/*! ./vue-draggable */ "./src/vue-draggable.js"); | ||
var VueDraggableDirective = exports.VueDraggableDirective = { | ||
var VueDraggableDirective = { | ||
bind: function bind(el, options) { | ||
// override default options | ||
Object.assign(_vueDraggable.VueDraggable.defaultOptions, options.value); | ||
_vueDraggable.VueDraggable.registerListeners(el); | ||
_vueDraggable.VueDraggable.initiate(el); | ||
Object.assign(_vue_draggable__WEBPACK_IMPORTED_MODULE_0__["VueDraggable"].defaultOptions, options.value); | ||
_vue_draggable__WEBPACK_IMPORTED_MODULE_0__["VueDraggable"].registerListeners(el); | ||
_vue_draggable__WEBPACK_IMPORTED_MODULE_0__["VueDraggable"].initiate(el); | ||
}, | ||
componentUpdated: function componentUpdated(el) { | ||
setTimeout(function () { | ||
_vueDraggable.VueDraggable.initiate(el); | ||
_vue_draggable__WEBPACK_IMPORTED_MODULE_0__["VueDraggable"].initiate(el); | ||
}); | ||
@@ -131,7 +126,7 @@ } | ||
_vueDraggable.VueDraggable.install = function (Vue) { | ||
_vue_draggable__WEBPACK_IMPORTED_MODULE_0__["VueDraggable"].install = function (Vue) { | ||
Vue.directive('drag-and-drop', VueDraggableDirective); | ||
}; | ||
exports.default = _vueDraggable.VueDraggable; | ||
/* harmony default export */ __webpack_exports__["default"] = (_vue_draggable__WEBPACK_IMPORTED_MODULE_0__["VueDraggable"]); | ||
@@ -144,16 +139,20 @@ /***/ }), | ||
\**************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
/*! exports provided: VueDraggableMethods */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VueDraggableMethods", function() { return VueDraggableMethods; }); | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } | ||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } | ||
function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } | ||
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } | ||
var VueDraggableMethods = { | ||
@@ -172,14 +171,13 @@ stopDragAndDrop: function stopDragAndDrop() { | ||
this.selections.owner = item.parentNode; | ||
} | ||
} // or if that's already happened then compare it with this item's parent | ||
// and if they're not the same container, return to prevent selection | ||
// or if that's already happened then compare it with this item's parent | ||
// and if they're not the same container, return to prevent selection | ||
if (!this.defaultOptions.multipleDropzonesItemsDraggingEnabled && this.selections.owner !== item.parentNode) { | ||
return; | ||
} | ||
} // set this item's grabbed state | ||
// set this item's grabbed state | ||
item.setAttribute('aria-grabbed', 'true'); | ||
// add it to the items array | ||
item.setAttribute('aria-grabbed', 'true'); // add it to the items array | ||
this.selections.items = [].concat(_toConsumableArray(this.selections.items), [item]); | ||
@@ -189,5 +187,4 @@ }, | ||
// reset this item's grabbed state | ||
item.setAttribute('aria-grabbed', 'false'); | ||
item.setAttribute('aria-grabbed', 'false'); // then find and remove this item from the existing items array | ||
// then find and remove this item from the existing items array | ||
for (var i = 0; i < this.selections.items.length; i++) { | ||
@@ -204,10 +201,9 @@ if (this.selections.items[i] === item) { | ||
// reset the owner reference | ||
this.selections.owner = null; | ||
this.selections.owner = null; // reset the grabbed state on every selected item | ||
// reset the grabbed state on every selected item | ||
for (var i = 0; i < this.selections.items.length; i++) { | ||
this.selections.items[i].setAttribute('aria-grabbed', 'false'); | ||
} | ||
} // then reset the items array | ||
// then reset the items array | ||
this.selections.items = []; | ||
@@ -226,8 +222,9 @@ } | ||
} | ||
} | ||
} // remove aria-grabbed and tabindex from all items inside those containers | ||
// remove aria-grabbed and tabindex from all items inside those containers | ||
for (var _len = this.items.length, _i = 0; _i < _len; _i++) { | ||
if (this.items[_i].parentNode !== this.selections.owner && this.items[_i].getAttribute('aria-grabbed')) { | ||
this.items[_i].removeAttribute('aria-grabbed'); | ||
this.items[_i].removeAttribute('tabindex'); | ||
@@ -246,9 +243,10 @@ } | ||
} | ||
} | ||
} // restore aria-grabbed and tabindex to all selectable items | ||
// without changing the grabbed value of any existing selected items | ||
// restore aria-grabbed and tabindex to all selectable items | ||
// without changing the grabbed value of any existing selected items | ||
for (var _i2 = 0; _i2 < this.items.length; _i2++) { | ||
if (!this.items[_i2].getAttribute('aria-grabbed')) { | ||
this.items[_i2].setAttribute('aria-grabbed', 'false'); | ||
this.items[_i2].setAttribute('tabindex', '0'); | ||
@@ -287,15 +285,15 @@ } else if (this.items[_i2].getAttribute('aria-grabbed') === 'true') { | ||
el.addEventListener('mousedown', function (e) { | ||
var elem = e.target.closest(_this.defaultOptions.draggableSelector); | ||
var elem = e.target.closest(_this.defaultOptions.draggableSelector); // if the element is a draggable item | ||
// if the element is a draggable item | ||
if (elem && elem.getAttribute('draggable')) { | ||
// clear dropeffect from the target containers | ||
_this.clearDropeffects(); | ||
// if the multiple selection modifier is not pressed | ||
_this.clearDropeffects(); // if the multiple selection modifier is not pressed | ||
// and the item's grabbed state is currently false | ||
if (!_this.hasModifier(e) && elem.getAttribute('aria-grabbed') === 'false') { | ||
// clear all existing selections | ||
_this.clearSelections(); | ||
_this.clearSelections(); // then add this new selection | ||
// then add this new selection | ||
_this.addSelection(elem); | ||
@@ -307,5 +305,5 @@ } | ||
// clear dropeffect from the target containers | ||
_this.clearDropeffects(); | ||
_this.clearDropeffects(); // clear all existing selections | ||
// clear all existing selections | ||
_this.clearSelections(); | ||
@@ -317,10 +315,8 @@ } else { | ||
} | ||
}, false); | ||
}, false); // mouseup event to implement multiple selection | ||
// mouseup event to implement multiple selection | ||
el.addEventListener('mouseup', function (e) { | ||
var elem = e.target.closest(_this.defaultOptions.draggableSelector); | ||
var elem = e.target.closest(_this.defaultOptions.draggableSelector); // if the element is a draggable item | ||
// and the multipler selection modifier is pressed | ||
// if the element is a draggable item | ||
// and the multipler selection modifier is pressed | ||
if (elem && elem.getAttribute('draggable') && _this.hasModifier(e)) { | ||
@@ -330,6 +326,6 @@ // if the item's grabbed state is currently true | ||
// unselect this item | ||
_this.removeSelection(elem); | ||
_this.removeSelection(elem); // if that was the only selected item | ||
// then reset the owner container reference | ||
// if that was the only selected item | ||
// then reset the owner container reference | ||
if (!_this.selections.items.length) { | ||
@@ -344,9 +340,7 @@ _this.selections.owner = null; | ||
} | ||
}, false); | ||
}, false); // dragstart event to initiate mouse dragging | ||
// dragstart event to initiate mouse dragging | ||
el.addEventListener('dragstart', function (e) { | ||
var elem = e.target.closest(_this.defaultOptions.draggableSelector); | ||
var elem = e.target.closest(_this.defaultOptions.draggableSelector); // if the element's parent is not the owner, then block this event | ||
// if the element's parent is not the owner, then block this event | ||
if (!_this.defaultOptions.multipleDropzonesItemsDraggingEnabled && elem && _this.selections.owner !== elem.parentNode) { | ||
@@ -359,3 +353,3 @@ e.preventDefault(); | ||
try { | ||
_this.defaultOptions.onDragstart(_extends({ | ||
_this.defaultOptions.onDragstart(_objectSpread({ | ||
nativeEvent: e, | ||
@@ -366,25 +360,25 @@ stop: _this.stopDragAndDrop | ||
e.preventDefault(); | ||
_this.removeOldDropzoneAreaElements(); | ||
return; | ||
} | ||
} | ||
} // [else] if the multiple selection modifier is pressed | ||
// and the item's grabbed state is currently false | ||
// [else] if the multiple selection modifier is pressed | ||
// and the item's grabbed state is currently false | ||
if (_this.hasModifier(e) && elem.getAttribute('aria-grabbed') === 'false') { | ||
// add this additional selection | ||
_this.addSelection(elem); | ||
} | ||
// we don't need the transfer data, but we have to define something | ||
} // we don't need the transfer data, but we have to define something | ||
// otherwise the drop action won't work at all in firefox | ||
// most browsers support the proper mime-type syntax, eg. "text/plain" | ||
// but we have to use this incorrect syntax for the benefit of IE10+ | ||
e.dataTransfer.setData('text', ''); | ||
// apply dropeffect to the target containers | ||
e.dataTransfer.setData('text', ''); // apply dropeffect to the target containers | ||
_this.addDropeffects(); | ||
}, false); | ||
}, false); // keydown event to implement selection and abort | ||
// keydown event to implement selection and abort | ||
el.addEventListener('keydown', function (e) { | ||
@@ -404,16 +398,16 @@ // if the element is a grabbable item | ||
_this.clearDropeffects(); | ||
} | ||
} // unselect this item | ||
// unselect this item | ||
_this.removeSelection(e.target); | ||
// if we have any selections | ||
_this.removeSelection(e.target); // if we have any selections | ||
// apply dropeffect to the target containers, | ||
// in case earlier selections were made by mouse | ||
if (_this.selections.items.length) { | ||
_this.addDropeffects(); | ||
} | ||
} // if that was the only selected item | ||
// then reset the owner container reference | ||
// if that was the only selected item | ||
// then reset the owner container reference | ||
if (!_this.selections.items.length) { | ||
@@ -425,5 +419,5 @@ _this.selections.owner = null; | ||
// add this additional selection | ||
_this.addSelection(e.target); | ||
_this.addSelection(e.target); // apply dropeffect to the target containers | ||
// apply dropeffect to the target containers | ||
_this.addDropeffects(); | ||
@@ -435,11 +429,11 @@ } | ||
// clear dropeffect from the target containers | ||
_this.clearDropeffects(); | ||
_this.clearDropeffects(); // clear all existing selections | ||
// clear all existing selections | ||
_this.clearSelections(); | ||
// add this new selection | ||
_this.addSelection(e.target); | ||
_this.clearSelections(); // add this new selection | ||
// apply dropeffect to the target containers | ||
_this.addSelection(e.target); // apply dropeffect to the target containers | ||
_this.addDropeffects(); | ||
@@ -450,9 +444,9 @@ } else { | ||
_this.addDropeffects(); | ||
} | ||
} // then prevent default to avoid any conflict with native actions | ||
// then prevent default to avoid any conflict with native actions | ||
e.preventDefault(); | ||
} | ||
} // Modifier + M is the end-of-selection keystroke | ||
// Modifier + M is the end-of-selection keystroke | ||
if (e.keyCode === 77 && _this.hasModifier(e)) { | ||
@@ -463,5 +457,5 @@ // if we have any selected items | ||
// in case earlier selections were made by mouse | ||
_this.addDropeffects(); | ||
_this.addDropeffects(); // if the owner container is the last one, focus the first one | ||
// if the owner container is the last one, focus the first one | ||
if (_this.selections.owner === _this.targets[_this.targets.length - 1]) { | ||
@@ -474,2 +468,3 @@ _this.targets[0].focus(); | ||
_this.targets[i + 1].focus(); | ||
break; | ||
@@ -479,10 +474,10 @@ } | ||
} | ||
} | ||
} // then prevent default to avoid any conflict with native actions | ||
// then prevent default to avoid any conflict with native actions | ||
e.preventDefault(); | ||
} | ||
} | ||
} // Escape is the abort keystroke (for any target element) | ||
// Escape is the abort keystroke (for any target element) | ||
if (e.keyCode === 27) { | ||
@@ -492,33 +487,30 @@ // if we have any selected items | ||
// clear dropeffect from the target containers | ||
_this.clearDropeffects(); | ||
// then set focus back on the last item that was selected, which is | ||
_this.clearDropeffects(); // then set focus back on the last item that was selected, which is | ||
// necessary because we've removed tabindex from the current focus | ||
_this.selections.items[_this.selections.items.length - 1].focus(); | ||
// clear all existing selections | ||
_this.clearSelections(); | ||
// but don't prevent default so that native actions can still occur | ||
_this.selections.items[_this.selections.items.length - 1].focus(); // clear all existing selections | ||
_this.clearSelections(); // but don't prevent default so that native actions can still occur | ||
} | ||
} | ||
}, false); | ||
}, false); // dragenter event to set that variable | ||
// dragenter event to set that variable | ||
el.addEventListener('dragenter', function (e) { | ||
_this.related = e.target; | ||
}, false); | ||
}, false); // dragleave event to maintain target highlighting using that variable | ||
// dragleave event to maintain target highlighting using that variable | ||
el.addEventListener('dragleave', function () { | ||
// get a drop target reference from the relatedTarget | ||
var droptarget = _this.getContainer(_this.related); | ||
var droptarget = _this.getContainer(_this.related); // if the target is the owner then it's not a valid drop target | ||
// if the target is the owner then it's not a valid drop target | ||
if (droptarget === _this.selections.owner) { | ||
droptarget = null; | ||
} | ||
} // if the drop target is different from the last stored reference | ||
// (or we have one of those references but not the other one) | ||
// if the drop target is different from the last stored reference | ||
// (or we have one of those references but not the other one) | ||
if (droptarget !== _this.selections.droptarget) { | ||
@@ -528,15 +520,14 @@ // if we have a saved reference, clear its existing dragover class | ||
_this.selections.droptarget.className = _this.selections.droptarget.className.replace(/ dragover/g, ''); | ||
} | ||
} // apply the dragover class to the new drop target reference | ||
// apply the dragover class to the new drop target reference | ||
if (droptarget) { | ||
droptarget.className += ' dragover'; | ||
} | ||
} // then save that reference for next time | ||
// then save that reference for next time | ||
_this.selections.droptarget = droptarget; | ||
} | ||
}, false); | ||
}, false); // dragover event to allow the drag by preventing its default | ||
// dragover event to allow the drag by preventing its default | ||
el.addEventListener('dragover', function (e) { | ||
@@ -547,10 +538,9 @@ // if we have any selected items, allow them to be dragged | ||
} | ||
}, false); | ||
}, false); // dragend event to implement items being validly dropped into targets, | ||
// or invalidly dropped elsewhere, and to clean-up the interface either way | ||
// dragend event to implement items being validly dropped into targets, | ||
// or invalidly dropped elsewhere, and to clean-up the interface either way | ||
el.addEventListener('dragend', function (e) { | ||
if (typeof _this.defaultOptions.onDragend === 'function') { | ||
try { | ||
_this.defaultOptions.onDragend(_extends({ | ||
_this.defaultOptions.onDragend(_objectSpread({ | ||
nativeEvent: e, | ||
@@ -561,8 +551,9 @@ stop: _this.stopDragAndDrop | ||
_this.removeOldDropzoneAreaElements(); | ||
return; | ||
} | ||
} | ||
} // if we have a valid drop target reference | ||
// (which implies that we have some selected items) | ||
// if we have a valid drop target reference | ||
// (which implies that we have some selected items) | ||
if (_this.selections.droptarget) { | ||
@@ -573,4 +564,6 @@ // append the selected items to the end of the target container | ||
_this.selections.droptarget.insertBefore(_this.selections.items[i], _this.nextItemElement); | ||
continue; | ||
} | ||
_this.selections.droptarget.appendChild(_this.selections.items[i]); | ||
@@ -580,37 +573,35 @@ } | ||
if (typeof _this.defaultOptions.onDrop === 'function') { | ||
_this.defaultOptions.onDrop(_extends({ | ||
_this.defaultOptions.onDrop(_objectSpread({ | ||
nativeEvent: e, | ||
stop: function stop() { | ||
throw new Error('Stop method is available only for callbacks\n \'onDragstart\' and \'onDragend\'. For more info look at\n https://github.com/Vivify-Ideas/vue-draggable/blob/master/README.md\n '); | ||
throw new Error("Stop method is available only for callbacks\n 'onDragstart' and 'onDragend'. For more info look at\n https://github.com/Vivify-Ideas/vue-draggable/blob/master/README.md\n "); | ||
} | ||
}, _this.selections)); | ||
} | ||
} // prevent default to allow the action | ||
// prevent default to allow the action | ||
e.preventDefault(); | ||
} | ||
} // if we have any selected items | ||
// if we have any selected items | ||
if (_this.selections.items.length) { | ||
// clear dropeffect from the target containers | ||
_this.clearDropeffects(); | ||
_this.clearDropeffects(); // if we have a valid drop target reference | ||
// if we have a valid drop target reference | ||
if (_this.selections.droptarget) { | ||
// reset the selections array | ||
_this.clearSelections(); | ||
_this.clearSelections(); // reset the target's dragover class | ||
// reset the target's dragover class | ||
_this.selections.droptarget.className = _this.selections.droptarget.className.replace(/ dragover/g, ''); | ||
// reset the target reference | ||
_this.selections.droptarget.className = _this.selections.droptarget.className.replace(/ dragover/g, ''); // reset the target reference | ||
_this.selections.droptarget = null; | ||
} | ||
} | ||
} // dropzone area elements | ||
// dropzone area elements | ||
_this.removeOldDropzoneAreaElements(); | ||
}, false); | ||
}, false); // keydown event to implement items being dropped into targets | ||
// keydown event to implement items being dropped into targets | ||
el.addEventListener('keydown', function (e) { | ||
@@ -624,15 +615,15 @@ // if the element is a drop target container | ||
e.target.appendChild(_this.selections.items[i]); | ||
} | ||
} // clear dropeffect from the target containers | ||
// clear dropeffect from the target containers | ||
_this.clearDropeffects(); | ||
// then set focus back on the last item that was selected, which is | ||
_this.clearDropeffects(); // then set focus back on the last item that was selected, which is | ||
// necessary because we've removed tabindex from the current focus | ||
_this.selections.items[_this.selections.items.length - 1].focus(); | ||
// reset the selections array | ||
_this.clearSelections(); | ||
// prevent default to to avoid any conflict with native actions | ||
_this.selections.items[_this.selections.items.length - 1].focus(); // reset the selections array | ||
_this.clearSelections(); // prevent default to to avoid any conflict with native actions | ||
e.preventDefault(); | ||
@@ -646,19 +637,15 @@ } | ||
} | ||
var previousTarget = null; | ||
var dragoverCalls = 0; | ||
el.addEventListener('dragover', function (e) { | ||
if (dragoverCalls % 10 !== 0 && e.target === previousTarget || !e.target || e.target.className === 'item-dropzone-area') return; | ||
dragoverCalls++; | ||
previousTarget = e.target; | ||
_this.nextItemElement = e.target.closest(_this.defaultOptions.draggableSelector); | ||
_this.selections.droptarget = e.target.closest(_this.defaultOptions.dropzoneSelector); | ||
if (_this.selections.droptarget === _this.selections.owner) return; | ||
var itemDropzoneElement = document.createElement('div'); | ||
itemDropzoneElement.className = 'item-dropzone-area'; | ||
itemDropzoneElement.className = 'item-dropzone-area'; | ||
_this.removeOldDropzoneAreaElements(); | ||
@@ -689,3 +676,5 @@ | ||
this.items[_i3].setAttribute('draggable', 'true'); | ||
this.items[_i3].setAttribute('aria-grabbed', 'false'); | ||
this.items[_i3].setAttribute('tabindex', '0'); | ||
@@ -696,3 +685,2 @@ } | ||
exports.VueDraggableMethods = VueDraggableMethods; | ||
@@ -705,11 +693,8 @@ /***/ }), | ||
\**************************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
/*! exports provided: VueDraggableOptions */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
__webpack_require__.r(__webpack_exports__); | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VueDraggableOptions", function() { return VueDraggableOptions; }); | ||
var VueDraggableOptions = { | ||
@@ -739,3 +724,2 @@ defaultOptions: { | ||
exports.VueDraggableOptions = VueDraggableOptions; | ||
@@ -748,22 +732,20 @@ /***/ }), | ||
\******************************/ | ||
/*! no static exports found */ | ||
/***/ (function(module, exports, __webpack_require__) { | ||
/*! exports provided: VueDraggable */ | ||
/***/ (function(module, __webpack_exports__, __webpack_require__) { | ||
"use strict"; | ||
__webpack_require__.r(__webpack_exports__); | ||
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VueDraggable", function() { return VueDraggable; }); | ||
/* harmony import */ var _vue_draggable_options__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./vue-draggable-options */ "./src/vue-draggable-options.js"); | ||
/* harmony import */ var _vue_draggable_methods__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./vue-draggable-methods */ "./src/vue-draggable-methods.js"); | ||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } | ||
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } | ||
Object.defineProperty(exports, "__esModule", { | ||
value: true | ||
}); | ||
exports.VueDraggable = undefined; | ||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; | ||
var _vueDraggableOptions = __webpack_require__(/*! ./vue-draggable-options */ "./src/vue-draggable-options.js"); | ||
var _vueDraggableMethods = __webpack_require__(/*! ./vue-draggable-methods */ "./src/vue-draggable-methods.js"); | ||
var VueDraggable = _objectSpread({}, _vue_draggable_options__WEBPACK_IMPORTED_MODULE_0__["VueDraggableOptions"], _vue_draggable_methods__WEBPACK_IMPORTED_MODULE_1__["VueDraggableMethods"]); | ||
var VueDraggable = _extends({}, _vueDraggableOptions.VueDraggableOptions, _vueDraggableMethods.VueDraggableMethods); | ||
exports.VueDraggable = VueDraggable; | ||
@@ -770,0 +752,0 @@ /***/ }) |
@@ -1,2 +0,2 @@ | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("VueDraggable",[],t):"object"==typeof exports?exports.VueDraggable=t():e.VueDraggable=t()}(this,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,r),s.l=!0,s.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var s in e)r.d(n,s,function(t){return e[t]}.bind(null,s));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=3)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e};var s={stopDragAndDrop:function(){throw new Error("Requested D&D stop...")},isOldBrowser:function(){return!document.querySelectorAll||!("draggable"in document.createElement("span"))||window.opera},addSelection:function(e){this.selections.owner||(this.selections.owner=e.parentNode),(this.defaultOptions.multipleDropzonesItemsDraggingEnabled||this.selections.owner===e.parentNode)&&(e.setAttribute("aria-grabbed","true"),this.selections.items=[].concat(function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}(this.selections.items),[e]))},removeSelection:function(e){e.setAttribute("aria-grabbed","false");for(var t=0;t<this.selections.items.length;t++)if(this.selections.items[t]===e){this.selections.items.splice(t,1);break}},clearSelections:function(){if(this.selections.items.length){this.selections.owner=null;for(var e=0;e<this.selections.items.length;e++)this.selections.items[e].setAttribute("aria-grabbed","false");this.selections.items=[]}},hasModifier:function(e){return e.ctrlKey||e.metaKey||e.shiftKey},addDropeffects:function(){for(var e=this.targets.length,t=0;t<e;t++)this.targets[t]!==this.selections.owner&&"none"===this.targets[t].getAttribute("aria-dropeffect")&&(this.targets[t].setAttribute("aria-dropeffect","move"),this.targets[t].setAttribute("tabindex","0"));for(var r=this.items.length,n=0;n<r;n++)this.items[n].parentNode!==this.selections.owner&&this.items[n].getAttribute("aria-grabbed")&&(this.items[n].removeAttribute("aria-grabbed"),this.items[n].removeAttribute("tabindex"))},clearDropeffects:function(){if(this.selections.items.length){for(var e=0;e<this.targets.length;e++)"none"!==this.targets[e].getAttribute("aria-dropeffect")&&(this.targets[e].setAttribute("aria-dropeffect","none"),this.targets[e].removeAttribute("tabindex"));for(var t=0;t<this.items.length;t++)this.items[t].getAttribute("aria-grabbed")?"true"===this.items[t].getAttribute("aria-grabbed")&&this.items[t].setAttribute("tabindex","0"):(this.items[t].setAttribute("aria-grabbed","false"),this.items[t].setAttribute("tabindex","0"))}},getContainer:function(e){var t=e;do{if(t&&1===t.nodeType&&t.getAttribute("aria-dropeffect"))return t}while(t=t?t.parentNode:null);return null},removeOldDropzoneAreaElements:function(){for(var e=document.querySelectorAll(".item-dropzone-area"),t=0;t<e.length;t++)e[t].remove()},registerListeners:function(e){var t=this;if((!this.defaultOptions.excludeOlderBrowsers||!this.isOldBrowser())&&(e.addEventListener("mousedown",function(e){var r=e.target.closest(t.defaultOptions.draggableSelector);r&&r.getAttribute("draggable")?(t.clearDropeffects(),t.hasModifier(e)||"false"!==r.getAttribute("aria-grabbed")||(t.clearSelections(),t.addSelection(r))):t.hasModifier(e)?t.clearDropeffects():(t.clearDropeffects(),t.clearSelections())},!1),e.addEventListener("mouseup",function(e){var r=e.target.closest(t.defaultOptions.draggableSelector);r&&r.getAttribute("draggable")&&t.hasModifier(e)&&("true"===r.getAttribute("aria-grabbed")?(t.removeSelection(r),t.selections.items.length||(t.selections.owner=null)):t.addSelection(r))},!1),e.addEventListener("dragstart",function(e){var r=e.target.closest(t.defaultOptions.draggableSelector);if(t.defaultOptions.multipleDropzonesItemsDraggingEnabled||!r||t.selections.owner===r.parentNode){if("function"==typeof t.defaultOptions.onDragstart)try{t.defaultOptions.onDragstart(n({nativeEvent:e,stop:t.stopDragAndDrop},t.selections))}catch(r){return e.preventDefault(),void t.removeOldDropzoneAreaElements()}t.hasModifier(e)&&"false"===r.getAttribute("aria-grabbed")&&t.addSelection(r),e.dataTransfer.setData("text",""),t.addDropeffects()}else e.preventDefault()},!1),e.addEventListener("keydown",function(e){if(e.target.getAttribute("aria-grabbed")&&(32===e.keyCode&&(t.hasModifier(e)?"true"===e.target.getAttribute("aria-grabbed")?(1===t.selections.items.length&&t.clearDropeffects(),t.removeSelection(e.target),t.selections.items.length&&t.addDropeffects(),t.selections.items.length||(t.selections.owner=null)):(t.addSelection(e.target),t.addDropeffects()):"false"===e.target.getAttribute("aria-grabbed")?(t.clearDropeffects(),t.clearSelections(),t.addSelection(e.target),t.addDropeffects()):t.addDropeffects(),e.preventDefault()),77===e.keyCode&&t.hasModifier(e))){if(t.selections.items.length)if(t.addDropeffects(),t.selections.owner===t.targets[t.targets.length-1])t.targets[0].focus();else for(var r=0;r<t.targets.length;r++)if(t.selections.owner===t.targets[r]){t.targets[r+1].focus();break}e.preventDefault()}27===e.keyCode&&t.selections.items.length&&(t.clearDropeffects(),t.selections.items[t.selections.items.length-1].focus(),t.clearSelections())},!1),e.addEventListener("dragenter",function(e){t.related=e.target},!1),e.addEventListener("dragleave",function(){var e=t.getContainer(t.related);e===t.selections.owner&&(e=null),e!==t.selections.droptarget&&(t.selections.droptarget&&(t.selections.droptarget.className=t.selections.droptarget.className.replace(/ dragover/g,"")),e&&(e.className+=" dragover"),t.selections.droptarget=e)},!1),e.addEventListener("dragover",function(e){t.selections.items.length&&e.preventDefault()},!1),e.addEventListener("dragend",function(e){if("function"==typeof t.defaultOptions.onDragend)try{t.defaultOptions.onDragend(n({nativeEvent:e,stop:t.stopDragAndDrop},t.selections))}catch(e){return void t.removeOldDropzoneAreaElements()}if(t.selections.droptarget){for(var r=0;r<t.selections.items.length;r++)t.nextItemElement?t.selections.droptarget.insertBefore(t.selections.items[r],t.nextItemElement):t.selections.droptarget.appendChild(t.selections.items[r]);"function"==typeof t.defaultOptions.onDrop&&t.defaultOptions.onDrop(n({nativeEvent:e,stop:function(){throw new Error("Stop method is available only for callbacks\n 'onDragstart' and 'onDragend'. For more info look at\n https://github.com/Vivify-Ideas/vue-draggable/blob/master/README.md\n ")}},t.selections)),e.preventDefault()}t.selections.items.length&&(t.clearDropeffects(),t.selections.droptarget&&(t.clearSelections(),t.selections.droptarget.className=t.selections.droptarget.className.replace(/ dragover/g,""),t.selections.droptarget=null)),t.removeOldDropzoneAreaElements()},!1),e.addEventListener("keydown",function(e){if(e.target.getAttribute("aria-dropeffect")&&(13===e.keyCode||77===e.keyCode&&t.hasModifier(e))){for(var r=0;r<t.selections.items.length;r++)e.target.appendChild(t.selections.items[r]);t.clearDropeffects(),t.selections.items[t.selections.items.length-1].focus(),t.clearSelections(),e.preventDefault()}},!1),this.defaultOptions.showDropzoneAreas)){var r=null,s=0;e.addEventListener("dragover",function(e){if((s%10==0||e.target!==r)&&e.target&&"item-dropzone-area"!==e.target.className&&(s++,r=e.target,t.nextItemElement=e.target.closest(t.defaultOptions.draggableSelector),t.selections.droptarget=e.target.closest(t.defaultOptions.dropzoneSelector),t.selections.droptarget!==t.selections.owner)){var n=document.createElement("div");n.className="item-dropzone-area",t.removeOldDropzoneAreaElements(),t.selections.droptarget&&t.nextItemElement&&t.selections.droptarget.insertBefore(n,r.closest(t.defaultOptions.draggableSelector)),t.selections.droptarget&&!t.nextItemElement&&t.selections.droptarget.appendChild(n)}})}},initiate:function(e){if(!this.defaultOptions.excludeOlderBrowsers||!this.isOldBrowser()){this.targets=e.querySelectorAll(this.defaultOptions.dropzoneSelector),this.items=e.querySelectorAll(this.defaultOptions.draggableSelector);for(var t=0;t<this.targets.length;t++)this.targets[t].setAttribute("aria-dropeffect","none");for(var r=0;r<this.items.length;r++)this.items[r].setAttribute("draggable","true"),this.items[r].setAttribute("aria-grabbed","false"),this.items[r].setAttribute("tabindex","0")}}};t.VueDraggableMethods=s},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.VueDraggableOptions={defaultOptions:{dropzoneSelector:"ul",draggableSelector:"li",excludeOlderBrowsers:!0,multipleDropzonesItemsDraggingEnabled:!0,showDropzoneAreas:!0,onDrop:function(){},onDragstart:function(){},onDragend:function(){}},targets:null,items:null,nextItemElement:null,related:null,selections:{items:[],owner:null,droptarget:null}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VueDraggable=void 0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},s=r(1),o=r(0),i=n({},s.VueDraggableOptions,o.VueDraggableMethods);t.VueDraggable=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.VueDraggableDirective=void 0;var n=r(2),s=t.VueDraggableDirective={bind:function(e,t){Object.assign(n.VueDraggable.defaultOptions,t.value),n.VueDraggable.registerListeners(e),n.VueDraggable.initiate(e)},componentUpdated:function(e){setTimeout(function(){n.VueDraggable.initiate(e)})}};n.VueDraggable.install=function(e){e.directive("drag-and-drop",s)},t.default=n.VueDraggable}])}); | ||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("VueDraggable",[],t):"object"==typeof exports?exports.VueDraggable=t():e.VueDraggable=t()}(this,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";r.r(t);function n(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){o(e,t,r[t])})}return e}function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e){return function(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}(e)||function(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance")}()}function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var a=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){s(e,t,r[t])})}return e}({},{defaultOptions:{dropzoneSelector:"ul",draggableSelector:"li",excludeOlderBrowsers:!0,multipleDropzonesItemsDraggingEnabled:!0,showDropzoneAreas:!0,onDrop:function(){},onDragstart:function(){},onDragend:function(){}},targets:null,items:null,nextItemElement:null,related:null,selections:{items:[],owner:null,droptarget:null}},{stopDragAndDrop:function(){throw new Error("Requested D&D stop...")},isOldBrowser:function(){return!document.querySelectorAll||!("draggable"in document.createElement("span"))||window.opera},addSelection:function(e){this.selections.owner||(this.selections.owner=e.parentNode),(this.defaultOptions.multipleDropzonesItemsDraggingEnabled||this.selections.owner===e.parentNode)&&(e.setAttribute("aria-grabbed","true"),this.selections.items=[].concat(i(this.selections.items),[e]))},removeSelection:function(e){e.setAttribute("aria-grabbed","false");for(var t=0;t<this.selections.items.length;t++)if(this.selections.items[t]===e){this.selections.items.splice(t,1);break}},clearSelections:function(){if(this.selections.items.length){this.selections.owner=null;for(var e=0;e<this.selections.items.length;e++)this.selections.items[e].setAttribute("aria-grabbed","false");this.selections.items=[]}},hasModifier:function(e){return e.ctrlKey||e.metaKey||e.shiftKey},addDropeffects:function(){for(var e=this.targets.length,t=0;t<e;t++)this.targets[t]!==this.selections.owner&&"none"===this.targets[t].getAttribute("aria-dropeffect")&&(this.targets[t].setAttribute("aria-dropeffect","move"),this.targets[t].setAttribute("tabindex","0"));for(var r=this.items.length,n=0;n<r;n++)this.items[n].parentNode!==this.selections.owner&&this.items[n].getAttribute("aria-grabbed")&&(this.items[n].removeAttribute("aria-grabbed"),this.items[n].removeAttribute("tabindex"))},clearDropeffects:function(){if(this.selections.items.length){for(var e=0;e<this.targets.length;e++)"none"!==this.targets[e].getAttribute("aria-dropeffect")&&(this.targets[e].setAttribute("aria-dropeffect","none"),this.targets[e].removeAttribute("tabindex"));for(var t=0;t<this.items.length;t++)this.items[t].getAttribute("aria-grabbed")?"true"===this.items[t].getAttribute("aria-grabbed")&&this.items[t].setAttribute("tabindex","0"):(this.items[t].setAttribute("aria-grabbed","false"),this.items[t].setAttribute("tabindex","0"))}},getContainer:function(e){var t=e;do{if(t&&1===t.nodeType&&t.getAttribute("aria-dropeffect"))return t}while(t=t?t.parentNode:null);return null},removeOldDropzoneAreaElements:function(){for(var e=document.querySelectorAll(".item-dropzone-area"),t=0;t<e.length;t++)e[t].remove()},registerListeners:function(e){var t=this;if((!this.defaultOptions.excludeOlderBrowsers||!this.isOldBrowser())&&(e.addEventListener("mousedown",function(e){var r=e.target.closest(t.defaultOptions.draggableSelector);r&&r.getAttribute("draggable")?(t.clearDropeffects(),t.hasModifier(e)||"false"!==r.getAttribute("aria-grabbed")||(t.clearSelections(),t.addSelection(r))):t.hasModifier(e)?t.clearDropeffects():(t.clearDropeffects(),t.clearSelections())},!1),e.addEventListener("mouseup",function(e){var r=e.target.closest(t.defaultOptions.draggableSelector);r&&r.getAttribute("draggable")&&t.hasModifier(e)&&("true"===r.getAttribute("aria-grabbed")?(t.removeSelection(r),t.selections.items.length||(t.selections.owner=null)):t.addSelection(r))},!1),e.addEventListener("dragstart",function(e){var r=e.target.closest(t.defaultOptions.draggableSelector);if(t.defaultOptions.multipleDropzonesItemsDraggingEnabled||!r||t.selections.owner===r.parentNode){if("function"==typeof t.defaultOptions.onDragstart)try{t.defaultOptions.onDragstart(n({nativeEvent:e,stop:t.stopDragAndDrop},t.selections))}catch(r){return e.preventDefault(),void t.removeOldDropzoneAreaElements()}t.hasModifier(e)&&"false"===r.getAttribute("aria-grabbed")&&t.addSelection(r),e.dataTransfer.setData("text",""),t.addDropeffects()}else e.preventDefault()},!1),e.addEventListener("keydown",function(e){if(e.target.getAttribute("aria-grabbed")&&(32===e.keyCode&&(t.hasModifier(e)?"true"===e.target.getAttribute("aria-grabbed")?(1===t.selections.items.length&&t.clearDropeffects(),t.removeSelection(e.target),t.selections.items.length&&t.addDropeffects(),t.selections.items.length||(t.selections.owner=null)):(t.addSelection(e.target),t.addDropeffects()):"false"===e.target.getAttribute("aria-grabbed")?(t.clearDropeffects(),t.clearSelections(),t.addSelection(e.target),t.addDropeffects()):t.addDropeffects(),e.preventDefault()),77===e.keyCode&&t.hasModifier(e))){if(t.selections.items.length)if(t.addDropeffects(),t.selections.owner===t.targets[t.targets.length-1])t.targets[0].focus();else for(var r=0;r<t.targets.length;r++)if(t.selections.owner===t.targets[r]){t.targets[r+1].focus();break}e.preventDefault()}27===e.keyCode&&t.selections.items.length&&(t.clearDropeffects(),t.selections.items[t.selections.items.length-1].focus(),t.clearSelections())},!1),e.addEventListener("dragenter",function(e){t.related=e.target},!1),e.addEventListener("dragleave",function(){var e=t.getContainer(t.related);e===t.selections.owner&&(e=null),e!==t.selections.droptarget&&(t.selections.droptarget&&(t.selections.droptarget.className=t.selections.droptarget.className.replace(/ dragover/g,"")),e&&(e.className+=" dragover"),t.selections.droptarget=e)},!1),e.addEventListener("dragover",function(e){t.selections.items.length&&e.preventDefault()},!1),e.addEventListener("dragend",function(e){if("function"==typeof t.defaultOptions.onDragend)try{t.defaultOptions.onDragend(n({nativeEvent:e,stop:t.stopDragAndDrop},t.selections))}catch(e){return void t.removeOldDropzoneAreaElements()}if(t.selections.droptarget){for(var r=0;r<t.selections.items.length;r++)t.nextItemElement?t.selections.droptarget.insertBefore(t.selections.items[r],t.nextItemElement):t.selections.droptarget.appendChild(t.selections.items[r]);"function"==typeof t.defaultOptions.onDrop&&t.defaultOptions.onDrop(n({nativeEvent:e,stop:function(){throw new Error("Stop method is available only for callbacks\n 'onDragstart' and 'onDragend'. For more info look at\n https://github.com/Vivify-Ideas/vue-draggable/blob/master/README.md\n ")}},t.selections)),e.preventDefault()}t.selections.items.length&&(t.clearDropeffects(),t.selections.droptarget&&(t.clearSelections(),t.selections.droptarget.className=t.selections.droptarget.className.replace(/ dragover/g,""),t.selections.droptarget=null)),t.removeOldDropzoneAreaElements()},!1),e.addEventListener("keydown",function(e){if(e.target.getAttribute("aria-dropeffect")&&(13===e.keyCode||77===e.keyCode&&t.hasModifier(e))){for(var r=0;r<t.selections.items.length;r++)e.target.appendChild(t.selections.items[r]);t.clearDropeffects(),t.selections.items[t.selections.items.length-1].focus(),t.clearSelections(),e.preventDefault()}},!1),this.defaultOptions.showDropzoneAreas)){var r=null,o=0;e.addEventListener("dragover",function(e){if((o%10==0||e.target!==r)&&e.target&&"item-dropzone-area"!==e.target.className&&(o++,r=e.target,t.nextItemElement=e.target.closest(t.defaultOptions.draggableSelector),t.selections.droptarget=e.target.closest(t.defaultOptions.dropzoneSelector),t.selections.droptarget!==t.selections.owner)){var n=document.createElement("div");n.className="item-dropzone-area",t.removeOldDropzoneAreaElements(),t.selections.droptarget&&t.nextItemElement&&t.selections.droptarget.insertBefore(n,r.closest(t.defaultOptions.draggableSelector)),t.selections.droptarget&&!t.nextItemElement&&t.selections.droptarget.appendChild(n)}})}},initiate:function(e){if(!this.defaultOptions.excludeOlderBrowsers||!this.isOldBrowser()){this.targets=e.querySelectorAll(this.defaultOptions.dropzoneSelector),this.items=e.querySelectorAll(this.defaultOptions.draggableSelector);for(var t=0;t<this.targets.length;t++)this.targets[t].setAttribute("aria-dropeffect","none");for(var r=0;r<this.items.length;r++)this.items[r].setAttribute("draggable","true"),this.items[r].setAttribute("aria-grabbed","false"),this.items[r].setAttribute("tabindex","0")}}});r.d(t,"VueDraggableDirective",function(){return l});var l={bind:function(e,t){Object.assign(a.defaultOptions,t.value),a.registerListeners(e),a.initiate(e)},componentUpdated:function(e){setTimeout(function(){a.initiate(e)})}};a.install=function(e){e.directive("drag-and-drop",l)};t.default=a}])}); | ||
//# sourceMappingURL=vue-draggable.min.js.map |
{ | ||
"name": "vue-draggable", | ||
"version": "1.0.6", | ||
"description": "Vuejs 2.* directive for drag and drop", | ||
"version": "1.0.7", | ||
"description": "Vue drag and drop library without any dependency", | ||
"main": "lib/vue-draggable.js", | ||
@@ -9,4 +9,4 @@ "scripts": { | ||
"dev": "webpack-dev-server --progress --colors --watch --env server --config ./webpack.config.js", | ||
"test": "mocha --require babel-core/register --colors ./test/*.spec.js", | ||
"test:watch": "mocha --require babel-core/register --colors -w ./test/*.spec.js" | ||
"test": "mocha --require @babel/register --colors ./test/*.spec.js", | ||
"test:watch": "mocha --require @babel/register --colors -w ./test/*.spec.js" | ||
}, | ||
@@ -20,3 +20,10 @@ "repository": { | ||
}, | ||
"typings": "types/index.d.ts", | ||
"files": [ | ||
"src", | ||
"lib/*.js", | ||
"types/*.d.ts" | ||
], | ||
"keywords": [ | ||
"vue", | ||
"vuejs", | ||
@@ -32,12 +39,13 @@ "html5", | ||
"devDependencies": { | ||
"@babel/cli": "^7.0.0", | ||
"@babel/core": "^7.0.0", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.0.0", | ||
"@babel/preset-env": "^7.0.0", | ||
"@babel/register": "^7.0.0", | ||
"@vue/test-utils": "^1.0.0-beta.20", | ||
"babel-cli": "^6.26.0", | ||
"babel-core": "^6.26.3", | ||
"babel-eslint": "^8.2.5", | ||
"babel-loader": "^7.1.5", | ||
"babel-loader": "^8.0.0", | ||
"babel-plugin-add-module-exports": "^0.2.1", | ||
"babel-plugin-transform-object-rest-spread": "^6.26.0", | ||
"babel-preset-env": "^1.7.0", | ||
"chai": "^4.1.2", | ||
"eslint": "^5.1.0", | ||
"eslint": "^5.6.0", | ||
"eslint-loader": "^2.0.0", | ||
@@ -52,6 +60,5 @@ "html-webpack-plugin": "^3.2.0", | ||
"webpack-cli": "^3.0.8", | ||
"webpack-dev-server": "^3.1.4", | ||
"yargs": "^12.0.1" | ||
"webpack-dev-server": "^3.1.4" | ||
}, | ||
"dependencies": {} | ||
} |
@@ -6,2 +6,3 @@ # VueDraggable | ||
[](https://github.com/Vivify-Ideas/vue-draggable/issues?q=is%3Aopen+is%3Aissue) | ||
[](https://app.buddy.works/nikolaspalevic/vue-draggable/pipelines/pipeline/154390) | ||
[](https://www.npmjs.com/package/vue-draggable) | ||
@@ -12,3 +13,3 @@ [](https://github.com/Vivify-Ideas/vue-draggable/blob/master/LICENSE) | ||
VueJS 2.* directive for drag and drop | ||
VueJS directive for drag and drop | ||
@@ -19,11 +20,14 @@ Native HTML5 drag and drop implementation made for VueJS | ||
## TypeScript | ||
VueDraggable includes TypeScript definitions. | ||
## Installation | ||
``` | ||
npm install --save vue-draggable | ||
``` | ||
or | ||
``` | ||
npm install vue-draggable | ||
<!-- or --> | ||
yarn add vue-draggable | ||
``` | ||
## Setup VueDraggable | ||
@@ -61,3 +65,3 @@ | ||
#### Directive `v-drag-and-drop` options | ||
#### Directive `v-drag-and-drop` available options | ||
@@ -64,0 +68,0 @@ ```javascript |
91
66718
11
1147