ecinc-cloud-yoaemail 9.6.245 → 9.6.246

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2727,7 +2727,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, "[data-v-c807af5e]:export{stdMenuBgcolo
2727
2727
 
2728
2728
  /***/ }),
2729
2729
 
2730
- /***/ 4750:
2730
+ /***/ 4301:
2731
2731
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
2732
2732
 
2733
2733
  "use strict";
@@ -2741,7 +2741,7 @@ __webpack_require__.r(__webpack_exports__);
2741
2741
 
2742
2742
  var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
2743
2743
  // Module
2744
- ___CSS_LOADER_EXPORT___.push([module.id, "[data-v-6252c928] .attachFile .el-input__inner{width:76px;height:20px;text-align:center;line-height:20px;padding:0 5px}[data-v-6252c928] #busiForm table td{vertical-align:top}.RichtextEditor[data-v-6252c928] .richtext-container .el-table td div{height:100%}.RichtextEditor[data-v-6252c928] .richtext-container .cke_inner{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.RichtextEditor[data-v-6252c928] .richtext-container .cke_inner .cke_contents{-webkit-box-flex:1;-ms-flex:auto;flex:auto}.spanLH[data-v-6252c928]{font-size:var(--portalFontSize13);text-align:center;color:#c9c9c9}.mailWrap[data-v-6252c928]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:9px 0 0 0}.sendMail[data-v-6252c928]{padding:0 0 0 10px}.sendMail .lineRow[data-v-6252c928]{margin:0!important;border-bottom:1px solid #eceff5;display:-webkit-box;display:-ms-flexbox;display:flex}.sendMail .lineRow .grid-content[data-v-6252c928]{height:100%;width:calc(100% - 72px);padding-left:16px}.sendMail .lineRow .grid-content .btnBorder[data-v-6252c928]{border:none!important}.sendMail .lineRow .grid-content .btnBorder[data-v-6252c928] .el-input__inner{border:none!important;height:unset;line-height:20px;padding-left:unset}.el-inputLyy__inner[data-v-6252c928] .el-input__inner{line-height:40px!important}[data-v-6252c928] input::-webkit-input-placeholder{color:#c9c9c9;font-size:var(--portalFontSize13)}[data-v-6252c928] input::-moz-input-placeholder{color:#c9c9c9;font-size:var(--portalFontSize13)}[data-v-6252c928] input::-ms-input-placeholder{color:#c9c9c9;font-size:var(--portalFontSize13)}.linkEmail[data-v-6252c928]{width:220px;max-height:calc(100vh - 270px);position:absolute;left:4%;z-index:99;top:135px;background-color:#fff;overflow-y:auto;-webkit-box-shadow:0 0 5px rgba(0,0,0,.1)!important;box-shadow:0 0 5px rgba(0,0,0,.1)!important;border-radius:4px}.linkEmail div[data-v-6252c928]{overflow-x:hidden;padding:10px}.linkEmail div p[data-v-6252c928]{width:200px;height:26px;overflow:hidden;word-break:break-all;text-overflow:clip;padding:0;margin:0;line-height:30px;font-size:var(--portalFontSize12);cursor:pointer}.linkEmail div p[data-v-6252c928]:hover{color:#409eff}.linkEmail[data-v-6252c928]::-webkit-scrollbar{display:none}[data-v-6252c928] .el-input__suffix{display:none}[data-v-6252c928] .el-input__inner{text-align:left}.RichtextEditor[data-v-6252c928] .richtext-container{margin:0;height:100%}.RichtextEditor[data-v-6252c928] .richtext-container .el-table{height:100%;border:none}.RichtextEditor[data-v-6252c928] .richtext-container .el-table:before{width:0}.RichtextEditor[data-v-6252c928] .richtext-container .el-table .el-table__body-wrapper,.RichtextEditor[data-v-6252c928] .richtext-container .el-table .el-table__body-wrapper .el-table__body{height:100%}[data-v-6252c928] .cke_top{border-bottom:none}[data-v-6252c928] .el-table--border:after{width:0}[data-v-6252c928] #busiForm table,[data-v-6252c928] #busiForm table td{border:none}.emailAddrStyle[data-v-6252c928]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:10px;margin-bottom:8px}.emailAddrStyle div[data-v-6252c928]{font-size:var(--portalFontSize12);border-radius:20px;cursor:pointer;border:1px solid #e0e0e0}.emailAddrStyle div i[data-v-6252c928]{color:#c0c4cc}.emailAddrStyle div[data-v-6252c928]:hover{border-color:#aaa}.emailAddrStyle div:hover i[data-v-6252c928]{border-left-color:#aaa!important;color:#aaa}.emailAddrStyle div span[data-v-6252c928]{padding:3px 5px 3px 10px;color:#333}.emailAddrStyle div i[data-v-6252c928]:hover{color:red!important}.inputWrap[data-v-6252c928]{padding-top:10px}.inputWrap[data-v-6252c928] .el-scrollbar .el-scrollbar__wrap{max-height:150px;overflow-x:hidden}.inputWrap[data-v-6252c928] .el-scrollbar .el-scrollbar__wrap .el-scrollbar__view{padding-bottom:20px}.inputWrap>div.emailAddrStyle[data-v-6252c928]:last-child{margin-right:unset}.readyFile[data-v-6252c928]{margin:0 23px 14px 0;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:330px;height:56px;background:#f7f8fa;padding:10px}", ""]);
2744
+ ___CSS_LOADER_EXPORT___.push([module.id, "[data-v-51e875a8] .attachFile .el-input__inner{width:76px;height:20px;text-align:center;line-height:20px;padding:0 5px}[data-v-51e875a8] #busiForm table td{vertical-align:top}.RichtextEditor[data-v-51e875a8] .richtext-container .el-table td div{height:100%}.RichtextEditor[data-v-51e875a8] .richtext-container .cke_inner{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.RichtextEditor[data-v-51e875a8] .richtext-container .cke_inner .cke_contents{-webkit-box-flex:1;-ms-flex:auto;flex:auto}.spanLH[data-v-51e875a8]{font-size:var(--portalFontSize13);text-align:center;color:#c9c9c9}.mailWrap[data-v-51e875a8]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:9px 0 0 0}.sendMail[data-v-51e875a8]{padding:0 0 0 10px}.sendMail .lineRow[data-v-51e875a8]{margin:0!important;border-bottom:1px solid #eceff5;display:-webkit-box;display:-ms-flexbox;display:flex}.sendMail .lineRow .grid-content[data-v-51e875a8]{height:100%;width:calc(100% - 72px);padding-left:16px}.sendMail .lineRow .grid-content .btnBorder[data-v-51e875a8]{border:none!important}.sendMail .lineRow .grid-content .btnBorder[data-v-51e875a8] .el-input__inner{border:none!important;height:unset;line-height:20px;padding-left:unset}.el-inputLyy__inner[data-v-51e875a8] .el-input__inner{line-height:40px!important}[data-v-51e875a8] input::-webkit-input-placeholder{color:#c9c9c9;font-size:var(--portalFontSize13)}[data-v-51e875a8] input::-moz-input-placeholder{color:#c9c9c9;font-size:var(--portalFontSize13)}[data-v-51e875a8] input::-ms-input-placeholder{color:#c9c9c9;font-size:var(--portalFontSize13)}.linkEmail[data-v-51e875a8]{width:220px;max-height:calc(100vh - 270px);position:absolute;left:4%;z-index:99;top:135px;background-color:#fff;overflow-y:auto;-webkit-box-shadow:0 0 5px rgba(0,0,0,.1)!important;box-shadow:0 0 5px rgba(0,0,0,.1)!important;border-radius:4px}.linkEmail div[data-v-51e875a8]{overflow-x:hidden;padding:10px}.linkEmail div p[data-v-51e875a8]{width:200px;height:26px;overflow:hidden;word-break:break-all;text-overflow:clip;padding:0;margin:0;line-height:30px;font-size:var(--portalFontSize12);cursor:pointer}.linkEmail div p[data-v-51e875a8]:hover{color:#409eff}.linkEmail[data-v-51e875a8]::-webkit-scrollbar{display:none}[data-v-51e875a8] .el-input__suffix{display:none}[data-v-51e875a8] .el-input__inner{text-align:left}.RichtextEditor[data-v-51e875a8] .richtext-container{margin:0;height:100%}.RichtextEditor[data-v-51e875a8] .richtext-container .el-table{height:100%;border:none}.RichtextEditor[data-v-51e875a8] .richtext-container .el-table:before{width:0}.RichtextEditor[data-v-51e875a8] .richtext-container .el-table .el-table__body-wrapper,.RichtextEditor[data-v-51e875a8] .richtext-container .el-table .el-table__body-wrapper .el-table__body{height:100%}[data-v-51e875a8] .cke_top{border-bottom:none}[data-v-51e875a8] .el-table--border:after{width:0}[data-v-51e875a8] #busiForm table,[data-v-51e875a8] #busiForm table td{border:none}.emailAddrStyle[data-v-51e875a8]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:10px;margin-bottom:8px}.emailAddrStyle div[data-v-51e875a8]{font-size:var(--portalFontSize12);border-radius:20px;cursor:pointer;border:1px solid #e0e0e0}.emailAddrStyle div i[data-v-51e875a8]{color:#c0c4cc}.emailAddrStyle div[data-v-51e875a8]:hover{border-color:#aaa}.emailAddrStyle div:hover i[data-v-51e875a8]{border-left-color:#aaa!important;color:#aaa}.emailAddrStyle div span[data-v-51e875a8]{padding:3px 5px 3px 10px;color:#333;cursor:pointer}.emailAddrStyle div i[data-v-51e875a8]:hover{color:red!important}.inputWrap[data-v-51e875a8]{padding-top:10px}.inputWrap[data-v-51e875a8] .el-scrollbar .el-scrollbar__wrap{max-height:150px;overflow-x:hidden}.inputWrap[data-v-51e875a8] .el-scrollbar .el-scrollbar__wrap .el-scrollbar__view{padding-bottom:20px}.inputWrap>div.emailAddrStyle[data-v-51e875a8]:last-child{margin-right:unset}.readyFile[data-v-51e875a8]{margin:0 23px 14px 0;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:330px;height:56px;background:#f7f8fa;padding:10px}", ""]);
2745
2745
  // Exports
2746
2746
  /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___);
2747
2747
 
@@ -27150,19 +27150,19 @@ var update = add("76cb9540", content, true, {"sourceMap":false,"shadowMode":fals
27150
27150
 
27151
27151
  /***/ }),
27152
27152
 
27153
- /***/ 1188:
27153
+ /***/ 9059:
27154
27154
  /***/ (function(module, __unused_webpack_exports, __webpack_require__) {
27155
27155
 
27156
27156
  // style-loader: Adds some css to the DOM by adding a <style> tag
27157
27157
 
27158
27158
  // load the styles
27159
- var content = __webpack_require__(4750);
27159
+ var content = __webpack_require__(4301);
27160
27160
  if(content.__esModule) content = content.default;
27161
27161
  if(typeof content === 'string') content = [[module.id, content, '']];
27162
27162
  if(content.locals) module.exports = content.locals;
27163
27163
  // add the styles to the DOM
27164
27164
  var add = (__webpack_require__(9548)/* ["default"] */ .A)
27165
- var update = add("0da61f98", content, true, {"sourceMap":false,"shadowMode":false});
27165
+ var update = add("7991f005", content, true, {"sourceMap":false,"shadowMode":false});
27166
27166
 
27167
27167
  /***/ }),
27168
27168
 
@@ -36201,8 +36201,8 @@ var list_component = normalizeComponent(
36201
36201
  )
36202
36202
 
36203
36203
  /* harmony default export */ var list = (list_component.exports);
