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