|
@@ -1,2607 +0,0 @@
|
|
-/*! Sortable 1.13.0 - MIT | git://github.com/SortableJS/Sortable.git */
|
|
|
|
-!(function (t, e) {
|
|
|
|
- "object" == typeof exports && "undefined" != typeof module
|
|
|
|
- ? (module.exports = e())
|
|
|
|
- : "function" == typeof define && define.amd
|
|
|
|
- ? define(e)
|
|
|
|
- : ((t = t || self).Sortable = e());
|
|
|
|
-})(this, function () {
|
|
|
|
- "use strict";
|
|
|
|
- function o(t) {
|
|
|
|
- return (o =
|
|
|
|
- "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
|
|
|
|
- ? function (t) {
|
|
|
|
- return typeof t;
|
|
|
|
- }
|
|
|
|
- : function (t) {
|
|
|
|
- return t &&
|
|
|
|
- "function" == typeof Symbol &&
|
|
|
|
- t.constructor === Symbol &&
|
|
|
|
- t !== Symbol.prototype
|
|
|
|
- ? "symbol"
|
|
|
|
- : typeof t;
|
|
|
|
- })(t);
|
|
|
|
- }
|
|
|
|
- function a() {
|
|
|
|
- return (a =
|
|
|
|
- Object.assign ||
|
|
|
|
- function (t) {
|
|
|
|
- for (var e = 1; e < arguments.length; e++) {
|
|
|
|
- var n = arguments[e];
|
|
|
|
- for (var o in n)
|
|
|
|
- Object.prototype.hasOwnProperty.call(n, o) && (t[o] = n[o]);
|
|
|
|
- }
|
|
|
|
- return t;
|
|
|
|
- }).apply(this, arguments);
|
|
|
|
- }
|
|
|
|
- function I(i) {
|
|
|
|
- for (var t = 1; t < arguments.length; t++) {
|
|
|
|
- var r = null != arguments[t] ? arguments[t] : {},
|
|
|
|
- e = Object.keys(r);
|
|
|
|
- "function" == typeof Object.getOwnPropertySymbols &&
|
|
|
|
- (e = e.concat(
|
|
|
|
- Object.getOwnPropertySymbols(r).filter(function (t) {
|
|
|
|
- return Object.getOwnPropertyDescriptor(r, t).enumerable;
|
|
|
|
- })
|
|
|
|
- )),
|
|
|
|
- e.forEach(function (t) {
|
|
|
|
- var e, n, o;
|
|
|
|
- (e = i),
|
|
|
|
- (o = r[(n = t)]),
|
|
|
|
- n in e
|
|
|
|
- ? Object.defineProperty(e, n, {
|
|
|
|
- value: o,
|
|
|
|
- enumerable: !0,
|
|
|
|
- configurable: !0,
|
|
|
|
- writable: !0
|
|
|
|
- })
|
|
|
|
- : (e[n] = o);
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- return i;
|
|
|
|
- }
|
|
|
|
- function l(t, e) {
|
|
|
|
- if (null == t) return {};
|
|
|
|
- var n,
|
|
|
|
- o,
|
|
|
|
- i = (function (t, e) {
|
|
|
|
- if (null == t) return {};
|
|
|
|
- var n,
|
|
|
|
- o,
|
|
|
|
- i = {},
|
|
|
|
- r = Object.keys(t);
|
|
|
|
- for (o = 0; o < r.length; o++)
|
|
|
|
- (n = r[o]), 0 <= e.indexOf(n) || (i[n] = t[n]);
|
|
|
|
- return i;
|
|
|
|
- })(t, e);
|
|
|
|
- if (Object.getOwnPropertySymbols) {
|
|
|
|
- var r = Object.getOwnPropertySymbols(t);
|
|
|
|
- for (o = 0; o < r.length; o++)
|
|
|
|
- (n = r[o]),
|
|
|
|
- 0 <= e.indexOf(n) ||
|
|
|
|
- (Object.prototype.propertyIsEnumerable.call(t, n) && (i[n] = t[n]));
|
|
|
|
- }
|
|
|
|
- return i;
|
|
|
|
- }
|
|
|
|
- function e(t) {
|
|
|
|
- return (
|
|
|
|
- (function (t) {
|
|
|
|
- if (Array.isArray(t)) {
|
|
|
|
- for (var e = 0, n = new Array(t.length); e < t.length; e++)
|
|
|
|
- n[e] = t[e];
|
|
|
|
- return n;
|
|
|
|
- }
|
|
|
|
- })(t) ||
|
|
|
|
- (function (t) {
|
|
|
|
- if (
|
|
|
|
- Symbol.iterator in Object(t) ||
|
|
|
|
- "[object Arguments]" === Object.prototype.toString.call(t)
|
|
|
|
- )
|
|
|
|
- return Array.from(t);
|
|
|
|
- })(t) ||
|
|
|
|
- (function () {
|
|
|
|
- throw new TypeError("Invalid attempt to spread non-iterable instance");
|
|
|
|
- })()
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- function t(t) {
|
|
|
|
- if ("undefined" != typeof window && window.navigator)
|
|
|
|
- return !!navigator.userAgent.match(t);
|
|
|
|
- }
|
|
|
|
- var w = t(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),
|
|
|
|
- E = t(/Edge/i),
|
|
|
|
- c = t(/firefox/i),
|
|
|
|
- u = t(/safari/i) && !t(/chrome/i) && !t(/android/i),
|
|
|
|
- n = t(/iP(ad|od|hone)/i),
|
|
|
|
- i = t(/chrome/i) && t(/android/i),
|
|
|
|
- r = { capture: !1, passive: !1 };
|
|
|
|
- function d(t, e, n) {
|
|
|
|
- t.addEventListener(e, n, !w && r);
|
|
|
|
- }
|
|
|
|
- function s(t, e, n) {
|
|
|
|
- t.removeEventListener(e, n, !w && r);
|
|
|
|
- }
|
|
|
|
- function h(t, e) {
|
|
|
|
- if (e) {
|
|
|
|
- if ((">" === e[0] && (e = e.substring(1)), t))
|
|
|
|
- try {
|
|
|
|
- if (t.matches) return t.matches(e);
|
|
|
|
- if (t.msMatchesSelector) return t.msMatchesSelector(e);
|
|
|
|
- if (t.webkitMatchesSelector) return t.webkitMatchesSelector(e);
|
|
|
|
- } catch (t) {
|
|
|
|
- return !1;
|
|
|
|
- }
|
|
|
|
- return !1;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- function P(t, e, n, o) {
|
|
|
|
- if (t) {
|
|
|
|
- n = n || document;
|
|
|
|
- do {
|
|
|
|
- if (
|
|
|
|
- (null != e &&
|
|
|
|
- (">" === e[0] ? t.parentNode === n && h(t, e) : h(t, e))) ||
|
|
|
|
- (o && t === n)
|
|
|
|
- )
|
|
|
|
- return t;
|
|
|
|
- if (t === n) break;
|
|
|
|
- } while (
|
|
|
|
- (t =
|
|
|
|
- (i = t).host && i !== document && i.host.nodeType
|
|
|
|
- ? i.host
|
|
|
|
- : i.parentNode)
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- var i;
|
|
|
|
- return null;
|
|
|
|
- }
|
|
|
|
- var f,
|
|
|
|
- p = /\s+/g;
|
|
|
|
- function k(t, e, n) {
|
|
|
|
- if (t && e)
|
|
|
|
- if (t.classList) t.classList[n ? "add" : "remove"](e);
|
|
|
|
- else {
|
|
|
|
- var o = (" " + t.className + " ")
|
|
|
|
- .replace(p, " ")
|
|
|
|
- .replace(" " + e + " ", " ");
|
|
|
|
- t.className = (o + (n ? " " + e : "")).replace(p, " ");
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- function R(t, e, n) {
|
|
|
|
- var o = t && t.style;
|
|
|
|
- if (o) {
|
|
|
|
- if (void 0 === n)
|
|
|
|
- return (
|
|
|
|
- document.defaultView && document.defaultView.getComputedStyle
|
|
|
|
- ? (n = document.defaultView.getComputedStyle(t, ""))
|
|
|
|
- : t.currentStyle && (n = t.currentStyle),
|
|
|
|
- void 0 === e ? n : n[e]
|
|
|
|
- );
|
|
|
|
- e in o || -1 !== e.indexOf("webkit") || (e = "-webkit-" + e),
|
|
|
|
- (o[e] = n + ("string" == typeof n ? "" : "px"));
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- function v(t, e) {
|
|
|
|
- var n = "";
|
|
|
|
- if ("string" == typeof t) n = t;
|
|
|
|
- else
|
|
|
|
- do {
|
|
|
|
- var o = R(t, "transform");
|
|
|
|
- o && "none" !== o && (n = o + " " + n);
|
|
|
|
- } while (!e && (t = t.parentNode));
|
|
|
|
- var i =
|
|
|
|
- window.DOMMatrix ||
|
|
|
|
- window.WebKitCSSMatrix ||
|
|
|
|
- window.CSSMatrix ||
|
|
|
|
- window.MSCSSMatrix;
|
|
|
|
- return i && new i(n);
|
|
|
|
- }
|
|
|
|
- function g(t, e, n) {
|
|
|
|
- if (t) {
|
|
|
|
- var o = t.getElementsByTagName(e),
|
|
|
|
- i = 0,
|
|
|
|
- r = o.length;
|
|
|
|
- if (n) for (; i < r; i++) n(o[i], i);
|
|
|
|
- return o;
|
|
|
|
- }
|
|
|
|
- return [];
|
|
|
|
- }
|
|
|
|
- function A() {
|
|
|
|
- var t = document.scrollingElement;
|
|
|
|
- return t || document.documentElement;
|
|
|
|
- }
|
|
|
|
- function X(t, e, n, o, i) {
|
|
|
|
- if (t.getBoundingClientRect || t === window) {
|
|
|
|
- var r, a, l, s, c, u, d;
|
|
|
|
- if (
|
|
|
|
- ((d =
|
|
|
|
- t !== window && t.parentNode && t !== A()
|
|
|
|
- ? ((a = (r = t.getBoundingClientRect()).top),
|
|
|
|
- (l = r.left),
|
|
|
|
- (s = r.bottom),
|
|
|
|
- (c = r.right),
|
|
|
|
- (u = r.height),
|
|
|
|
- r.width)
|
|
|
|
- : ((l = a = 0),
|
|
|
|
- (s = window.innerHeight),
|
|
|
|
- (c = window.innerWidth),
|
|
|
|
- (u = window.innerHeight),
|
|
|
|
- window.innerWidth)),
|
|
|
|
- (e || n) && t !== window && ((i = i || t.parentNode), !w))
|
|
|
|
- )
|
|
|
|
- do {
|
|
|
|
- if (
|
|
|
|
- i &&
|
|
|
|
- i.getBoundingClientRect &&
|
|
|
|
- ("none" !== R(i, "transform") ||
|
|
|
|
- (n && "static" !== R(i, "position")))
|
|
|
|
- ) {
|
|
|
|
- var h = i.getBoundingClientRect();
|
|
|
|
- (a -= h.top + parseInt(R(i, "border-top-width"))),
|
|
|
|
- (l -= h.left + parseInt(R(i, "border-left-width"))),
|
|
|
|
- (s = a + r.height),
|
|
|
|
- (c = l + r.width);
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- } while ((i = i.parentNode));
|
|
|
|
- if (o && t !== window) {
|
|
|
|
- var f = v(i || t),
|
|
|
|
- p = f && f.a,
|
|
|
|
- g = f && f.d;
|
|
|
|
- f && ((s = (a /= g) + (u /= g)), (c = (l /= p) + (d /= p)));
|
|
|
|
- }
|
|
|
|
- return { top: a, left: l, bottom: s, right: c, width: d, height: u };
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- function Y(t, e, n) {
|
|
|
|
- for (var o = H(t, !0), i = X(t)[e]; o; ) {
|
|
|
|
- var r = X(o)[n];
|
|
|
|
- if (!("top" === n || "left" === n ? r <= i : i <= r)) return o;
|
|
|
|
- if (o === A()) break;
|
|
|
|
- o = H(o, !1);
|
|
|
|
- }
|
|
|
|
- return !1;
|
|
|
|
- }
|
|
|
|
- function m(t, e, n) {
|
|
|
|
- for (var o = 0, i = 0, r = t.children; i < r.length; ) {
|
|
|
|
- if (
|
|
|
|
- "none" !== r[i].style.display &&
|
|
|
|
- r[i] !== Rt.ghost &&
|
|
|
|
- r[i] !== Rt.dragged &&
|
|
|
|
- P(r[i], n.draggable, t, !1)
|
|
|
|
- ) {
|
|
|
|
- if (o === e) return r[i];
|
|
|
|
- o++;
|
|
|
|
- }
|
|
|
|
- i++;
|
|
|
|
- }
|
|
|
|
- return null;
|
|
|
|
- }
|
|
|
|
- function B(t, e) {
|
|
|
|
- for (
|
|
|
|
- var n = t.lastElementChild;
|
|
|
|
- n && (n === Rt.ghost || "none" === R(n, "display") || (e && !h(n, e)));
|
|
|
|
-
|
|
|
|
- )
|
|
|
|
- n = n.previousElementSibling;
|
|
|
|
- return n || null;
|
|
|
|
- }
|
|
|
|
- function F(t, e) {
|
|
|
|
- var n = 0;
|
|
|
|
- if (!t || !t.parentNode) return -1;
|
|
|
|
- for (; (t = t.previousElementSibling); )
|
|
|
|
- "TEMPLATE" === t.nodeName.toUpperCase() ||
|
|
|
|
- t === Rt.clone ||
|
|
|
|
- (e && !h(t, e)) ||
|
|
|
|
- n++;
|
|
|
|
- return n;
|
|
|
|
- }
|
|
|
|
- function b(t) {
|
|
|
|
- var e = 0,
|
|
|
|
- n = 0,
|
|
|
|
- o = A();
|
|
|
|
- if (t)
|
|
|
|
- do {
|
|
|
|
- var i = v(t),
|
|
|
|
- r = i.a,
|
|
|
|
- a = i.d;
|
|
|
|
- (e += t.scrollLeft * r), (n += t.scrollTop * a);
|
|
|
|
- } while (t !== o && (t = t.parentNode));
|
|
|
|
- return [e, n];
|
|
|
|
- }
|
|
|
|
- function H(t, e) {
|
|
|
|
- if (!t || !t.getBoundingClientRect) return A();
|
|
|
|
- var n = t,
|
|
|
|
- o = !1;
|
|
|
|
- do {
|
|
|
|
- if (n.clientWidth < n.scrollWidth || n.clientHeight < n.scrollHeight) {
|
|
|
|
- var i = R(n);
|
|
|
|
- if (
|
|
|
|
- (n.clientWidth < n.scrollWidth &&
|
|
|
|
- ("auto" == i.overflowX || "scroll" == i.overflowX)) ||
|
|
|
|
- (n.clientHeight < n.scrollHeight &&
|
|
|
|
- ("auto" == i.overflowY || "scroll" == i.overflowY))
|
|
|
|
- ) {
|
|
|
|
- if (!n.getBoundingClientRect || n === document.body) return A();
|
|
|
|
- if (o || e) return n;
|
|
|
|
- o = !0;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- } while ((n = n.parentNode));
|
|
|
|
- return A();
|
|
|
|
- }
|
|
|
|
- function y(t, e) {
|
|
|
|
- return (
|
|
|
|
- Math.round(t.top) === Math.round(e.top) &&
|
|
|
|
- Math.round(t.left) === Math.round(e.left) &&
|
|
|
|
- Math.round(t.height) === Math.round(e.height) &&
|
|
|
|
- Math.round(t.width) === Math.round(e.width)
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- function D(e, n) {
|
|
|
|
- return function () {
|
|
|
|
- if (!f) {
|
|
|
|
- var t = arguments;
|
|
|
|
- 1 === t.length ? e.call(this, t[0]) : e.apply(this, t),
|
|
|
|
- (f = setTimeout(function () {
|
|
|
|
- f = void 0;
|
|
|
|
- }, n));
|
|
|
|
- }
|
|
|
|
- };
|
|
|
|
- }
|
|
|
|
- function L(t, e, n) {
|
|
|
|
- (t.scrollLeft += e), (t.scrollTop += n);
|
|
|
|
- }
|
|
|
|
- function S(t) {
|
|
|
|
- var e = window.Polymer,
|
|
|
|
- n = window.jQuery || window.Zepto;
|
|
|
|
- return e && e.dom
|
|
|
|
- ? e.dom(t).cloneNode(!0)
|
|
|
|
- : n
|
|
|
|
- ? n(t).clone(!0)[0]
|
|
|
|
- : t.cloneNode(!0);
|
|
|
|
- }
|
|
|
|
- function _(t, e) {
|
|
|
|
- R(t, "position", "absolute"),
|
|
|
|
- R(t, "top", e.top),
|
|
|
|
- R(t, "left", e.left),
|
|
|
|
- R(t, "width", e.width),
|
|
|
|
- R(t, "height", e.height);
|
|
|
|
- }
|
|
|
|
- function C(t) {
|
|
|
|
- R(t, "position", ""),
|
|
|
|
- R(t, "top", ""),
|
|
|
|
- R(t, "left", ""),
|
|
|
|
- R(t, "width", ""),
|
|
|
|
- R(t, "height", "");
|
|
|
|
- }
|
|
|
|
- var j = "Sortable" + new Date().getTime();
|
|
|
|
- function T() {
|
|
|
|
- var e,
|
|
|
|
- o = [];
|
|
|
|
- return {
|
|
|
|
- captureAnimationState: function () {
|
|
|
|
- (o = []),
|
|
|
|
- this.options.animation &&
|
|
|
|
- [].slice.call(this.el.children).forEach(function (t) {
|
|
|
|
- if ("none" !== R(t, "display") && t !== Rt.ghost) {
|
|
|
|
- o.push({ target: t, rect: X(t) });
|
|
|
|
- var e = I({}, o[o.length - 1].rect);
|
|
|
|
- if (t.thisAnimationDuration) {
|
|
|
|
- var n = v(t, !0);
|
|
|
|
- n && ((e.top -= n.f), (e.left -= n.e));
|
|
|
|
- }
|
|
|
|
- t.fromRect = e;
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
- addAnimationState: function (t) {
|
|
|
|
- o.push(t);
|
|
|
|
- },
|
|
|
|
- removeAnimationState: function (t) {
|
|
|
|
- o.splice(
|
|
|
|
- (function (t, e) {
|
|
|
|
- for (var n in t)
|
|
|
|
- if (t.hasOwnProperty(n))
|
|
|
|
- for (var o in e)
|
|
|
|
- if (e.hasOwnProperty(o) && e[o] === t[n][o]) return Number(n);
|
|
|
|
- return -1;
|
|
|
|
- })(o, { target: t }),
|
|
|
|
- 1
|
|
|
|
- );
|
|
|
|
- },
|
|
|
|
- animateAll: function (t) {
|
|
|
|
- var c = this;
|
|
|
|
- if (!this.options.animation)
|
|
|
|
- return clearTimeout(e), void ("function" == typeof t && t());
|
|
|
|
- var u = !1,
|
|
|
|
- d = 0;
|
|
|
|
- o.forEach(function (t) {
|
|
|
|
- var e = 0,
|
|
|
|
- n = t.target,
|
|
|
|
- o = n.fromRect,
|
|
|
|
- i = X(n),
|
|
|
|
- r = n.prevFromRect,
|
|
|
|
- a = n.prevToRect,
|
|
|
|
- l = t.rect,
|
|
|
|
- s = v(n, !0);
|
|
|
|
- s && ((i.top -= s.f), (i.left -= s.e)),
|
|
|
|
- (n.toRect = i),
|
|
|
|
- n.thisAnimationDuration &&
|
|
|
|
- y(r, i) &&
|
|
|
|
- !y(o, i) &&
|
|
|
|
- (l.top - i.top) / (l.left - i.left) ==
|
|
|
|
- (o.top - i.top) / (o.left - i.left) &&
|
|
|
|
- (e = (function (t, e, n, o) {
|
|
|
|
- return (
|
|
|
|
- (Math.sqrt(
|
|
|
|
- Math.pow(e.top - t.top, 2) + Math.pow(e.left - t.left, 2)
|
|
|
|
- ) /
|
|
|
|
- Math.sqrt(
|
|
|
|
- Math.pow(e.top - n.top, 2) + Math.pow(e.left - n.left, 2)
|
|
|
|
- )) *
|
|
|
|
- o.animation
|
|
|
|
- );
|
|
|
|
- })(l, r, a, c.options)),
|
|
|
|
- y(i, o) ||
|
|
|
|
- ((n.prevFromRect = o),
|
|
|
|
- (n.prevToRect = i),
|
|
|
|
- e || (e = c.options.animation),
|
|
|
|
- c.animate(n, l, i, e)),
|
|
|
|
- e &&
|
|
|
|
- ((u = !0),
|
|
|
|
- (d = Math.max(d, e)),
|
|
|
|
- clearTimeout(n.animationResetTimer),
|
|
|
|
- (n.animationResetTimer = setTimeout(function () {
|
|
|
|
- (n.animationTime = 0),
|
|
|
|
- (n.prevFromRect = null),
|
|
|
|
- (n.fromRect = null),
|
|
|
|
- (n.prevToRect = null),
|
|
|
|
- (n.thisAnimationDuration = null);
|
|
|
|
- }, e)),
|
|
|
|
- (n.thisAnimationDuration = e));
|
|
|
|
- }),
|
|
|
|
- clearTimeout(e),
|
|
|
|
- u
|
|
|
|
- ? (e = setTimeout(function () {
|
|
|
|
- "function" == typeof t && t();
|
|
|
|
- }, d))
|
|
|
|
- : "function" == typeof t && t(),
|
|
|
|
- (o = []);
|
|
|
|
- },
|
|
|
|
- animate: function (t, e, n, o) {
|
|
|
|
- if (o) {
|
|
|
|
- R(t, "transition", ""), R(t, "transform", "");
|
|
|
|
- var i = v(this.el),
|
|
|
|
- r = i && i.a,
|
|
|
|
- a = i && i.d,
|
|
|
|
- l = (e.left - n.left) / (r || 1),
|
|
|
|
- s = (e.top - n.top) / (a || 1);
|
|
|
|
- (t.animatingX = !!l),
|
|
|
|
- (t.animatingY = !!s),
|
|
|
|
- R(t, "transform", "translate3d(" + l + "px," + s + "px,0)"),
|
|
|
|
- (this.forRepaintDummy = (function (t) {
|
|
|
|
- return t.offsetWidth;
|
|
|
|
- })(t)),
|
|
|
|
- R(
|
|
|
|
- t,
|
|
|
|
- "transition",
|
|
|
|
- "transform " +
|
|
|
|
- o +
|
|
|
|
- "ms" +
|
|
|
|
- (this.options.easing ? " " + this.options.easing : "")
|
|
|
|
- ),
|
|
|
|
- R(t, "transform", "translate3d(0,0,0)"),
|
|
|
|
- "number" == typeof t.animated && clearTimeout(t.animated),
|
|
|
|
- (t.animated = setTimeout(function () {
|
|
|
|
- R(t, "transition", ""),
|
|
|
|
- R(t, "transform", ""),
|
|
|
|
- (t.animated = !1),
|
|
|
|
- (t.animatingX = !1),
|
|
|
|
- (t.animatingY = !1);
|
|
|
|
- }, o));
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- };
|
|
|
|
- }
|
|
|
|
- var x = [],
|
|
|
|
- M = { initializeByDefault: !0 },
|
|
|
|
- O = {
|
|
|
|
- mount: function (e) {
|
|
|
|
- for (var t in M) !M.hasOwnProperty(t) || t in e || (e[t] = M[t]);
|
|
|
|
- x.forEach(function (t) {
|
|
|
|
- if (t.pluginName === e.pluginName)
|
|
|
|
- throw "Sortable: Cannot mount plugin ".concat(
|
|
|
|
- e.pluginName,
|
|
|
|
- " more than once"
|
|
|
|
- );
|
|
|
|
- }),
|
|
|
|
- x.push(e);
|
|
|
|
- },
|
|
|
|
- pluginEvent: function (e, n, o) {
|
|
|
|
- var t = this;
|
|
|
|
- (this.eventCanceled = !1),
|
|
|
|
- (o.cancel = function () {
|
|
|
|
- t.eventCanceled = !0;
|
|
|
|
- });
|
|
|
|
- var i = e + "Global";
|
|
|
|
- x.forEach(function (t) {
|
|
|
|
- n[t.pluginName] &&
|
|
|
|
- (n[t.pluginName][i] && n[t.pluginName][i](I({ sortable: n }, o)),
|
|
|
|
- n.options[t.pluginName] &&
|
|
|
|
- n[t.pluginName][e] &&
|
|
|
|
- n[t.pluginName][e](I({ sortable: n }, o)));
|
|
|
|
- });
|
|
|
|
- },
|
|
|
|
- initializePlugins: function (o, i, r, t) {
|
|
|
|
- for (var e in (x.forEach(function (t) {
|
|
|
|
- var e = t.pluginName;
|
|
|
|
- if (o.options[e] || t.initializeByDefault) {
|
|
|
|
- var n = new t(o, i, o.options);
|
|
|
|
- (n.sortable = o),
|
|
|
|
- (n.options = o.options),
|
|
|
|
- (o[e] = n),
|
|
|
|
- a(r, n.defaults);
|
|
|
|
- }
|
|
|
|
- }),
|
|
|
|
- o.options))
|
|
|
|
- if (o.options.hasOwnProperty(e)) {
|
|
|
|
- var n = this.modifyOption(o, e, o.options[e]);
|
|
|
|
- void 0 !== n && (o.options[e] = n);
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- getEventProperties: function (e, n) {
|
|
|
|
- var o = {};
|
|
|
|
- return (
|
|
|
|
- x.forEach(function (t) {
|
|
|
|
- "function" == typeof t.eventProperties &&
|
|
|
|
- a(o, t.eventProperties.call(n[t.pluginName], e));
|
|
|
|
- }),
|
|
|
|
- o
|
|
|
|
- );
|
|
|
|
- },
|
|
|
|
- modifyOption: function (e, n, o) {
|
|
|
|
- var i;
|
|
|
|
- return (
|
|
|
|
- x.forEach(function (t) {
|
|
|
|
- e[t.pluginName] &&
|
|
|
|
- t.optionListeners &&
|
|
|
|
- "function" == typeof t.optionListeners[n] &&
|
|
|
|
- (i = t.optionListeners[n].call(e[t.pluginName], o));
|
|
|
|
- }),
|
|
|
|
- i
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- };
|
|
|
|
- function N(t) {
|
|
|
|
- var e = t.sortable,
|
|
|
|
- n = t.rootEl,
|
|
|
|
- o = t.name,
|
|
|
|
- i = t.targetEl,
|
|
|
|
- r = t.cloneEl,
|
|
|
|
- a = t.toEl,
|
|
|
|
- l = t.fromEl,
|
|
|
|
- s = t.oldIndex,
|
|
|
|
- c = t.newIndex,
|
|
|
|
- u = t.oldDraggableIndex,
|
|
|
|
- d = t.newDraggableIndex,
|
|
|
|
- h = t.originalEvent,
|
|
|
|
- f = t.putSortable,
|
|
|
|
- p = t.extraEventProperties;
|
|
|
|
- if ((e = e || (n && n[j]))) {
|
|
|
|
- var g,
|
|
|
|
- v = e.options,
|
|
|
|
- m = "on" + o.charAt(0).toUpperCase() + o.substr(1);
|
|
|
|
- !window.CustomEvent || w || E
|
|
|
|
- ? (g = document.createEvent("Event")).initEvent(o, !0, !0)
|
|
|
|
- : (g = new CustomEvent(o, { bubbles: !0, cancelable: !0 })),
|
|
|
|
- (g.to = a || n),
|
|
|
|
- (g.from = l || n),
|
|
|
|
- (g.item = i || n),
|
|
|
|
- (g.clone = r),
|
|
|
|
- (g.oldIndex = s),
|
|
|
|
- (g.newIndex = c),
|
|
|
|
- (g.oldDraggableIndex = u),
|
|
|
|
- (g.newDraggableIndex = d),
|
|
|
|
- (g.originalEvent = h),
|
|
|
|
- (g.pullMode = f ? f.lastPutMode : void 0);
|
|
|
|
- var b = I({}, p, O.getEventProperties(o, e));
|
|
|
|
- for (var y in b) g[y] = b[y];
|
|
|
|
- n && n.dispatchEvent(g), v[m] && v[m].call(e, g);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- function K(t, e, n) {
|
|
|
|
- var o = 2 < arguments.length && void 0 !== n ? n : {},
|
|
|
|
- i = o.evt,
|
|
|
|
- r = l(o, ["evt"]);
|
|
|
|
- O.pluginEvent.bind(Rt)(
|
|
|
|
- t,
|
|
|
|
- e,
|
|
|
|
- I(
|
|
|
|
- {
|
|
|
|
- dragEl: z,
|
|
|
|
- parentEl: G,
|
|
|
|
- ghostEl: U,
|
|
|
|
- rootEl: q,
|
|
|
|
- nextEl: V,
|
|
|
|
- lastDownEl: Z,
|
|
|
|
- cloneEl: Q,
|
|
|
|
- cloneHidden: $,
|
|
|
|
- dragStarted: dt,
|
|
|
|
- putSortable: it,
|
|
|
|
- activeSortable: Rt.active,
|
|
|
|
- originalEvent: i,
|
|
|
|
- oldIndex: J,
|
|
|
|
- oldDraggableIndex: et,
|
|
|
|
- newIndex: tt,
|
|
|
|
- newDraggableIndex: nt,
|
|
|
|
- hideGhostForTarget: At,
|
|
|
|
- unhideGhostForTarget: It,
|
|
|
|
- cloneNowHidden: function () {
|
|
|
|
- $ = !0;
|
|
|
|
- },
|
|
|
|
- cloneNowShown: function () {
|
|
|
|
- $ = !1;
|
|
|
|
- },
|
|
|
|
- dispatchSortableEvent: function (t) {
|
|
|
|
- W({ sortable: e, name: t, originalEvent: i });
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- r
|
|
|
|
- )
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- function W(t) {
|
|
|
|
- N(
|
|
|
|
- I(
|
|
|
|
- {
|
|
|
|
- putSortable: it,
|
|
|
|
- cloneEl: Q,
|
|
|
|
- targetEl: z,
|
|
|
|
- rootEl: q,
|
|
|
|
- oldIndex: J,
|
|
|
|
- oldDraggableIndex: et,
|
|
|
|
- newIndex: tt,
|
|
|
|
- newDraggableIndex: nt
|
|
|
|
- },
|
|
|
|
- t
|
|
|
|
- )
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- var z,
|
|
|
|
- G,
|
|
|
|
- U,
|
|
|
|
- q,
|
|
|
|
- V,
|
|
|
|
- Z,
|
|
|
|
- Q,
|
|
|
|
- $,
|
|
|
|
- J,
|
|
|
|
- tt,
|
|
|
|
- et,
|
|
|
|
- nt,
|
|
|
|
- ot,
|
|
|
|
- it,
|
|
|
|
- rt,
|
|
|
|
- at,
|
|
|
|
- lt,
|
|
|
|
- st,
|
|
|
|
- ct,
|
|
|
|
- ut,
|
|
|
|
- dt,
|
|
|
|
- ht,
|
|
|
|
- ft,
|
|
|
|
- pt,
|
|
|
|
- gt,
|
|
|
|
- vt = !1,
|
|
|
|
- mt = !1,
|
|
|
|
- bt = [],
|
|
|
|
- yt = !1,
|
|
|
|
- wt = !1,
|
|
|
|
- Et = [],
|
|
|
|
- Dt = !1,
|
|
|
|
- St = [],
|
|
|
|
- _t = "undefined" != typeof document,
|
|
|
|
- Ct = n,
|
|
|
|
- Tt = E || w ? "cssFloat" : "float",
|
|
|
|
- xt = _t && !i && !n && "draggable" in document.createElement("div"),
|
|
|
|
- Mt = (function () {
|
|
|
|
- if (_t) {
|
|
|
|
- if (w) return !1;
|
|
|
|
- var t = document.createElement("x");
|
|
|
|
- return (
|
|
|
|
- (t.style.cssText = "pointer-events:auto"),
|
|
|
|
- "auto" === t.style.pointerEvents
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- })(),
|
|
|
|
- Ot = function (t, e) {
|
|
|
|
- var n = R(t),
|
|
|
|
- o =
|
|
|
|
- parseInt(n.width) -
|
|
|
|
- parseInt(n.paddingLeft) -
|
|
|
|
- parseInt(n.paddingRight) -
|
|
|
|
- parseInt(n.borderLeftWidth) -
|
|
|
|
- parseInt(n.borderRightWidth),
|
|
|
|
- i = m(t, 0, e),
|
|
|
|
- r = m(t, 1, e),
|
|
|
|
- a = i && R(i),
|
|
|
|
- l = r && R(r),
|
|
|
|
- s = a && parseInt(a.marginLeft) + parseInt(a.marginRight) + X(i).width,
|
|
|
|
- c = l && parseInt(l.marginLeft) + parseInt(l.marginRight) + X(r).width;
|
|
|
|
- if ("flex" === n.display)
|
|
|
|
- return "column" === n.flexDirection ||
|
|
|
|
- "column-reverse" === n.flexDirection
|
|
|
|
- ? "vertical"
|
|
|
|
- : "horizontal";
|
|
|
|
- if ("grid" === n.display)
|
|
|
|
- return n.gridTemplateColumns.split(" ").length <= 1
|
|
|
|
- ? "vertical"
|
|
|
|
- : "horizontal";
|
|
|
|
- if (i && a.float && "none" !== a.float) {
|
|
|
|
- var u = "left" === a.float ? "left" : "right";
|
|
|
|
- return !r || ("both" !== l.clear && l.clear !== u)
|
|
|
|
- ? "horizontal"
|
|
|
|
- : "vertical";
|
|
|
|
- }
|
|
|
|
- return i &&
|
|
|
|
- ("block" === a.display ||
|
|
|
|
- "flex" === a.display ||
|
|
|
|
- "table" === a.display ||
|
|
|
|
- "grid" === a.display ||
|
|
|
|
- (o <= s && "none" === n[Tt]) ||
|
|
|
|
- (r && "none" === n[Tt] && o < s + c))
|
|
|
|
- ? "vertical"
|
|
|
|
- : "horizontal";
|
|
|
|
- },
|
|
|
|
- Nt = function (t) {
|
|
|
|
- function s(a, l) {
|
|
|
|
- return function (t, e, n, o) {
|
|
|
|
- var i =
|
|
|
|
- t.options.group.name &&
|
|
|
|
- e.options.group.name &&
|
|
|
|
- t.options.group.name === e.options.group.name;
|
|
|
|
- if (null == a && (l || i)) return !0;
|
|
|
|
- if (null == a || !1 === a) return !1;
|
|
|
|
- if (l && "clone" === a) return a;
|
|
|
|
- if ("function" == typeof a) return s(a(t, e, n, o), l)(t, e, n, o);
|
|
|
|
- var r = (l ? t : e).options.group.name;
|
|
|
|
- return (
|
|
|
|
- !0 === a ||
|
|
|
|
- ("string" == typeof a && a === r) ||
|
|
|
|
- (a.join && -1 < a.indexOf(r))
|
|
|
|
- );
|
|
|
|
- };
|
|
|
|
- }
|
|
|
|
- var e = {},
|
|
|
|
- n = t.group;
|
|
|
|
- (n && "object" == o(n)) || (n = { name: n }),
|
|
|
|
- (e.name = n.name),
|
|
|
|
- (e.checkPull = s(n.pull, !0)),
|
|
|
|
- (e.checkPut = s(n.put)),
|
|
|
|
- (e.revertClone = n.revertClone),
|
|
|
|
- (t.group = e);
|
|
|
|
- },
|
|
|
|
- At = function () {
|
|
|
|
- !Mt && U && R(U, "display", "none");
|
|
|
|
- },
|
|
|
|
- It = function () {
|
|
|
|
- !Mt && U && R(U, "display", "");
|
|
|
|
- };
|
|
|
|
- _t &&
|
|
|
|
- document.addEventListener(
|
|
|
|
- "click",
|
|
|
|
- function (t) {
|
|
|
|
- if (mt)
|
|
|
|
- return (
|
|
|
|
- t.preventDefault(),
|
|
|
|
- t.stopPropagation && t.stopPropagation(),
|
|
|
|
- t.stopImmediatePropagation && t.stopImmediatePropagation(),
|
|
|
|
- (mt = !1)
|
|
|
|
- );
|
|
|
|
- },
|
|
|
|
- !0
|
|
|
|
- );
|
|
|
|
- function Pt(t) {
|
|
|
|
- if (z) {
|
|
|
|
- var e = (function (r, a) {
|
|
|
|
- var l;
|
|
|
|
- return (
|
|
|
|
- bt.some(function (t) {
|
|
|
|
- if (!B(t)) {
|
|
|
|
- var e = X(t),
|
|
|
|
- n = t[j].options.emptyInsertThreshold,
|
|
|
|
- o = r >= e.left - n && r <= e.right + n,
|
|
|
|
- i = a >= e.top - n && a <= e.bottom + n;
|
|
|
|
- return n && o && i ? (l = t) : void 0;
|
|
|
|
- }
|
|
|
|
- }),
|
|
|
|
- l
|
|
|
|
- );
|
|
|
|
- })((t = t.touches ? t.touches[0] : t).clientX, t.clientY);
|
|
|
|
- if (e) {
|
|
|
|
- var n = {};
|
|
|
|
- for (var o in t) t.hasOwnProperty(o) && (n[o] = t[o]);
|
|
|
|
- (n.target = n.rootEl = e),
|
|
|
|
- (n.preventDefault = void 0),
|
|
|
|
- (n.stopPropagation = void 0),
|
|
|
|
- e[j]._onDragOver(n);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- function kt(t) {
|
|
|
|
- z && z.parentNode[j]._isOutsideThisEl(t.target);
|
|
|
|
- }
|
|
|
|
- function Rt(t, e) {
|
|
|
|
- if (!t || !t.nodeType || 1 !== t.nodeType)
|
|
|
|
- throw "Sortable: `el` must be an HTMLElement, not ".concat(
|
|
|
|
- {}.toString.call(t)
|
|
|
|
- );
|
|
|
|
- (this.el = t), (this.options = e = a({}, e)), (t[j] = this);
|
|
|
|
- var n = {
|
|
|
|
- group: null,
|
|
|
|
- sort: !0,
|
|
|
|
- disabled: !1,
|
|
|
|
- store: null,
|
|
|
|
- handle: null,
|
|
|
|
- draggable: /^[uo]l$/i.test(t.nodeName) ? ">li" : ">*",
|
|
|
|
- swapThreshold: 1,
|
|
|
|
- invertSwap: !1,
|
|
|
|
- invertedSwapThreshold: null,
|
|
|
|
- removeCloneOnHide: !0,
|
|
|
|
- direction: function () {
|
|
|
|
- return Ot(t, this.options);
|
|
|
|
- },
|
|
|
|
- ghostClass: "sortable-ghost",
|
|
|
|
- chosenClass: "sortable-chosen",
|
|
|
|
- dragClass: "sortable-drag",
|
|
|
|
- ignore: "a, img",
|
|
|
|
- filter: null,
|
|
|
|
- preventOnFilter: !0,
|
|
|
|
- animation: 0,
|
|
|
|
- easing: null,
|
|
|
|
- setData: function (t, e) {
|
|
|
|
- t.setData("Text", e.textContent);
|
|
|
|
- },
|
|
|
|
- dropBubble: !1,
|
|
|
|
- dragoverBubble: !1,
|
|
|
|
- dataIdAttr: "data-id",
|
|
|
|
- delay: 0,
|
|
|
|
- delayOnTouchOnly: !1,
|
|
|
|
- touchStartThreshold:
|
|
|
|
- (Number.parseInt ? Number : window).parseInt(
|
|
|
|
- window.devicePixelRatio,
|
|
|
|
- 10
|
|
|
|
- ) || 1,
|
|
|
|
- forceFallback: !1,
|
|
|
|
- fallbackClass: "sortable-fallback",
|
|
|
|
- fallbackOnBody: !1,
|
|
|
|
- fallbackTolerance: 0,
|
|
|
|
- fallbackOffset: { x: 0, y: 0 },
|
|
|
|
- supportPointer:
|
|
|
|
- !1 !== Rt.supportPointer && "PointerEvent" in window && !u,
|
|
|
|
- emptyInsertThreshold: 5
|
|
|
|
- };
|
|
|
|
- for (var o in (O.initializePlugins(this, t, n), n)) o in e || (e[o] = n[o]);
|
|
|
|
- for (var i in (Nt(e), this))
|
|
|
|
- "_" === i.charAt(0) &&
|
|
|
|
- "function" == typeof this[i] &&
|
|
|
|
- (this[i] = this[i].bind(this));
|
|
|
|
- (this.nativeDraggable = !e.forceFallback && xt),
|
|
|
|
- this.nativeDraggable && (this.options.touchStartThreshold = 1),
|
|
|
|
- e.supportPointer
|
|
|
|
- ? d(t, "pointerdown", this._onTapStart)
|
|
|
|
- : (d(t, "mousedown", this._onTapStart),
|
|
|
|
- d(t, "touchstart", this._onTapStart)),
|
|
|
|
- this.nativeDraggable && (d(t, "dragover", this), d(t, "dragenter", this)),
|
|
|
|
- bt.push(this.el),
|
|
|
|
- e.store && e.store.get && this.sort(e.store.get(this) || []),
|
|
|
|
- a(this, T());
|
|
|
|
- }
|
|
|
|
- function Xt(t, e, n, o, i, r, a, l) {
|
|
|
|
- var s,
|
|
|
|
- c,
|
|
|
|
- u = t[j],
|
|
|
|
- d = u.options.onMove;
|
|
|
|
- return (
|
|
|
|
- !window.CustomEvent || w || E
|
|
|
|
- ? (s = document.createEvent("Event")).initEvent("move", !0, !0)
|
|
|
|
- : (s = new CustomEvent("move", { bubbles: !0, cancelable: !0 })),
|
|
|
|
- (s.to = e),
|
|
|
|
- (s.from = t),
|
|
|
|
- (s.dragged = n),
|
|
|
|
- (s.draggedRect = o),
|
|
|
|
- (s.related = i || e),
|
|
|
|
- (s.relatedRect = r || X(e)),
|
|
|
|
- (s.willInsertAfter = l),
|
|
|
|
- (s.originalEvent = a),
|
|
|
|
- t.dispatchEvent(s),
|
|
|
|
- d && (c = d.call(u, s, a)),
|
|
|
|
- c
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- function Yt(t) {
|
|
|
|
- t.draggable = !1;
|
|
|
|
- }
|
|
|
|
- function Bt() {
|
|
|
|
- Dt = !1;
|
|
|
|
- }
|
|
|
|
- function Ft(t) {
|
|
|
|
- for (
|
|
|
|
- var e = t.tagName + t.className + t.src + t.href + t.textContent,
|
|
|
|
- n = e.length,
|
|
|
|
- o = 0;
|
|
|
|
- n--;
|
|
|
|
-
|
|
|
|
- )
|
|
|
|
- o += e.charCodeAt(n);
|
|
|
|
- return o.toString(36);
|
|
|
|
- }
|
|
|
|
- function Ht(t) {
|
|
|
|
- return setTimeout(t, 0);
|
|
|
|
- }
|
|
|
|
- function Lt(t) {
|
|
|
|
- return clearTimeout(t);
|
|
|
|
- }
|
|
|
|
- (Rt.prototype = {
|
|
|
|
- constructor: Rt,
|
|
|
|
- _isOutsideThisEl: function (t) {
|
|
|
|
- this.el.contains(t) || t === this.el || (ht = null);
|
|
|
|
- },
|
|
|
|
- _getDirection: function (t, e) {
|
|
|
|
- return "function" == typeof this.options.direction
|
|
|
|
- ? this.options.direction.call(this, t, e, z)
|
|
|
|
- : this.options.direction;
|
|
|
|
- },
|
|
|
|
- _onTapStart: function (e) {
|
|
|
|
- if (e.cancelable) {
|
|
|
|
- var n = this,
|
|
|
|
- o = this.el,
|
|
|
|
- t = this.options,
|
|
|
|
- i = t.preventOnFilter,
|
|
|
|
- r = e.type,
|
|
|
|
- a =
|
|
|
|
- (e.touches && e.touches[0]) ||
|
|
|
|
- (e.pointerType && "touch" === e.pointerType && e),
|
|
|
|
- l = (a || e).target,
|
|
|
|
- s =
|
|
|
|
- (e.target.shadowRoot &&
|
|
|
|
- ((e.path && e.path[0]) ||
|
|
|
|
- (e.composedPath && e.composedPath()[0]))) ||
|
|
|
|
- l,
|
|
|
|
- c = t.filter;
|
|
|
|
- if (
|
|
|
|
- ((function (t) {
|
|
|
|
- St.length = 0;
|
|
|
|
- var e = t.getElementsByTagName("input"),
|
|
|
|
- n = e.length;
|
|
|
|
- for (; n--; ) {
|
|
|
|
- var o = e[n];
|
|
|
|
- o.checked && St.push(o);
|
|
|
|
- }
|
|
|
|
- })(o),
|
|
|
|
- !z &&
|
|
|
|
- !(
|
|
|
|
- (/mousedown|pointerdown/.test(r) && 0 !== e.button) ||
|
|
|
|
- t.disabled
|
|
|
|
- ) &&
|
|
|
|
- !s.isContentEditable &&
|
|
|
|
- (this.nativeDraggable ||
|
|
|
|
- !u ||
|
|
|
|
- !l ||
|
|
|
|
- "SELECT" !== l.tagName.toUpperCase()) &&
|
|
|
|
- !(((l = P(l, t.draggable, o, !1)) && l.animated) || Z === l))
|
|
|
|
- ) {
|
|
|
|
- if (((J = F(l)), (et = F(l, t.draggable)), "function" == typeof c)) {
|
|
|
|
- if (c.call(this, e, l, this))
|
|
|
|
- return (
|
|
|
|
- W({
|
|
|
|
- sortable: n,
|
|
|
|
- rootEl: s,
|
|
|
|
- name: "filter",
|
|
|
|
- targetEl: l,
|
|
|
|
- toEl: o,
|
|
|
|
- fromEl: o
|
|
|
|
- }),
|
|
|
|
- K("filter", n, { evt: e }),
|
|
|
|
- void (i && e.cancelable && e.preventDefault())
|
|
|
|
- );
|
|
|
|
- } else if (
|
|
|
|
- c &&
|
|
|
|
- (c = c.split(",").some(function (t) {
|
|
|
|
- if ((t = P(s, t.trim(), o, !1)))
|
|
|
|
- return (
|
|
|
|
- W({
|
|
|
|
- sortable: n,
|
|
|
|
- rootEl: t,
|
|
|
|
- name: "filter",
|
|
|
|
- targetEl: l,
|
|
|
|
- fromEl: o,
|
|
|
|
- toEl: o
|
|
|
|
- }),
|
|
|
|
- K("filter", n, { evt: e }),
|
|
|
|
- !0
|
|
|
|
- );
|
|
|
|
- }))
|
|
|
|
- )
|
|
|
|
- return void (i && e.cancelable && e.preventDefault());
|
|
|
|
- (t.handle && !P(s, t.handle, o, !1)) ||
|
|
|
|
- this._prepareDragStart(e, a, l);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- _prepareDragStart: function (t, e, n) {
|
|
|
|
- var o,
|
|
|
|
- i = this,
|
|
|
|
- r = i.el,
|
|
|
|
- a = i.options,
|
|
|
|
- l = r.ownerDocument;
|
|
|
|
- if (n && !z && n.parentNode === r) {
|
|
|
|
- var s = X(n);
|
|
|
|
- if (
|
|
|
|
- ((q = r),
|
|
|
|
- (G = (z = n).parentNode),
|
|
|
|
- (V = z.nextSibling),
|
|
|
|
- (Z = n),
|
|
|
|
- (ot = a.group),
|
|
|
|
- (rt = {
|
|
|
|
- target: (Rt.dragged = z),
|
|
|
|
- clientX: (e || t).clientX,
|
|
|
|
- clientY: (e || t).clientY
|
|
|
|
- }),
|
|
|
|
- (ct = rt.clientX - s.left),
|
|
|
|
- (ut = rt.clientY - s.top),
|
|
|
|
- (this._lastX = (e || t).clientX),
|
|
|
|
- (this._lastY = (e || t).clientY),
|
|
|
|
- (z.style["will-change"] = "all"),
|
|
|
|
- (o = function () {
|
|
|
|
- K("delayEnded", i, { evt: t }),
|
|
|
|
- Rt.eventCanceled
|
|
|
|
- ? i._onDrop()
|
|
|
|
- : (i._disableDelayedDragEvents(),
|
|
|
|
- !c && i.nativeDraggable && (z.draggable = !0),
|
|
|
|
- i._triggerDragStart(t, e),
|
|
|
|
- W({ sortable: i, name: "choose", originalEvent: t }),
|
|
|
|
- k(z, a.chosenClass, !0));
|
|
|
|
- }),
|
|
|
|
- a.ignore.split(",").forEach(function (t) {
|
|
|
|
- g(z, t.trim(), Yt);
|
|
|
|
- }),
|
|
|
|
- d(l, "dragover", Pt),
|
|
|
|
- d(l, "mousemove", Pt),
|
|
|
|
- d(l, "touchmove", Pt),
|
|
|
|
- d(l, "mouseup", i._onDrop),
|
|
|
|
- d(l, "touchend", i._onDrop),
|
|
|
|
- d(l, "touchcancel", i._onDrop),
|
|
|
|
- c &&
|
|
|
|
- this.nativeDraggable &&
|
|
|
|
- ((this.options.touchStartThreshold = 4), (z.draggable = !0)),
|
|
|
|
- K("delayStart", this, { evt: t }),
|
|
|
|
- !a.delay ||
|
|
|
|
- (a.delayOnTouchOnly && !e) ||
|
|
|
|
- (this.nativeDraggable && (E || w)))
|
|
|
|
- )
|
|
|
|
- o();
|
|
|
|
- else {
|
|
|
|
- if (Rt.eventCanceled) return void this._onDrop();
|
|
|
|
- d(l, "mouseup", i._disableDelayedDrag),
|
|
|
|
- d(l, "touchend", i._disableDelayedDrag),
|
|
|
|
- d(l, "touchcancel", i._disableDelayedDrag),
|
|
|
|
- d(l, "mousemove", i._delayedDragTouchMoveHandler),
|
|
|
|
- d(l, "touchmove", i._delayedDragTouchMoveHandler),
|
|
|
|
- a.supportPointer &&
|
|
|
|
- d(l, "pointermove", i._delayedDragTouchMoveHandler),
|
|
|
|
- (i._dragStartTimer = setTimeout(o, a.delay));
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- _delayedDragTouchMoveHandler: function (t) {
|
|
|
|
- var e = t.touches ? t.touches[0] : t;
|
|
|
|
- Math.max(
|
|
|
|
- Math.abs(e.clientX - this._lastX),
|
|
|
|
- Math.abs(e.clientY - this._lastY)
|
|
|
|
- ) >=
|
|
|
|
- Math.floor(
|
|
|
|
- this.options.touchStartThreshold /
|
|
|
|
- ((this.nativeDraggable && window.devicePixelRatio) || 1)
|
|
|
|
- ) && this._disableDelayedDrag();
|
|
|
|
- },
|
|
|
|
- _disableDelayedDrag: function () {
|
|
|
|
- z && Yt(z),
|
|
|
|
- clearTimeout(this._dragStartTimer),
|
|
|
|
- this._disableDelayedDragEvents();
|
|
|
|
- },
|
|
|
|
- _disableDelayedDragEvents: function () {
|
|
|
|
- var t = this.el.ownerDocument;
|
|
|
|
- s(t, "mouseup", this._disableDelayedDrag),
|
|
|
|
- s(t, "touchend", this._disableDelayedDrag),
|
|
|
|
- s(t, "touchcancel", this._disableDelayedDrag),
|
|
|
|
- s(t, "mousemove", this._delayedDragTouchMoveHandler),
|
|
|
|
- s(t, "touchmove", this._delayedDragTouchMoveHandler),
|
|
|
|
- s(t, "pointermove", this._delayedDragTouchMoveHandler);
|
|
|
|
- },
|
|
|
|
- _triggerDragStart: function (t, e) {
|
|
|
|
- (e = e || ("touch" == t.pointerType && t)),
|
|
|
|
- !this.nativeDraggable || e
|
|
|
|
- ? this.options.supportPointer
|
|
|
|
- ? d(document, "pointermove", this._onTouchMove)
|
|
|
|
- : d(document, e ? "touchmove" : "mousemove", this._onTouchMove)
|
|
|
|
- : (d(z, "dragend", this), d(q, "dragstart", this._onDragStart));
|
|
|
|
- try {
|
|
|
|
- document.selection
|
|
|
|
- ? Ht(function () {
|
|
|
|
- document.selection.empty();
|
|
|
|
- })
|
|
|
|
- : window.getSelection().removeAllRanges();
|
|
|
|
- } catch (t) {}
|
|
|
|
- },
|
|
|
|
- _dragStarted: function (t, e) {
|
|
|
|
- if (((vt = !1), q && z)) {
|
|
|
|
- K("dragStarted", this, { evt: e }),
|
|
|
|
- this.nativeDraggable && d(document, "dragover", kt);
|
|
|
|
- var n = this.options;
|
|
|
|
- t || k(z, n.dragClass, !1),
|
|
|
|
- k(z, n.ghostClass, !0),
|
|
|
|
- (Rt.active = this),
|
|
|
|
- t && this._appendGhost(),
|
|
|
|
- W({ sortable: this, name: "start", originalEvent: e });
|
|
|
|
- } else this._nulling();
|
|
|
|
- },
|
|
|
|
- _emulateDragOver: function () {
|
|
|
|
- if (at) {
|
|
|
|
- (this._lastX = at.clientX), (this._lastY = at.clientY), At();
|
|
|
|
- for (
|
|
|
|
- var t = document.elementFromPoint(at.clientX, at.clientY), e = t;
|
|
|
|
- t &&
|
|
|
|
- t.shadowRoot &&
|
|
|
|
- (t = t.shadowRoot.elementFromPoint(at.clientX, at.clientY)) !== e;
|
|
|
|
-
|
|
|
|
- )
|
|
|
|
- e = t;
|
|
|
|
- if ((z.parentNode[j]._isOutsideThisEl(t), e))
|
|
|
|
- do {
|
|
|
|
- if (e[j]) {
|
|
|
|
- if (
|
|
|
|
- e[j]._onDragOver({
|
|
|
|
- clientX: at.clientX,
|
|
|
|
- clientY: at.clientY,
|
|
|
|
- target: t,
|
|
|
|
- rootEl: e
|
|
|
|
- }) &&
|
|
|
|
- !this.options.dragoverBubble
|
|
|
|
- )
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
- t = e;
|
|
|
|
- } while ((e = e.parentNode));
|
|
|
|
- It();
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- _onTouchMove: function (t) {
|
|
|
|
- if (rt) {
|
|
|
|
- var e = this.options,
|
|
|
|
- n = e.fallbackTolerance,
|
|
|
|
- o = e.fallbackOffset,
|
|
|
|
- i = t.touches ? t.touches[0] : t,
|
|
|
|
- r = U && v(U, !0),
|
|
|
|
- a = U && r && r.a,
|
|
|
|
- l = U && r && r.d,
|
|
|
|
- s = Ct && gt && b(gt),
|
|
|
|
- c =
|
|
|
|
- (i.clientX - rt.clientX + o.x) / (a || 1) +
|
|
|
|
- (s ? s[0] - Et[0] : 0) / (a || 1),
|
|
|
|
- u =
|
|
|
|
- (i.clientY - rt.clientY + o.y) / (l || 1) +
|
|
|
|
- (s ? s[1] - Et[1] : 0) / (l || 1);
|
|
|
|
- if (!Rt.active && !vt) {
|
|
|
|
- if (
|
|
|
|
- n &&
|
|
|
|
- Math.max(
|
|
|
|
- Math.abs(i.clientX - this._lastX),
|
|
|
|
- Math.abs(i.clientY - this._lastY)
|
|
|
|
- ) < n
|
|
|
|
- )
|
|
|
|
- return;
|
|
|
|
- this._onDragStart(t, !0);
|
|
|
|
- }
|
|
|
|
- if (U) {
|
|
|
|
- r
|
|
|
|
- ? ((r.e += c - (lt || 0)), (r.f += u - (st || 0)))
|
|
|
|
- : (r = { a: 1, b: 0, c: 0, d: 1, e: c, f: u });
|
|
|
|
- var d = "matrix("
|
|
|
|
- .concat(r.a, ",")
|
|
|
|
- .concat(r.b, ",")
|
|
|
|
- .concat(r.c, ",")
|
|
|
|
- .concat(r.d, ",")
|
|
|
|
- .concat(r.e, ",")
|
|
|
|
- .concat(r.f, ")");
|
|
|
|
- R(U, "webkitTransform", d),
|
|
|
|
- R(U, "mozTransform", d),
|
|
|
|
- R(U, "msTransform", d),
|
|
|
|
- R(U, "transform", d),
|
|
|
|
- (lt = c),
|
|
|
|
- (st = u),
|
|
|
|
- (at = i);
|
|
|
|
- }
|
|
|
|
- t.cancelable && t.preventDefault();
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- _appendGhost: function () {
|
|
|
|
- if (!U) {
|
|
|
|
- var t = this.options.fallbackOnBody ? document.body : q,
|
|
|
|
- e = X(z, !0, Ct, !0, t),
|
|
|
|
- n = this.options;
|
|
|
|
- if (Ct) {
|
|
|
|
- for (
|
|
|
|
- gt = t;
|
|
|
|
- "static" === R(gt, "position") &&
|
|
|
|
- "none" === R(gt, "transform") &&
|
|
|
|
- gt !== document;
|
|
|
|
-
|
|
|
|
- )
|
|
|
|
- gt = gt.parentNode;
|
|
|
|
- gt !== document.body && gt !== document.documentElement
|
|
|
|
- ? (gt === document && (gt = A()),
|
|
|
|
- (e.top += gt.scrollTop),
|
|
|
|
- (e.left += gt.scrollLeft))
|
|
|
|
- : (gt = A()),
|
|
|
|
- (Et = b(gt));
|
|
|
|
- }
|
|
|
|
- k((U = z.cloneNode(!0)), n.ghostClass, !1),
|
|
|
|
- k(U, n.fallbackClass, !0),
|
|
|
|
- k(U, n.dragClass, !0),
|
|
|
|
- R(U, "transition", ""),
|
|
|
|
- R(U, "transform", ""),
|
|
|
|
- R(U, "box-sizing", "border-box"),
|
|
|
|
- R(U, "margin", 0),
|
|
|
|
- R(U, "top", e.top),
|
|
|
|
- R(U, "left", e.left),
|
|
|
|
- R(U, "width", e.width),
|
|
|
|
- R(U, "height", e.height),
|
|
|
|
- R(U, "opacity", "0.8"),
|
|
|
|
- R(U, "position", Ct ? "absolute" : "fixed"),
|
|
|
|
- R(U, "zIndex", "100000"),
|
|
|
|
- R(U, "pointerEvents", "none"),
|
|
|
|
- (Rt.ghost = U),
|
|
|
|
- t.appendChild(U),
|
|
|
|
- R(
|
|
|
|
- U,
|
|
|
|
- "transform-origin",
|
|
|
|
- (ct / parseInt(U.style.width)) * 100 +
|
|
|
|
- "% " +
|
|
|
|
- (ut / parseInt(U.style.height)) * 100 +
|
|
|
|
- "%"
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- _onDragStart: function (t, e) {
|
|
|
|
- var n = this,
|
|
|
|
- o = t.dataTransfer,
|
|
|
|
- i = n.options;
|
|
|
|
- K("dragStart", this, { evt: t }),
|
|
|
|
- Rt.eventCanceled
|
|
|
|
- ? this._onDrop()
|
|
|
|
- : (K("setupClone", this),
|
|
|
|
- Rt.eventCanceled ||
|
|
|
|
- (((Q = S(z)).draggable = !1),
|
|
|
|
- (Q.style["will-change"] = ""),
|
|
|
|
- this._hideClone(),
|
|
|
|
- k(Q, this.options.chosenClass, !1),
|
|
|
|
- (Rt.clone = Q)),
|
|
|
|
- (n.cloneId = Ht(function () {
|
|
|
|
- K("clone", n),
|
|
|
|
- Rt.eventCanceled ||
|
|
|
|
- (n.options.removeCloneOnHide || q.insertBefore(Q, z),
|
|
|
|
- n._hideClone(),
|
|
|
|
- W({ sortable: n, name: "clone" }));
|
|
|
|
- })),
|
|
|
|
- e || k(z, i.dragClass, !0),
|
|
|
|
- e
|
|
|
|
- ? ((mt = !0), (n._loopId = setInterval(n._emulateDragOver, 50)))
|
|
|
|
- : (s(document, "mouseup", n._onDrop),
|
|
|
|
- s(document, "touchend", n._onDrop),
|
|
|
|
- s(document, "touchcancel", n._onDrop),
|
|
|
|
- o &&
|
|
|
|
- ((o.effectAllowed = "move"),
|
|
|
|
- i.setData && i.setData.call(n, o, z)),
|
|
|
|
- d(document, "drop", n),
|
|
|
|
- R(z, "transform", "translateZ(0)")),
|
|
|
|
- (vt = !0),
|
|
|
|
- (n._dragStartId = Ht(n._dragStarted.bind(n, e, t))),
|
|
|
|
- d(document, "selectstart", n),
|
|
|
|
- (dt = !0),
|
|
|
|
- u && R(document.body, "user-select", "none"));
|
|
|
|
- },
|
|
|
|
- _onDragOver: function (n) {
|
|
|
|
- var o,
|
|
|
|
- i,
|
|
|
|
- r,
|
|
|
|
- a,
|
|
|
|
- l = this.el,
|
|
|
|
- s = n.target,
|
|
|
|
- e = this.options,
|
|
|
|
- t = e.group,
|
|
|
|
- c = Rt.active,
|
|
|
|
- u = ot === t,
|
|
|
|
- d = e.sort,
|
|
|
|
- h = it || c,
|
|
|
|
- f = this,
|
|
|
|
- p = !1;
|
|
|
|
- if (!Dt) {
|
|
|
|
- if (
|
|
|
|
- (void 0 !== n.preventDefault && n.cancelable && n.preventDefault(),
|
|
|
|
- (s = P(s, e.draggable, l, !0)),
|
|
|
|
- M("dragOver"),
|
|
|
|
- Rt.eventCanceled)
|
|
|
|
- )
|
|
|
|
- return p;
|
|
|
|
- if (
|
|
|
|
- z.contains(n.target) ||
|
|
|
|
- (s.animated && s.animatingX && s.animatingY) ||
|
|
|
|
- f._ignoreWhileAnimating === s
|
|
|
|
- )
|
|
|
|
- return N(!1);
|
|
|
|
- if (
|
|
|
|
- ((mt = !1),
|
|
|
|
- c &&
|
|
|
|
- !e.disabled &&
|
|
|
|
- (u
|
|
|
|
- ? d || (r = !q.contains(z))
|
|
|
|
- : it === this ||
|
|
|
|
- ((this.lastPutMode = ot.checkPull(this, c, z, n)) &&
|
|
|
|
- t.checkPut(this, c, z, n))))
|
|
|
|
- ) {
|
|
|
|
- if (
|
|
|
|
- ((a = "vertical" === this._getDirection(n, s)),
|
|
|
|
- (o = X(z)),
|
|
|
|
- M("dragOverValid"),
|
|
|
|
- Rt.eventCanceled)
|
|
|
|
- )
|
|
|
|
- return p;
|
|
|
|
- if (r)
|
|
|
|
- return (
|
|
|
|
- (G = q),
|
|
|
|
- O(),
|
|
|
|
- this._hideClone(),
|
|
|
|
- M("revert"),
|
|
|
|
- Rt.eventCanceled || (V ? q.insertBefore(z, V) : q.appendChild(z)),
|
|
|
|
- N(!0)
|
|
|
|
- );
|
|
|
|
- var g = B(l, e.draggable);
|
|
|
|
- if (
|
|
|
|
- !g ||
|
|
|
|
- ((function (t, e, n) {
|
|
|
|
- var o = X(B(n.el, n.options.draggable));
|
|
|
|
- return e
|
|
|
|
- ? t.clientX > o.right + 10 ||
|
|
|
|
- (t.clientX <= o.right &&
|
|
|
|
- t.clientY > o.bottom &&
|
|
|
|
- t.clientX >= o.left)
|
|
|
|
- : (t.clientX > o.right && t.clientY > o.top) ||
|
|
|
|
- (t.clientX <= o.right && t.clientY > o.bottom + 10);
|
|
|
|
- })(n, a, this) &&
|
|
|
|
- !g.animated)
|
|
|
|
- ) {
|
|
|
|
- if (g === z) return N(!1);
|
|
|
|
- if (
|
|
|
|
- (g && l === n.target && (s = g),
|
|
|
|
- s && (i = X(s)),
|
|
|
|
- !1 !== Xt(q, l, z, o, s, i, n, !!s))
|
|
|
|
- )
|
|
|
|
- return O(), l.appendChild(z), (G = l), A(), N(!0);
|
|
|
|
- } else if (s.parentNode === l) {
|
|
|
|
- i = X(s);
|
|
|
|
- var v,
|
|
|
|
- m,
|
|
|
|
- b,
|
|
|
|
- y = z.parentNode !== l,
|
|
|
|
- w = !(function (t, e, n) {
|
|
|
|
- var o = n ? t.left : t.top,
|
|
|
|
- i = n ? t.right : t.bottom,
|
|
|
|
- r = n ? t.width : t.height,
|
|
|
|
- a = n ? e.left : e.top,
|
|
|
|
- l = n ? e.right : e.bottom,
|
|
|
|
- s = n ? e.width : e.height;
|
|
|
|
- return o === a || i === l || o + r / 2 === a + s / 2;
|
|
|
|
- })(
|
|
|
|
- (z.animated && z.toRect) || o,
|
|
|
|
- (s.animated && s.toRect) || i,
|
|
|
|
- a
|
|
|
|
- ),
|
|
|
|
- E = a ? "top" : "left",
|
|
|
|
- D = Y(s, "top", "top") || Y(z, "top", "top"),
|
|
|
|
- S = D ? D.scrollTop : void 0;
|
|
|
|
- if (
|
|
|
|
- (ht !== s &&
|
|
|
|
- ((m = i[E]), (yt = !1), (wt = (!w && e.invertSwap) || y)),
|
|
|
|
- 0 !==
|
|
|
|
- (v = (function (t, e, n, o, i, r, a, l) {
|
|
|
|
- var s = o ? t.clientY : t.clientX,
|
|
|
|
- c = o ? n.height : n.width,
|
|
|
|
- u = o ? n.top : n.left,
|
|
|
|
- d = o ? n.bottom : n.right,
|
|
|
|
- h = !1;
|
|
|
|
- if (!a)
|
|
|
|
- if (l && pt < c * i) {
|
|
|
|
- if (
|
|
|
|
- (!yt &&
|
|
|
|
- (1 === ft
|
|
|
|
- ? u + (c * r) / 2 < s
|
|
|
|
- : s < d - (c * r) / 2) &&
|
|
|
|
- (yt = !0),
|
|
|
|
- yt)
|
|
|
|
- )
|
|
|
|
- h = !0;
|
|
|
|
- else if (1 === ft ? s < u + pt : d - pt < s) return -ft;
|
|
|
|
- } else if (
|
|
|
|
- u + (c * (1 - i)) / 2 < s &&
|
|
|
|
- s < d - (c * (1 - i)) / 2
|
|
|
|
- )
|
|
|
|
- return (function (t) {
|
|
|
|
- return F(z) < F(t) ? 1 : -1;
|
|
|
|
- })(e);
|
|
|
|
- if (
|
|
|
|
- (h = h || a) &&
|
|
|
|
- (s < u + (c * r) / 2 || d - (c * r) / 2 < s)
|
|
|
|
- )
|
|
|
|
- return u + c / 2 < s ? 1 : -1;
|
|
|
|
- return 0;
|
|
|
|
- })(
|
|
|
|
- n,
|
|
|
|
- s,
|
|
|
|
- i,
|
|
|
|
- a,
|
|
|
|
- w ? 1 : e.swapThreshold,
|
|
|
|
- null == e.invertedSwapThreshold
|
|
|
|
- ? e.swapThreshold
|
|
|
|
- : e.invertedSwapThreshold,
|
|
|
|
- wt,
|
|
|
|
- ht === s
|
|
|
|
- )))
|
|
|
|
- )
|
|
|
|
- for (
|
|
|
|
- var _ = F(z);
|
|
|
|
- (_ -= v),
|
|
|
|
- (b = G.children[_]) &&
|
|
|
|
- ("none" === R(b, "display") || b === U);
|
|
|
|
-
|
|
|
|
- );
|
|
|
|
- if (0 === v || b === s) return N(!1);
|
|
|
|
- ft = v;
|
|
|
|
- var C = (ht = s).nextElementSibling,
|
|
|
|
- T = !1,
|
|
|
|
- x = Xt(q, l, z, o, s, i, n, (T = 1 === v));
|
|
|
|
- if (!1 !== x)
|
|
|
|
- return (
|
|
|
|
- (1 !== x && -1 !== x) || (T = 1 === x),
|
|
|
|
- (Dt = !0),
|
|
|
|
- setTimeout(Bt, 30),
|
|
|
|
- O(),
|
|
|
|
- T && !C
|
|
|
|
- ? l.appendChild(z)
|
|
|
|
- : s.parentNode.insertBefore(z, T ? C : s),
|
|
|
|
- D && L(D, 0, S - D.scrollTop),
|
|
|
|
- (G = z.parentNode),
|
|
|
|
- void 0 === m || wt || (pt = Math.abs(m - X(s)[E])),
|
|
|
|
- A(),
|
|
|
|
- N(!0)
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- if (l.contains(z)) return N(!1);
|
|
|
|
- }
|
|
|
|
- return !1;
|
|
|
|
- }
|
|
|
|
- function M(t, e) {
|
|
|
|
- K(
|
|
|
|
- t,
|
|
|
|
- f,
|
|
|
|
- I(
|
|
|
|
- {
|
|
|
|
- evt: n,
|
|
|
|
- isOwner: u,
|
|
|
|
- axis: a ? "vertical" : "horizontal",
|
|
|
|
- revert: r,
|
|
|
|
- dragRect: o,
|
|
|
|
- targetRect: i,
|
|
|
|
- canSort: d,
|
|
|
|
- fromSortable: h,
|
|
|
|
- target: s,
|
|
|
|
- completed: N,
|
|
|
|
- onMove: function (t, e) {
|
|
|
|
- return Xt(q, l, z, o, t, X(t), n, e);
|
|
|
|
- },
|
|
|
|
- changed: A
|
|
|
|
- },
|
|
|
|
- e
|
|
|
|
- )
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- function O() {
|
|
|
|
- M("dragOverAnimationCapture"),
|
|
|
|
- f.captureAnimationState(),
|
|
|
|
- f !== h && h.captureAnimationState();
|
|
|
|
- }
|
|
|
|
- function N(t) {
|
|
|
|
- return (
|
|
|
|
- M("dragOverCompleted", { insertion: t }),
|
|
|
|
- t &&
|
|
|
|
- (u ? c._hideClone() : c._showClone(f),
|
|
|
|
- f !== h &&
|
|
|
|
- (k(z, it ? it.options.ghostClass : c.options.ghostClass, !1),
|
|
|
|
- k(z, e.ghostClass, !0)),
|
|
|
|
- it !== f && f !== Rt.active
|
|
|
|
- ? (it = f)
|
|
|
|
- : f === Rt.active && it && (it = null),
|
|
|
|
- h === f && (f._ignoreWhileAnimating = s),
|
|
|
|
- f.animateAll(function () {
|
|
|
|
- M("dragOverAnimationComplete"), (f._ignoreWhileAnimating = null);
|
|
|
|
- }),
|
|
|
|
- f !== h && (h.animateAll(), (h._ignoreWhileAnimating = null))),
|
|
|
|
- ((s === z && !z.animated) || (s === l && !s.animated)) && (ht = null),
|
|
|
|
- e.dragoverBubble ||
|
|
|
|
- n.rootEl ||
|
|
|
|
- s === document ||
|
|
|
|
- (z.parentNode[j]._isOutsideThisEl(n.target), t || Pt(n)),
|
|
|
|
- !e.dragoverBubble && n.stopPropagation && n.stopPropagation(),
|
|
|
|
- (p = !0)
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- function A() {
|
|
|
|
- (tt = F(z)),
|
|
|
|
- (nt = F(z, e.draggable)),
|
|
|
|
- W({
|
|
|
|
- sortable: f,
|
|
|
|
- name: "change",
|
|
|
|
- toEl: l,
|
|
|
|
- newIndex: tt,
|
|
|
|
- newDraggableIndex: nt,
|
|
|
|
- originalEvent: n
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- _ignoreWhileAnimating: null,
|
|
|
|
- _offMoveEvents: function () {
|
|
|
|
- s(document, "mousemove", this._onTouchMove),
|
|
|
|
- s(document, "touchmove", this._onTouchMove),
|
|
|
|
- s(document, "pointermove", this._onTouchMove),
|
|
|
|
- s(document, "dragover", Pt),
|
|
|
|
- s(document, "mousemove", Pt),
|
|
|
|
- s(document, "touchmove", Pt);
|
|
|
|
- },
|
|
|
|
- _offUpEvents: function () {
|
|
|
|
- var t = this.el.ownerDocument;
|
|
|
|
- s(t, "mouseup", this._onDrop),
|
|
|
|
- s(t, "touchend", this._onDrop),
|
|
|
|
- s(t, "pointerup", this._onDrop),
|
|
|
|
- s(t, "touchcancel", this._onDrop),
|
|
|
|
- s(document, "selectstart", this);
|
|
|
|
- },
|
|
|
|
- _onDrop: function (t) {
|
|
|
|
- var e = this.el,
|
|
|
|
- n = this.options;
|
|
|
|
- (tt = F(z)),
|
|
|
|
- (nt = F(z, n.draggable)),
|
|
|
|
- K("drop", this, { evt: t }),
|
|
|
|
- (G = z && z.parentNode),
|
|
|
|
- (tt = F(z)),
|
|
|
|
- (nt = F(z, n.draggable)),
|
|
|
|
- Rt.eventCanceled ||
|
|
|
|
- ((yt = wt = vt = !1),
|
|
|
|
- clearInterval(this._loopId),
|
|
|
|
- clearTimeout(this._dragStartTimer),
|
|
|
|
- Lt(this.cloneId),
|
|
|
|
- Lt(this._dragStartId),
|
|
|
|
- this.nativeDraggable &&
|
|
|
|
- (s(document, "drop", this), s(e, "dragstart", this._onDragStart)),
|
|
|
|
- this._offMoveEvents(),
|
|
|
|
- this._offUpEvents(),
|
|
|
|
- u && R(document.body, "user-select", ""),
|
|
|
|
- R(z, "transform", ""),
|
|
|
|
- t &&
|
|
|
|
- (dt &&
|
|
|
|
- (t.cancelable && t.preventDefault(),
|
|
|
|
- n.dropBubble || t.stopPropagation()),
|
|
|
|
- U && U.parentNode && U.parentNode.removeChild(U),
|
|
|
|
- (q === G || (it && "clone" !== it.lastPutMode)) &&
|
|
|
|
- Q &&
|
|
|
|
- Q.parentNode &&
|
|
|
|
- Q.parentNode.removeChild(Q),
|
|
|
|
- z &&
|
|
|
|
- (this.nativeDraggable && s(z, "dragend", this),
|
|
|
|
- Yt(z),
|
|
|
|
- (z.style["will-change"] = ""),
|
|
|
|
- dt &&
|
|
|
|
- !vt &&
|
|
|
|
- k(z, it ? it.options.ghostClass : this.options.ghostClass, !1),
|
|
|
|
- k(z, this.options.chosenClass, !1),
|
|
|
|
- W({
|
|
|
|
- sortable: this,
|
|
|
|
- name: "unchoose",
|
|
|
|
- toEl: G,
|
|
|
|
- newIndex: null,
|
|
|
|
- newDraggableIndex: null,
|
|
|
|
- originalEvent: t
|
|
|
|
- }),
|
|
|
|
- q !== G
|
|
|
|
- ? (0 <= tt &&
|
|
|
|
- (W({
|
|
|
|
- rootEl: G,
|
|
|
|
- name: "add",
|
|
|
|
- toEl: G,
|
|
|
|
- fromEl: q,
|
|
|
|
- originalEvent: t
|
|
|
|
- }),
|
|
|
|
- W({
|
|
|
|
- sortable: this,
|
|
|
|
- name: "remove",
|
|
|
|
- toEl: G,
|
|
|
|
- originalEvent: t
|
|
|
|
- }),
|
|
|
|
- W({
|
|
|
|
- rootEl: G,
|
|
|
|
- name: "sort",
|
|
|
|
- toEl: G,
|
|
|
|
- fromEl: q,
|
|
|
|
- originalEvent: t
|
|
|
|
- }),
|
|
|
|
- W({
|
|
|
|
- sortable: this,
|
|
|
|
- name: "sort",
|
|
|
|
- toEl: G,
|
|
|
|
- originalEvent: t
|
|
|
|
- })),
|
|
|
|
- it && it.save())
|
|
|
|
- : tt !== J &&
|
|
|
|
- 0 <= tt &&
|
|
|
|
- (W({
|
|
|
|
- sortable: this,
|
|
|
|
- name: "update",
|
|
|
|
- toEl: G,
|
|
|
|
- originalEvent: t
|
|
|
|
- }),
|
|
|
|
- W({
|
|
|
|
- sortable: this,
|
|
|
|
- name: "sort",
|
|
|
|
- toEl: G,
|
|
|
|
- originalEvent: t
|
|
|
|
- })),
|
|
|
|
- Rt.active &&
|
|
|
|
- ((null != tt && -1 !== tt) || ((tt = J), (nt = et)),
|
|
|
|
- W({ sortable: this, name: "end", toEl: G, originalEvent: t }),
|
|
|
|
- this.save())))),
|
|
|
|
- this._nulling();
|
|
|
|
- },
|
|
|
|
- _nulling: function () {
|
|
|
|
- K("nulling", this),
|
|
|
|
- (q =
|
|
|
|
- z =
|
|
|
|
- G =
|
|
|
|
- U =
|
|
|
|
- V =
|
|
|
|
- Q =
|
|
|
|
- Z =
|
|
|
|
- $ =
|
|
|
|
- rt =
|
|
|
|
- at =
|
|
|
|
- dt =
|
|
|
|
- tt =
|
|
|
|
- nt =
|
|
|
|
- J =
|
|
|
|
- et =
|
|
|
|
- ht =
|
|
|
|
- ft =
|
|
|
|
- it =
|
|
|
|
- ot =
|
|
|
|
- Rt.dragged =
|
|
|
|
- Rt.ghost =
|
|
|
|
- Rt.clone =
|
|
|
|
- Rt.active =
|
|
|
|
- null),
|
|
|
|
- St.forEach(function (t) {
|
|
|
|
- t.checked = !0;
|
|
|
|
- }),
|
|
|
|
- (St.length = lt = st = 0);
|
|
|
|
- },
|
|
|
|
- handleEvent: function (t) {
|
|
|
|
- switch (t.type) {
|
|
|
|
- case "drop":
|
|
|
|
- case "dragend":
|
|
|
|
- this._onDrop(t);
|
|
|
|
- break;
|
|
|
|
- case "dragenter":
|
|
|
|
- case "dragover":
|
|
|
|
- z &&
|
|
|
|
- (this._onDragOver(t),
|
|
|
|
- (function (t) {
|
|
|
|
- t.dataTransfer && (t.dataTransfer.dropEffect = "move");
|
|
|
|
- t.cancelable && t.preventDefault();
|
|
|
|
- })(t));
|
|
|
|
- break;
|
|
|
|
- case "selectstart":
|
|
|
|
- t.preventDefault();
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- toArray: function () {
|
|
|
|
- for (
|
|
|
|
- var t,
|
|
|
|
- e = [],
|
|
|
|
- n = this.el.children,
|
|
|
|
- o = 0,
|
|
|
|
- i = n.length,
|
|
|
|
- r = this.options;
|
|
|
|
- o < i;
|
|
|
|
- o++
|
|
|
|
- )
|
|
|
|
- P((t = n[o]), r.draggable, this.el, !1) &&
|
|
|
|
- e.push(t.getAttribute(r.dataIdAttr) || Ft(t));
|
|
|
|
- return e;
|
|
|
|
- },
|
|
|
|
- sort: function (t, e) {
|
|
|
|
- var o = {},
|
|
|
|
- i = this.el;
|
|
|
|
- this.toArray().forEach(function (t, e) {
|
|
|
|
- var n = i.children[e];
|
|
|
|
- P(n, this.options.draggable, i, !1) && (o[t] = n);
|
|
|
|
- }, this),
|
|
|
|
- e && this.captureAnimationState(),
|
|
|
|
- t.forEach(function (t) {
|
|
|
|
- o[t] && (i.removeChild(o[t]), i.appendChild(o[t]));
|
|
|
|
- }),
|
|
|
|
- e && this.animateAll();
|
|
|
|
- },
|
|
|
|
- save: function () {
|
|
|
|
- var t = this.options.store;
|
|
|
|
- t && t.set && t.set(this);
|
|
|
|
- },
|
|
|
|
- closest: function (t, e) {
|
|
|
|
- return P(t, e || this.options.draggable, this.el, !1);
|
|
|
|
- },
|
|
|
|
- option: function (t, e) {
|
|
|
|
- var n = this.options;
|
|
|
|
- if (void 0 === e) return n[t];
|
|
|
|
- var o = O.modifyOption(this, t, e);
|
|
|
|
- (n[t] = void 0 !== o ? o : e), "group" === t && Nt(n);
|
|
|
|
- },
|
|
|
|
- destroy: function () {
|
|
|
|
- K("destroy", this);
|
|
|
|
- var t = this.el;
|
|
|
|
- (t[j] = null),
|
|
|
|
- s(t, "mousedown", this._onTapStart),
|
|
|
|
- s(t, "touchstart", this._onTapStart),
|
|
|
|
- s(t, "pointerdown", this._onTapStart),
|
|
|
|
- this.nativeDraggable &&
|
|
|
|
- (s(t, "dragover", this), s(t, "dragenter", this)),
|
|
|
|
- Array.prototype.forEach.call(
|
|
|
|
- t.querySelectorAll("[draggable]"),
|
|
|
|
- function (t) {
|
|
|
|
- t.removeAttribute("draggable");
|
|
|
|
- }
|
|
|
|
- ),
|
|
|
|
- this._onDrop(),
|
|
|
|
- this._disableDelayedDragEvents(),
|
|
|
|
- bt.splice(bt.indexOf(this.el), 1),
|
|
|
|
- (this.el = t = null);
|
|
|
|
- },
|
|
|
|
- _hideClone: function () {
|
|
|
|
- if (!$) {
|
|
|
|
- if ((K("hideClone", this), Rt.eventCanceled)) return;
|
|
|
|
- R(Q, "display", "none"),
|
|
|
|
- this.options.removeCloneOnHide &&
|
|
|
|
- Q.parentNode &&
|
|
|
|
- Q.parentNode.removeChild(Q),
|
|
|
|
- ($ = !0);
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- _showClone: function (t) {
|
|
|
|
- if ("clone" === t.lastPutMode) {
|
|
|
|
- if ($) {
|
|
|
|
- if ((K("showClone", this), Rt.eventCanceled)) return;
|
|
|
|
- z.parentNode != q || this.options.group.revertClone
|
|
|
|
- ? V
|
|
|
|
- ? q.insertBefore(Q, V)
|
|
|
|
- : q.appendChild(Q)
|
|
|
|
- : q.insertBefore(Q, z),
|
|
|
|
- this.options.group.revertClone && this.animate(z, Q),
|
|
|
|
- R(Q, "display", ""),
|
|
|
|
- ($ = !1);
|
|
|
|
- }
|
|
|
|
- } else this._hideClone();
|
|
|
|
- }
|
|
|
|
- }),
|
|
|
|
- _t &&
|
|
|
|
- d(document, "touchmove", function (t) {
|
|
|
|
- (Rt.active || vt) && t.cancelable && t.preventDefault();
|
|
|
|
- }),
|
|
|
|
- (Rt.utils = {
|
|
|
|
- on: d,
|
|
|
|
- off: s,
|
|
|
|
- css: R,
|
|
|
|
- find: g,
|
|
|
|
- is: function (t, e) {
|
|
|
|
- return !!P(t, e, t, !1);
|
|
|
|
- },
|
|
|
|
- extend: function (t, e) {
|
|
|
|
- if (t && e) for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]);
|
|
|
|
- return t;
|
|
|
|
- },
|
|
|
|
- throttle: D,
|
|
|
|
- closest: P,
|
|
|
|
- toggleClass: k,
|
|
|
|
- clone: S,
|
|
|
|
- index: F,
|
|
|
|
- nextTick: Ht,
|
|
|
|
- cancelNextTick: Lt,
|
|
|
|
- detectDirection: Ot,
|
|
|
|
- getChild: m
|
|
|
|
- }),
|
|
|
|
- (Rt.get = function (t) {
|
|
|
|
- return t[j];
|
|
|
|
- }),
|
|
|
|
- (Rt.mount = function () {
|
|
|
|
- for (var t = arguments.length, e = new Array(t), n = 0; n < t; n++)
|
|
|
|
- e[n] = arguments[n];
|
|
|
|
- e[0].constructor === Array && (e = e[0]),
|
|
|
|
- e.forEach(function (t) {
|
|
|
|
- if (!t.prototype || !t.prototype.constructor)
|
|
|
|
- throw "Sortable: Mounted plugin must be a constructor function, not ".concat(
|
|
|
|
- {}.toString.call(t)
|
|
|
|
- );
|
|
|
|
- t.utils && (Rt.utils = I({}, Rt.utils, t.utils)), O.mount(t);
|
|
|
|
- });
|
|
|
|
- }),
|
|
|
|
- (Rt.create = function (t, e) {
|
|
|
|
- return new Rt(t, e);
|
|
|
|
- });
|
|
|
|
- var jt,
|
|
|
|
- Kt,
|
|
|
|
- Wt,
|
|
|
|
- zt,
|
|
|
|
- Gt,
|
|
|
|
- Ut,
|
|
|
|
- qt = [],
|
|
|
|
- Vt = !(Rt.version = "1.13.0");
|
|
|
|
- function Zt() {
|
|
|
|
- qt.forEach(function (t) {
|
|
|
|
- clearInterval(t.pid);
|
|
|
|
- }),
|
|
|
|
- (qt = []);
|
|
|
|
- }
|
|
|
|
- function Qt() {
|
|
|
|
- clearInterval(Ut);
|
|
|
|
- }
|
|
|
|
- function $t(t) {
|
|
|
|
- var e = t.originalEvent,
|
|
|
|
- n = t.putSortable,
|
|
|
|
- o = t.dragEl,
|
|
|
|
- i = t.activeSortable,
|
|
|
|
- r = t.dispatchSortableEvent,
|
|
|
|
- a = t.hideGhostForTarget,
|
|
|
|
- l = t.unhideGhostForTarget;
|
|
|
|
- if (e) {
|
|
|
|
- var s = n || i;
|
|
|
|
- a();
|
|
|
|
- var c =
|
|
|
|
- e.changedTouches && e.changedTouches.length ? e.changedTouches[0] : e,
|
|
|
|
- u = document.elementFromPoint(c.clientX, c.clientY);
|
|
|
|
- l(),
|
|
|
|
- s &&
|
|
|
|
- !s.el.contains(u) &&
|
|
|
|
- (r("spill"), this.onSpill({ dragEl: o, putSortable: n }));
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- var Jt,
|
|
|
|
- te = D(function (n, t, e, o) {
|
|
|
|
- if (t.scroll) {
|
|
|
|
- var i,
|
|
|
|
- r = (n.touches ? n.touches[0] : n).clientX,
|
|
|
|
- a = (n.touches ? n.touches[0] : n).clientY,
|
|
|
|
- l = t.scrollSensitivity,
|
|
|
|
- s = t.scrollSpeed,
|
|
|
|
- c = A(),
|
|
|
|
- u = !1;
|
|
|
|
- Kt !== e &&
|
|
|
|
- ((Kt = e),
|
|
|
|
- Zt(),
|
|
|
|
- (jt = t.scroll),
|
|
|
|
- (i = t.scrollFn),
|
|
|
|
- !0 === jt && (jt = H(e, !0)));
|
|
|
|
- var d = 0,
|
|
|
|
- h = jt;
|
|
|
|
- do {
|
|
|
|
- var f = h,
|
|
|
|
- p = X(f),
|
|
|
|
- g = p.top,
|
|
|
|
- v = p.bottom,
|
|
|
|
- m = p.left,
|
|
|
|
- b = p.right,
|
|
|
|
- y = p.width,
|
|
|
|
- w = p.height,
|
|
|
|
- E = void 0,
|
|
|
|
- D = void 0,
|
|
|
|
- S = f.scrollWidth,
|
|
|
|
- _ = f.scrollHeight,
|
|
|
|
- C = R(f),
|
|
|
|
- T = f.scrollLeft,
|
|
|
|
- x = f.scrollTop;
|
|
|
|
- D =
|
|
|
|
- f === c
|
|
|
|
- ? ((E =
|
|
|
|
- y < S &&
|
|
|
|
- ("auto" === C.overflowX ||
|
|
|
|
- "scroll" === C.overflowX ||
|
|
|
|
- "visible" === C.overflowX)),
|
|
|
|
- w < _ &&
|
|
|
|
- ("auto" === C.overflowY ||
|
|
|
|
- "scroll" === C.overflowY ||
|
|
|
|
- "visible" === C.overflowY))
|
|
|
|
- : ((E =
|
|
|
|
- y < S &&
|
|
|
|
- ("auto" === C.overflowX || "scroll" === C.overflowX)),
|
|
|
|
- w < _ && ("auto" === C.overflowY || "scroll" === C.overflowY));
|
|
|
|
- var M =
|
|
|
|
- E &&
|
|
|
|
- (Math.abs(b - r) <= l && T + y < S) -
|
|
|
|
- (Math.abs(m - r) <= l && !!T),
|
|
|
|
- O =
|
|
|
|
- D &&
|
|
|
|
- (Math.abs(v - a) <= l && x + w < _) -
|
|
|
|
- (Math.abs(g - a) <= l && !!x);
|
|
|
|
- if (!qt[d]) for (var N = 0; N <= d; N++) qt[N] || (qt[N] = {});
|
|
|
|
- (qt[d].vx == M && qt[d].vy == O && qt[d].el === f) ||
|
|
|
|
- ((qt[d].el = f),
|
|
|
|
- (qt[d].vx = M),
|
|
|
|
- (qt[d].vy = O),
|
|
|
|
- clearInterval(qt[d].pid),
|
|
|
|
- (0 == M && 0 == O) ||
|
|
|
|
- ((u = !0),
|
|
|
|
- (qt[d].pid = setInterval(
|
|
|
|
- function () {
|
|
|
|
- o && 0 === this.layer && Rt.active._onTouchMove(Gt);
|
|
|
|
- var t = qt[this.layer].vy ? qt[this.layer].vy * s : 0,
|
|
|
|
- e = qt[this.layer].vx ? qt[this.layer].vx * s : 0;
|
|
|
|
- ("function" == typeof i &&
|
|
|
|
- "continue" !==
|
|
|
|
- i.call(
|
|
|
|
- Rt.dragged.parentNode[j],
|
|
|
|
- e,
|
|
|
|
- t,
|
|
|
|
- n,
|
|
|
|
- Gt,
|
|
|
|
- qt[this.layer].el
|
|
|
|
- )) ||
|
|
|
|
- L(qt[this.layer].el, e, t);
|
|
|
|
- }.bind({ layer: d }),
|
|
|
|
- 24
|
|
|
|
- )))),
|
|
|
|
- d++;
|
|
|
|
- } while (t.bubbleScroll && h !== c && (h = H(h, !1)));
|
|
|
|
- Vt = u;
|
|
|
|
- }
|
|
|
|
- }, 30);
|
|
|
|
- function ee() {}
|
|
|
|
- function ne() {}
|
|
|
|
- (ee.prototype = {
|
|
|
|
- startIndex: null,
|
|
|
|
- dragStart: function (t) {
|
|
|
|
- var e = t.oldDraggableIndex;
|
|
|
|
- this.startIndex = e;
|
|
|
|
- },
|
|
|
|
- onSpill: function (t) {
|
|
|
|
- var e = t.dragEl,
|
|
|
|
- n = t.putSortable;
|
|
|
|
- this.sortable.captureAnimationState(), n && n.captureAnimationState();
|
|
|
|
- var o = m(this.sortable.el, this.startIndex, this.options);
|
|
|
|
- o ? this.sortable.el.insertBefore(e, o) : this.sortable.el.appendChild(e),
|
|
|
|
- this.sortable.animateAll(),
|
|
|
|
- n && n.animateAll();
|
|
|
|
- },
|
|
|
|
- drop: $t
|
|
|
|
- }),
|
|
|
|
- a(ee, { pluginName: "revertOnSpill" }),
|
|
|
|
- (ne.prototype = {
|
|
|
|
- onSpill: function (t) {
|
|
|
|
- var e = t.dragEl,
|
|
|
|
- n = t.putSortable || this.sortable;
|
|
|
|
- n.captureAnimationState(),
|
|
|
|
- e.parentNode && e.parentNode.removeChild(e),
|
|
|
|
- n.animateAll();
|
|
|
|
- },
|
|
|
|
- drop: $t
|
|
|
|
- }),
|
|
|
|
- a(ne, { pluginName: "removeOnSpill" });
|
|
|
|
- var oe,
|
|
|
|
- ie,
|
|
|
|
- re,
|
|
|
|
- ae,
|
|
|
|
- le,
|
|
|
|
- se = [],
|
|
|
|
- ce = [],
|
|
|
|
- ue = !1,
|
|
|
|
- de = !1,
|
|
|
|
- he = !1;
|
|
|
|
- function fe(o, i) {
|
|
|
|
- ce.forEach(function (t, e) {
|
|
|
|
- var n = i.children[t.sortableIndex + (o ? Number(e) : 0)];
|
|
|
|
- n ? i.insertBefore(t, n) : i.appendChild(t);
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- function pe() {
|
|
|
|
- se.forEach(function (t) {
|
|
|
|
- t !== re && t.parentNode && t.parentNode.removeChild(t);
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- return (
|
|
|
|
- Rt.mount(
|
|
|
|
- new (function () {
|
|
|
|
- function t() {
|
|
|
|
- for (var t in ((this.defaults = {
|
|
|
|
- scroll: !0,
|
|
|
|
- scrollSensitivity: 30,
|
|
|
|
- scrollSpeed: 10,
|
|
|
|
- bubbleScroll: !0
|
|
|
|
- }),
|
|
|
|
- this))
|
|
|
|
- "_" === t.charAt(0) &&
|
|
|
|
- "function" == typeof this[t] &&
|
|
|
|
- (this[t] = this[t].bind(this));
|
|
|
|
- }
|
|
|
|
- return (
|
|
|
|
- (t.prototype = {
|
|
|
|
- dragStarted: function (t) {
|
|
|
|
- var e = t.originalEvent;
|
|
|
|
- this.sortable.nativeDraggable
|
|
|
|
- ? d(document, "dragover", this._handleAutoScroll)
|
|
|
|
- : this.options.supportPointer
|
|
|
|
- ? d(document, "pointermove", this._handleFallbackAutoScroll)
|
|
|
|
- : e.touches
|
|
|
|
- ? d(document, "touchmove", this._handleFallbackAutoScroll)
|
|
|
|
- : d(document, "mousemove", this._handleFallbackAutoScroll);
|
|
|
|
- },
|
|
|
|
- dragOverCompleted: function (t) {
|
|
|
|
- var e = t.originalEvent;
|
|
|
|
- this.options.dragOverBubble ||
|
|
|
|
- e.rootEl ||
|
|
|
|
- this._handleAutoScroll(e);
|
|
|
|
- },
|
|
|
|
- drop: function () {
|
|
|
|
- this.sortable.nativeDraggable
|
|
|
|
- ? s(document, "dragover", this._handleAutoScroll)
|
|
|
|
- : (s(document, "pointermove", this._handleFallbackAutoScroll),
|
|
|
|
- s(document, "touchmove", this._handleFallbackAutoScroll),
|
|
|
|
- s(document, "mousemove", this._handleFallbackAutoScroll)),
|
|
|
|
- Qt(),
|
|
|
|
- Zt(),
|
|
|
|
- clearTimeout(f),
|
|
|
|
- (f = void 0);
|
|
|
|
- },
|
|
|
|
- nulling: function () {
|
|
|
|
- (Gt = Kt = jt = Vt = Ut = Wt = zt = null), (qt.length = 0);
|
|
|
|
- },
|
|
|
|
- _handleFallbackAutoScroll: function (t) {
|
|
|
|
- this._handleAutoScroll(t, !0);
|
|
|
|
- },
|
|
|
|
- _handleAutoScroll: function (e, n) {
|
|
|
|
- var o = this,
|
|
|
|
- i = (e.touches ? e.touches[0] : e).clientX,
|
|
|
|
- r = (e.touches ? e.touches[0] : e).clientY,
|
|
|
|
- t = document.elementFromPoint(i, r);
|
|
|
|
- if (((Gt = e), n || E || w || u)) {
|
|
|
|
- te(e, this.options, t, n);
|
|
|
|
- var a = H(t, !0);
|
|
|
|
- !Vt ||
|
|
|
|
- (Ut && i === Wt && r === zt) ||
|
|
|
|
- (Ut && Qt(),
|
|
|
|
- (Ut = setInterval(function () {
|
|
|
|
- var t = H(document.elementFromPoint(i, r), !0);
|
|
|
|
- t !== a && ((a = t), Zt()), te(e, o.options, t, n);
|
|
|
|
- }, 10)),
|
|
|
|
- (Wt = i),
|
|
|
|
- (zt = r));
|
|
|
|
- } else {
|
|
|
|
- if (!this.options.bubbleScroll || H(t, !0) === A())
|
|
|
|
- return void Zt();
|
|
|
|
- te(e, this.options, H(t, !1), !1);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }),
|
|
|
|
- a(t, { pluginName: "scroll", initializeByDefault: !0 })
|
|
|
|
- );
|
|
|
|
- })()
|
|
|
|
- ),
|
|
|
|
- Rt.mount(ne, ee),
|
|
|
|
- Rt.mount(
|
|
|
|
- new (function () {
|
|
|
|
- function t() {
|
|
|
|
- this.defaults = { swapClass: "sortable-swap-highlight" };
|
|
|
|
- }
|
|
|
|
- return (
|
|
|
|
- (t.prototype = {
|
|
|
|
- dragStart: function (t) {
|
|
|
|
- var e = t.dragEl;
|
|
|
|
- Jt = e;
|
|
|
|
- },
|
|
|
|
- dragOverValid: function (t) {
|
|
|
|
- var e = t.completed,
|
|
|
|
- n = t.target,
|
|
|
|
- o = t.onMove,
|
|
|
|
- i = t.activeSortable,
|
|
|
|
- r = t.changed,
|
|
|
|
- a = t.cancel;
|
|
|
|
- if (i.options.swap) {
|
|
|
|
- var l = this.sortable.el,
|
|
|
|
- s = this.options;
|
|
|
|
- if (n && n !== l) {
|
|
|
|
- var c = Jt;
|
|
|
|
- (Jt = !1 !== o(n) ? (k(n, s.swapClass, !0), n) : null),
|
|
|
|
- c && c !== Jt && k(c, s.swapClass, !1);
|
|
|
|
- }
|
|
|
|
- r(), e(!0), a();
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- drop: function (t) {
|
|
|
|
- var e = t.activeSortable,
|
|
|
|
- n = t.putSortable,
|
|
|
|
- o = t.dragEl,
|
|
|
|
- i = n || this.sortable,
|
|
|
|
- r = this.options;
|
|
|
|
- Jt && k(Jt, r.swapClass, !1),
|
|
|
|
- Jt &&
|
|
|
|
- (r.swap || (n && n.options.swap)) &&
|
|
|
|
- o !== Jt &&
|
|
|
|
- (i.captureAnimationState(),
|
|
|
|
- i !== e && e.captureAnimationState(),
|
|
|
|
- (function (t, e) {
|
|
|
|
- var n,
|
|
|
|
- o,
|
|
|
|
- i = t.parentNode,
|
|
|
|
- r = e.parentNode;
|
|
|
|
- if (!i || !r || i.isEqualNode(e) || r.isEqualNode(t))
|
|
|
|
- return;
|
|
|
|
- (n = F(t)), (o = F(e)), i.isEqualNode(r) && n < o && o++;
|
|
|
|
- i.insertBefore(e, i.children[n]),
|
|
|
|
- r.insertBefore(t, r.children[o]);
|
|
|
|
- })(o, Jt),
|
|
|
|
- i.animateAll(),
|
|
|
|
- i !== e && e.animateAll());
|
|
|
|
- },
|
|
|
|
- nulling: function () {
|
|
|
|
- Jt = null;
|
|
|
|
- }
|
|
|
|
- }),
|
|
|
|
- a(t, {
|
|
|
|
- pluginName: "swap",
|
|
|
|
- eventProperties: function () {
|
|
|
|
- return { swapItem: Jt };
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
- })()
|
|
|
|
- ),
|
|
|
|
- Rt.mount(
|
|
|
|
- new (function () {
|
|
|
|
- function t(o) {
|
|
|
|
- for (var t in this)
|
|
|
|
- "_" === t.charAt(0) &&
|
|
|
|
- "function" == typeof this[t] &&
|
|
|
|
- (this[t] = this[t].bind(this));
|
|
|
|
- o.options.supportPointer
|
|
|
|
- ? d(document, "pointerup", this._deselectMultiDrag)
|
|
|
|
- : (d(document, "mouseup", this._deselectMultiDrag),
|
|
|
|
- d(document, "touchend", this._deselectMultiDrag)),
|
|
|
|
- d(document, "keydown", this._checkKeyDown),
|
|
|
|
- d(document, "keyup", this._checkKeyUp),
|
|
|
|
- (this.defaults = {
|
|
|
|
- selectedClass: "sortable-selected",
|
|
|
|
- multiDragKey: null,
|
|
|
|
- setData: function (t, e) {
|
|
|
|
- var n = "";
|
|
|
|
- se.length && ie === o
|
|
|
|
- ? se.forEach(function (t, e) {
|
|
|
|
- n += (e ? ", " : "") + t.textContent;
|
|
|
|
- })
|
|
|
|
- : (n = e.textContent),
|
|
|
|
- t.setData("Text", n);
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- return (
|
|
|
|
- (t.prototype = {
|
|
|
|
- multiDragKeyDown: !1,
|
|
|
|
- isMultiDrag: !1,
|
|
|
|
- delayStartGlobal: function (t) {
|
|
|
|
- var e = t.dragEl;
|
|
|
|
- re = e;
|
|
|
|
- },
|
|
|
|
- delayEnded: function () {
|
|
|
|
- this.isMultiDrag = ~se.indexOf(re);
|
|
|
|
- },
|
|
|
|
- setupClone: function (t) {
|
|
|
|
- var e = t.sortable,
|
|
|
|
- n = t.cancel;
|
|
|
|
- if (this.isMultiDrag) {
|
|
|
|
- for (var o = 0; o < se.length; o++)
|
|
|
|
- ce.push(S(se[o])),
|
|
|
|
- (ce[o].sortableIndex = se[o].sortableIndex),
|
|
|
|
- (ce[o].draggable = !1),
|
|
|
|
- (ce[o].style["will-change"] = ""),
|
|
|
|
- k(ce[o], this.options.selectedClass, !1),
|
|
|
|
- se[o] === re && k(ce[o], this.options.chosenClass, !1);
|
|
|
|
- e._hideClone(), n();
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- clone: function (t) {
|
|
|
|
- var e = t.sortable,
|
|
|
|
- n = t.rootEl,
|
|
|
|
- o = t.dispatchSortableEvent,
|
|
|
|
- i = t.cancel;
|
|
|
|
- this.isMultiDrag &&
|
|
|
|
- (this.options.removeCloneOnHide ||
|
|
|
|
- (se.length && ie === e && (fe(!0, n), o("clone"), i())));
|
|
|
|
- },
|
|
|
|
- showClone: function (t) {
|
|
|
|
- var e = t.cloneNowShown,
|
|
|
|
- n = t.rootEl,
|
|
|
|
- o = t.cancel;
|
|
|
|
- this.isMultiDrag &&
|
|
|
|
- (fe(!1, n),
|
|
|
|
- ce.forEach(function (t) {
|
|
|
|
- R(t, "display", "");
|
|
|
|
- }),
|
|
|
|
- e(),
|
|
|
|
- (le = !1),
|
|
|
|
- o());
|
|
|
|
- },
|
|
|
|
- hideClone: function (t) {
|
|
|
|
- var e = this,
|
|
|
|
- n = (t.sortable, t.cloneNowHidden),
|
|
|
|
- o = t.cancel;
|
|
|
|
- this.isMultiDrag &&
|
|
|
|
- (ce.forEach(function (t) {
|
|
|
|
- R(t, "display", "none"),
|
|
|
|
- e.options.removeCloneOnHide &&
|
|
|
|
- t.parentNode &&
|
|
|
|
- t.parentNode.removeChild(t);
|
|
|
|
- }),
|
|
|
|
- n(),
|
|
|
|
- (le = !0),
|
|
|
|
- o());
|
|
|
|
- },
|
|
|
|
- dragStartGlobal: function (t) {
|
|
|
|
- t.sortable;
|
|
|
|
- !this.isMultiDrag && ie && ie.multiDrag._deselectMultiDrag(),
|
|
|
|
- se.forEach(function (t) {
|
|
|
|
- t.sortableIndex = F(t);
|
|
|
|
- }),
|
|
|
|
- (se = se.sort(function (t, e) {
|
|
|
|
- return t.sortableIndex - e.sortableIndex;
|
|
|
|
- })),
|
|
|
|
- (he = !0);
|
|
|
|
- },
|
|
|
|
- dragStarted: function (t) {
|
|
|
|
- var e = this,
|
|
|
|
- n = t.sortable;
|
|
|
|
- if (this.isMultiDrag) {
|
|
|
|
- if (
|
|
|
|
- this.options.sort &&
|
|
|
|
- (n.captureAnimationState(), this.options.animation)
|
|
|
|
- ) {
|
|
|
|
- se.forEach(function (t) {
|
|
|
|
- t !== re && R(t, "position", "absolute");
|
|
|
|
- });
|
|
|
|
- var o = X(re, !1, !0, !0);
|
|
|
|
- se.forEach(function (t) {
|
|
|
|
- t !== re && _(t, o);
|
|
|
|
- }),
|
|
|
|
- (ue = de = !0);
|
|
|
|
- }
|
|
|
|
- n.animateAll(function () {
|
|
|
|
- (ue = de = !1),
|
|
|
|
- e.options.animation &&
|
|
|
|
- se.forEach(function (t) {
|
|
|
|
- C(t);
|
|
|
|
- }),
|
|
|
|
- e.options.sort && pe();
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- dragOver: function (t) {
|
|
|
|
- var e = t.target,
|
|
|
|
- n = t.completed,
|
|
|
|
- o = t.cancel;
|
|
|
|
- de && ~se.indexOf(e) && (n(!1), o());
|
|
|
|
- },
|
|
|
|
- revert: function (t) {
|
|
|
|
- var e = t.fromSortable,
|
|
|
|
- n = t.rootEl,
|
|
|
|
- o = t.sortable,
|
|
|
|
- i = t.dragRect;
|
|
|
|
- 1 < se.length &&
|
|
|
|
- (se.forEach(function (t) {
|
|
|
|
- o.addAnimationState({ target: t, rect: de ? X(t) : i }),
|
|
|
|
- C(t),
|
|
|
|
- (t.fromRect = i),
|
|
|
|
- e.removeAnimationState(t);
|
|
|
|
- }),
|
|
|
|
- (de = !1),
|
|
|
|
- (function (o, i) {
|
|
|
|
- se.forEach(function (t, e) {
|
|
|
|
- var n = i.children[t.sortableIndex + (o ? Number(e) : 0)];
|
|
|
|
- n ? i.insertBefore(t, n) : i.appendChild(t);
|
|
|
|
- });
|
|
|
|
- })(!this.options.removeCloneOnHide, n));
|
|
|
|
- },
|
|
|
|
- dragOverCompleted: function (t) {
|
|
|
|
- var e = t.sortable,
|
|
|
|
- n = t.isOwner,
|
|
|
|
- o = t.insertion,
|
|
|
|
- i = t.activeSortable,
|
|
|
|
- r = t.parentEl,
|
|
|
|
- a = t.putSortable,
|
|
|
|
- l = this.options;
|
|
|
|
- if (o) {
|
|
|
|
- if (
|
|
|
|
- (n && i._hideClone(),
|
|
|
|
- (ue = !1),
|
|
|
|
- l.animation &&
|
|
|
|
- 1 < se.length &&
|
|
|
|
- (de || (!n && !i.options.sort && !a)))
|
|
|
|
- ) {
|
|
|
|
- var s = X(re, !1, !0, !0);
|
|
|
|
- se.forEach(function (t) {
|
|
|
|
- t !== re && (_(t, s), r.appendChild(t));
|
|
|
|
- }),
|
|
|
|
- (de = !0);
|
|
|
|
- }
|
|
|
|
- if (!n)
|
|
|
|
- if ((de || pe(), 1 < se.length)) {
|
|
|
|
- var c = le;
|
|
|
|
- i._showClone(e),
|
|
|
|
- i.options.animation &&
|
|
|
|
- !le &&
|
|
|
|
- c &&
|
|
|
|
- ce.forEach(function (t) {
|
|
|
|
- i.addAnimationState({ target: t, rect: ae }),
|
|
|
|
- (t.fromRect = ae),
|
|
|
|
- (t.thisAnimationDuration = null);
|
|
|
|
- });
|
|
|
|
- } else i._showClone(e);
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- dragOverAnimationCapture: function (t) {
|
|
|
|
- var e = t.dragRect,
|
|
|
|
- n = t.isOwner,
|
|
|
|
- o = t.activeSortable;
|
|
|
|
- if (
|
|
|
|
- (se.forEach(function (t) {
|
|
|
|
- t.thisAnimationDuration = null;
|
|
|
|
- }),
|
|
|
|
- o.options.animation && !n && o.multiDrag.isMultiDrag)
|
|
|
|
- ) {
|
|
|
|
- ae = a({}, e);
|
|
|
|
- var i = v(re, !0);
|
|
|
|
- (ae.top -= i.f), (ae.left -= i.e);
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- dragOverAnimationComplete: function () {
|
|
|
|
- de && ((de = !1), pe());
|
|
|
|
- },
|
|
|
|
- drop: function (t) {
|
|
|
|
- var e = t.originalEvent,
|
|
|
|
- n = t.rootEl,
|
|
|
|
- o = t.parentEl,
|
|
|
|
- i = t.sortable,
|
|
|
|
- r = t.dispatchSortableEvent,
|
|
|
|
- a = t.oldIndex,
|
|
|
|
- l = t.putSortable,
|
|
|
|
- s = l || this.sortable;
|
|
|
|
- if (e) {
|
|
|
|
- var c = this.options,
|
|
|
|
- u = o.children;
|
|
|
|
- if (!he)
|
|
|
|
- if (
|
|
|
|
- (c.multiDragKey &&
|
|
|
|
- !this.multiDragKeyDown &&
|
|
|
|
- this._deselectMultiDrag(),
|
|
|
|
- k(re, c.selectedClass, !~se.indexOf(re)),
|
|
|
|
- ~se.indexOf(re))
|
|
|
|
- )
|
|
|
|
- se.splice(se.indexOf(re), 1),
|
|
|
|
- (oe = null),
|
|
|
|
- N({
|
|
|
|
- sortable: i,
|
|
|
|
- rootEl: n,
|
|
|
|
- name: "deselect",
|
|
|
|
- targetEl: re,
|
|
|
|
- originalEvt: e
|
|
|
|
- });
|
|
|
|
- else {
|
|
|
|
- if (
|
|
|
|
- (se.push(re),
|
|
|
|
- N({
|
|
|
|
- sortable: i,
|
|
|
|
- rootEl: n,
|
|
|
|
- name: "select",
|
|
|
|
- targetEl: re,
|
|
|
|
- originalEvt: e
|
|
|
|
- }),
|
|
|
|
- e.shiftKey && oe && i.el.contains(oe))
|
|
|
|
- ) {
|
|
|
|
- var d,
|
|
|
|
- h,
|
|
|
|
- f = F(oe),
|
|
|
|
- p = F(re);
|
|
|
|
- if (~f && ~p && f !== p)
|
|
|
|
- for (
|
|
|
|
- d = f < p ? ((h = f), p) : ((h = p), f + 1);
|
|
|
|
- h < d;
|
|
|
|
- h++
|
|
|
|
- )
|
|
|
|
- ~se.indexOf(u[h]) ||
|
|
|
|
- (k(u[h], c.selectedClass, !0),
|
|
|
|
- se.push(u[h]),
|
|
|
|
- N({
|
|
|
|
- sortable: i,
|
|
|
|
- rootEl: n,
|
|
|
|
- name: "select",
|
|
|
|
- targetEl: u[h],
|
|
|
|
- originalEvt: e
|
|
|
|
- }));
|
|
|
|
- } else oe = re;
|
|
|
|
- ie = s;
|
|
|
|
- }
|
|
|
|
- if (he && this.isMultiDrag) {
|
|
|
|
- if ((o[j].options.sort || o !== n) && 1 < se.length) {
|
|
|
|
- var g = X(re),
|
|
|
|
- v = F(re, ":not(." + this.options.selectedClass + ")");
|
|
|
|
- if (
|
|
|
|
- (!ue && c.animation && (re.thisAnimationDuration = null),
|
|
|
|
- s.captureAnimationState(),
|
|
|
|
- !ue &&
|
|
|
|
- (c.animation &&
|
|
|
|
- ((re.fromRect = g),
|
|
|
|
- se.forEach(function (t) {
|
|
|
|
- if (((t.thisAnimationDuration = null), t !== re)) {
|
|
|
|
- var e = de ? X(t) : g;
|
|
|
|
- (t.fromRect = e),
|
|
|
|
- s.addAnimationState({ target: t, rect: e });
|
|
|
|
- }
|
|
|
|
- })),
|
|
|
|
- pe(),
|
|
|
|
- se.forEach(function (t) {
|
|
|
|
- u[v] ? o.insertBefore(t, u[v]) : o.appendChild(t),
|
|
|
|
- v++;
|
|
|
|
- }),
|
|
|
|
- a === F(re)))
|
|
|
|
- ) {
|
|
|
|
- var m = !1;
|
|
|
|
- se.forEach(function (t) {
|
|
|
|
- t.sortableIndex === F(t) || (m = !0);
|
|
|
|
- }),
|
|
|
|
- m && r("update");
|
|
|
|
- }
|
|
|
|
- se.forEach(function (t) {
|
|
|
|
- C(t);
|
|
|
|
- }),
|
|
|
|
- s.animateAll();
|
|
|
|
- }
|
|
|
|
- ie = s;
|
|
|
|
- }
|
|
|
|
- (n === o || (l && "clone" !== l.lastPutMode)) &&
|
|
|
|
- ce.forEach(function (t) {
|
|
|
|
- t.parentNode && t.parentNode.removeChild(t);
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- nullingGlobal: function () {
|
|
|
|
- (this.isMultiDrag = he = !1), (ce.length = 0);
|
|
|
|
- },
|
|
|
|
- destroyGlobal: function () {
|
|
|
|
- this._deselectMultiDrag(),
|
|
|
|
- s(document, "pointerup", this._deselectMultiDrag),
|
|
|
|
- s(document, "mouseup", this._deselectMultiDrag),
|
|
|
|
- s(document, "touchend", this._deselectMultiDrag),
|
|
|
|
- s(document, "keydown", this._checkKeyDown),
|
|
|
|
- s(document, "keyup", this._checkKeyUp);
|
|
|
|
- },
|
|
|
|
- _deselectMultiDrag: function (t) {
|
|
|
|
- if (
|
|
|
|
- !(
|
|
|
|
- (void 0 !== he && he) ||
|
|
|
|
- ie !== this.sortable ||
|
|
|
|
- (t &&
|
|
|
|
- P(
|
|
|
|
- t.target,
|
|
|
|
- this.options.draggable,
|
|
|
|
- this.sortable.el,
|
|
|
|
- !1
|
|
|
|
- )) ||
|
|
|
|
- (t && 0 !== t.button)
|
|
|
|
- )
|
|
|
|
- )
|
|
|
|
- for (; se.length; ) {
|
|
|
|
- var e = se[0];
|
|
|
|
- k(e, this.options.selectedClass, !1),
|
|
|
|
- se.shift(),
|
|
|
|
- N({
|
|
|
|
- sortable: this.sortable,
|
|
|
|
- rootEl: this.sortable.el,
|
|
|
|
- name: "deselect",
|
|
|
|
- targetEl: e,
|
|
|
|
- originalEvt: t
|
|
|
|
- });
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- _checkKeyDown: function (t) {
|
|
|
|
- t.key === this.options.multiDragKey &&
|
|
|
|
- (this.multiDragKeyDown = !0);
|
|
|
|
- },
|
|
|
|
- _checkKeyUp: function (t) {
|
|
|
|
- t.key === this.options.multiDragKey &&
|
|
|
|
- (this.multiDragKeyDown = !1);
|
|
|
|
- }
|
|
|
|
- }),
|
|
|
|
- a(t, {
|
|
|
|
- pluginName: "multiDrag",
|
|
|
|
- utils: {
|
|
|
|
- select: function (t) {
|
|
|
|
- var e = t.parentNode[j];
|
|
|
|
- e &&
|
|
|
|
- e.options.multiDrag &&
|
|
|
|
- !~se.indexOf(t) &&
|
|
|
|
- (ie &&
|
|
|
|
- ie !== e &&
|
|
|
|
- (ie.multiDrag._deselectMultiDrag(), (ie = e)),
|
|
|
|
- k(t, e.options.selectedClass, !0),
|
|
|
|
- se.push(t));
|
|
|
|
- },
|
|
|
|
- deselect: function (t) {
|
|
|
|
- var e = t.parentNode[j],
|
|
|
|
- n = se.indexOf(t);
|
|
|
|
- e &&
|
|
|
|
- e.options.multiDrag &&
|
|
|
|
- ~n &&
|
|
|
|
- (k(t, e.options.selectedClass, !1), se.splice(n, 1));
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- eventProperties: function () {
|
|
|
|
- var n = this,
|
|
|
|
- o = [],
|
|
|
|
- i = [];
|
|
|
|
- return (
|
|
|
|
- se.forEach(function (t) {
|
|
|
|
- var e;
|
|
|
|
- o.push({ multiDragElement: t, index: t.sortableIndex }),
|
|
|
|
- (e =
|
|
|
|
- de && t !== re
|
|
|
|
- ? -1
|
|
|
|
- : de
|
|
|
|
- ? F(t, ":not(." + n.options.selectedClass + ")")
|
|
|
|
- : F(t)),
|
|
|
|
- i.push({ multiDragElement: t, index: e });
|
|
|
|
- }),
|
|
|
|
- {
|
|
|
|
- items: e(se),
|
|
|
|
- clones: [].concat(ce),
|
|
|
|
- oldIndicies: o,
|
|
|
|
- newIndicies: i
|
|
|
|
- }
|
|
|
|
- );
|
|
|
|
- },
|
|
|
|
- optionListeners: {
|
|
|
|
- multiDragKey: function (t) {
|
|
|
|
- return (
|
|
|
|
- "ctrl" === (t = t.toLowerCase())
|
|
|
|
- ? (t = "Control")
|
|
|
|
- : 1 < t.length &&
|
|
|
|
- (t = t.charAt(0).toUpperCase() + t.substr(1)),
|
|
|
|
- t
|
|
|
|
- );
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- );
|
|
|
|
- })()
|
|
|
|
- ),
|
|
|
|
- Rt
|
|
|
|
- );
|
|
|
|
-});
|
|
|