36204
- ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecyoa/email/src/xieyoujian.vue?vue&type=template&id=6252c928&scoped=true
36205
- var xieyoujianvue_type_template_id_6252c928_scoped_true_render = function render() {
36204
+ ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecyoa/email/src/xieyoujian.vue?vue&type=template&id=51e875a8&scoped=true
36205
+ var xieyoujianvue_type_template_id_51e875a8_scoped_true_render = function render() {
36206
36206
  var _vm = this,
36207
36207
  _c = _vm._self._c;
36208
36208
  return _c('div', {
@@ -36413,7 +36413,7 @@ var xieyoujianvue_type_template_id_6252c928_scoped_true_render = function render
36413
36413
  }, [_vm._v("收件人")])]), _c('div', {
36414
36414
  staticClass: "grid-content bg-purple-dark"
36415
36415
  }, [_c('div', {
36416
- staticClass: "inputWrap"
36416
+ staticClass: "inputWrap sendList"
36417
36417
  }, [_c('el-scrollbar', [_vm.sendList.length > 0 ? _vm._l(_vm.sendList, function (item, index) {
36418
36418
  return _c('div', {
36419
36419
  key: item,
@@ -36493,7 +36493,7 @@ var xieyoujianvue_type_template_id_6252c928_scoped_true_render = function render
36493
36493
  }, [_vm._v("抄送人:")])]), _c('div', {
36494
36494
  staticClass: "grid-content bg-purple-dark"
36495
36495
  }, [_c('div', {
36496
- staticClass: "inputWrap"
36496
+ staticClass: "inputWrap copyToList"
36497
36497
  }, [_c('el-scrollbar', [_vm.copyToList.length > 0 ? _vm._l(_vm.copyToList, function (item, index) {
36498
36498
  return _c('div', {
36499
36499
  key: item,
@@ -36572,7 +36572,7 @@ var xieyoujianvue_type_template_id_6252c928_scoped_true_render = function render
36572
36572
  }, [_vm._v("密送人:")])]), _c('div', {
36573
36573
  staticClass: "grid-content bg-purple-dark"
36574
36574
  }, [_c('div', {
36575
- staticClass: "inputWrap"
36575
+ staticClass: "inputWrap blindCopyToList"
36576
36576
  }, [_c('el-scrollbar', [_vm.blindCopyToList.length > 0 ? _vm._l(_vm.blindCopyToList, function (item, index) {
36577
36577
  return _c('div', {
36578
36578
  key: item,
@@ -36979,7 +36979,7 @@ var xieyoujianvue_type_template_id_6252c928_scoped_true_render = function render
36979
36979
  }
36980
36980
  })], 1)])]) : _vm._e()])]);
36981
36981
  };
36982
- var xieyoujianvue_type_template_id_6252c928_scoped_true_staticRenderFns = [];
36982
+ var xieyoujianvue_type_template_id_51e875a8_scoped_true_staticRenderFns = [];
36983
36983
 
36984
36984
  ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecyoa/email/src/components/txl.vue?vue&type=template&id=0d337f2c&scoped=true
36985
36985
  var txlvue_type_template_id_0d337f2c_scoped_true_render = function render() {
@@ -37922,17 +37922,3371 @@ var txl_component = normalizeComponent(
37922
37922
  )
37923
37923
 
37924
37924
  /* harmony default export */ var txl = (txl_component.exports);
37925
+ ;// CONCATENATED MODULE: ./node_modules/sortablejs/modular/sortable.esm.js
37926
+ /**!
37927
+ * Sortable 1.15.2
37928
+ * @author RubaXa <trash@rubaxa.org>
37929
+ * @author owenm <owen23355@gmail.com>
37930
+ * @license MIT
37931
+ */
37932
+ function sortable_esm_ownKeys(object, enumerableOnly) {
37933
+ var keys = Object.keys(object);
37934
+ if (Object.getOwnPropertySymbols) {
37935
+ var symbols = Object.getOwnPropertySymbols(object);
37936
+ if (enumerableOnly) {
37937
+ symbols = symbols.filter(function (sym) {
37938
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
37939
+ });
37940
+ }
37941
+ keys.push.apply(keys, symbols);
37942
+ }
37943
+ return keys;
37944
+ }
37945
+ function _objectSpread2(target) {
37946
+ for (var i = 1; i < arguments.length; i++) {
37947
+ var source = arguments[i] != null ? arguments[i] : {};
37948
+ if (i % 2) {
37949
+ sortable_esm_ownKeys(Object(source), true).forEach(function (key) {
37950
+ sortable_esm_defineProperty(target, key, source[key]);
37951
+ });
37952
+ } else if (Object.getOwnPropertyDescriptors) {
37953
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
37954
+ } else {
37955
+ sortable_esm_ownKeys(Object(source)).forEach(function (key) {
37956
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
37957
+ });
37958
+ }
37959
+ }
37960
+ return target;
37961
+ }
37962
+ function sortable_esm_typeof(obj) {
37963
+ "@babel/helpers - typeof";
37964
+
37965
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
37966
+ sortable_esm_typeof = function (obj) {
37967
+ return typeof obj;
37968
+ };
37969
+ } else {
37970
+ sortable_esm_typeof = function (obj) {
37971
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
37972
+ };
37973
+ }
37974
+ return sortable_esm_typeof(obj);
37975
+ }
37976
+ function sortable_esm_defineProperty(obj, key, value) {
37977
+ if (key in obj) {
37978
+ Object.defineProperty(obj, key, {
37979
+ value: value,
37980
+ enumerable: true,
37981
+ configurable: true,
37982
+ writable: true
37983
+ });
37984
+ } else {
37985
+ obj[key] = value;
37986
+ }
37987
+ return obj;
37988
+ }
37989
+ function _extends() {
37990
+ _extends = Object.assign || function (target) {
37991
+ for (var i = 1; i < arguments.length; i++) {
37992
+ var source = arguments[i];
37993
+ for (var key in source) {
37994
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
37995
+ target[key] = source[key];
37996
+ }
37997
+ }
37998
+ }
37999
+ return target;
38000
+ };
38001
+ return _extends.apply(this, arguments);
38002
+ }
38003
+ function _objectWithoutPropertiesLoose(source, excluded) {
38004
+ if (source == null) return {};
38005
+ var target = {};
38006
+ var sourceKeys = Object.keys(source);
38007
+ var key, i;
38008
+ for (i = 0; i < sourceKeys.length; i++) {
38009
+ key = sourceKeys[i];
38010
+ if (excluded.indexOf(key) >= 0) continue;
38011
+ target[key] = source[key];
38012
+ }
38013
+ return target;
38014
+ }
38015
+ function _objectWithoutProperties(source, excluded) {
38016
+ if (source == null) return {};
38017
+ var target = _objectWithoutPropertiesLoose(source, excluded);
38018
+ var key, i;
38019
+ if (Object.getOwnPropertySymbols) {
38020
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
38021
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
38022
+ key = sourceSymbolKeys[i];
38023
+ if (excluded.indexOf(key) >= 0) continue;
38024
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
38025
+ target[key] = source[key];
38026
+ }
38027
+ }
38028
+ return target;
38029
+ }
38030
+ function _toConsumableArray(arr) {
38031
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
38032
+ }
38033
+ function _arrayWithoutHoles(arr) {
38034
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
38035
+ }
38036
+ function _iterableToArray(iter) {
38037
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
38038
+ }
38039
+ function _unsupportedIterableToArray(o, minLen) {
38040
+ if (!o) return;
38041
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
38042
+ var n = Object.prototype.toString.call(o).slice(8, -1);
38043
+ if (n === "Object" && o.constructor) n = o.constructor.name;
38044
+ if (n === "Map" || n === "Set") return Array.from(o);
38045
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
38046
+ }
38047
+ function _arrayLikeToArray(arr, len) {
38048
+ if (len == null || len > arr.length) len = arr.length;
38049
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
38050
+ return arr2;
38051
+ }
38052
+ function _nonIterableSpread() {
38053
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
38054
+ }
38055
+
38056
+ var version = "1.15.2";
38057
+
38058
+ function userAgent(pattern) {
38059
+ if (typeof window !== 'undefined' && window.navigator) {
38060
+ return !! /*@__PURE__*/navigator.userAgent.match(pattern);
38061
+ }
38062
+ }
38063
+ var IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i);
38064
+ var Edge = userAgent(/Edge/i);
38065
+ var FireFox = userAgent(/firefox/i);
38066
+ var Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);
38067
+ var IOS = userAgent(/iP(ad|od|hone)/i);
38068
+ var ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);
38069
+
38070
+ var captureMode = {
38071
+ capture: false,
38072
+ passive: false
38073
+ };
38074
+ function on(el, event, fn) {
38075
+ el.addEventListener(event, fn, !IE11OrLess && captureMode);
38076
+ }
38077
+ function off(el, event, fn) {
38078
+ el.removeEventListener(event, fn, !IE11OrLess && captureMode);
38079
+ }
38080
+ function matches( /**HTMLElement*/el, /**String*/selector) {
38081
+ if (!selector) return;
38082
+ selector[0] === '>' && (selector = selector.substring(1));
38083
+ if (el) {
38084
+ try {
38085
+ if (el.matches) {
38086
+ return el.matches(selector);
38087
+ } else if (el.msMatchesSelector) {
38088
+ return el.msMatchesSelector(selector);
38089
+ } else if (el.webkitMatchesSelector) {
38090
+ return el.webkitMatchesSelector(selector);
38091
+ }
38092
+ } catch (_) {
38093
+ return false;
38094
+ }
38095
+ }
38096
+ return false;
38097
+ }
38098
+ function getParentOrHost(el) {
38099
+ return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;
38100
+ }
38101
+ function closest( /**HTMLElement*/el, /**String*/selector, /**HTMLElement*/ctx, includeCTX) {
38102
+ if (el) {
38103
+ ctx = ctx || document;
38104
+ do {
38105
+ if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {
38106
+ return el;
38107
+ }
38108
+ if (el === ctx) break;
38109
+ /* jshint boss:true */
38110
+ } while (el = getParentOrHost(el));
38111
+ }
38112
+ return null;
38113
+ }
38114
+ var R_SPACE = /\s+/g;
38115
+ function toggleClass(el, name, state) {
38116
+ if (el && name) {
38117
+ if (el.classList) {
38118
+ el.classList[state ? 'add' : 'remove'](name);
38119
+ } else {
38120
+ var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' ');
38121
+ el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' ');
38122
+ }
38123
+ }
38124
+ }
38125
+ function css(el, prop, val) {
38126
+ var style = el && el.style;
38127
+ if (style) {
38128
+ if (val === void 0) {
38129
+ if (document.defaultView && document.defaultView.getComputedStyle) {
38130
+ val = document.defaultView.getComputedStyle(el, '');
38131
+ } else if (el.currentStyle) {
38132
+ val = el.currentStyle;
38133
+ }
38134
+ return prop === void 0 ? val : val[prop];
38135
+ } else {
38136
+ if (!(prop in style) && prop.indexOf('webkit') === -1) {
38137
+ prop = '-webkit-' + prop;
38138
+ }
38139
+ style[prop] = val + (typeof val === 'string' ? '' : 'px');
38140
+ }
38141
+ }
38142
+ }
38143
+ function matrix(el, selfOnly) {
38144
+ var appliedTransforms = '';
38145
+ if (typeof el === 'string') {
38146
+ appliedTransforms = el;
38147
+ } else {
38148
+ do {
38149
+ var transform = css(el, 'transform');
38150
+ if (transform && transform !== 'none') {
38151
+ appliedTransforms = transform + ' ' + appliedTransforms;
38152
+ }
38153
+ /* jshint boss:true */
38154
+ } while (!selfOnly && (el = el.parentNode));
38155
+ }
38156
+ var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;
38157
+ /*jshint -W056 */
38158
+ return matrixFn && new matrixFn(appliedTransforms);
38159
+ }
38160
+ function sortable_esm_find(ctx, tagName, iterator) {
38161
+ if (ctx) {
38162
+ var list = ctx.getElementsByTagName(tagName),
38163
+ i = 0,
38164
+ n = list.length;
38165
+ if (iterator) {
38166
+ for (; i < n; i++) {
38167
+ iterator(list[i], i);
38168
+ }
38169
+ }
38170
+ return list;
38171
+ }
38172
+ return [];
38173
+ }
38174
+ function getWindowScrollingElement() {
38175
+ var scrollingElement = document.scrollingElement;
38176
+ if (scrollingElement) {
38177
+ return scrollingElement;
38178
+ } else {
38179
+ return document.documentElement;
38180
+ }
38181
+ }
38182
+
38183
+ /**
38184
+ * Returns the "bounding client rect" of given element
38185
+ * @param {HTMLElement} el The element whose boundingClientRect is wanted
38186
+ * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container
38187
+ * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr
38188
+ * @param {[Boolean]} undoScale Whether the container's scale() should be undone
38189
+ * @param {[HTMLElement]} container The parent the element will be placed in
38190
+ * @return {Object} The boundingClientRect of el, with specified adjustments
38191
+ */
38192
+ function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {
38193
+ if (!el.getBoundingClientRect && el !== window) return;
38194
+ var elRect, top, left, bottom, right, height, width;
38195
+ if (el !== window && el.parentNode && el !== getWindowScrollingElement()) {
38196
+ elRect = el.getBoundingClientRect();
38197
+ top = elRect.top;
38198
+ left = elRect.left;
38199
+ bottom = elRect.bottom;
38200
+ right = elRect.right;
38201
+ height = elRect.height;
38202
+ width = elRect.width;
38203
+ } else {
38204
+ top = 0;
38205
+ left = 0;
38206
+ bottom = window.innerHeight;
38207
+ right = window.innerWidth;
38208
+ height = window.innerHeight;
38209
+ width = window.innerWidth;
38210
+ }
38211
+ if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {
38212
+ // Adjust for translate()
38213
+ container = container || el.parentNode;
38214
+
38215
+ // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312)
38216
+ // Not needed on <= IE11
38217
+ if (!IE11OrLess) {
38218
+ do {
38219
+ if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) {
38220
+ var containerRect = container.getBoundingClientRect();
38221
+
38222
+ // Set relative to edges of padding box of container
38223
+ top -= containerRect.top + parseInt(css(container, 'border-top-width'));
38224
+ left -= containerRect.left + parseInt(css(container, 'border-left-width'));
38225
+ bottom = top + elRect.height;
38226
+ right = left + elRect.width;
38227
+ break;
38228
+ }
38229
+ /* jshint boss:true */
38230
+ } while (container = container.parentNode);
38231
+ }
38232
+ }
38233
+ if (undoScale && el !== window) {
38234
+ // Adjust for scale()
38235
+ var elMatrix = matrix(container || el),
38236
+ scaleX = elMatrix && elMatrix.a,
38237
+ scaleY = elMatrix && elMatrix.d;
38238
+ if (elMatrix) {
38239
+ top /= scaleY;
38240
+ left /= scaleX;
38241
+ width /= scaleX;
38242
+ height /= scaleY;
38243
+ bottom = top + height;
38244
+ right = left + width;
38245
+ }
38246
+ }
38247
+ return {
38248
+ top: top,
38249
+ left: left,
38250
+ bottom: bottom,
38251
+ right: right,
38252
+ width: width,
38253
+ height: height
38254
+ };
38255
+ }
38256
+
38257
+ /**
38258
+ * Checks if a side of an element is scrolled past a side of its parents
38259
+ * @param {HTMLElement} el The element who's side being scrolled out of view is in question
38260
+ * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom')
38261
+ * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom')
38262
+ * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element
38263
+ */
38264
+ function isScrolledPast(el, elSide, parentSide) {
38265
+ var parent = getParentAutoScrollElement(el, true),
38266
+ elSideVal = getRect(el)[elSide];
38267
+
38268
+ /* jshint boss:true */
38269
+ while (parent) {
38270
+ var parentSideVal = getRect(parent)[parentSide],
38271
+ visible = void 0;
38272
+ if (parentSide === 'top' || parentSide === 'left') {
38273
+ visible = elSideVal >= parentSideVal;
38274
+ } else {
38275
+ visible = elSideVal <= parentSideVal;
38276
+ }
38277
+ if (!visible) return parent;
38278
+ if (parent === getWindowScrollingElement()) break;
38279
+ parent = getParentAutoScrollElement(parent, false);
38280
+ }
38281
+ return false;
38282
+ }
38283
+
38284
+ /**
38285
+ * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible)
38286
+ * and non-draggable elements
38287
+ * @param {HTMLElement} el The parent element
38288
+ * @param {Number} childNum The index of the child
38289
+ * @param {Object} options Parent Sortable's options
38290
+ * @return {HTMLElement} The child at index childNum, or null if not found
38291
+ */
38292
+ function getChild(el, childNum, options, includeDragEl) {
38293
+ var currentChild = 0,
38294
+ i = 0,
38295
+ children = el.children;
38296
+ while (i < children.length) {
38297
+ if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && (includeDragEl || children[i] !== Sortable.dragged) && closest(children[i], options.draggable, el, false)) {
38298
+ if (currentChild === childNum) {
38299
+ return children[i];
38300
+ }
38301
+ currentChild++;
38302
+ }
38303
+ i++;
38304
+ }
38305
+ return null;
38306
+ }
38307
+
38308
+ /**
38309
+ * Gets the last child in the el, ignoring ghostEl or invisible elements (clones)
38310
+ * @param {HTMLElement} el Parent element
38311
+ * @param {selector} selector Any other elements that should be ignored
38312
+ * @return {HTMLElement} The last child, ignoring ghostEl
38313
+ */
38314
+ function lastChild(el, selector) {
38315
+ var last = el.lastElementChild;
38316
+ while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) {
38317
+ last = last.previousElementSibling;
38318
+ }
38319
+ return last || null;
38320
+ }
38321
+
38322
+ /**
38323
+ * Returns the index of an element within its parent for a selected set of
38324
+ * elements
38325
+ * @param {HTMLElement} el
38326
+ * @param {selector} selector
38327
+ * @return {number}
38328
+ */
38329
+ function sortable_esm_index(el, selector) {
38330
+ var index = 0;
38331
+ if (!el || !el.parentNode) {
38332
+ return -1;
38333
+ }
38334
+
38335
+ /* jshint boss:true */
38336
+ while (el = el.previousElementSibling) {
38337
+ if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) {
38338
+ index++;
38339
+ }
38340
+ }
38341
+ return index;
38342
+ }
38343
+
38344
+ /**
38345
+ * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements.
38346
+ * The value is returned in real pixels.
38347
+ * @param {HTMLElement} el
38348
+ * @return {Array} Offsets in the format of [left, top]
38349
+ */
38350
+ function getRelativeScrollOffset(el) {
38351
+ var offsetLeft = 0,
38352
+ offsetTop = 0,
38353
+ winScroller = getWindowScrollingElement();
38354
+ if (el) {
38355
+ do {
38356
+ var elMatrix = matrix(el),
38357
+ scaleX = elMatrix.a,
38358
+ scaleY = elMatrix.d;
38359
+ offsetLeft += el.scrollLeft * scaleX;
38360
+ offsetTop += el.scrollTop * scaleY;
38361
+ } while (el !== winScroller && (el = el.parentNode));
38362
+ }
38363
+ return [offsetLeft, offsetTop];
38364
+ }
38365
+
38366
+ /**
38367
+ * Returns the index of the object within the given array
38368
+ * @param {Array} arr Array that may or may not hold the object
38369
+ * @param {Object} obj An object that has a key-value pair unique to and identical to a key-value pair in the object you want to find
38370
+ * @return {Number} The index of the object in the array, or -1
38371
+ */
38372
+ function indexOfObject(arr, obj) {
38373
+ for (var i in arr) {
38374
+ if (!arr.hasOwnProperty(i)) continue;
38375
+ for (var key in obj) {
38376
+ if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i);
38377
+ }
38378
+ }
38379
+ return -1;
38380
+ }
38381
+ function getParentAutoScrollElement(el, includeSelf) {
38382
+ // skip to window
38383
+ if (!el || !el.getBoundingClientRect) return getWindowScrollingElement();
38384
+ var elem = el;
38385
+ var gotSelf = false;
38386
+ do {
38387
+ // we don't need to get elem css if it isn't even overflowing in the first place (performance)
38388
+ if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {
38389
+ var elemCSS = css(elem);
38390
+ if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) {
38391
+ if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement();
38392
+ if (gotSelf || includeSelf) return elem;
38393
+ gotSelf = true;
38394
+ }
38395
+ }
38396
+ /* jshint boss:true */
38397
+ } while (elem = elem.parentNode);
38398
+ return getWindowScrollingElement();
38399
+ }
38400
+ function extend(dst, src) {
38401
+ if (dst && src) {
38402
+ for (var key in src) {
38403
+ if (src.hasOwnProperty(key)) {
38404
+ dst[key] = src[key];
38405
+ }
38406
+ }
38407
+ }
38408
+ return dst;
38409
+ }
38410
+ function isRectEqual(rect1, rect2) {
38411
+ return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);
38412
+ }
38413
+ var _throttleTimeout;
38414
+ function throttle(callback, ms) {
38415
+ return function () {
38416
+ if (!_throttleTimeout) {
38417
+ var args = arguments,
38418
+ _this = this;
38419
+ if (args.length === 1) {
38420
+ callback.call(_this, args[0]);
38421
+ } else {
38422
+ callback.apply(_this, args);
38423
+ }
38424
+ _throttleTimeout = setTimeout(function () {
38425
+ _throttleTimeout = void 0;
38426
+ }, ms);
38427
+ }
38428
+ };
38429
+ }
38430
+ function cancelThrottle() {
38431
+ clearTimeout(_throttleTimeout);
38432
+ _throttleTimeout = void 0;
38433
+ }
38434
+ function scrollBy(el, x, y) {
38435
+ el.scrollLeft += x;
38436
+ el.scrollTop += y;
38437
+ }
38438
+ function clone(el) {
38439
+ var Polymer = window.Polymer;
38440
+ var $ = window.jQuery || window.Zepto;
38441
+ if (Polymer && Polymer.dom) {
38442
+ return Polymer.dom(el).cloneNode(true);
38443
+ } else if ($) {
38444
+ return $(el).clone(true)[0];
38445
+ } else {
38446
+ return el.cloneNode(true);
38447
+ }
38448
+ }
38449
+ function setRect(el, rect) {
38450
+ css(el, 'position', 'absolute');
38451
+ css(el, 'top', rect.top);
38452
+ css(el, 'left', rect.left);
38453
+ css(el, 'width', rect.width);
38454
+ css(el, 'height', rect.height);
38455
+ }
38456
+ function unsetRect(el) {
38457
+ css(el, 'position', '');
38458
+ css(el, 'top', '');
38459
+ css(el, 'left', '');
38460
+ css(el, 'width', '');
38461
+ css(el, 'height', '');
38462
+ }
38463
+ function getChildContainingRectFromElement(container, options, ghostEl) {
38464
+ var rect = {};
38465
+ Array.from(container.children).forEach(function (child) {
38466
+ var _rect$left, _rect$top, _rect$right, _rect$bottom;
38467
+ if (!closest(child, options.draggable, container, false) || child.animated || child === ghostEl) return;
38468
+ var childRect = getRect(child);
38469
+ rect.left = Math.min((_rect$left = rect.left) !== null && _rect$left !== void 0 ? _rect$left : Infinity, childRect.left);
38470
+ rect.top = Math.min((_rect$top = rect.top) !== null && _rect$top !== void 0 ? _rect$top : Infinity, childRect.top);
38471
+ rect.right = Math.max((_rect$right = rect.right) !== null && _rect$right !== void 0 ? _rect$right : -Infinity, childRect.right);
38472
+ rect.bottom = Math.max((_rect$bottom = rect.bottom) !== null && _rect$bottom !== void 0 ? _rect$bottom : -Infinity, childRect.bottom);
38473
+ });
38474
+ rect.width = rect.right - rect.left;
38475
+ rect.height = rect.bottom - rect.top;
38476
+ rect.x = rect.left;
38477
+ rect.y = rect.top;
38478
+ return rect;
38479
+ }
38480
+ var expando = 'Sortable' + new Date().getTime();
38481
+
38482
+ function AnimationStateManager() {
38483
+ var animationStates = [],
38484
+ animationCallbackId;
38485
+ return {
38486
+ captureAnimationState: function captureAnimationState() {
38487
+ animationStates = [];
38488
+ if (!this.options.animation) return;
38489
+ var children = [].slice.call(this.el.children);
38490
+ children.forEach(function (child) {
38491
+ if (css(child, 'display') === 'none' || child === Sortable.ghost) return;
38492
+ animationStates.push({
38493
+ target: child,
38494
+ rect: getRect(child)
38495
+ });
38496
+ var fromRect = _objectSpread2({}, animationStates[animationStates.length - 1].rect);
38497
+
38498
+ // If animating: compensate for current animation
38499
+ if (child.thisAnimationDuration) {
38500
+ var childMatrix = matrix(child, true);
38501
+ if (childMatrix) {
38502
+ fromRect.top -= childMatrix.f;
38503
+ fromRect.left -= childMatrix.e;
38504
+ }
38505
+ }
38506
+ child.fromRect = fromRect;
38507
+ });
38508
+ },
38509
+ addAnimationState: function addAnimationState(state) {
38510
+ animationStates.push(state);
38511
+ },
38512
+ removeAnimationState: function removeAnimationState(target) {
38513
+ animationStates.splice(indexOfObject(animationStates, {
38514
+ target: target
38515
+ }), 1);
38516
+ },
38517
+ animateAll: function animateAll(callback) {
38518
+ var _this = this;
38519
+ if (!this.options.animation) {
38520
+ clearTimeout(animationCallbackId);
38521
+ if (typeof callback === 'function') callback();
38522
+ return;
38523
+ }
38524
+ var animating = false,
38525
+ animationTime = 0;
38526
+ animationStates.forEach(function (state) {
38527
+ var time = 0,
38528
+ target = state.target,
38529
+ fromRect = target.fromRect,
38530
+ toRect = getRect(target),
38531
+ prevFromRect = target.prevFromRect,
38532
+ prevToRect = target.prevToRect,
38533
+ animatingRect = state.rect,
38534
+ targetMatrix = matrix(target, true);
38535
+ if (targetMatrix) {
38536
+ // Compensate for current animation
38537
+ toRect.top -= targetMatrix.f;
38538
+ toRect.left -= targetMatrix.e;
38539
+ }
38540
+ target.toRect = toRect;
38541
+ if (target.thisAnimationDuration) {
38542
+ // Could also check if animatingRect is between fromRect and toRect
38543
+ if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) &&
38544
+ // Make sure animatingRect is on line between toRect & fromRect
38545
+ (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {
38546
+ // If returning to same place as started from animation and on same axis
38547
+ time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);
38548
+ }
38549
+ }
38550
+
38551
+ // if fromRect != toRect: animate
38552
+ if (!isRectEqual(toRect, fromRect)) {
38553
+ target.prevFromRect = fromRect;
38554
+ target.prevToRect = toRect;
38555
+ if (!time) {
38556
+ time = _this.options.animation;
38557
+ }
38558
+ _this.animate(target, animatingRect, toRect, time);
38559
+ }
38560
+ if (time) {
38561
+ animating = true;
38562
+ animationTime = Math.max(animationTime, time);
38563
+ clearTimeout(target.animationResetTimer);
38564
+ target.animationResetTimer = setTimeout(function () {
38565
+ target.animationTime = 0;
38566
+ target.prevFromRect = null;
38567
+ target.fromRect = null;
38568
+ target.prevToRect = null;
38569
+ target.thisAnimationDuration = null;
38570
+ }, time);
38571
+ target.thisAnimationDuration = time;
38572
+ }
38573
+ });
38574
+ clearTimeout(animationCallbackId);
38575
+ if (!animating) {
38576
+ if (typeof callback === 'function') callback();
38577
+ } else {
38578
+ animationCallbackId = setTimeout(function () {
38579
+ if (typeof callback === 'function') callback();
38580
+ }, animationTime);
38581
+ }
38582
+ animationStates = [];
38583
+ },
38584
+ animate: function animate(target, currentRect, toRect, duration) {
38585
+ if (duration) {
38586
+ css(target, 'transition', '');
38587
+ css(target, 'transform', '');
38588
+ var elMatrix = matrix(this.el),
38589
+ scaleX = elMatrix && elMatrix.a,
38590
+ scaleY = elMatrix && elMatrix.d,
38591
+ translateX = (currentRect.left - toRect.left) / (scaleX || 1),
38592
+ translateY = (currentRect.top - toRect.top) / (scaleY || 1);
38593
+ target.animatingX = !!translateX;
38594
+ target.animatingY = !!translateY;
38595
+ css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)');
38596
+ this.forRepaintDummy = repaint(target); // repaint
38597
+
38598
+ css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : ''));
38599
+ css(target, 'transform', 'translate3d(0,0,0)');
38600
+ typeof target.animated === 'number' && clearTimeout(target.animated);
38601
+ target.animated = setTimeout(function () {
38602
+ css(target, 'transition', '');
38603
+ css(target, 'transform', '');
38604
+ target.animated = false;
38605
+ target.animatingX = false;
38606
+ target.animatingY = false;
38607
+ }, duration);
38608
+ }
38609
+ }
38610
+ };
38611
+ }
38612
+ function repaint(target) {
38613
+ return target.offsetWidth;
38614
+ }
38615
+ function calculateRealTime(animatingRect, fromRect, toRect, options) {
38616
+ return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;
38617
+ }
38618
+
38619
+ var plugins = [];
38620
+ var defaults = {
38621
+ initializeByDefault: true
38622
+ };
38623
+ var PluginManager = {
38624
+ mount: function mount(plugin) {
38625
+ // Set default static properties
38626
+ for (var option in defaults) {
38627
+ if (defaults.hasOwnProperty(option) && !(option in plugin)) {
38628
+ plugin[option] = defaults[option];
38629
+ }
38630
+ }
38631
+ plugins.forEach(function (p) {
38632
+ if (p.pluginName === plugin.pluginName) {
38633
+ throw "Sortable: Cannot mount plugin ".concat(plugin.pluginName, " more than once");
38634
+ }
38635
+ });
38636
+ plugins.push(plugin);
38637
+ },
38638
+ pluginEvent: function pluginEvent(eventName, sortable, evt) {
38639
+ var _this = this;
38640
+ this.eventCanceled = false;
38641
+ evt.cancel = function () {
38642
+ _this.eventCanceled = true;
38643
+ };
38644
+ var eventNameGlobal = eventName + 'Global';
38645
+ plugins.forEach(function (plugin) {
38646
+ if (!sortable[plugin.pluginName]) return;
38647
+ // Fire global events if it exists in this sortable
38648
+ if (sortable[plugin.pluginName][eventNameGlobal]) {
38649
+ sortable[plugin.pluginName][eventNameGlobal](_objectSpread2({
38650
+ sortable: sortable
38651
+ }, evt));
38652
+ }
38653
+
38654
+ // Only fire plugin event if plugin is enabled in this sortable,
38655
+ // and plugin has event defined
38656
+ if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {
38657
+ sortable[plugin.pluginName][eventName](_objectSpread2({
38658
+ sortable: sortable
38659
+ }, evt));
38660
+ }
38661
+ });
38662
+ },
38663
+ initializePlugins: function initializePlugins(sortable, el, defaults, options) {
38664
+ plugins.forEach(function (plugin) {
38665
+ var pluginName = plugin.pluginName;
38666
+ if (!sortable.options[pluginName] && !plugin.initializeByDefault) return;
38667
+ var initialized = new plugin(sortable, el, sortable.options);
38668
+ initialized.sortable = sortable;
38669
+ initialized.options = sortable.options;
38670
+ sortable[pluginName] = initialized;
38671
+
38672
+ // Add default options from plugin
38673
+ _extends(defaults, initialized.defaults);
38674
+ });
38675
+ for (var option in sortable.options) {
38676
+ if (!sortable.options.hasOwnProperty(option)) continue;
38677
+ var modified = this.modifyOption(sortable, option, sortable.options[option]);
38678
+ if (typeof modified !== 'undefined') {
38679
+ sortable.options[option] = modified;
38680
+ }
38681
+ }
38682
+ },
38683
+ getEventProperties: function getEventProperties(name, sortable) {
38684
+ var eventProperties = {};
38685
+ plugins.forEach(function (plugin) {
38686
+ if (typeof plugin.eventProperties !== 'function') return;
38687
+ _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));
38688
+ });
38689
+ return eventProperties;
38690
+ },
38691
+ modifyOption: function modifyOption(sortable, name, value) {
38692
+ var modifiedValue;
38693
+ plugins.forEach(function (plugin) {
38694
+ // Plugin must exist on the Sortable
38695
+ if (!sortable[plugin.pluginName]) return;
38696
+
38697
+ // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin
38698
+ if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') {
38699
+ modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);
38700
+ }
38701
+ });
38702
+ return modifiedValue;
38703
+ }
38704
+ };
38705
+
38706
+ function dispatchEvent(_ref) {
38707
+ var sortable = _ref.sortable,
38708
+ rootEl = _ref.rootEl,
38709
+ name = _ref.name,
38710
+ targetEl = _ref.targetEl,
38711
+ cloneEl = _ref.cloneEl,
38712
+ toEl = _ref.toEl,
38713
+ fromEl = _ref.fromEl,
38714
+ oldIndex = _ref.oldIndex,
38715
+ newIndex = _ref.newIndex,
38716
+ oldDraggableIndex = _ref.oldDraggableIndex,
38717
+ newDraggableIndex = _ref.newDraggableIndex,
38718
+ originalEvent = _ref.originalEvent,
38719
+ putSortable = _ref.putSortable,
38720
+ extraEventProperties = _ref.extraEventProperties;
38721
+ sortable = sortable || rootEl && rootEl[expando];
38722
+ if (!sortable) return;
38723
+ var evt,
38724
+ options = sortable.options,
38725
+ onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1);
38726
+ // Support for new CustomEvent feature
38727
+ if (window.CustomEvent && !IE11OrLess && !Edge) {
38728
+ evt = new CustomEvent(name, {
38729
+ bubbles: true,
38730
+ cancelable: true
38731
+ });
38732
+ } else {
38733
+ evt = document.createEvent('Event');
38734
+ evt.initEvent(name, true, true);
38735
+ }
38736
+ evt.to = toEl || rootEl;
38737
+ evt.from = fromEl || rootEl;
38738
+ evt.item = targetEl || rootEl;
38739
+ evt.clone = cloneEl;
38740
+ evt.oldIndex = oldIndex;
38741
+ evt.newIndex = newIndex;
38742
+ evt.oldDraggableIndex = oldDraggableIndex;
38743
+ evt.newDraggableIndex = newDraggableIndex;
38744
+ evt.originalEvent = originalEvent;
38745
+ evt.pullMode = putSortable ? putSortable.lastPutMode : undefined;
38746
+ var allEventProperties = _objectSpread2(_objectSpread2({}, extraEventProperties), PluginManager.getEventProperties(name, sortable));
38747
+ for (var option in allEventProperties) {
38748
+ evt[option] = allEventProperties[option];
38749
+ }
38750
+ if (rootEl) {
38751
+ rootEl.dispatchEvent(evt);
38752
+ }
38753
+ if (options[onName]) {
38754
+ options[onName].call(sortable, evt);
38755
+ }
38756
+ }
38757
+
38758
+ var _excluded = ["evt"];
38759
+ var pluginEvent = function pluginEvent(eventName, sortable) {
38760
+ var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
38761
+ originalEvent = _ref.evt,
38762
+ data = _objectWithoutProperties(_ref, _excluded);
38763
+ PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread2({
38764
+ dragEl: dragEl,
38765
+ parentEl: parentEl,
38766
+ ghostEl: ghostEl,
38767
+ rootEl: rootEl,
38768
+ nextEl: nextEl,
38769
+ lastDownEl: lastDownEl,
38770
+ cloneEl: cloneEl,
38771
+ cloneHidden: cloneHidden,
38772
+ dragStarted: moved,
38773
+ putSortable: putSortable,
38774
+ activeSortable: Sortable.active,
38775
+ originalEvent: originalEvent,
38776
+ oldIndex: oldIndex,
38777
+ oldDraggableIndex: oldDraggableIndex,
38778
+ newIndex: newIndex,
38779
+ newDraggableIndex: newDraggableIndex,
38780
+ hideGhostForTarget: _hideGhostForTarget,
38781
+ unhideGhostForTarget: _unhideGhostForTarget,
38782
+ cloneNowHidden: function cloneNowHidden() {
38783
+ cloneHidden = true;
38784
+ },
38785
+ cloneNowShown: function cloneNowShown() {
38786
+ cloneHidden = false;
38787
+ },
38788
+ dispatchSortableEvent: function dispatchSortableEvent(name) {
38789
+ _dispatchEvent({
38790
+ sortable: sortable,
38791
+ name: name,
38792
+ originalEvent: originalEvent
38793
+ });
38794
+ }
38795
+ }, data));
38796
+ };
38797
+ function _dispatchEvent(info) {
38798
+ dispatchEvent(_objectSpread2({
38799
+ putSortable: putSortable,
38800
+ cloneEl: cloneEl,
38801
+ targetEl: dragEl,
38802
+ rootEl: rootEl,
38803
+ oldIndex: oldIndex,
38804
+ oldDraggableIndex: oldDraggableIndex,
38805
+ newIndex: newIndex,
38806
+ newDraggableIndex: newDraggableIndex
38807
+ }, info));
38808
+ }
38809
+ var dragEl,
38810
+ parentEl,
38811
+ ghostEl,
38812
+ rootEl,
38813
+ nextEl,
38814
+ lastDownEl,
38815
+ cloneEl,
38816
+ cloneHidden,
38817
+ oldIndex,
38818
+ newIndex,
38819
+ oldDraggableIndex,
38820
+ newDraggableIndex,
38821
+ activeGroup,
38822
+ putSortable,
38823
+ awaitingDragStarted = false,
38824
+ ignoreNextClick = false,
38825
+ sortables = [],
38826
+ tapEvt,
38827
+ touchEvt,
38828
+ lastDx,
38829
+ lastDy,
38830
+ tapDistanceLeft,
38831
+ tapDistanceTop,
38832
+ moved,
38833
+ lastTarget,
38834
+ lastDirection,
38835
+ pastFirstInvertThresh = false,
38836
+ isCircumstantialInvert = false,
38837
+ targetMoveDistance,
38838
+ // For positioning ghost absolutely
38839
+ ghostRelativeParent,
38840
+ ghostRelativeParentInitialScroll = [],
38841
+ // (left, top)
38842
+
38843
+ _silent = false,
38844
+ savedInputChecked = [];
38845
+
38846
+ /** @const */
38847
+ var documentExists = typeof document !== 'undefined',
38848
+ PositionGhostAbsolutely = IOS,
38849
+ CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float',
38850
+ // This will not pass for IE9, because IE9 DnD only works on anchors
38851
+ supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'),
38852
+ supportCssPointerEvents = function () {
38853
+ if (!documentExists) return;
38854
+ // false when <= IE11
38855
+ if (IE11OrLess) {
38856
+ return false;
38857
+ }
38858
+ var el = document.createElement('x');
38859
+ el.style.cssText = 'pointer-events:auto';
38860
+ return el.style.pointerEvents === 'auto';
38861
+ }(),
38862
+ _detectDirection = function _detectDirection(el, options) {
38863
+ var elCSS = css(el),
38864
+ elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth),
38865
+ child1 = getChild(el, 0, options),
38866
+ child2 = getChild(el, 1, options),
38867
+ firstChildCSS = child1 && css(child1),
38868
+ secondChildCSS = child2 && css(child2),
38869
+ firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width,
38870
+ secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;
38871
+ if (elCSS.display === 'flex') {
38872
+ return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal';
38873
+ }
38874
+ if (elCSS.display === 'grid') {
38875
+ return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal';
38876
+ }
38877
+ if (child1 && firstChildCSS["float"] && firstChildCSS["float"] !== 'none') {
38878
+ var touchingSideChild2 = firstChildCSS["float"] === 'left' ? 'left' : 'right';
38879
+ return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal';
38880
+ }
38881
+ return child1 && (firstChildCSS.display === 'block' || firstChildCSS.display === 'flex' || firstChildCSS.display === 'table' || firstChildCSS.display === 'grid' || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === 'none' || child2 && elCSS[CSSFloatProperty] === 'none' && firstChildWidth + secondChildWidth > elWidth) ? 'vertical' : 'horizontal';
38882
+ },
38883
+ _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) {
38884
+ var dragElS1Opp = vertical ? dragRect.left : dragRect.top,
38885
+ dragElS2Opp = vertical ? dragRect.right : dragRect.bottom,
38886
+ dragElOppLength = vertical ? dragRect.width : dragRect.height,
38887
+ targetS1Opp = vertical ? targetRect.left : targetRect.top,
38888
+ targetS2Opp = vertical ? targetRect.right : targetRect.bottom,
38889
+ targetOppLength = vertical ? targetRect.width : targetRect.height;
38890
+ return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;
38891
+ },
38892
+ /**
38893
+ * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold.
38894
+ * @param {Number} x X position
38895
+ * @param {Number} y Y position
38896
+ * @return {HTMLElement} Element of the first found nearest Sortable
38897
+ */
38898
+ _detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) {
38899
+ var ret;
38900
+ sortables.some(function (sortable) {
38901
+ var threshold = sortable[expando].options.emptyInsertThreshold;
38902
+ if (!threshold || lastChild(sortable)) return;
38903
+ var rect = getRect(sortable),
38904
+ insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold,
38905
+ insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;
38906
+ if (insideHorizontally && insideVertically) {
38907
+ return ret = sortable;
38908
+ }
38909
+ });
38910
+ return ret;
38911
+ },
38912
+ _prepareGroup = function _prepareGroup(options) {
38913
+ function toFn(value, pull) {
38914
+ return function (to, from, dragEl, evt) {
38915
+ var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;
38916
+ if (value == null && (pull || sameGroup)) {
38917
+ // Default pull value
38918
+ // Default pull and put value if same group
38919
+ return true;
38920
+ } else if (value == null || value === false) {
38921
+ return false;
38922
+ } else if (pull && value === 'clone') {
38923
+ return value;
38924
+ } else if (typeof value === 'function') {
38925
+ return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt);
38926
+ } else {
38927
+ var otherGroup = (pull ? to : from).options.group.name;
38928
+ return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;
38929
+ }
38930
+ };
38931
+ }
38932
+ var group = {};
38933
+ var originalGroup = options.group;
38934
+ if (!originalGroup || sortable_esm_typeof(originalGroup) != 'object') {
38935
+ originalGroup = {
38936
+ name: originalGroup
38937
+ };
38938
+ }
38939
+ group.name = originalGroup.name;
38940
+ group.checkPull = toFn(originalGroup.pull, true);
38941
+ group.checkPut = toFn(originalGroup.put);
38942
+ group.revertClone = originalGroup.revertClone;
38943
+ options.group = group;
38944
+ },
38945
+ _hideGhostForTarget = function _hideGhostForTarget() {
38946
+ if (!supportCssPointerEvents && ghostEl) {
38947
+ css(ghostEl, 'display', 'none');
38948
+ }
38949
+ },
38950
+ _unhideGhostForTarget = function _unhideGhostForTarget() {
38951
+ if (!supportCssPointerEvents && ghostEl) {
38952
+ css(ghostEl, 'display', '');
38953
+ }
38954
+ };
38955
+
38956
+ // #1184 fix - Prevent click event on fallback if dragged but item not changed position
38957
+ if (documentExists && !ChromeForAndroid) {
38958
+ document.addEventListener('click', function (evt) {
38959
+ if (ignoreNextClick) {
38960
+ evt.preventDefault();
38961
+ evt.stopPropagation && evt.stopPropagation();
38962
+ evt.stopImmediatePropagation && evt.stopImmediatePropagation();
38963
+ ignoreNextClick = false;
38964
+ return false;
38965
+ }
38966
+ }, true);
38967
+ }
38968
+ var nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) {
38969
+ if (dragEl) {
38970
+ evt = evt.touches ? evt.touches[0] : evt;
38971
+ var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);
38972
+ if (nearest) {
38973
+ // Create imitation event
38974
+ var event = {};
38975
+ for (var i in evt) {
38976
+ if (evt.hasOwnProperty(i)) {
38977
+ event[i] = evt[i];
38978
+ }
38979
+ }
38980
+ event.target = event.rootEl = nearest;
38981
+ event.preventDefault = void 0;
38982
+ event.stopPropagation = void 0;
38983
+ nearest[expando]._onDragOver(event);
38984
+ }
38985
+ }
38986
+ };
38987
+ var _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) {
38988
+ if (dragEl) {
38989
+ dragEl.parentNode[expando]._isOutsideThisEl(evt.target);
38990
+ }
38991
+ };
38992
+
38993
+ /**
38994
+ * @class Sortable
38995
+ * @param {HTMLElement} el
38996
+ * @param {Object} [options]
38997
+ */
38998
+ function Sortable(el, options) {
38999
+ if (!(el && el.nodeType && el.nodeType === 1)) {
39000
+ throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(el));
39001
+ }
39002
+ this.el = el; // root element
39003
+ this.options = options = _extends({}, options);
39004
+
39005
+ // Export instance
39006
+ el[expando] = this;
39007
+ var defaults = {
39008
+ group: null,
39009
+ sort: true,
39010
+ disabled: false,
39011
+ store: null,
39012
+ handle: null,
39013
+ draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*',
39014
+ swapThreshold: 1,
39015
+ // percentage; 0 <= x <= 1
39016
+ invertSwap: false,
39017
+ // invert always
39018
+ invertedSwapThreshold: null,
39019
+ // will be set to same as swapThreshold if default
39020
+ removeCloneOnHide: true,
39021
+ direction: function direction() {
39022
+ return _detectDirection(el, this.options);
39023
+ },
39024
+ ghostClass: 'sortable-ghost',
39025
+ chosenClass: 'sortable-chosen',
39026
+ dragClass: 'sortable-drag',
39027
+ ignore: 'a, img',
39028
+ filter: null,
39029
+ preventOnFilter: true,
39030
+ animation: 0,
39031
+ easing: null,
39032
+ setData: function setData(dataTransfer, dragEl) {
39033
+ dataTransfer.setData('Text', dragEl.textContent);
39034
+ },
39035
+ dropBubble: false,
39036
+ dragoverBubble: false,
39037
+ dataIdAttr: 'data-id',
39038
+ delay: 0,
39039
+ delayOnTouchOnly: false,
39040
+ touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,
39041
+ forceFallback: false,
39042
+ fallbackClass: 'sortable-fallback',
39043
+ fallbackOnBody: false,
39044
+ fallbackTolerance: 0,
39045
+ fallbackOffset: {
39046
+ x: 0,
39047
+ y: 0
39048
+ },
39049
+ supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window && !Safari,
39050
+ emptyInsertThreshold: 5
39051
+ };
39052
+ PluginManager.initializePlugins(this, el, defaults);
39053
+
39054
+ // Set default options
39055
+ for (var name in defaults) {
39056
+ !(name in options) && (options[name] = defaults[name]);
39057
+ }
39058
+ _prepareGroup(options);
39059
+
39060
+ // Bind all private methods
39061
+ for (var fn in this) {
39062
+ if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {
39063
+ this[fn] = this[fn].bind(this);
39064
+ }
39065
+ }
39066
+
39067
+ // Setup drag mode
39068
+ this.nativeDraggable = options.forceFallback ? false : supportDraggable;
39069
+ if (this.nativeDraggable) {
39070
+ // Touch start threshold cannot be greater than the native dragstart threshold
39071
+ this.options.touchStartThreshold = 1;
39072
+ }
39073
+
39074
+ // Bind events
39075
+ if (options.supportPointer) {
39076
+ on(el, 'pointerdown', this._onTapStart);
39077
+ } else {
39078
+ on(el, 'mousedown', this._onTapStart);
39079
+ on(el, 'touchstart', this._onTapStart);
39080
+ }
39081
+ if (this.nativeDraggable) {
39082
+ on(el, 'dragover', this);
39083
+ on(el, 'dragenter', this);
39084
+ }
39085
+ sortables.push(this.el);
39086
+
39087
+ // Restore sorting
39088
+ options.store && options.store.get && this.sort(options.store.get(this) || []);
39089
+
39090
+ // Add animation state manager
39091
+ _extends(this, AnimationStateManager());
39092
+ }
39093
+ Sortable.prototype = /** @lends Sortable.prototype */{
39094
+ constructor: Sortable,
39095
+ _isOutsideThisEl: function _isOutsideThisEl(target) {
39096
+ if (!this.el.contains(target) && target !== this.el) {
39097
+ lastTarget = null;
39098
+ }
39099
+ },
39100
+ _getDirection: function _getDirection(evt, target) {
39101
+ return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;
39102
+ },
39103
+ _onTapStart: function _onTapStart( /** Event|TouchEvent */evt) {
39104
+ if (!evt.cancelable) return;
39105
+ var _this = this,
39106
+ el = this.el,
39107
+ options = this.options,
39108
+ preventOnFilter = options.preventOnFilter,
39109
+ type = evt.type,
39110
+ touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt,
39111
+ target = (touch || evt).target,
39112
+ originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target,
39113
+ filter = options.filter;
39114
+ _saveInputCheckedState(el);
39115
+
39116
+ // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group.
39117
+ if (dragEl) {
39118
+ return;
39119
+ }
39120
+ if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {
39121
+ return; // only left button and enabled
39122
+ }
39123
+
39124
+ // cancel dnd if original target is content editable
39125
+ if (originalTarget.isContentEditable) {
39126
+ return;
39127
+ }
39128
+
39129
+ // Safari ignores further event handling after mousedown
39130
+ if (!this.nativeDraggable && Safari && target && target.tagName.toUpperCase() === 'SELECT') {
39131
+ return;
39132
+ }
39133
+ target = closest(target, options.draggable, el, false);
39134
+ if (target && target.animated) {
39135
+ return;
39136
+ }
39137
+ if (lastDownEl === target) {
39138
+ // Ignoring duplicate `down`
39139
+ return;
39140
+ }
39141
+
39142
+ // Get the index of the dragged element within its parent
39143
+ oldIndex = sortable_esm_index(target);
39144
+ oldDraggableIndex = sortable_esm_index(target, options.draggable);
39145
+
39146
+ // Check filter
39147
+ if (typeof filter === 'function') {
39148
+ if (filter.call(this, evt, target, this)) {
39149
+ _dispatchEvent({
39150
+ sortable: _this,
39151
+ rootEl: originalTarget,
39152
+ name: 'filter',
39153
+ targetEl: target,
39154
+ toEl: el,
39155
+ fromEl: el
39156
+ });
39157
+ pluginEvent('filter', _this, {
39158
+ evt: evt
39159
+ });
39160
+ preventOnFilter && evt.cancelable && evt.preventDefault();
39161
+ return; // cancel dnd
39162
+ }
39163
+ } else if (filter) {
39164
+ filter = filter.split(',').some(function (criteria) {
39165
+ criteria = closest(originalTarget, criteria.trim(), el, false);
39166
+ if (criteria) {
39167
+ _dispatchEvent({
39168
+ sortable: _this,
39169
+ rootEl: criteria,
39170
+ name: 'filter',
39171
+ targetEl: target,
39172
+ fromEl: el,
39173
+ toEl: el
39174
+ });
39175
+ pluginEvent('filter', _this, {
39176
+ evt: evt
39177
+ });
39178
+ return true;
39179
+ }
39180
+ });
39181
+ if (filter) {
39182
+ preventOnFilter && evt.cancelable && evt.preventDefault();
39183
+ return; // cancel dnd
39184
+ }
39185
+ }
39186
+ if (options.handle && !closest(originalTarget, options.handle, el, false)) {
39187
+ return;
39188
+ }
39189
+
39190
+ // Prepare `dragstart`
39191
+ this._prepareDragStart(evt, touch, target);
39192
+ },
39193
+ _prepareDragStart: function _prepareDragStart( /** Event */evt, /** Touch */touch, /** HTMLElement */target) {
39194
+ var _this = this,
39195
+ el = _this.el,
39196
+ options = _this.options,
39197
+ ownerDocument = el.ownerDocument,
39198
+ dragStartFn;
39199
+ if (target && !dragEl && target.parentNode === el) {
39200
+ var dragRect = getRect(target);
39201
+ rootEl = el;
39202
+ dragEl = target;
39203
+ parentEl = dragEl.parentNode;
39204
+ nextEl = dragEl.nextSibling;
39205
+ lastDownEl = target;
39206
+ activeGroup = options.group;
39207
+ Sortable.dragged = dragEl;
39208
+ tapEvt = {
39209
+ target: dragEl,
39210
+ clientX: (touch || evt).clientX,
39211
+ clientY: (touch || evt).clientY
39212
+ };
39213
+ tapDistanceLeft = tapEvt.clientX - dragRect.left;
39214
+ tapDistanceTop = tapEvt.clientY - dragRect.top;
39215
+ this._lastX = (touch || evt).clientX;
39216
+ this._lastY = (touch || evt).clientY;
39217
+ dragEl.style['will-change'] = 'all';
39218
+ dragStartFn = function dragStartFn() {
39219
+ pluginEvent('delayEnded', _this, {
39220
+ evt: evt
39221
+ });
39222
+ if (Sortable.eventCanceled) {
39223
+ _this._onDrop();
39224
+ return;
39225
+ }
39226
+ // Delayed drag has been triggered
39227
+ // we can re-enable the events: touchmove/mousemove
39228
+ _this._disableDelayedDragEvents();
39229
+ if (!FireFox && _this.nativeDraggable) {
39230
+ dragEl.draggable = true;
39231
+ }
39232
+
39233
+ // Bind the events: dragstart/dragend
39234
+ _this._triggerDragStart(evt, touch);
39235
+
39236
+ // Drag start event
39237
+ _dispatchEvent({
39238
+ sortable: _this,
39239
+ name: 'choose',
39240
+ originalEvent: evt
39241
+ });
39242
+
39243
+ // Chosen item
39244
+ toggleClass(dragEl, options.chosenClass, true);
39245
+ };
39246
+
39247
+ // Disable "draggable"
39248
+ options.ignore.split(',').forEach(function (criteria) {
39249
+ sortable_esm_find(dragEl, criteria.trim(), _disableDraggable);
39250
+ });
39251
+ on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent);
39252
+ on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent);
39253
+ on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent);
39254
+ on(ownerDocument, 'mouseup', _this._onDrop);
39255
+ on(ownerDocument, 'touchend', _this._onDrop);
39256
+ on(ownerDocument, 'touchcancel', _this._onDrop);
39257
+
39258
+ // Make dragEl draggable (must be before delay for FireFox)
39259
+ if (FireFox && this.nativeDraggable) {
39260
+ this.options.touchStartThreshold = 4;
39261
+ dragEl.draggable = true;
39262
+ }
39263
+ pluginEvent('delayStart', this, {
39264
+ evt: evt
39265
+ });
39266
+
39267
+ // Delay is impossible for native DnD in Edge or IE
39268
+ if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {
39269
+ if (Sortable.eventCanceled) {
39270
+ this._onDrop();
39271
+ return;
39272
+ }
39273
+ // If the user moves the pointer or let go the click or touch
39274
+ // before the delay has been reached:
39275
+ // disable the delayed drag
39276
+ on(ownerDocument, 'mouseup', _this._disableDelayedDrag);
39277
+ on(ownerDocument, 'touchend', _this._disableDelayedDrag);
39278
+ on(ownerDocument, 'touchcancel', _this._disableDelayedDrag);
39279
+ on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler);
39280
+ on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler);
39281
+ options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler);
39282
+ _this._dragStartTimer = setTimeout(dragStartFn, options.delay);
39283
+ } else {
39284
+ dragStartFn();
39285
+ }
39286
+ }
39287
+ },
39288
+ _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler( /** TouchEvent|PointerEvent **/e) {
39289
+ var touch = e.touches ? e.touches[0] : e;
39290
+ if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {
39291
+ this._disableDelayedDrag();
39292
+ }
39293
+ },
39294
+ _disableDelayedDrag: function _disableDelayedDrag() {
39295
+ dragEl && _disableDraggable(dragEl);
39296
+ clearTimeout(this._dragStartTimer);
39297
+ this._disableDelayedDragEvents();
39298
+ },
39299
+ _disableDelayedDragEvents: function _disableDelayedDragEvents() {
39300
+ var ownerDocument = this.el.ownerDocument;
39301
+ off(ownerDocument, 'mouseup', this._disableDelayedDrag);
39302
+ off(ownerDocument, 'touchend', this._disableDelayedDrag);
39303
+ off(ownerDocument, 'touchcancel', this._disableDelayedDrag);
39304
+ off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler);
39305
+ off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler);
39306
+ off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler);
39307
+ },
39308
+ _triggerDragStart: function _triggerDragStart( /** Event */evt, /** Touch */touch) {
39309
+ touch = touch || evt.pointerType == 'touch' && evt;
39310
+ if (!this.nativeDraggable || touch) {
39311
+ if (this.options.supportPointer) {
39312
+ on(document, 'pointermove', this._onTouchMove);
39313
+ } else if (touch) {
39314
+ on(document, 'touchmove', this._onTouchMove);
39315
+ } else {
39316
+ on(document, 'mousemove', this._onTouchMove);
39317
+ }
39318
+ } else {
39319
+ on(dragEl, 'dragend', this);
39320
+ on(rootEl, 'dragstart', this._onDragStart);
39321
+ }
39322
+ try {
39323
+ if (document.selection) {
39324
+ // Timeout neccessary for IE9
39325
+ _nextTick(function () {
39326
+ document.selection.empty();
39327
+ });
39328
+ } else {
39329
+ window.getSelection().removeAllRanges();
39330
+ }
39331
+ } catch (err) {}
39332
+ },
39333
+ _dragStarted: function _dragStarted(fallback, evt) {
39334
+ awaitingDragStarted = false;
39335
+ if (rootEl && dragEl) {
39336
+ pluginEvent('dragStarted', this, {
39337
+ evt: evt
39338
+ });
39339
+ if (this.nativeDraggable) {
39340
+ on(document, 'dragover', _checkOutsideTargetEl);
39341
+ }
39342
+ var options = this.options;
39343
+
39344
+ // Apply effect
39345
+ !fallback && toggleClass(dragEl, options.dragClass, false);
39346
+ toggleClass(dragEl, options.ghostClass, true);
39347
+ Sortable.active = this;
39348
+ fallback && this._appendGhost();
39349
+
39350
+ // Drag start event
39351
+ _dispatchEvent({
39352
+ sortable: this,
39353
+ name: 'start',
39354
+ originalEvent: evt
39355
+ });
39356
+ } else {
39357
+ this._nulling();
39358
+ }
39359
+ },
39360
+ _emulateDragOver: function _emulateDragOver() {
39361
+ if (touchEvt) {
39362
+ this._lastX = touchEvt.clientX;
39363
+ this._lastY = touchEvt.clientY;
39364
+ _hideGhostForTarget();
39365
+ var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);
39366
+ var parent = target;
39367
+ while (target && target.shadowRoot) {
39368
+ target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);
39369
+ if (target === parent) break;
39370
+ parent = target;
39371
+ }
39372
+ dragEl.parentNode[expando]._isOutsideThisEl(target);
39373
+ if (parent) {
39374
+ do {
39375
+ if (parent[expando]) {
39376
+ var inserted = void 0;
39377
+ inserted = parent[expando]._onDragOver({
39378
+ clientX: touchEvt.clientX,
39379
+ clientY: touchEvt.clientY,
39380
+ target: target,
39381
+ rootEl: parent
39382
+ });
39383
+ if (inserted && !this.options.dragoverBubble) {
39384
+ break;
39385
+ }
39386
+ }
39387
+ target = parent; // store last element
39388
+ }
39389
+ /* jshint boss:true */ while (parent = parent.parentNode);
39390
+ }
39391
+ _unhideGhostForTarget();
39392
+ }
39393
+ },
39394
+ _onTouchMove: function _onTouchMove( /**TouchEvent*/evt) {
39395
+ if (tapEvt) {
39396
+ var options = this.options,
39397
+ fallbackTolerance = options.fallbackTolerance,
39398
+ fallbackOffset = options.fallbackOffset,
39399
+ touch = evt.touches ? evt.touches[0] : evt,
39400
+ ghostMatrix = ghostEl && matrix(ghostEl, true),
39401
+ scaleX = ghostEl && ghostMatrix && ghostMatrix.a,
39402
+ scaleY = ghostEl && ghostMatrix && ghostMatrix.d,
39403
+ relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent),
39404
+ dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1),
39405
+ dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1);
39406
+
39407
+ // only set the status to dragging, when we are actually dragging
39408
+ if (!Sortable.active && !awaitingDragStarted) {
39409
+ if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {
39410
+ return;
39411
+ }
39412
+ this._onDragStart(evt, true);
39413
+ }
39414
+ if (ghostEl) {
39415
+ if (ghostMatrix) {
39416
+ ghostMatrix.e += dx - (lastDx || 0);
39417
+ ghostMatrix.f += dy - (lastDy || 0);
39418
+ } else {
39419
+ ghostMatrix = {
39420
+ a: 1,
39421
+ b: 0,
39422
+ c: 0,
39423
+ d: 1,
39424
+ e: dx,
39425
+ f: dy
39426
+ };
39427
+ }
39428
+ var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")");
39429
+ css(ghostEl, 'webkitTransform', cssMatrix);
39430
+ css(ghostEl, 'mozTransform', cssMatrix);
39431
+ css(ghostEl, 'msTransform', cssMatrix);
39432
+ css(ghostEl, 'transform', cssMatrix);
39433
+ lastDx = dx;
39434
+ lastDy = dy;
39435
+ touchEvt = touch;
39436
+ }
39437
+ evt.cancelable && evt.preventDefault();
39438
+ }
39439
+ },
39440
+ _appendGhost: function _appendGhost() {
39441
+ // Bug if using scale(): https://stackoverflow.com/questions/2637058
39442
+ // Not being adjusted for
39443
+ if (!ghostEl) {
39444
+ var container = this.options.fallbackOnBody ? document.body : rootEl,
39445
+ rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container),
39446
+ options = this.options;
39447
+
39448
+ // Position absolutely
39449
+ if (PositionGhostAbsolutely) {
39450
+ // Get relatively positioned parent
39451
+ ghostRelativeParent = container;
39452
+ while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) {
39453
+ ghostRelativeParent = ghostRelativeParent.parentNode;
39454
+ }
39455
+ if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {
39456
+ if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement();
39457
+ rect.top += ghostRelativeParent.scrollTop;
39458
+ rect.left += ghostRelativeParent.scrollLeft;
39459
+ } else {
39460
+ ghostRelativeParent = getWindowScrollingElement();
39461
+ }
39462
+ ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);
39463
+ }
39464
+ ghostEl = dragEl.cloneNode(true);
39465
+ toggleClass(ghostEl, options.ghostClass, false);
39466
+ toggleClass(ghostEl, options.fallbackClass, true);
39467
+ toggleClass(ghostEl, options.dragClass, true);
39468
+ css(ghostEl, 'transition', '');
39469
+ css(ghostEl, 'transform', '');
39470
+ css(ghostEl, 'box-sizing', 'border-box');
39471
+ css(ghostEl, 'margin', 0);
39472
+ css(ghostEl, 'top', rect.top);
39473
+ css(ghostEl, 'left', rect.left);
39474
+ css(ghostEl, 'width', rect.width);
39475
+ css(ghostEl, 'height', rect.height);
39476
+ css(ghostEl, 'opacity', '0.8');
39477
+ css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed');
39478
+ css(ghostEl, 'zIndex', '100000');
39479
+ css(ghostEl, 'pointerEvents', 'none');
39480
+ Sortable.ghost = ghostEl;
39481
+ container.appendChild(ghostEl);
39482
+
39483
+ // Set transform-origin
39484
+ css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%');
39485
+ }
39486
+ },
39487
+ _onDragStart: function _onDragStart( /**Event*/evt, /**boolean*/fallback) {
39488
+ var _this = this;
39489
+ var dataTransfer = evt.dataTransfer;
39490
+ var options = _this.options;
39491
+ pluginEvent('dragStart', this, {
39492
+ evt: evt
39493
+ });
39494
+ if (Sortable.eventCanceled) {
39495
+ this._onDrop();
39496
+ return;
39497
+ }
39498
+ pluginEvent('setupClone', this);
39499
+ if (!Sortable.eventCanceled) {
39500
+ cloneEl = clone(dragEl);
39501
+ cloneEl.removeAttribute("id");
39502
+ cloneEl.draggable = false;
39503
+ cloneEl.style['will-change'] = '';
39504
+ this._hideClone();
39505
+ toggleClass(cloneEl, this.options.chosenClass, false);
39506
+ Sortable.clone = cloneEl;
39507
+ }
39508
+
39509
+ // #1143: IFrame support workaround
39510
+ _this.cloneId = _nextTick(function () {
39511
+ pluginEvent('clone', _this);
39512
+ if (Sortable.eventCanceled) return;
39513
+ if (!_this.options.removeCloneOnHide) {
39514
+ rootEl.insertBefore(cloneEl, dragEl);
39515
+ }
39516
+ _this._hideClone();
39517
+ _dispatchEvent({
39518
+ sortable: _this,
39519
+ name: 'clone'
39520
+ });
39521
+ });
39522
+ !fallback && toggleClass(dragEl, options.dragClass, true);
39523
+
39524
+ // Set proper drop events
39525
+ if (fallback) {
39526
+ ignoreNextClick = true;
39527
+ _this._loopId = setInterval(_this._emulateDragOver, 50);
39528
+ } else {
39529
+ // Undo what was set in _prepareDragStart before drag started
39530
+ off(document, 'mouseup', _this._onDrop);
39531
+ off(document, 'touchend', _this._onDrop);
39532
+ off(document, 'touchcancel', _this._onDrop);
39533
+ if (dataTransfer) {
39534
+ dataTransfer.effectAllowed = 'move';
39535
+ options.setData && options.setData.call(_this, dataTransfer, dragEl);
39536
+ }
39537
+ on(document, 'drop', _this);
39538
+
39539
+ // #1276 fix:
39540
+ css(dragEl, 'transform', 'translateZ(0)');
39541
+ }
39542
+ awaitingDragStarted = true;
39543
+ _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));
39544
+ on(document, 'selectstart', _this);
39545
+ moved = true;
39546
+ if (Safari) {
39547
+ css(document.body, 'user-select', 'none');
39548
+ }
39549
+ },
39550
+ // Returns true - if no further action is needed (either inserted or another condition)
39551
+ _onDragOver: function _onDragOver( /**Event*/evt) {
39552
+ var el = this.el,
39553
+ target = evt.target,
39554
+ dragRect,
39555
+ targetRect,
39556
+ revert,
39557
+ options = this.options,
39558
+ group = options.group,
39559
+ activeSortable = Sortable.active,
39560
+ isOwner = activeGroup === group,
39561
+ canSort = options.sort,
39562
+ fromSortable = putSortable || activeSortable,
39563
+ vertical,
39564
+ _this = this,
39565
+ completedFired = false;
39566
+ if (_silent) return;
39567
+ function dragOverEvent(name, extra) {
39568
+ pluginEvent(name, _this, _objectSpread2({
39569
+ evt: evt,
39570
+ isOwner: isOwner,
39571
+ axis: vertical ? 'vertical' : 'horizontal',
39572
+ revert: revert,
39573
+ dragRect: dragRect,
39574
+ targetRect: targetRect,
39575
+ canSort: canSort,
39576
+ fromSortable: fromSortable,
39577
+ target: target,
39578
+ completed: completed,
39579
+ onMove: function onMove(target, after) {
39580
+ return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after);
39581
+ },
39582
+ changed: changed
39583
+ }, extra));
39584
+ }
39585
+
39586
+ // Capture animation state
39587
+ function capture() {
39588
+ dragOverEvent('dragOverAnimationCapture');
39589
+ _this.captureAnimationState();
39590
+ if (_this !== fromSortable) {
39591
+ fromSortable.captureAnimationState();
39592
+ }
39593
+ }
39594
+
39595
+ // Return invocation when dragEl is inserted (or completed)
39596
+ function completed(insertion) {
39597
+ dragOverEvent('dragOverCompleted', {
39598
+ insertion: insertion
39599
+ });
39600
+ if (insertion) {
39601
+ // Clones must be hidden before folding animation to capture dragRectAbsolute properly
39602
+ if (isOwner) {
39603
+ activeSortable._hideClone();
39604
+ } else {
39605
+ activeSortable._showClone(_this);
39606
+ }
39607
+ if (_this !== fromSortable) {
39608
+ // Set ghost class to new sortable's ghost class
39609
+ toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);
39610
+ toggleClass(dragEl, options.ghostClass, true);
39611
+ }
39612
+ if (putSortable !== _this && _this !== Sortable.active) {
39613
+ putSortable = _this;
39614
+ } else if (_this === Sortable.active && putSortable) {
39615
+ putSortable = null;
39616
+ }
39617
+
39618
+ // Animation
39619
+ if (fromSortable === _this) {
39620
+ _this._ignoreWhileAnimating = target;
39621
+ }
39622
+ _this.animateAll(function () {
39623
+ dragOverEvent('dragOverAnimationComplete');
39624
+ _this._ignoreWhileAnimating = null;
39625
+ });
39626
+ if (_this !== fromSortable) {
39627
+ fromSortable.animateAll();
39628
+ fromSortable._ignoreWhileAnimating = null;
39629
+ }
39630
+ }
39631
+
39632
+ // Null lastTarget if it is not inside a previously swapped element
39633
+ if (target === dragEl && !dragEl.animated || target === el && !target.animated) {
39634
+ lastTarget = null;
39635
+ }
39636
+
39637
+ // no bubbling and not fallback
39638
+ if (!options.dragoverBubble && !evt.rootEl && target !== document) {
39639
+ dragEl.parentNode[expando]._isOutsideThisEl(evt.target);
39640
+
39641
+ // Do not detect for empty insert if already inserted
39642
+ !insertion && nearestEmptyInsertDetectEvent(evt);
39643
+ }
39644
+ !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();
39645
+ return completedFired = true;
39646
+ }
39647
+
39648
+ // Call when dragEl has been inserted
39649
+ function changed() {
39650
+ newIndex = sortable_esm_index(dragEl);
39651
+ newDraggableIndex = sortable_esm_index(dragEl, options.draggable);
39652
+ _dispatchEvent({
39653
+ sortable: _this,
39654
+ name: 'change',
39655
+ toEl: el,
39656
+ newIndex: newIndex,
39657
+ newDraggableIndex: newDraggableIndex,
39658
+ originalEvent: evt
39659
+ });
39660
+ }
39661
+ if (evt.preventDefault !== void 0) {
39662
+ evt.cancelable && evt.preventDefault();
39663
+ }
39664
+ target = closest(target, options.draggable, el, true);
39665
+ dragOverEvent('dragOver');
39666
+ if (Sortable.eventCanceled) return completedFired;
39667
+ if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {
39668
+ return completed(false);
39669
+ }
39670
+ ignoreNextClick = false;
39671
+ if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = parentEl !== rootEl) // Reverting item into the original list
39672
+ : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {
39673
+ vertical = this._getDirection(evt, target) === 'vertical';
39674
+ dragRect = getRect(dragEl);
39675
+ dragOverEvent('dragOverValid');
39676
+ if (Sortable.eventCanceled) return completedFired;
39677
+ if (revert) {
39678
+ parentEl = rootEl; // actualization
39679
+ capture();
39680
+ this._hideClone();
39681
+ dragOverEvent('revert');
39682
+ if (!Sortable.eventCanceled) {
39683
+ if (nextEl) {
39684
+ rootEl.insertBefore(dragEl, nextEl);
39685
+ } else {
39686
+ rootEl.appendChild(dragEl);
39687
+ }
39688
+ }
39689
+ return completed(true);
39690
+ }
39691
+ var elLastChild = lastChild(el, options.draggable);
39692
+ if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {
39693
+ // Insert to end of list
39694
+
39695
+ // If already at end of list: Do not insert
39696
+ if (elLastChild === dragEl) {
39697
+ return completed(false);
39698
+ }
39699
+
39700
+ // if there is a last element, it is the target
39701
+ if (elLastChild && el === evt.target) {
39702
+ target = elLastChild;
39703
+ }
39704
+ if (target) {
39705
+ targetRect = getRect(target);
39706
+ }
39707
+ if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {
39708
+ capture();
39709
+ if (elLastChild && elLastChild.nextSibling) {
39710
+ // the last draggable element is not the last node
39711
+ el.insertBefore(dragEl, elLastChild.nextSibling);
39712
+ } else {
39713
+ el.appendChild(dragEl);
39714
+ }
39715
+ parentEl = el; // actualization
39716
+
39717
+ changed();
39718
+ return completed(true);
39719
+ }
39720
+ } else if (elLastChild && _ghostIsFirst(evt, vertical, this)) {
39721
+ // Insert to start of list
39722
+ var firstChild = getChild(el, 0, options, true);
39723
+ if (firstChild === dragEl) {
39724
+ return completed(false);
39725
+ }
39726
+ target = firstChild;
39727
+ targetRect = getRect(target);
39728
+ if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, false) !== false) {
39729
+ capture();
39730
+ el.insertBefore(dragEl, firstChild);
39731
+ parentEl = el; // actualization
39732
+
39733
+ changed();
39734
+ return completed(true);
39735
+ }
39736
+ } else if (target.parentNode === el) {
39737
+ targetRect = getRect(target);
39738
+ var direction = 0,
39739
+ targetBeforeFirstSwap,
39740
+ differentLevel = dragEl.parentNode !== el,
39741
+ differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical),
39742
+ side1 = vertical ? 'top' : 'left',
39743
+ scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'),
39744
+ scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;
39745
+ if (lastTarget !== target) {
39746
+ targetBeforeFirstSwap = targetRect[side1];
39747
+ pastFirstInvertThresh = false;
39748
+ isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;
39749
+ }
39750
+ direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);
39751
+ var sibling;
39752
+ if (direction !== 0) {
39753
+ // Check if target is beside dragEl in respective direction (ignoring hidden elements)
39754
+ var dragIndex = sortable_esm_index(dragEl);
39755
+ do {
39756
+ dragIndex -= direction;
39757
+ sibling = parentEl.children[dragIndex];
39758
+ } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl));
39759
+ }
39760
+ // If dragEl is already beside target: Do not insert
39761
+ if (direction === 0 || sibling === target) {
39762
+ return completed(false);
39763
+ }
39764
+ lastTarget = target;
39765
+ lastDirection = direction;
39766
+ var nextSibling = target.nextElementSibling,
39767
+ after = false;
39768
+ after = direction === 1;
39769
+ var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);
39770
+ if (moveVector !== false) {
39771
+ if (moveVector === 1 || moveVector === -1) {
39772
+ after = moveVector === 1;
39773
+ }
39774
+ _silent = true;
39775
+ setTimeout(_unsilent, 30);
39776
+ capture();
39777
+ if (after && !nextSibling) {
39778
+ el.appendChild(dragEl);
39779
+ } else {
39780
+ target.parentNode.insertBefore(dragEl, after ? nextSibling : target);
39781
+ }
39782
+
39783
+ // Undo chrome's scroll adjustment (has no effect on other browsers)
39784
+ if (scrolledPastTop) {
39785
+ scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);
39786
+ }
39787
+ parentEl = dragEl.parentNode; // actualization
39788
+
39789
+ // must be done before animation
39790
+ if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) {
39791
+ targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);
39792
+ }
39793
+ changed();
39794
+ return completed(true);
39795
+ }
39796
+ }
39797
+ if (el.contains(dragEl)) {
39798
+ return completed(false);
39799
+ }
39800
+ }
39801
+ return false;
39802
+ },
39803
+ _ignoreWhileAnimating: null,
39804
+ _offMoveEvents: function _offMoveEvents() {
39805
+ off(document, 'mousemove', this._onTouchMove);
39806
+ off(document, 'touchmove', this._onTouchMove);
39807
+ off(document, 'pointermove', this._onTouchMove);
39808
+ off(document, 'dragover', nearestEmptyInsertDetectEvent);
39809
+ off(document, 'mousemove', nearestEmptyInsertDetectEvent);
39810
+ off(document, 'touchmove', nearestEmptyInsertDetectEvent);
39811
+ },
39812
+ _offUpEvents: function _offUpEvents() {
39813
+ var ownerDocument = this.el.ownerDocument;
39814
+ off(ownerDocument, 'mouseup', this._onDrop);
39815
+ off(ownerDocument, 'touchend', this._onDrop);
39816
+ off(ownerDocument, 'pointerup', this._onDrop);
39817
+ off(ownerDocument, 'touchcancel', this._onDrop);
39818
+ off(document, 'selectstart', this);
39819
+ },
39820
+ _onDrop: function _onDrop( /**Event*/evt) {
39821
+ var el = this.el,
39822
+ options = this.options;
39823
+
39824
+ // Get the index of the dragged element within its parent
39825
+ newIndex = sortable_esm_index(dragEl);
39826
+ newDraggableIndex = sortable_esm_index(dragEl, options.draggable);
39827
+ pluginEvent('drop', this, {
39828
+ evt: evt
39829
+ });
39830
+ parentEl = dragEl && dragEl.parentNode;
39831
+
39832
+ // Get again after plugin event
39833
+ newIndex = sortable_esm_index(dragEl);
39834
+ newDraggableIndex = sortable_esm_index(dragEl, options.draggable);
39835
+ if (Sortable.eventCanceled) {
39836
+ this._nulling();
39837
+ return;
39838
+ }
39839
+ awaitingDragStarted = false;
39840
+ isCircumstantialInvert = false;
39841
+ pastFirstInvertThresh = false;
39842
+ clearInterval(this._loopId);
39843
+ clearTimeout(this._dragStartTimer);
39844
+ _cancelNextTick(this.cloneId);
39845
+ _cancelNextTick(this._dragStartId);
39846
+
39847
+ // Unbind events
39848
+ if (this.nativeDraggable) {
39849
+ off(document, 'drop', this);
39850
+ off(el, 'dragstart', this._onDragStart);
39851
+ }
39852
+ this._offMoveEvents();
39853
+ this._offUpEvents();
39854
+ if (Safari) {
39855
+ css(document.body, 'user-select', '');
39856
+ }
39857
+ css(dragEl, 'transform', '');
39858
+ if (evt) {
39859
+ if (moved) {
39860
+ evt.cancelable && evt.preventDefault();
39861
+ !options.dropBubble && evt.stopPropagation();
39862
+ }
39863
+ ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);
39864
+ if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {
39865
+ // Remove clone(s)
39866
+ cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);
39867
+ }
39868
+ if (dragEl) {
39869
+ if (this.nativeDraggable) {
39870
+ off(dragEl, 'dragend', this);
39871
+ }
39872
+ _disableDraggable(dragEl);
39873
+ dragEl.style['will-change'] = '';
39874
+
39875
+ // Remove classes
39876
+ // ghostClass is added in dragStarted
39877
+ if (moved && !awaitingDragStarted) {
39878
+ toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);
39879
+ }
39880
+ toggleClass(dragEl, this.options.chosenClass, false);
39881
+
39882
+ // Drag stop event
39883
+ _dispatchEvent({
39884
+ sortable: this,
39885
+ name: 'unchoose',
39886
+ toEl: parentEl,
39887
+ newIndex: null,
39888
+ newDraggableIndex: null,
39889
+ originalEvent: evt
39890
+ });
39891
+ if (rootEl !== parentEl) {
39892
+ if (newIndex >= 0) {
39893
+ // Add event
39894
+ _dispatchEvent({
39895
+ rootEl: parentEl,
39896
+ name: 'add',
39897
+ toEl: parentEl,
39898
+ fromEl: rootEl,
39899
+ originalEvent: evt
39900
+ });
39901
+
39902
+ // Remove event
39903
+ _dispatchEvent({
39904
+ sortable: this,
39905
+ name: 'remove',
39906
+ toEl: parentEl,
39907
+ originalEvent: evt
39908
+ });
39909
+
39910
+ // drag from one list and drop into another
39911
+ _dispatchEvent({
39912
+ rootEl: parentEl,
39913
+ name: 'sort',
39914
+ toEl: parentEl,
39915
+ fromEl: rootEl,
39916
+ originalEvent: evt
39917
+ });
39918
+ _dispatchEvent({
39919
+ sortable: this,
39920
+ name: 'sort',
39921
+ toEl: parentEl,
39922
+ originalEvent: evt
39923
+ });
39924
+ }
39925
+ putSortable && putSortable.save();
39926
+ } else {
39927
+ if (newIndex !== oldIndex) {
39928
+ if (newIndex >= 0) {
39929
+ // drag & drop within the same list
39930
+ _dispatchEvent({
39931
+ sortable: this,
39932
+ name: 'update',
39933
+ toEl: parentEl,
39934
+ originalEvent: evt
39935
+ });
39936
+ _dispatchEvent({
39937
+ sortable: this,
39938
+ name: 'sort',
39939
+ toEl: parentEl,
39940
+ originalEvent: evt
39941
+ });
39942
+ }
39943
+ }
39944
+ }
39945
+ if (Sortable.active) {
39946
+ /* jshint eqnull:true */
39947
+ if (newIndex == null || newIndex === -1) {
39948
+ newIndex = oldIndex;
39949
+ newDraggableIndex = oldDraggableIndex;
39950
+ }
39951
+ _dispatchEvent({
39952
+ sortable: this,
39953
+ name: 'end',
39954
+ toEl: parentEl,
39955
+ originalEvent: evt
39956
+ });
39957
+
39958
+ // Save sorting
39959
+ this.save();
39960
+ }
39961
+ }
39962
+ }
39963
+ this._nulling();
39964
+ },
39965
+ _nulling: function _nulling() {
39966
+ pluginEvent('nulling', this);
39967
+ rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;
39968
+ savedInputChecked.forEach(function (el) {
39969
+ el.checked = true;
39970
+ });
39971
+ savedInputChecked.length = lastDx = lastDy = 0;
39972
+ },
39973
+ handleEvent: function handleEvent( /**Event*/evt) {
39974
+ switch (evt.type) {
39975
+ case 'drop':
39976
+ case 'dragend':
39977
+ this._onDrop(evt);
39978
+ break;
39979
+ case 'dragenter':
39980
+ case 'dragover':
39981
+ if (dragEl) {
39982
+ this._onDragOver(evt);
39983
+ _globalDragOver(evt);
39984
+ }
39985
+ break;
39986
+ case 'selectstart':
39987
+ evt.preventDefault();
39988
+ break;
39989
+ }
39990
+ },
39991
+ /**
39992
+ * Serializes the item into an array of string.
39993
+ * @returns {String[]}
39994
+ */
39995
+ toArray: function toArray() {
39996
+ var order = [],
39997
+ el,
39998
+ children = this.el.children,
39999
+ i = 0,
40000
+ n = children.length,
40001
+ options = this.options;
40002
+ for (; i < n; i++) {
40003
+ el = children[i];
40004
+ if (closest(el, options.draggable, this.el, false)) {
40005
+ order.push(el.getAttribute(options.dataIdAttr) || _generateId(el));
40006
+ }
40007
+ }
40008
+ return order;
40009
+ },
40010
+ /**
40011
+ * Sorts the elements according to the array.
40012
+ * @param {String[]} order order of the items
40013
+ */
40014
+ sort: function sort(order, useAnimation) {
40015
+ var items = {},
40016
+ rootEl = this.el;
40017
+ this.toArray().forEach(function (id, i) {
40018
+ var el = rootEl.children[i];
40019
+ if (closest(el, this.options.draggable, rootEl, false)) {
40020
+ items[id] = el;
40021
+ }
40022
+ }, this);
40023
+ useAnimation && this.captureAnimationState();
40024
+ order.forEach(function (id) {
40025
+ if (items[id]) {
40026
+ rootEl.removeChild(items[id]);
40027
+ rootEl.appendChild(items[id]);
40028
+ }
40029
+ });
40030
+ useAnimation && this.animateAll();
40031
+ },
40032
+ /**
40033
+ * Save the current sorting
40034
+ */
40035
+ save: function save() {
40036
+ var store = this.options.store;
40037
+ store && store.set && store.set(this);
40038
+ },
40039
+ /**
40040
+ * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.
40041
+ * @param {HTMLElement} el
40042
+ * @param {String} [selector] default: `options.draggable`
40043
+ * @returns {HTMLElement|null}
40044
+ */
40045
+ closest: function closest$1(el, selector) {
40046
+ return closest(el, selector || this.options.draggable, this.el, false);
40047
+ },
40048
+ /**
40049
+ * Set/get option
40050
+ * @param {string} name
40051
+ * @param {*} [value]
40052
+ * @returns {*}
40053
+ */
40054
+ option: function option(name, value) {
40055
+ var options = this.options;
40056
+ if (value === void 0) {
40057
+ return options[name];
40058
+ } else {
40059
+ var modifiedValue = PluginManager.modifyOption(this, name, value);
40060
+ if (typeof modifiedValue !== 'undefined') {
40061
+ options[name] = modifiedValue;
40062
+ } else {
40063
+ options[name] = value;
40064
+ }
40065
+ if (name === 'group') {
40066
+ _prepareGroup(options);
40067
+ }
40068
+ }
40069
+ },
40070
+ /**
40071
+ * Destroy
40072
+ */
40073
+ destroy: function destroy() {
40074
+ pluginEvent('destroy', this);
40075
+ var el = this.el;
40076
+ el[expando] = null;
40077
+ off(el, 'mousedown', this._onTapStart);
40078
+ off(el, 'touchstart', this._onTapStart);
40079
+ off(el, 'pointerdown', this._onTapStart);
40080
+ if (this.nativeDraggable) {
40081
+ off(el, 'dragover', this);
40082
+ off(el, 'dragenter', this);
40083
+ }
40084
+ // Remove draggable attributes
40085
+ Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) {
40086
+ el.removeAttribute('draggable');
40087
+ });
40088
+ this._onDrop();
40089
+ this._disableDelayedDragEvents();
40090
+ sortables.splice(sortables.indexOf(this.el), 1);
40091
+ this.el = el = null;
40092
+ },
40093
+ _hideClone: function _hideClone() {
40094
+ if (!cloneHidden) {
40095
+ pluginEvent('hideClone', this);
40096
+ if (Sortable.eventCanceled) return;
40097
+ css(cloneEl, 'display', 'none');
40098
+ if (this.options.removeCloneOnHide && cloneEl.parentNode) {
40099
+ cloneEl.parentNode.removeChild(cloneEl);
40100
+ }
40101
+ cloneHidden = true;
40102
+ }
40103
+ },
40104
+ _showClone: function _showClone(putSortable) {
40105
+ if (putSortable.lastPutMode !== 'clone') {
40106
+ this._hideClone();
40107
+ return;
40108
+ }
40109
+ if (cloneHidden) {
40110
+ pluginEvent('showClone', this);
40111
+ if (Sortable.eventCanceled) return;
40112
+
40113
+ // show clone at dragEl or original position
40114
+ if (dragEl.parentNode == rootEl && !this.options.group.revertClone) {
40115
+ rootEl.insertBefore(cloneEl, dragEl);
40116
+ } else if (nextEl) {
40117
+ rootEl.insertBefore(cloneEl, nextEl);
40118
+ } else {
40119
+ rootEl.appendChild(cloneEl);
40120
+ }
40121
+ if (this.options.group.revertClone) {
40122
+ this.animate(dragEl, cloneEl);
40123
+ }
40124
+ css(cloneEl, 'display', '');
40125
+ cloneHidden = false;
40126
+ }
40127
+ }
40128
+ };
40129
+ function _globalDragOver( /**Event*/evt) {
40130
+ if (evt.dataTransfer) {
40131
+ evt.dataTransfer.dropEffect = 'move';
40132
+ }
40133
+ evt.cancelable && evt.preventDefault();
40134
+ }
40135
+ function _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {
40136
+ var evt,
40137
+ sortable = fromEl[expando],
40138
+ onMoveFn = sortable.options.onMove,
40139
+ retVal;
40140
+ // Support for new CustomEvent feature
40141
+ if (window.CustomEvent && !IE11OrLess && !Edge) {
40142
+ evt = new CustomEvent('move', {
40143
+ bubbles: true,
40144
+ cancelable: true
40145
+ });
40146
+ } else {
40147
+ evt = document.createEvent('Event');
40148
+ evt.initEvent('move', true, true);
40149
+ }
40150
+ evt.to = toEl;
40151
+ evt.from = fromEl;
40152
+ evt.dragged = dragEl;
40153
+ evt.draggedRect = dragRect;
40154
+ evt.related = targetEl || toEl;
40155
+ evt.relatedRect = targetRect || getRect(toEl);
40156
+ evt.willInsertAfter = willInsertAfter;
40157
+ evt.originalEvent = originalEvent;
40158
+ fromEl.dispatchEvent(evt);
40159
+ if (onMoveFn) {
40160
+ retVal = onMoveFn.call(sortable, evt, originalEvent);
40161
+ }
40162
+ return retVal;
40163
+ }
40164
+ function _disableDraggable(el) {
40165
+ el.draggable = false;
40166
+ }
40167
+ function _unsilent() {
40168
+ _silent = false;
40169
+ }
40170
+ function _ghostIsFirst(evt, vertical, sortable) {
40171
+ var firstElRect = getRect(getChild(sortable.el, 0, sortable.options, true));
40172
+ var childContainingRect = getChildContainingRectFromElement(sortable.el, sortable.options, ghostEl);
40173
+ var spacer = 10;
40174
+ return vertical ? evt.clientX < childContainingRect.left - spacer || evt.clientY < firstElRect.top && evt.clientX < firstElRect.right : evt.clientY < childContainingRect.top - spacer || evt.clientY < firstElRect.bottom && evt.clientX < firstElRect.left;
40175
+ }
40176
+ function _ghostIsLast(evt, vertical, sortable) {
40177
+ var lastElRect = getRect(lastChild(sortable.el, sortable.options.draggable));
40178
+ var childContainingRect = getChildContainingRectFromElement(sortable.el, sortable.options, ghostEl);
40179
+ var spacer = 10;
40180
+ return vertical ? evt.clientX > childContainingRect.right + spacer || evt.clientY > lastElRect.bottom && evt.clientX > lastElRect.left : evt.clientY > childContainingRect.bottom + spacer || evt.clientX > lastElRect.right && evt.clientY > lastElRect.top;
40181
+ }
40182
+ function _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {
40183
+ var mouseOnAxis = vertical ? evt.clientY : evt.clientX,
40184
+ targetLength = vertical ? targetRect.height : targetRect.width,
40185
+ targetS1 = vertical ? targetRect.top : targetRect.left,
40186
+ targetS2 = vertical ? targetRect.bottom : targetRect.right,
40187
+ invert = false;
40188
+ if (!invertSwap) {
40189
+ // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold
40190
+ if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {
40191
+ // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2
40192
+ // check if past first invert threshold on side opposite of lastDirection
40193
+ if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {
40194
+ // past first invert threshold, do not restrict inverted threshold to dragEl shadow
40195
+ pastFirstInvertThresh = true;
40196
+ }
40197
+ if (!pastFirstInvertThresh) {
40198
+ // dragEl shadow (target move distance shadow)
40199
+ if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow
40200
+ : mouseOnAxis > targetS2 - targetMoveDistance) {
40201
+ return -lastDirection;
40202
+ }
40203
+ } else {
40204
+ invert = true;
40205
+ }
40206
+ } else {
40207
+ // Regular
40208
+ if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {
40209
+ return _getInsertDirection(target);
40210
+ }
40211
+ }
40212
+ }
40213
+ invert = invert || invertSwap;
40214
+ if (invert) {
40215
+ // Invert of regular
40216
+ if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {
40217
+ return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;
40218
+ }
40219
+ }
40220
+ return 0;
40221
+ }
40222
+
40223
+ /**
40224
+ * Gets the direction dragEl must be swapped relative to target in order to make it
40225
+ * seem that dragEl has been "inserted" into that element's position
40226
+ * @param {HTMLElement} target The target whose position dragEl is being inserted at
40227
+ * @return {Number} Direction dragEl must be swapped
40228
+ */
40229
+ function _getInsertDirection(target) {
40230
+ if (sortable_esm_index(dragEl) < sortable_esm_index(target)) {
40231
+ return 1;
40232
+ } else {
40233
+ return -1;
40234
+ }
40235
+ }
40236
+
40237
+ /**
40238
+ * Generate id
40239
+ * @param {HTMLElement} el
40240
+ * @returns {String}
40241
+ * @private
40242
+ */
40243
+ function _generateId(el) {
40244
+ var str = el.tagName + el.className + el.src + el.href + el.textContent,
40245
+ i = str.length,
40246
+ sum = 0;
40247
+ while (i--) {
40248
+ sum += str.charCodeAt(i);
40249
+ }
40250
+ return sum.toString(36);
40251
+ }
40252
+ function _saveInputCheckedState(root) {
40253
+ savedInputChecked.length = 0;
40254
+ var inputs = root.getElementsByTagName('input');
40255
+ var idx = inputs.length;
40256
+ while (idx--) {
40257
+ var el = inputs[idx];
40258
+ el.checked && savedInputChecked.push(el);
40259
+ }
40260
+ }
40261
+ function _nextTick(fn) {
40262
+ return setTimeout(fn, 0);
40263
+ }
40264
+ function _cancelNextTick(id) {
40265
+ return clearTimeout(id);
40266
+ }
40267
+
40268
+ // Fixed #973:
40269
+ if (documentExists) {
40270
+ on(document, 'touchmove', function (evt) {
40271
+ if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {
40272
+ evt.preventDefault();
40273
+ }
40274
+ });
40275
+ }
40276
+
40277
+ // Export utils
40278
+ Sortable.utils = {
40279
+ on: on,
40280
+ off: off,
40281
+ css: css,
40282
+ find: sortable_esm_find,
40283
+ is: function is(el, selector) {
40284
+ return !!closest(el, selector, el, false);
40285
+ },
40286
+ extend: extend,
40287
+ throttle: throttle,
40288
+ closest: closest,
40289
+ toggleClass: toggleClass,
40290
+ clone: clone,
40291
+ index: sortable_esm_index,
40292
+ nextTick: _nextTick,
40293
+ cancelNextTick: _cancelNextTick,
40294
+ detectDirection: _detectDirection,
40295
+ getChild: getChild
40296
+ };
40297
+
40298
+ /**
40299
+ * Get the Sortable instance of an element
40300
+ * @param {HTMLElement} element The element
40301
+ * @return {Sortable|undefined} The instance of Sortable
40302
+ */
40303
+ Sortable.get = function (element) {
40304
+ return element[expando];
40305
+ };
40306
+
40307
+ /**
40308
+ * Mount a plugin to Sortable
40309
+ * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted
40310
+ */
40311
+ Sortable.mount = function () {
40312
+ for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) {
40313
+ plugins[_key] = arguments[_key];
40314
+ }
40315
+ if (plugins[0].constructor === Array) plugins = plugins[0];
40316
+ plugins.forEach(function (plugin) {
40317
+ if (!plugin.prototype || !plugin.prototype.constructor) {
40318
+ throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(plugin));
40319
+ }
40320
+ if (plugin.utils) Sortable.utils = _objectSpread2(_objectSpread2({}, Sortable.utils), plugin.utils);
40321
+ PluginManager.mount(plugin);
40322
+ });
40323
+ };
40324
+
40325
+ /**
40326
+ * Create sortable instance
40327
+ * @param {HTMLElement} el
40328
+ * @param {Object} [options]
40329
+ */
40330
+ Sortable.create = function (el, options) {
40331
+ return new Sortable(el, options);
40332
+ };
40333
+
40334
+ // Export
40335
+ Sortable.version = version;
40336
+
40337
+ var autoScrolls = [],
40338
+ scrollEl,
40339
+ scrollRootEl,
40340
+ scrolling = false,
40341
+ lastAutoScrollX,
40342
+ lastAutoScrollY,
40343
+ touchEvt$1,
40344
+ pointerElemChangedInterval;
40345
+ function AutoScrollPlugin() {
40346
+ function AutoScroll() {
40347
+ this.defaults = {
40348
+ scroll: true,
40349
+ forceAutoScrollFallback: false,
40350
+ scrollSensitivity: 30,
40351
+ scrollSpeed: 10,
40352
+ bubbleScroll: true
40353
+ };
40354
+
40355
+ // Bind all private methods
40356
+ for (var fn in this) {
40357
+ if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {
40358
+ this[fn] = this[fn].bind(this);
40359
+ }
40360
+ }
40361
+ }
40362
+ AutoScroll.prototype = {
40363
+ dragStarted: function dragStarted(_ref) {
40364
+ var originalEvent = _ref.originalEvent;
40365
+ if (this.sortable.nativeDraggable) {
40366
+ on(document, 'dragover', this._handleAutoScroll);
40367
+ } else {
40368
+ if (this.options.supportPointer) {
40369
+ on(document, 'pointermove', this._handleFallbackAutoScroll);
40370
+ } else if (originalEvent.touches) {
40371
+ on(document, 'touchmove', this._handleFallbackAutoScroll);
40372
+ } else {
40373
+ on(document, 'mousemove', this._handleFallbackAutoScroll);
40374
+ }
40375
+ }
40376
+ },
40377
+ dragOverCompleted: function dragOverCompleted(_ref2) {
40378
+ var originalEvent = _ref2.originalEvent;
40379
+ // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached)
40380
+ if (!this.options.dragOverBubble && !originalEvent.rootEl) {
40381
+ this._handleAutoScroll(originalEvent);
40382
+ }
40383
+ },
40384
+ drop: function drop() {
40385
+ if (this.sortable.nativeDraggable) {
40386
+ off(document, 'dragover', this._handleAutoScroll);
40387
+ } else {
40388
+ off(document, 'pointermove', this._handleFallbackAutoScroll);
40389
+ off(document, 'touchmove', this._handleFallbackAutoScroll);
40390
+ off(document, 'mousemove', this._handleFallbackAutoScroll);
40391
+ }
40392
+ clearPointerElemChangedInterval();
40393
+ clearAutoScrolls();
40394
+ cancelThrottle();
40395
+ },
40396
+ nulling: function nulling() {
40397
+ touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;
40398
+ autoScrolls.length = 0;
40399
+ },
40400
+ _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {
40401
+ this._handleAutoScroll(evt, true);
40402
+ },
40403
+ _handleAutoScroll: function _handleAutoScroll(evt, fallback) {
40404
+ var _this = this;
40405
+ var x = (evt.touches ? evt.touches[0] : evt).clientX,
40406
+ y = (evt.touches ? evt.touches[0] : evt).clientY,
40407
+ elem = document.elementFromPoint(x, y);
40408
+ touchEvt$1 = evt;
40409
+
40410
+ // IE does not seem to have native autoscroll,
40411
+ // Edge's autoscroll seems too conditional,
40412
+ // MACOS Safari does not have autoscroll,
40413
+ // Firefox and Chrome are good
40414
+ if (fallback || this.options.forceAutoScrollFallback || Edge || IE11OrLess || Safari) {
40415
+ autoScroll(evt, this.options, elem, fallback);
40416
+
40417
+ // Listener for pointer element change
40418
+ var ogElemScroller = getParentAutoScrollElement(elem, true);
40419
+ if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {
40420
+ pointerElemChangedInterval && clearPointerElemChangedInterval();
40421
+ // Detect for pointer elem change, emulating native DnD behaviour
40422
+ pointerElemChangedInterval = setInterval(function () {
40423
+ var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);
40424
+ if (newElem !== ogElemScroller) {
40425
+ ogElemScroller = newElem;
40426
+ clearAutoScrolls();
40427
+ }
40428
+ autoScroll(evt, _this.options, newElem, fallback);
40429
+ }, 10);
40430
+ lastAutoScrollX = x;
40431
+ lastAutoScrollY = y;
40432
+ }
40433
+ } else {
40434
+ // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll
40435
+ if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {
40436
+ clearAutoScrolls();
40437
+ return;
40438
+ }
40439
+ autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);
40440
+ }
40441
+ }
40442
+ };
40443
+ return _extends(AutoScroll, {
40444
+ pluginName: 'scroll',
40445
+ initializeByDefault: true
40446
+ });
40447
+ }
40448
+ function clearAutoScrolls() {
40449
+ autoScrolls.forEach(function (autoScroll) {
40450
+ clearInterval(autoScroll.pid);
40451
+ });
40452
+ autoScrolls = [];
40453
+ }
40454
+ function clearPointerElemChangedInterval() {
40455
+ clearInterval(pointerElemChangedInterval);
40456
+ }
40457
+ var autoScroll = throttle(function (evt, options, rootEl, isFallback) {
40458
+ // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521
40459
+ if (!options.scroll) return;
40460
+ var x = (evt.touches ? evt.touches[0] : evt).clientX,
40461
+ y = (evt.touches ? evt.touches[0] : evt).clientY,
40462
+ sens = options.scrollSensitivity,
40463
+ speed = options.scrollSpeed,
40464
+ winScroller = getWindowScrollingElement();
40465
+ var scrollThisInstance = false,
40466
+ scrollCustomFn;
40467
+
40468
+ // New scroll root, set scrollEl
40469
+ if (scrollRootEl !== rootEl) {
40470
+ scrollRootEl = rootEl;
40471
+ clearAutoScrolls();
40472
+ scrollEl = options.scroll;
40473
+ scrollCustomFn = options.scrollFn;
40474
+ if (scrollEl === true) {
40475
+ scrollEl = getParentAutoScrollElement(rootEl, true);
40476
+ }
40477
+ }
40478
+ var layersOut = 0;
40479
+ var currentParent = scrollEl;
40480
+ do {
40481
+ var el = currentParent,
40482
+ rect = getRect(el),
40483
+ top = rect.top,
40484
+ bottom = rect.bottom,
40485
+ left = rect.left,
40486
+ right = rect.right,
40487
+ width = rect.width,
40488
+ height = rect.height,
40489
+ canScrollX = void 0,
40490
+ canScrollY = void 0,
40491
+ scrollWidth = el.scrollWidth,
40492
+ scrollHeight = el.scrollHeight,
40493
+ elCSS = css(el),
40494
+ scrollPosX = el.scrollLeft,
40495
+ scrollPosY = el.scrollTop;
40496
+ if (el === winScroller) {
40497
+ canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible');
40498
+ canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible');
40499
+ } else {
40500
+ canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll');
40501
+ canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll');
40502
+ }
40503
+ var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX);
40504
+ var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY);
40505
+ if (!autoScrolls[layersOut]) {
40506
+ for (var i = 0; i <= layersOut; i++) {
40507
+ if (!autoScrolls[i]) {
40508
+ autoScrolls[i] = {};
40509
+ }
40510
+ }
40511
+ }
40512
+ if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {
40513
+ autoScrolls[layersOut].el = el;
40514
+ autoScrolls[layersOut].vx = vx;
40515
+ autoScrolls[layersOut].vy = vy;
40516
+ clearInterval(autoScrolls[layersOut].pid);
40517
+ if (vx != 0 || vy != 0) {
40518
+ scrollThisInstance = true;
40519
+ /* jshint loopfunc:true */
40520
+ autoScrolls[layersOut].pid = setInterval(function () {
40521
+ // emulate drag over during autoscroll (fallback), emulating native DnD behaviour
40522
+ if (isFallback && this.layer === 0) {
40523
+ Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely
40524
+ }
40525
+ var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;
40526
+ var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;
40527
+ if (typeof scrollCustomFn === 'function') {
40528
+ if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') {
40529
+ return;
40530
+ }
40531
+ }
40532
+ scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);
40533
+ }.bind({
40534
+ layer: layersOut
40535
+ }), 24);
40536
+ }
40537
+ }
40538
+ layersOut++;
40539
+ } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));
40540
+ scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not
40541
+ }, 30);
40542
+
40543
+ var drop = function drop(_ref) {
40544
+ var originalEvent = _ref.originalEvent,
40545
+ putSortable = _ref.putSortable,
40546
+ dragEl = _ref.dragEl,
40547
+ activeSortable = _ref.activeSortable,
40548
+ dispatchSortableEvent = _ref.dispatchSortableEvent,
40549
+ hideGhostForTarget = _ref.hideGhostForTarget,
40550
+ unhideGhostForTarget = _ref.unhideGhostForTarget;
40551
+ if (!originalEvent) return;
40552
+ var toSortable = putSortable || activeSortable;
40553
+ hideGhostForTarget();
40554
+ var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;
40555
+ var target = document.elementFromPoint(touch.clientX, touch.clientY);
40556
+ unhideGhostForTarget();
40557
+ if (toSortable && !toSortable.el.contains(target)) {
40558
+ dispatchSortableEvent('spill');
40559
+ this.onSpill({
40560
+ dragEl: dragEl,
40561
+ putSortable: putSortable
40562
+ });
40563
+ }
40564
+ };
40565
+ function Revert() {}
40566
+ Revert.prototype = {
40567
+ startIndex: null,
40568
+ dragStart: function dragStart(_ref2) {
40569
+ var oldDraggableIndex = _ref2.oldDraggableIndex;
40570
+ this.startIndex = oldDraggableIndex;
40571
+ },
40572
+ onSpill: function onSpill(_ref3) {
40573
+ var dragEl = _ref3.dragEl,
40574
+ putSortable = _ref3.putSortable;
40575
+ this.sortable.captureAnimationState();
40576
+ if (putSortable) {
40577
+ putSortable.captureAnimationState();
40578
+ }
40579
+ var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);
40580
+ if (nextSibling) {
40581
+ this.sortable.el.insertBefore(dragEl, nextSibling);
40582
+ } else {
40583
+ this.sortable.el.appendChild(dragEl);
40584
+ }
40585
+ this.sortable.animateAll();
40586
+ if (putSortable) {
40587
+ putSortable.animateAll();
40588
+ }
40589
+ },
40590
+ drop: drop
40591
+ };
40592
+ _extends(Revert, {
40593
+ pluginName: 'revertOnSpill'
40594
+ });
40595
+ function Remove() {}
40596
+ Remove.prototype = {
40597
+ onSpill: function onSpill(_ref4) {
40598
+ var dragEl = _ref4.dragEl,
40599
+ putSortable = _ref4.putSortable;
40600
+ var parentSortable = putSortable || this.sortable;
40601
+ parentSortable.captureAnimationState();
40602
+ dragEl.parentNode && dragEl.parentNode.removeChild(dragEl);
40603
+ parentSortable.animateAll();
40604
+ },
40605
+ drop: drop
40606
+ };
40607
+ _extends(Remove, {
40608
+ pluginName: 'removeOnSpill'
40609
+ });
40610
+
40611
+ var lastSwapEl;
40612
+ function SwapPlugin() {
40613
+ function Swap() {
40614
+ this.defaults = {
40615
+ swapClass: 'sortable-swap-highlight'
40616
+ };
40617
+ }
40618
+ Swap.prototype = {
40619
+ dragStart: function dragStart(_ref) {
40620
+ var dragEl = _ref.dragEl;
40621
+ lastSwapEl = dragEl;
40622
+ },
40623
+ dragOverValid: function dragOverValid(_ref2) {
40624
+ var completed = _ref2.completed,
40625
+ target = _ref2.target,
40626
+ onMove = _ref2.onMove,
40627
+ activeSortable = _ref2.activeSortable,
40628
+ changed = _ref2.changed,
40629
+ cancel = _ref2.cancel;
40630
+ if (!activeSortable.options.swap) return;
40631
+ var el = this.sortable.el,
40632
+ options = this.options;
40633
+ if (target && target !== el) {
40634
+ var prevSwapEl = lastSwapEl;
40635
+ if (onMove(target) !== false) {
40636
+ toggleClass(target, options.swapClass, true);
40637
+ lastSwapEl = target;
40638
+ } else {
40639
+ lastSwapEl = null;
40640
+ }
40641
+ if (prevSwapEl && prevSwapEl !== lastSwapEl) {
40642
+ toggleClass(prevSwapEl, options.swapClass, false);
40643
+ }
40644
+ }
40645
+ changed();
40646
+ completed(true);
40647
+ cancel();
40648
+ },
40649
+ drop: function drop(_ref3) {
40650
+ var activeSortable = _ref3.activeSortable,
40651
+ putSortable = _ref3.putSortable,
40652
+ dragEl = _ref3.dragEl;
40653
+ var toSortable = putSortable || this.sortable;
40654
+ var options = this.options;
40655
+ lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false);
40656
+ if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) {
40657
+ if (dragEl !== lastSwapEl) {
40658
+ toSortable.captureAnimationState();
40659
+ if (toSortable !== activeSortable) activeSortable.captureAnimationState();
40660
+ swapNodes(dragEl, lastSwapEl);
40661
+ toSortable.animateAll();
40662
+ if (toSortable !== activeSortable) activeSortable.animateAll();
40663
+ }
40664
+ }
40665
+ },
40666
+ nulling: function nulling() {
40667
+ lastSwapEl = null;
40668
+ }
40669
+ };
40670
+ return _extends(Swap, {
40671
+ pluginName: 'swap',
40672
+ eventProperties: function eventProperties() {
40673
+ return {
40674
+ swapItem: lastSwapEl
40675
+ };
40676
+ }
40677
+ });
40678
+ }
40679
+ function swapNodes(n1, n2) {
40680
+ var p1 = n1.parentNode,
40681
+ p2 = n2.parentNode,
40682
+ i1,
40683
+ i2;
40684
+ if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return;
40685
+ i1 = sortable_esm_index(n1);
40686
+ i2 = sortable_esm_index(n2);
40687
+ if (p1.isEqualNode(p2) && i1 < i2) {
40688
+ i2++;
40689
+ }
40690
+ p1.insertBefore(n2, p1.children[i1]);
40691
+ p2.insertBefore(n1, p2.children[i2]);
40692
+ }
40693
+
40694
+ var multiDragElements = (/* unused pure expression or super */ null && ([])),
40695
+ multiDragClones = (/* unused pure expression or super */ null && ([])),
40696
+ lastMultiDragSelect,
40697
+ // for selection with modifier key down (SHIFT)
40698
+ multiDragSortable,
40699
+ initialFolding = false,
40700
+ // Initial multi-drag fold when drag started
40701
+ folding = false,
40702
+ // Folding any other time
40703
+ dragStarted = false,
40704
+ dragEl$1,
40705
+ clonesFromRect,
40706
+ clonesHidden;
40707
+ function MultiDragPlugin() {
40708
+ function MultiDrag(sortable) {
40709
+ // Bind all private methods
40710
+ for (var fn in this) {
40711
+ if (fn.charAt(0) === '_' && typeof this[fn] === 'function') {
40712
+ this[fn] = this[fn].bind(this);
40713
+ }
40714
+ }
40715
+ if (!sortable.options.avoidImplicitDeselect) {
40716
+ if (sortable.options.supportPointer) {
40717
+ on(document, 'pointerup', this._deselectMultiDrag);
40718
+ } else {
40719
+ on(document, 'mouseup', this._deselectMultiDrag);
40720
+ on(document, 'touchend', this._deselectMultiDrag);
40721
+ }
40722
+ }
40723
+ on(document, 'keydown', this._checkKeyDown);
40724
+ on(document, 'keyup', this._checkKeyUp);
40725
+ this.defaults = {
40726
+ selectedClass: 'sortable-selected',
40727
+ multiDragKey: null,
40728
+ avoidImplicitDeselect: false,
40729
+ setData: function setData(dataTransfer, dragEl) {
40730
+ var data = '';
40731
+ if (multiDragElements.length && multiDragSortable === sortable) {
40732
+ multiDragElements.forEach(function (multiDragElement, i) {
40733
+ data += (!i ? '' : ', ') + multiDragElement.textContent;
40734
+ });
40735
+ } else {
40736
+ data = dragEl.textContent;
40737
+ }
40738
+ dataTransfer.setData('Text', data);
40739
+ }
40740
+ };
40741
+ }
40742
+ MultiDrag.prototype = {
40743
+ multiDragKeyDown: false,
40744
+ isMultiDrag: false,
40745
+ delayStartGlobal: function delayStartGlobal(_ref) {
40746
+ var dragged = _ref.dragEl;
40747
+ dragEl$1 = dragged;
40748
+ },
40749
+ delayEnded: function delayEnded() {
40750
+ this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1);
40751
+ },
40752
+ setupClone: function setupClone(_ref2) {
40753
+ var sortable = _ref2.sortable,
40754
+ cancel = _ref2.cancel;
40755
+ if (!this.isMultiDrag) return;
40756
+ for (var i = 0; i < multiDragElements.length; i++) {
40757
+ multiDragClones.push(clone(multiDragElements[i]));
40758
+ multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex;
40759
+ multiDragClones[i].draggable = false;
40760
+ multiDragClones[i].style['will-change'] = '';
40761
+ toggleClass(multiDragClones[i], this.options.selectedClass, false);
40762
+ multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false);
40763
+ }
40764
+ sortable._hideClone();
40765
+ cancel();
40766
+ },
40767
+ clone: function clone(_ref3) {
40768
+ var sortable = _ref3.sortable,
40769
+ rootEl = _ref3.rootEl,
40770
+ dispatchSortableEvent = _ref3.dispatchSortableEvent,
40771
+ cancel = _ref3.cancel;
40772
+ if (!this.isMultiDrag) return;
40773
+ if (!this.options.removeCloneOnHide) {
40774
+ if (multiDragElements.length && multiDragSortable === sortable) {
40775
+ insertMultiDragClones(true, rootEl);
40776
+ dispatchSortableEvent('clone');
40777
+ cancel();
40778
+ }
40779
+ }
40780
+ },
40781
+ showClone: function showClone(_ref4) {
40782
+ var cloneNowShown = _ref4.cloneNowShown,
40783
+ rootEl = _ref4.rootEl,
40784
+ cancel = _ref4.cancel;
40785
+ if (!this.isMultiDrag) return;
40786
+ insertMultiDragClones(false, rootEl);
40787
+ multiDragClones.forEach(function (clone) {
40788
+ css(clone, 'display', '');
40789
+ });
40790
+ cloneNowShown();
40791
+ clonesHidden = false;
40792
+ cancel();
40793
+ },
40794
+ hideClone: function hideClone(_ref5) {
40795
+ var _this = this;
40796
+ var sortable = _ref5.sortable,
40797
+ cloneNowHidden = _ref5.cloneNowHidden,
40798
+ cancel = _ref5.cancel;
40799
+ if (!this.isMultiDrag) return;
40800
+ multiDragClones.forEach(function (clone) {
40801
+ css(clone, 'display', 'none');
40802
+ if (_this.options.removeCloneOnHide && clone.parentNode) {
40803
+ clone.parentNode.removeChild(clone);
40804
+ }
40805
+ });
40806
+ cloneNowHidden();
40807
+ clonesHidden = true;
40808
+ cancel();
40809
+ },
40810
+ dragStartGlobal: function dragStartGlobal(_ref6) {
40811
+ var sortable = _ref6.sortable;
40812
+ if (!this.isMultiDrag && multiDragSortable) {
40813
+ multiDragSortable.multiDrag._deselectMultiDrag();
40814
+ }
40815
+ multiDragElements.forEach(function (multiDragElement) {
40816
+ multiDragElement.sortableIndex = sortable_esm_index(multiDragElement);
40817
+ });
40818
+
40819
+ // Sort multi-drag elements
40820
+ multiDragElements = multiDragElements.sort(function (a, b) {
40821
+ return a.sortableIndex - b.sortableIndex;
40822
+ });
40823
+ dragStarted = true;
40824
+ },
40825
+ dragStarted: function dragStarted(_ref7) {
40826
+ var _this2 = this;
40827
+ var sortable = _ref7.sortable;
40828
+ if (!this.isMultiDrag) return;
40829
+ if (this.options.sort) {
40830
+ // Capture rects,
40831
+ // hide multi drag elements (by positioning them absolute),
40832
+ // set multi drag elements rects to dragRect,
40833
+ // show multi drag elements,
40834
+ // animate to rects,
40835
+ // unset rects & remove from DOM
40836
+
40837
+ sortable.captureAnimationState();
40838
+ if (this.options.animation) {
40839
+ multiDragElements.forEach(function (multiDragElement) {
40840
+ if (multiDragElement === dragEl$1) return;
40841
+ css(multiDragElement, 'position', 'absolute');
40842
+ });
40843
+ var dragRect = getRect(dragEl$1, false, true, true);
40844
+ multiDragElements.forEach(function (multiDragElement) {
40845
+ if (multiDragElement === dragEl$1) return;
40846
+ setRect(multiDragElement, dragRect);
40847
+ });
40848
+ folding = true;
40849
+ initialFolding = true;
40850
+ }
40851
+ }
40852
+ sortable.animateAll(function () {
40853
+ folding = false;
40854
+ initialFolding = false;
40855
+ if (_this2.options.animation) {
40856
+ multiDragElements.forEach(function (multiDragElement) {
40857
+ unsetRect(multiDragElement);
40858
+ });
40859
+ }
40860
+
40861
+ // Remove all auxiliary multidrag items from el, if sorting enabled
40862
+ if (_this2.options.sort) {
40863
+ removeMultiDragElements();
40864
+ }
40865
+ });
40866
+ },
40867
+ dragOver: function dragOver(_ref8) {
40868
+ var target = _ref8.target,
40869
+ completed = _ref8.completed,
40870
+ cancel = _ref8.cancel;
40871
+ if (folding && ~multiDragElements.indexOf(target)) {
40872
+ completed(false);
40873
+ cancel();
40874
+ }
40875
+ },
40876
+ revert: function revert(_ref9) {
40877
+ var fromSortable = _ref9.fromSortable,
40878
+ rootEl = _ref9.rootEl,
40879
+ sortable = _ref9.sortable,
40880
+ dragRect = _ref9.dragRect;
40881
+ if (multiDragElements.length > 1) {
40882
+ // Setup unfold animation
40883
+ multiDragElements.forEach(function (multiDragElement) {
40884
+ sortable.addAnimationState({
40885
+ target: multiDragElement,
40886
+ rect: folding ? getRect(multiDragElement) : dragRect
40887
+ });
40888
+ unsetRect(multiDragElement);
40889
+ multiDragElement.fromRect = dragRect;
40890
+ fromSortable.removeAnimationState(multiDragElement);
40891
+ });
40892
+ folding = false;
40893
+ insertMultiDragElements(!this.options.removeCloneOnHide, rootEl);
40894
+ }
40895
+ },
40896
+ dragOverCompleted: function dragOverCompleted(_ref10) {
40897
+ var sortable = _ref10.sortable,
40898
+ isOwner = _ref10.isOwner,
40899
+ insertion = _ref10.insertion,
40900
+ activeSortable = _ref10.activeSortable,
40901
+ parentEl = _ref10.parentEl,
40902
+ putSortable = _ref10.putSortable;
40903
+ var options = this.options;
40904
+ if (insertion) {
40905
+ // Clones must be hidden before folding animation to capture dragRectAbsolute properly
40906
+ if (isOwner) {
40907
+ activeSortable._hideClone();
40908
+ }
40909
+ initialFolding = false;
40910
+ // If leaving sort:false root, or already folding - Fold to new location
40911
+ if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) {
40912
+ // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible
40913
+ var dragRectAbsolute = getRect(dragEl$1, false, true, true);
40914
+ multiDragElements.forEach(function (multiDragElement) {
40915
+ if (multiDragElement === dragEl$1) return;
40916
+ setRect(multiDragElement, dragRectAbsolute);
40917
+
40918
+ // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted
40919
+ // while folding, and so that we can capture them again because old sortable will no longer be fromSortable
40920
+ parentEl.appendChild(multiDragElement);
40921
+ });
40922
+ folding = true;
40923
+ }
40924
+
40925
+ // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out
40926
+ if (!isOwner) {
40927
+ // Only remove if not folding (folding will remove them anyways)
40928
+ if (!folding) {
40929
+ removeMultiDragElements();
40930
+ }
40931
+ if (multiDragElements.length > 1) {
40932
+ var clonesHiddenBefore = clonesHidden;
40933
+ activeSortable._showClone(sortable);
40934
+
40935
+ // Unfold animation for clones if showing from hidden
40936
+ if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) {
40937
+ multiDragClones.forEach(function (clone) {
40938
+ activeSortable.addAnimationState({
40939
+ target: clone,
40940
+ rect: clonesFromRect
40941
+ });
40942
+ clone.fromRect = clonesFromRect;
40943
+ clone.thisAnimationDuration = null;
40944
+ });
40945
+ }
40946
+ } else {
40947
+ activeSortable._showClone(sortable);
40948
+ }
40949
+ }
40950
+ }
40951
+ },
40952
+ dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) {
40953
+ var dragRect = _ref11.dragRect,
40954
+ isOwner = _ref11.isOwner,
40955
+ activeSortable = _ref11.activeSortable;
40956
+ multiDragElements.forEach(function (multiDragElement) {
40957
+ multiDragElement.thisAnimationDuration = null;
40958
+ });
40959
+ if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) {
40960
+ clonesFromRect = _extends({}, dragRect);
40961
+ var dragMatrix = matrix(dragEl$1, true);
40962
+ clonesFromRect.top -= dragMatrix.f;
40963
+ clonesFromRect.left -= dragMatrix.e;
40964
+ }
40965
+ },
40966
+ dragOverAnimationComplete: function dragOverAnimationComplete() {
40967
+ if (folding) {
40968
+ folding = false;
40969
+ removeMultiDragElements();
40970
+ }
40971
+ },
40972
+ drop: function drop(_ref12) {
40973
+ var evt = _ref12.originalEvent,
40974
+ rootEl = _ref12.rootEl,
40975
+ parentEl = _ref12.parentEl,
40976
+ sortable = _ref12.sortable,
40977
+ dispatchSortableEvent = _ref12.dispatchSortableEvent,
40978
+ oldIndex = _ref12.oldIndex,
40979
+ putSortable = _ref12.putSortable;
40980
+ var toSortable = putSortable || this.sortable;
40981
+ if (!evt) return;
40982
+ var options = this.options,
40983
+ children = parentEl.children;
40984
+
40985
+ // Multi-drag selection
40986
+ if (!dragStarted) {
40987
+ if (options.multiDragKey && !this.multiDragKeyDown) {
40988
+ this._deselectMultiDrag();
40989
+ }
40990
+ toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1));
40991
+ if (!~multiDragElements.indexOf(dragEl$1)) {
40992
+ multiDragElements.push(dragEl$1);
40993
+ dispatchEvent({
40994
+ sortable: sortable,
40995
+ rootEl: rootEl,
40996
+ name: 'select',
40997
+ targetEl: dragEl$1,
40998
+ originalEvent: evt
40999
+ });
41000
+
41001
+ // Modifier activated, select from last to dragEl
41002
+ if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) {
41003
+ var lastIndex = sortable_esm_index(lastMultiDragSelect),
41004
+ currentIndex = sortable_esm_index(dragEl$1);
41005
+ if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) {
41006
+ // Must include lastMultiDragSelect (select it), in case modified selection from no selection
41007
+ // (but previous selection existed)
41008
+ var n, i;
41009
+ if (currentIndex > lastIndex) {
41010
+ i = lastIndex;
41011
+ n = currentIndex;
41012
+ } else {
41013
+ i = currentIndex;
41014
+ n = lastIndex + 1;
41015
+ }
41016
+ for (; i < n; i++) {
41017
+ if (~multiDragElements.indexOf(children[i])) continue;
41018
+ toggleClass(children[i], options.selectedClass, true);
41019
+ multiDragElements.push(children[i]);
41020
+ dispatchEvent({
41021
+ sortable: sortable,
41022
+ rootEl: rootEl,
41023
+ name: 'select',
41024
+ targetEl: children[i],
41025
+ originalEvent: evt
41026
+ });
41027
+ }
41028
+ }
41029
+ } else {
41030
+ lastMultiDragSelect = dragEl$1;
41031
+ }
41032
+ multiDragSortable = toSortable;
41033
+ } else {
41034
+ multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1);
41035
+ lastMultiDragSelect = null;
41036
+ dispatchEvent({
41037
+ sortable: sortable,
41038
+ rootEl: rootEl,
41039
+ name: 'deselect',
41040
+ targetEl: dragEl$1,
41041
+ originalEvent: evt
41042
+ });
41043
+ }
41044
+ }
41045
+
41046
+ // Multi-drag drop
41047
+ if (dragStarted && this.isMultiDrag) {
41048
+ folding = false;
41049
+ // Do not "unfold" after around dragEl if reverted
41050
+ if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) {
41051
+ var dragRect = getRect(dragEl$1),
41052
+ multiDragIndex = sortable_esm_index(dragEl$1, ':not(.' + this.options.selectedClass + ')');
41053
+ if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null;
41054
+ toSortable.captureAnimationState();
41055
+ if (!initialFolding) {
41056
+ if (options.animation) {
41057
+ dragEl$1.fromRect = dragRect;
41058
+ multiDragElements.forEach(function (multiDragElement) {
41059
+ multiDragElement.thisAnimationDuration = null;
41060
+ if (multiDragElement !== dragEl$1) {
41061
+ var rect = folding ? getRect(multiDragElement) : dragRect;
41062
+ multiDragElement.fromRect = rect;
41063
+
41064
+ // Prepare unfold animation
41065
+ toSortable.addAnimationState({
41066
+ target: multiDragElement,
41067
+ rect: rect
41068
+ });
41069
+ }
41070
+ });
41071
+ }
41072
+
41073
+ // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert
41074
+ // properly they must all be removed
41075
+ removeMultiDragElements();
41076
+ multiDragElements.forEach(function (multiDragElement) {
41077
+ if (children[multiDragIndex]) {
41078
+ parentEl.insertBefore(multiDragElement, children[multiDragIndex]);
41079
+ } else {
41080
+ parentEl.appendChild(multiDragElement);
41081
+ }
41082
+ multiDragIndex++;
41083
+ });
41084
+
41085
+ // If initial folding is done, the elements may have changed position because they are now
41086
+ // unfolding around dragEl, even though dragEl may not have his index changed, so update event
41087
+ // must be fired here as Sortable will not.
41088
+ if (oldIndex === sortable_esm_index(dragEl$1)) {
41089
+ var update = false;
41090
+ multiDragElements.forEach(function (multiDragElement) {
41091
+ if (multiDragElement.sortableIndex !== sortable_esm_index(multiDragElement)) {
41092
+ update = true;
41093
+ return;
41094
+ }
41095
+ });
41096
+ if (update) {
41097
+ dispatchSortableEvent('update');
41098
+ dispatchSortableEvent('sort');
41099
+ }
41100
+ }
41101
+ }
41102
+
41103
+ // Must be done after capturing individual rects (scroll bar)
41104
+ multiDragElements.forEach(function (multiDragElement) {
41105
+ unsetRect(multiDragElement);
41106
+ });
41107
+ toSortable.animateAll();
41108
+ }
41109
+ multiDragSortable = toSortable;
41110
+ }
41111
+
41112
+ // Remove clones if necessary
41113
+ if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') {
41114
+ multiDragClones.forEach(function (clone) {
41115
+ clone.parentNode && clone.parentNode.removeChild(clone);
41116
+ });
41117
+ }
41118
+ },
41119
+ nullingGlobal: function nullingGlobal() {
41120
+ this.isMultiDrag = dragStarted = false;
41121
+ multiDragClones.length = 0;
41122
+ },
41123
+ destroyGlobal: function destroyGlobal() {
41124
+ this._deselectMultiDrag();
41125
+ off(document, 'pointerup', this._deselectMultiDrag);
41126
+ off(document, 'mouseup', this._deselectMultiDrag);
41127
+ off(document, 'touchend', this._deselectMultiDrag);
41128
+ off(document, 'keydown', this._checkKeyDown);
41129
+ off(document, 'keyup', this._checkKeyUp);
41130
+ },
41131
+ _deselectMultiDrag: function _deselectMultiDrag(evt) {
41132
+ if (typeof dragStarted !== "undefined" && dragStarted) return;
41133
+
41134
+ // Only deselect if selection is in this sortable
41135
+ if (multiDragSortable !== this.sortable) return;
41136
+
41137
+ // Only deselect if target is not item in this sortable
41138
+ if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return;
41139
+
41140
+ // Only deselect if left click
41141
+ if (evt && evt.button !== 0) return;
41142
+ while (multiDragElements.length) {
41143
+ var el = multiDragElements[0];
41144
+ toggleClass(el, this.options.selectedClass, false);
41145
+ multiDragElements.shift();
41146
+ dispatchEvent({
41147
+ sortable: this.sortable,
41148
+ rootEl: this.sortable.el,
41149
+ name: 'deselect',
41150
+ targetEl: el,
41151
+ originalEvent: evt
41152
+ });
41153
+ }
41154
+ },
41155
+ _checkKeyDown: function _checkKeyDown(evt) {
41156
+ if (evt.key === this.options.multiDragKey) {
41157
+ this.multiDragKeyDown = true;
41158
+ }
41159
+ },
41160
+ _checkKeyUp: function _checkKeyUp(evt) {
41161
+ if (evt.key === this.options.multiDragKey) {
41162
+ this.multiDragKeyDown = false;
41163
+ }
41164
+ }
41165
+ };
41166
+ return _extends(MultiDrag, {
41167
+ // Static methods & properties
41168
+ pluginName: 'multiDrag',
41169
+ utils: {
41170
+ /**
41171
+ * Selects the provided multi-drag item
41172
+ * @param {HTMLElement} el The element to be selected
41173
+ */
41174
+ select: function select(el) {
41175
+ var sortable = el.parentNode[expando];
41176
+ if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return;
41177
+ if (multiDragSortable && multiDragSortable !== sortable) {
41178
+ multiDragSortable.multiDrag._deselectMultiDrag();
41179
+ multiDragSortable = sortable;
41180
+ }
41181
+ toggleClass(el, sortable.options.selectedClass, true);
41182
+ multiDragElements.push(el);
41183
+ },
41184
+ /**
41185
+ * Deselects the provided multi-drag item
41186
+ * @param {HTMLElement} el The element to be deselected
41187
+ */
41188
+ deselect: function deselect(el) {
41189
+ var sortable = el.parentNode[expando],
41190
+ index = multiDragElements.indexOf(el);
41191
+ if (!sortable || !sortable.options.multiDrag || !~index) return;
41192
+ toggleClass(el, sortable.options.selectedClass, false);
41193
+ multiDragElements.splice(index, 1);
41194
+ }
41195
+ },
41196
+ eventProperties: function eventProperties() {
41197
+ var _this3 = this;
41198
+ var oldIndicies = [],
41199
+ newIndicies = [];
41200
+ multiDragElements.forEach(function (multiDragElement) {
41201
+ oldIndicies.push({
41202
+ multiDragElement: multiDragElement,
41203
+ index: multiDragElement.sortableIndex
41204
+ });
41205
+
41206
+ // multiDragElements will already be sorted if folding
41207
+ var newIndex;
41208
+ if (folding && multiDragElement !== dragEl$1) {
41209
+ newIndex = -1;
41210
+ } else if (folding) {
41211
+ newIndex = sortable_esm_index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')');
41212
+ } else {
41213
+ newIndex = sortable_esm_index(multiDragElement);
41214
+ }
41215
+ newIndicies.push({
41216
+ multiDragElement: multiDragElement,
41217
+ index: newIndex
41218
+ });
41219
+ });
41220
+ return {
41221
+ items: _toConsumableArray(multiDragElements),
41222
+ clones: [].concat(multiDragClones),
41223
+ oldIndicies: oldIndicies,
41224
+ newIndicies: newIndicies
41225
+ };
41226
+ },
41227
+ optionListeners: {
41228
+ multiDragKey: function multiDragKey(key) {
41229
+ key = key.toLowerCase();
41230
+ if (key === 'ctrl') {
41231
+ key = 'Control';
41232
+ } else if (key.length > 1) {
41233
+ key = key.charAt(0).toUpperCase() + key.substr(1);
41234
+ }
41235
+ return key;
41236
+ }
41237
+ }
41238
+ });
41239
+ }
41240
+ function insertMultiDragElements(clonesInserted, rootEl) {
41241
+ multiDragElements.forEach(function (multiDragElement, i) {
41242
+ var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)];
41243
+ if (target) {
41244
+ rootEl.insertBefore(multiDragElement, target);
41245
+ } else {
41246
+ rootEl.appendChild(multiDragElement);
41247
+ }
41248
+ });
41249
+ }
41250
+
41251
+ /**
41252
+ * Insert multi-drag clones
41253
+ * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted
41254
+ * @param {HTMLElement} rootEl
41255
+ */
41256
+ function insertMultiDragClones(elementsInserted, rootEl) {
41257
+ multiDragClones.forEach(function (clone, i) {
41258
+ var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)];
41259
+ if (target) {
41260
+ rootEl.insertBefore(clone, target);
41261
+ } else {
41262
+ rootEl.appendChild(clone);
41263
+ }
41264
+ });
41265
+ }
41266
+ function removeMultiDragElements() {
41267
+ multiDragElements.forEach(function (multiDragElement) {
41268
+ if (multiDragElement === dragEl$1) return;
41269
+ multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement);
41270
+ });
41271
+ }
41272
+
41273
+ Sortable.mount(new AutoScrollPlugin());
41274
+ Sortable.mount(Remove, Revert);
41275
+
41276
+ /* harmony default export */ var sortable_esm = (Sortable);
41277
+
41278
+
37925
41279
  ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecyoa/email/src/xieyoujian.vue?vue&type=script&lang=js
