()
| 2787 | clonesFromRect, |
| 2788 | clonesHidden; |
| 2789 | function MultiDragPlugin() { |
| 2790 | function MultiDrag(sortable) { |
| 2791 | // Bind all private methods |
| 2792 | for (var fn in this) { |
| 2793 | if (fn.charAt(0) === '_' && typeof this[fn] === 'function') { |
| 2794 | this[fn] = this[fn].bind(this); |
| 2795 | } |
| 2796 | } |
| 2797 | if (!sortable.options.avoidImplicitDeselect) { |
| 2798 | if (sortable.options.supportPointer) { |
| 2799 | on(document, 'pointerup', this._deselectMultiDrag); |
| 2800 | } else { |
| 2801 | on(document, 'mouseup', this._deselectMultiDrag); |
| 2802 | on(document, 'touchend', this._deselectMultiDrag); |
| 2803 | } |
| 2804 | } |
| 2805 | on(document, 'keydown', this._checkKeyDown); |
| 2806 | on(document, 'keyup', this._checkKeyUp); |
| 2807 | this.defaults = { |
| 2808 | selectedClass: 'sortable-selected', |
| 2809 | multiDragKey: null, |
| 2810 | avoidImplicitDeselect: false, |
| 2811 | setData: function setData(dataTransfer, dragEl) { |
| 2812 | var data = ''; |
| 2813 | if (multiDragElements.length && multiDragSortable === sortable) { |
| 2814 | multiDragElements.forEach(function (multiDragElement, i) { |
| 2815 | data += (!i ? '' : ', ') + multiDragElement.textContent; |
| 2816 | }); |
| 2817 | } else { |
| 2818 | data = dragEl.textContent; |
| 2819 | } |
| 2820 | dataTransfer.setData('Text', data); |
| 2821 | } |
| 2822 | }; |
| 2823 | } |
| 2824 | MultiDrag.prototype = { |
| 2825 | multiDragKeyDown: false, |
| 2826 | isMultiDrag: false, |
| 2827 | delayStartGlobal: function delayStartGlobal(_ref) { |
| 2828 | var dragged = _ref.dragEl; |
| 2829 | dragEl$1 = dragged; |
| 2830 | }, |
| 2831 | delayEnded: function delayEnded() { |
| 2832 | this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1); |
| 2833 | }, |
| 2834 | setupClone: function setupClone(_ref2) { |
| 2835 | var sortable = _ref2.sortable, |
| 2836 | cancel = _ref2.cancel; |
| 2837 | if (!this.isMultiDrag) return; |
| 2838 | for (var i = 0; i < multiDragElements.length; i++) { |
| 2839 | multiDragClones.push(clone(multiDragElements[i])); |
| 2840 | multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex; |
| 2841 | multiDragClones[i].draggable = false; |
| 2842 | multiDragClones[i].style['will-change'] = ''; |
| 2843 | toggleClass(multiDragClones[i], this.options.selectedClass, false); |
| 2844 | multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false); |
| 2845 | } |
| 2846 | sortable._hideClone(); |
nothing calls this directly
no test coverage detected
searching dependent graphs…