37926
41280
  function xieyoujianvue_type_script_lang_js_typeof(o) { "@babel/helpers - typeof"; return xieyoujianvue_type_script_lang_js_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, xieyoujianvue_type_script_lang_js_typeof(o); }
37927
41281
  function xieyoujianvue_type_script_lang_js_regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ xieyoujianvue_type_script_lang_js_regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == xieyoujianvue_type_script_lang_js_typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(xieyoujianvue_type_script_lang_js_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
37928
41282
  function xieyoujianvue_type_script_lang_js_asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
37929
41283
  function xieyoujianvue_type_script_lang_js_asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { xieyoujianvue_type_script_lang_js_asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { xieyoujianvue_type_script_lang_js_asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
37930
- function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
37931
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
37932
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
37933
- function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
37934
- function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
37935
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
41284
+ function xieyoujianvue_type_script_lang_js_toConsumableArray(r) { return xieyoujianvue_type_script_lang_js_arrayWithoutHoles(r) || xieyoujianvue_type_script_lang_js_iterableToArray(r) || xieyoujianvue_type_script_lang_js_unsupportedIterableToArray(r) || xieyoujianvue_type_script_lang_js_nonIterableSpread(); }
41285
+ function xieyoujianvue_type_script_lang_js_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
41286
+ function xieyoujianvue_type_script_lang_js_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return xieyoujianvue_type_script_lang_js_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? xieyoujianvue_type_script_lang_js_arrayLikeToArray(r, a) : void 0; } }
41287
+ function xieyoujianvue_type_script_lang_js_iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
41288
+ function xieyoujianvue_type_script_lang_js_arrayWithoutHoles(r) { if (Array.isArray(r)) return xieyoujianvue_type_script_lang_js_arrayLikeToArray(r); }
41289
+ function xieyoujianvue_type_script_lang_js_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
37936
41290
  function xieyoujianvue_type_script_lang_js_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
37937
41291
  function xieyoujianvue_type_script_lang_js_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? xieyoujianvue_type_script_lang_js_ownKeys(Object(t), !0).forEach(function (r) { xieyoujianvue_type_script_lang_js_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : xieyoujianvue_type_script_lang_js_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
37938
41292
  function xieyoujianvue_type_script_lang_js_defineProperty(e, r, t) { return (r = xieyoujianvue_type_script_lang_js_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -37940,6 +41294,7 @@ function xieyoujianvue_type_script_lang_js_toPropertyKey(t) { var i = xieyoujian
37940
41294
  function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != xieyoujianvue_type_script_lang_js_typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != xieyoujianvue_type_script_lang_js_typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
37941
41295
 
37942
41296
 
41297
+
37943
41298
  /* harmony default export */ var xieyoujianvue_type_script_lang_js = ({
37944
41299
  components: {
37945
41300
  txl: txl
@@ -38112,6 +41467,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38112
41467
  _this5.itemlist.push(val.fileLevel);
38113
41468
  });
38114
41469
  }
41470
+ _this5.setDragHander('sendList');
38115
41471
  });
38116
41472
  if (this.$route.query.srcBusiDataId) {
38117
41473
  this.topBarHeight = '0px';
@@ -38374,6 +41730,21 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38374
41730
  });
38375
41731
  },
38376
41732
  methods: {
41733
+ setDragHander: function setDragHander(sendType) {
41734
+ var _this6 = this;
41735
+ var el = this.$el.querySelector('.' + sendType).querySelector('.el-scrollbar__view');
41736
+ this.sortable = sortable_esm.create(el, {
41737
+ handle: '.emailAddrStyle',
41738
+ dragClass: 'sortable-drag',
41739
+ setData: function setData(dataTransfer) {
41740
+ dataTransfer.setData('Text', '');
41741
+ },
41742
+ onEnd: function onEnd(evt) {
41743
+ var receiver = _this6[sendType].splice(evt.oldIndex, 1)[0];
41744
+ _this6[sendType].splice(evt.newIndex, 0, receiver);
41745
+ }
41746
+ });
41747
+ },
38377
41748
  // 获取点击区域将鼠标定位在input中
38378
41749
  clickArea: function clickArea(area) {
38379
41750
  this.$refs[area].focus();
@@ -38386,7 +41757,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38386
41757
  // this.$refs.txl.zTreelatey.checkAllNodes(false)
38387
41758
  },
38388
41759
  filterTree: function filterTree(item) {
38389
- var _this6 = this;
41760
+ var _this7 = this;
38390
41761
  // 获取父节点
38391
41762
  var ztreeNode = this.$refs.txl.zTree.getNodes();
38392
41763
  var zTreetxlNode = this.$refs.txl.zTreetxl.getNodes();
@@ -38397,17 +41768,17 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38397
41768
  var zLnodes = this.$refs.txl.zTreelatey.transformToArray(zTreelateyNode);
38398
41769
  zTnodes.forEach(function (item2) {
38399
41770
  if (item2.name === item) {
38400
- _this6.$refs.txl.zTree.checkNode(item2, false, true);
41771
+ _this7.$refs.txl.zTree.checkNode(item2, false, true);
38401
41772
  }
38402
41773
  });
38403
41774
  zTxlnodes.forEach(function (item2) {
38404
41775
  if (item2.email === item) {
38405
- _this6.$refs.txl.zTreetxl.checkNode(item2, false, true);
41776
+ _this7.$refs.txl.zTreetxl.checkNode(item2, false, true);
38406
41777
  }
38407
41778
  });
38408
41779
  zLnodes.forEach(function (item2) {
38409
41780
  if (item2.email === item) {
38410
- _this6.$refs.txl.zTreelatey.checkNode(item2, false, true);
41781
+ _this7.$refs.txl.zTreelatey.checkNode(item2, false, true);
38411
41782
  }
38412
41783
  });
38413
41784
  // 每一项前面的全选是否也取消
@@ -38416,7 +41787,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38416
41787
  } else if (this.$refs.txl.zTree.getCheckedNodes(true).length > 0) {
38417
41788
  var samePub = 0;
38418
41789
  ztreeNode.forEach(function (item3) {
38419
- _this6.$refs.txl.zTree.getCheckedNodes(true).forEach(function (item4) {
41790
+ _this7.$refs.txl.zTree.getCheckedNodes(true).forEach(function (item4) {
38420
41791
  if (item4.id === item3.id) {
38421
41792
  samePub++;
38422
41793
  }
@@ -38429,7 +41800,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38429
41800
  } else if (this.$refs.txl.zTreetxl.getCheckedNodes(true).length > 0) {
38430
41801
  var sameTxl = 0;
38431
41802
  zTreetxlNode.forEach(function (item3) {
38432
- _this6.$refs.txl.zTreetxl.getCheckedNodes(true).forEach(function (item4) {
41803
+ _this7.$refs.txl.zTreetxl.getCheckedNodes(true).forEach(function (item4) {
38433
41804
  if (item4.id === item3.id) {
38434
41805
  sameTxl++;
38435
41806
  }
@@ -38443,41 +41814,47 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38443
41814
  },
38444
41815
  // 点击添加/删除 抄送
38445
41816
  csTagChange: function csTagChange() {
38446
- var _this7 = this;
41817
+ var _this8 = this;
38447
41818
  this.csr = !this.csr;
38448
41819
  this.focusInput = this.csr ? 2 : 1;
38449
41820
  if (this.csr) {
38450
41821
  this.$nextTick(function () {
38451
- _this7.$refs.copyTo.focus();
41822
+ _this8.$refs.copyTo.focus();
38452
41823
  });
38453
41824
  } else {
38454
41825
  // 删除抄送人选项时
38455
41826
  if (this.copyToList.length > 0) {
38456
41827
  this.copyToList.forEach(function (item) {
38457
- _this7.filterTree(item);
41828
+ _this8.filterTree(item);
38458
41829
  });
38459
41830
  }
38460
41831
  }
38461
41832
  this.copyToList = [];
41833
+ this.$nextTick(function () {
41834
+ _this8.setDragHander('copyToList');
41835
+ });
38462
41836
  },
38463
41837
  // 点击添加/删除 密送
38464
41838
  msTagChange: function msTagChange() {
38465
- var _this8 = this;
41839
+ var _this9 = this;
38466
41840
  this.msr = !this.msr;
38467
41841
  this.focusInput = this.msr ? 3 : 1;
38468
41842
  if (this.msr) {
38469
41843
  this.$nextTick(function () {
38470
- _this8.$refs.blindCopyTo.focus();
41844
+ _this9.$refs.blindCopyTo.focus();
38471
41845
  });
38472
41846
  } else {
38473
41847
  // 删除密送人选项时
38474
41848
  if (this.blindCopyToList.length > 0) {
38475
41849
  this.blindCopyToList.forEach(function (item) {
38476
- _this8.filterTree(item);
41850
+ _this9.filterTree(item);
38477
41851
  });
38478
41852
  }
38479
41853
  }
38480
41854
  this.blindCopyToList = [];
41855
+ this.$nextTick(function () {
41856
+ _this9.setDragHander('blindCopyToList');
41857
+ });
38481
41858
  },
38482
41859
  // 点击群发单显/取消群发单显
38483
41860
  qfdxTagChange: function qfdxTagChange() {
@@ -38495,7 +41872,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38495
41872
  },
38496
41873
  // 绑定的邮箱列表,获取默认邮箱
38497
41874
  loadInternetList: function loadInternetList() {
38498
- var _this9 = this;
41875
+ var _this10 = this;
38499
41876
  var _this = this;
38500
41877
  _this.loading = false;
38501
41878
 
@@ -38522,7 +41899,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38522
41899
  }
38523
41900
  } else {
38524
41901
  // _this.$message.error(response.message)
38525
- _this.$alert(response.message, _this9.$tx('common.operationTip', '操作提示'), {
41902
+ _this.$alert(response.message, _this10.$tx('common.operationTip', '操作提示'), {
38526
41903
  type: 'error'
38527
41904
  });
38528
41905
  }
@@ -38589,7 +41966,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38589
41966
  },
38590
41967
  // 新邮件初始化
38591
41968
  newMail: function newMail(type) {
38592
- var _this10 = this;
41969
+ var _this11 = this;
38593
41970
  this.loading = true;
38594
41971
  this.sendList = [];
38595
41972
  if (type === 'againMail') {
@@ -38644,7 +42021,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38644
42021
  if (this.mailInfo.attachments) {
38645
42022
  var _this$readyList;
38646
42023
  // if (this.mailInfo.attachments.length > 0) {
38647
- this.readyList = (_this$readyList = this.readyList).concat.apply(_this$readyList, _toConsumableArray(this.mailInfo.attachments));
42024
+ this.readyList = (_this$readyList = this.readyList).concat.apply(_this$readyList, xieyoujianvue_type_script_lang_js_toConsumableArray(this.mailInfo.attachments));
38648
42025
  this.readyList.forEach(function (item) {
38649
42026
  if (!item.name) {
38650
42027
  item.name = item.fileName;
@@ -38664,20 +42041,20 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38664
42041
  var lists2 = this.mailInfo.fromAddr.split(',');
38665
42042
  var lists3 = this.mailInfo.copyTo.split(',');
38666
42043
  lists1.forEach(function (item, index) {
38667
- if (item.indexOf(_this10.defultMail.emailAddr) === -1 && item.indexOf(_this10.defultMail.emailAddr.split('@')[0]) === -1) {
38668
- _this10.sendList.push(item);
42044
+ if (item.indexOf(_this11.defultMail.emailAddr) === -1 && item.indexOf(_this11.defultMail.emailAddr.split('@')[0]) === -1) {
42045
+ _this11.sendList.push(item);
38669
42046
  }
38670
42047
  });
38671
42048
  lists2.forEach(function (item, index) {
38672
- if (item.indexOf(_this10.defultMail.emailAddr) === -1 && item.indexOf(_this10.defultMail.emailAddr.split('@')[0]) === -1) {
38673
- _this10.sendList.push(item);
42049
+ if (item.indexOf(_this11.defultMail.emailAddr) === -1 && item.indexOf(_this11.defultMail.emailAddr.split('@')[0]) === -1) {
42050
+ _this11.sendList.push(item);
38674
42051
  }
38675
42052
  });
38676
42053
  lists3.forEach(function (item, index) {
38677
42054
  if (item !== '') {
38678
- if (item.indexOf(_this10.defultMail.emailAddr) === -1 && item.indexOf(_this10.defultMail.emailAddr.split('@')[0]) === -1) {
38679
- _this10.copyToList.push(item);
38680
- _this10.csr = true;
42055
+ if (item.indexOf(_this11.defultMail.emailAddr) === -1 && item.indexOf(_this11.defultMail.emailAddr.split('@')[0]) === -1) {
42056
+ _this11.copyToList.push(item);
42057
+ _this11.csr = true;
38681
42058
  }
38682
42059
  }
38683
42060
  });
@@ -38688,7 +42065,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38688
42065
  this.sendList.push(this.mailInfo.sendTo);
38689
42066
  if (this.mailInfo.attachments.length > 0) {
38690
42067
  var _this$readyList2;
38691
- (_this$readyList2 = this.readyList).push.apply(_this$readyList2, _toConsumableArray(this.mailInfo.attachments));
42068
+ (_this$readyList2 = this.readyList).push.apply(_this$readyList2, xieyoujianvue_type_script_lang_js_toConsumableArray(this.mailInfo.attachments));
38692
42069
  }
38693
42070
  } else if (this.mailInfo.actionType === 'forward') {
38694
42071
  this.mailInfo.fromAddr = this.defultMail.emailAddr;
@@ -38696,7 +42073,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38696
42073
  if (this.mailInfo.attachments) {
38697
42074
  if (this.mailInfo.attachments.length > 0) {
38698
42075
  var _this$readyList3;
38699
- (_this$readyList3 = this.readyList).push.apply(_this$readyList3, _toConsumableArray(this.mailInfo.attachments));
42076
+ (_this$readyList3 = this.readyList).push.apply(_this$readyList3, xieyoujianvue_type_script_lang_js_toConsumableArray(this.mailInfo.attachments));
38700
42077
  this.readyList.forEach(function (item) {
38701
42078
  if (!item.name) {
38702
42079
  item.name = item.fileName;
@@ -38727,7 +42104,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38727
42104
  },
38728
42105
  // 流程表单转发邮件
38729
42106
  wflowForwardMail: function wflowForwardMail() {
38730
- var _this11 = this;
42107
+ var _this12 = this;
38731
42108
  var _this = this;
38732
42109
  this.$http({
38733
42110
  method: 'GET',
@@ -38742,7 +42119,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38742
42119
  _this.$set(_this.mailInfo, 'subject', '【' + response.body.wfInstance.wfName + '】' + response.body.wfInstance.title);
38743
42120
  _this.mailContent = response.body.content;
38744
42121
  _this.mailInfo.content = _this.mailContent;
38745
- var mailAttachs = _this11.mailInfo.attachments || [];
42122
+ var mailAttachs = _this12.mailInfo.attachments || [];
38746
42123
  response.body.attachs.forEach(function (attach) {
38747
42124
  if (_this.$route.query.fileId && _this.$route.query.fileId.indexOf(attach.id) !== -1) {
38748
42125
  mailAttachs.push(attach);
@@ -38825,7 +42202,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38825
42202
  // 存草稿
38826
42203
  // 保存邮件草稿
38827
42204
  saveDraft: function saveDraft(type) {
38828
- var _this12 = this;
42205
+ var _this13 = this;
38829
42206
  var _this = this;
38830
42207
  _this.mailInfo.usersetId = _this.defultMail.id;
38831
42208
  if (_this.sendList.length > 0) {
@@ -38864,7 +42241,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38864
42241
  _this.sendMail();
38865
42242
  } else {
38866
42243
  _this.loading = false;
38867
- _this.$message.success(_this12.$tx('email.messages.SaveDraftsu', '保存草稿成功'));
42244
+ _this.$message.success(_this13.$tx('email.messages.SaveDraftsu', '保存草稿成功'));
38868
42245
  // location.reload()
38869
42246
  }
38870
42247
  }
@@ -38881,19 +42258,19 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38881
42258
  },
38882
42259
  // * 上传附件
38883
42260
  fileUploadFuc: function fileUploadFuc(type) {
38884
- var _this13 = this;
42261
+ var _this14 = this;
38885
42262
  return xieyoujianvue_type_script_lang_js_asyncToGenerator( /*#__PURE__*/xieyoujianvue_type_script_lang_js_regeneratorRuntime().mark(function _callee() {
38886
42263
  var _this, url, _loop3, i;
38887
42264
  return xieyoujianvue_type_script_lang_js_regeneratorRuntime().wrap(function _callee$(_context2) {
38888
42265
  while (1) switch (_context2.prev = _context2.next) {
38889
42266
  case 0:
38890
- _this = _this13; // 两种上传接口 处理 草稿和转发和再次发送操作带过来的旧附件 和 新上传的附件
42267
+ _this = _this14; // 两种上传接口 处理 草稿和转发和再次发送操作带过来的旧附件 和 新上传的附件
38891
42268
  url = '/mail/attach/upload';
38892
42269
  if (!(_this.readyList.length === 0)) {
38893
42270
  _context2.next = 6;
38894
42271
  break;
38895
42272
  }
38896
- _this.$messages.info(_this13.$tx('email.messages.selectExportFile', '请选择导入文件'));
42273
+ _this.$messages.info(_this14.$tx('email.messages.selectExportFile', '请选择导入文件'));
38897
42274
  _context2.next = 15;
38898
42275
  break;
38899
42276
  case 6:
@@ -38954,7 +42331,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
38954
42331
  if (response.code === 'success') {
38955
42332
  if (response.body.uploadAttach.length > 0) {
38956
42333
  var _this$mailInfo$attach;
38957
- (_this$mailInfo$attach = _this.mailInfo.attachments).push.apply(_this$mailInfo$attach, _toConsumableArray(response.body.uploadAttach));
42334
+ (_this$mailInfo$attach = _this.mailInfo.attachments).push.apply(_this$mailInfo$attach, xieyoujianvue_type_script_lang_js_toConsumableArray(response.body.uploadAttach));
38958
42335
  }
38959
42336
  } else {
38960
42337
  _this.$message.error(response.message);
@@ -39015,7 +42392,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
39015
42392
  _this.sendMail();
39016
42393
  } else {
39017
42394
  _this.loading = false;
39018
- _this.$message.success(_this13.$tx('email.messages.SaveDraftsu', '保存草稿成功'));
42395
+ _this.$message.success(_this14.$tx('email.messages.SaveDraftsu', '保存草稿成功'));
39019
42396
  _this.readyList = _this.mailInfo.attachments;
39020
42397
  if (_this.mailInfo.actionType) {
39021
42398
  delete _this.mailInfo.actionType;
@@ -39152,23 +42529,23 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
39152
42529
  },
39153
42530
  // 手动输入的邮箱账号, 失去焦点后去验证输入的的邮件格式
39154
42531
  keyUpFuc: function keyUpFuc() {
39155
- var _this14 = this;
42532
+ var _this15 = this;
39156
42533
  return xieyoujianvue_type_script_lang_js_asyncToGenerator( /*#__PURE__*/xieyoujianvue_type_script_lang_js_regeneratorRuntime().mark(function _callee2() {
39157
42534
  var emailDomain, tfFlag, errRes;
39158
42535
  return xieyoujianvue_type_script_lang_js_regeneratorRuntime().wrap(function _callee2$(_context3) {
39159
42536
  while (1) switch (_context3.prev = _context3.next) {
39160
42537
  case 0:
39161
- if (!((_this14.focusInput === 1 ? _this14.sendListInput : _this14.focusInput === 2 ? _this14.copyToInput : _this14.blindCopyToInput).trim() !== '')) {
42538
+ if (!((_this15.focusInput === 1 ? _this15.sendListInput : _this15.focusInput === 2 ? _this15.copyToInput : _this15.blindCopyToInput).trim() !== '')) {
39162
42539
  _context3.next = 25;
39163
42540
  break;
39164
42541
  }
39165
42542
  emailDomain = null;
39166
- if (!(_this14.closeLink === false)) {
42543
+ if (!(_this15.closeLink === false)) {
39167
42544
  _context3.next = 25;
39168
42545
  break;
39169
42546
  }
39170
42547
  _context3.next = 5;
39171
- return _this14.isEmail(_this14.focusInput === 1 ? _this14.sendListInput : _this14.focusInput === 2 ? _this14.copyToInput : _this14.blindCopyToInput);
42548
+ return _this15.isEmail(_this15.focusInput === 1 ? _this15.sendListInput : _this15.focusInput === 2 ? _this15.copyToInput : _this15.blindCopyToInput);
39172
42549
  case 5:
39173
42550
  tfFlag = _context3.sent;
39174
42551
  if (!tfFlag) {
@@ -39176,29 +42553,29 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
39176
42553
  break;
39177
42554
  }
39178
42555
  errRes = null; // 验证当前为内部邮箱时,是否需要绑定外部邮箱
39179
- if (!(_this14.defultMail.emailReceiveType === null)) {
42556
+ if (!(_this15.defultMail.emailReceiveType === null)) {
39180
42557
  _context3.next = 15;
39181
42558
  break;
39182
42559
  }
39183
- emailDomain = '@' + _this14.defultMail.emailAddr.split('@')[1];
39184
- if (_this14.defultMail.internetEmailAddr) {
42560
+ emailDomain = '@' + _this15.defultMail.emailAddr.split('@')[1];
42561
+ if (_this15.defultMail.internetEmailAddr) {
39185
42562
  _context3.next = 15;
39186
42563
  break;
39187
42564
  }
39188
- if (!((_this14.focusInput === 1 ? _this14.sendListInput : _this14.focusInput === 2 ? _this14.copyToInput : _this14.blindCopyToInput).indexOf(emailDomain) === -1)) {
42565
+ if (!((_this15.focusInput === 1 ? _this15.sendListInput : _this15.focusInput === 2 ? _this15.copyToInput : _this15.blindCopyToInput).indexOf(emailDomain) === -1)) {
39189
42566
  _context3.next = 15;
39190
42567
  break;
39191
42568
  }
39192
- _this14.$alert(_this14.$tx('email.xieyoujian.content2', '当前账号为内部使用邮箱,如您需往外部邮箱发送邮件,请先前往邮箱中心将本账号绑定外部邮箱'), _this14.$tx('common.operationTip', '操作提示'), {
42569
+ _this15.$alert(_this15.$tx('email.xieyoujian.content2', '当前账号为内部使用邮箱,如您需往外部邮箱发送邮件,请先前往邮箱中心将本账号绑定外部邮箱'), _this15.$tx('common.operationTip', '操作提示'), {
39193
42570
  type: 'warning'
39194
42571
  });
39195
- _this14.focusInput === 1 ? _this14.sendListInput = '' : _this14.focusInput === 2 ? _this14.copyToInput = '' : _this14.blindCopyToInput = '';
42572
+ _this15.focusInput === 1 ? _this15.sendListInput = '' : _this15.focusInput === 2 ? _this15.copyToInput = '' : _this15.blindCopyToInput = '';
39196
42573
  return _context3.abrupt("return", false);
39197
42574
  case 15:
39198
42575
  // 验证手动输入的与已经存在的是否重复
39199
42576
  ;
39200
- (_this14.focusInput === 1 ? _this14.sendList : _this14.focusInput === 2 ? _this14.copyToList : _this14.blindCopyToList).forEach(function (item, index) {
39201
- if (item === (_this14.focusInput === 1 ? _this14.sendListInput : _this14.focusInput === 2 ? _this14.copyToInput : _this14.blindCopyToInput)) {
42577
+ (_this15.focusInput === 1 ? _this15.sendList : _this15.focusInput === 2 ? _this15.copyToList : _this15.blindCopyToList).forEach(function (item, index) {
42578
+ if (item === (_this15.focusInput === 1 ? _this15.sendListInput : _this15.focusInput === 2 ? _this15.copyToInput : _this15.blindCopyToInput)) {
39202
42579
  errRes = 1;
39203
42580
  }
39204
42581
  });
@@ -39213,29 +42590,29 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
39213
42590
  _context3.next = 24;
39214
42591
  break;
39215
42592
  }
39216
- if (_this14.focusInput === 1) {
39217
- _this14.$message.warning(_this14.$tx('email.messages.emailTip1', '已存在该收件人!'));
42593
+ if (_this15.focusInput === 1) {
42594
+ _this15.$message.warning(_this15.$tx('email.messages.emailTip1', '已存在该收件人!'));
39218
42595
  }
39219
- if (_this14.focusInput === 2) {
39220
- _this14.$message.warning(_this14.$tx('email.messages.emailTip2', '已存在该抄送人!'));
42596
+ if (_this15.focusInput === 2) {
42597
+ _this15.$message.warning(_this15.$tx('email.messages.emailTip2', '已存在该抄送人!'));
39221
42598
  }
39222
- if (_this14.focusInput === 3) {
39223
- _this14.$message.warning(_this14.$tx('email.messages.emailTip3', '已存在该密送人!'));
42599
+ if (_this15.focusInput === 3) {
42600
+ _this15.$message.warning(_this15.$tx('email.messages.emailTip3', '已存在该密送人!'));
39224
42601
  }
39225
42602
  return _context3.abrupt("return", false);
39226
42603
  case 24:
39227
- if (_this14.focusInput === 1) {
39228
- _this14.sendList.push(_this14.sendListInput);
42604
+ if (_this15.focusInput === 1) {
42605
+ _this15.sendList.push(_this15.sendListInput);
39229
42606
  // this.isEmail(this.sendListInput)
39230
- _this14.sendListInput = '';
39231
- } else if (_this14.focusInput === 2) {
39232
- _this14.copyToList.push(_this14.copyToInput);
42607
+ _this15.sendListInput = '';
42608
+ } else if (_this15.focusInput === 2) {
42609
+ _this15.copyToList.push(_this15.copyToInput);
39233
42610
  // this.isEmail(this.copyToInput)
39234
- _this14.copyToInput = '';
42611
+ _this15.copyToInput = '';
39235
42612
  } else {
39236
- _this14.blindCopyToList.push(_this14.blindCopyToInput);
42613
+ _this15.blindCopyToList.push(_this15.blindCopyToInput);
39237
42614
  // this.isEmail(this.blindCopyToInput)
39238
- _this14.blindCopyToInput = '';
42615
+ _this15.blindCopyToInput = '';
39239
42616
  }
39240
42617
  case 25:
39241
42618
  case "end":
@@ -39293,7 +42670,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
39293
42670
  return res;
39294
42671
  },
39295
42672
  getDefultMail: function getDefultMail() {
39296
- var _this15 = this;
42673
+ var _this16 = this;
39297
42674
  var currentMail = sessionStorage.getItem('currentMail');
39298
42675
  if (currentMail !== null && currentMail !== '' && currentMail !== undefined) {
39299
42676
  this.defultMail = JSON.parse(currentMail);
@@ -39322,7 +42699,7 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
39322
42699
  } else {
39323
42700
  _this.$message.error(response.message);
39324
42701
  }
39325
- _this15.loading = false;
42702
+ _this16.loading = false;
39326
42703
  }, function (err) {
39327
42704
  _this.$message.error(err);
39328
42705
  });
@@ -39378,9 +42755,9 @@ function xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("object" != x
39378
42755
  });
39379
42756
  ;// CONCATENATED MODULE: ./packages/ecyoa/email/src/xieyoujian.vue?vue&type=script&lang=js
39380
42757
  /* harmony default export */ var src_xieyoujianvue_type_script_lang_js = (xieyoujianvue_type_script_lang_js);
39381
- // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecyoa/email/src/xieyoujian.vue?vue&type=style&index=0&id=6252c928&prod&lang=scss&scoped=true
39382
- var xieyoujianvue_type_style_index_0_id_6252c928_prod_lang_scss_scoped_true = __webpack_require__(1188);
39383
- ;// CONCATENATED MODULE: ./packages/ecyoa/email/src/xieyoujian.vue?vue&type=style&index=0&id=6252c928&prod&lang=scss&scoped=true
42758
+ // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecyoa/email/src/xieyoujian.vue?vue&type=style&index=0&id=51e875a8&prod&lang=scss&scoped=true
42759
+ var xieyoujianvue_type_style_index_0_id_51e875a8_prod_lang_scss_scoped_true = __webpack_require__(9059);
42760
+ ;// CONCATENATED MODULE: ./packages/ecyoa/email/src/xieyoujian.vue?vue&type=style&index=0&id=51e875a8&prod&lang=scss&scoped=true
39384
42761
 
39385
42762
  ;// CONCATENATED MODULE: ./packages/ecyoa/email/src/xieyoujian.vue
39386
42763
 
@@ -39393,11 +42770,11 @@ var xieyoujianvue_type_style_index_0_id_6252c928_prod_lang_scss_scoped_true = __
39393
42770
 
39394
42771
  var xieyoujian_component = normalizeComponent(
39395
42772
  src_xieyoujianvue_type_script_lang_js,
39396
- xieyoujianvue_type_template_id_6252c928_scoped_true_render,
39397
- xieyoujianvue_type_template_id_6252c928_scoped_true_staticRenderFns,
42773
+ xieyoujianvue_type_template_id_51e875a8_scoped_true_render,
42774
+ xieyoujianvue_type_template_id_51e875a8_scoped_true_staticRenderFns,
39398
42775
  false,
39399
42776
  null,
39400
- "6252c928",
42777
+ "51e875a8",
39401
42778
  null
39402
42779
 
39403
42780
  )
@@ -46183,12 +49560,12 @@ var components_txl_component = normalizeComponent(
46183
49560
  /* harmony default export */ var components_txl = (components_txl_component.exports);
46184
49561
  ;// CONCATENATED MODULE: ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./packages/ecyoa/email/src/sendMail/xieyoujian.vue?vue&type=script&lang=js
46185
49562
  function sendMail_xieyoujianvue_type_script_lang_js_typeof(o) { "@babel/helpers - typeof"; return sendMail_xieyoujianvue_type_script_lang_js_typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, sendMail_xieyoujianvue_type_script_lang_js_typeof(o); }
46186
- function xieyoujianvue_type_script_lang_js_toConsumableArray(r) { return xieyoujianvue_type_script_lang_js_arrayWithoutHoles(r) || xieyoujianvue_type_script_lang_js_iterableToArray(r) || xieyoujianvue_type_script_lang_js_unsupportedIterableToArray(r) || xieyoujianvue_type_script_lang_js_nonIterableSpread(); }
46187
- function xieyoujianvue_type_script_lang_js_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
46188
- function xieyoujianvue_type_script_lang_js_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return xieyoujianvue_type_script_lang_js_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? xieyoujianvue_type_script_lang_js_arrayLikeToArray(r, a) : void 0; } }
46189
- function xieyoujianvue_type_script_lang_js_iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
46190
- function xieyoujianvue_type_script_lang_js_arrayWithoutHoles(r) { if (Array.isArray(r)) return xieyoujianvue_type_script_lang_js_arrayLikeToArray(r); }
46191
- function xieyoujianvue_type_script_lang_js_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
49563
+ function sendMail_xieyoujianvue_type_script_lang_js_toConsumableArray(r) { return sendMail_xieyoujianvue_type_script_lang_js_arrayWithoutHoles(r) || sendMail_xieyoujianvue_type_script_lang_js_iterableToArray(r) || sendMail_xieyoujianvue_type_script_lang_js_unsupportedIterableToArray(r) || sendMail_xieyoujianvue_type_script_lang_js_nonIterableSpread(); }
49564
+ function sendMail_xieyoujianvue_type_script_lang_js_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
49565
+ function sendMail_xieyoujianvue_type_script_lang_js_unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return sendMail_xieyoujianvue_type_script_lang_js_arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? sendMail_xieyoujianvue_type_script_lang_js_arrayLikeToArray(r, a) : void 0; } }
49566
+ function sendMail_xieyoujianvue_type_script_lang_js_iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
49567
+ function sendMail_xieyoujianvue_type_script_lang_js_arrayWithoutHoles(r) { if (Array.isArray(r)) return sendMail_xieyoujianvue_type_script_lang_js_arrayLikeToArray(r); }
49568
+ function sendMail_xieyoujianvue_type_script_lang_js_arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
46192
49569
  function sendMail_xieyoujianvue_type_script_lang_js_ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
46193
49570
  function sendMail_xieyoujianvue_type_script_lang_js_objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? sendMail_xieyoujianvue_type_script_lang_js_ownKeys(Object(t), !0).forEach(function (r) { sendMail_xieyoujianvue_type_script_lang_js_defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : sendMail_xieyoujianvue_type_script_lang_js_ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
46194
49571
  function sendMail_xieyoujianvue_type_script_lang_js_defineProperty(e, r, t) { return (r = sendMail_xieyoujianvue_type_script_lang_js_toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -46393,7 +49770,7 @@ function sendMail_xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("obj
46393
49770
  // 文件中心过来的
46394
49771
  if (this.$route.query.srcBusiDataId) {
46395
49772
  this.srcName = this.$route.query.srcBusiDataId;
46396
- var list = xieyoujianvue_type_script_lang_js_toConsumableArray(JSON.parse(this.$route.query.row));
49773
+ var list = sendMail_xieyoujianvue_type_script_lang_js_toConsumableArray(JSON.parse(this.$route.query.row));
46397
49774
  this.readyList = list.filter(function (res, i) {
46398
49775
  res.name = res.fileName;
46399
49776
  return i !== list.length;
@@ -46984,7 +50361,7 @@ function sendMail_xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("obj
46984
50361
  if (this.mailInfo.attachments) {
46985
50362
  if (this.mailInfo.attachments.length > 0) {
46986
50363
  var _this$readyList;
46987
- this.readyList = (_this$readyList = this.readyList).concat.apply(_this$readyList, xieyoujianvue_type_script_lang_js_toConsumableArray(this.mailInfo.attachments));
50364
+ this.readyList = (_this$readyList = this.readyList).concat.apply(_this$readyList, sendMail_xieyoujianvue_type_script_lang_js_toConsumableArray(this.mailInfo.attachments));
46988
50365
  this.readyList.forEach(function (item) {
46989
50366
  if (!item.name) {
46990
50367
  item.name = item.fileName;
@@ -47026,7 +50403,7 @@ function sendMail_xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("obj
47026
50403
  this.sendList.push(this.mailInfo.sendTo);
47027
50404
  if (this.mailInfo.attachments.length > 0) {
47028
50405
  var _this$readyList2;
47029
- (_this$readyList2 = this.readyList).push.apply(_this$readyList2, xieyoujianvue_type_script_lang_js_toConsumableArray(this.mailInfo.attachments));
50406
+ (_this$readyList2 = this.readyList).push.apply(_this$readyList2, sendMail_xieyoujianvue_type_script_lang_js_toConsumableArray(this.mailInfo.attachments));
47030
50407
  }
47031
50408
  } else if (this.mailInfo.actionType === 'forward') {
47032
50409
  this.wflowEditor = true;
@@ -47035,7 +50412,7 @@ function sendMail_xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("obj
47035
50412
  if (this.mailInfo.attachments) {
47036
50413
  if (this.mailInfo.attachments.length > 0) {
47037
50414
  var _this$readyList3;
47038
- (_this$readyList3 = this.readyList).push.apply(_this$readyList3, xieyoujianvue_type_script_lang_js_toConsumableArray(this.mailInfo.attachments));
50415
+ (_this$readyList3 = this.readyList).push.apply(_this$readyList3, sendMail_xieyoujianvue_type_script_lang_js_toConsumableArray(this.mailInfo.attachments));
47039
50416
  this.readyList.forEach(function (item) {
47040
50417
  if (!item.name) {
47041
50418
  item.name = item.fileName;
@@ -47333,7 +50710,7 @@ function sendMail_xieyoujianvue_type_script_lang_js_toPrimitive(t, r) { if ("obj
47333
50710
  if (response.code === 'success') {
47334
50711
  if (response.body.uploadAttach && response.body.uploadAttach.length > 0) {
47335
50712
  var _this$mailInfo$attach;
47336
- (_this$mailInfo$attach = _this.mailInfo.attachments).push.apply(_this$mailInfo$attach, xieyoujianvue_type_script_lang_js_toConsumableArray(response.body.uploadAttach));
50713
+ (_this$mailInfo$attach = _this.mailInfo.attachments).push.apply(_this$mailInfo$attach, sendMail_xieyoujianvue_type_script_lang_js_toConsumableArray(response.body.uploadAttach));
47337
50714
  }
47338
50715
  if (type === 'send' && index === _this.readyList.length - 1) {
47339
50716
  if (_this.readyList.length) {