diff --git b/VFormRender.common.js a/VFormRender.common.js new file mode 100644 index 0000000..11c407a --- /dev/null +++ a/VFormRender.common.js @@ -0,0 +1,47561 @@ +module.exports = +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "fb15"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "00ee": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var wellKnownSymbol = __webpack_require__("b622"); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + + +/***/ }), + +/***/ "0366": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("4625"); +var aCallable = __webpack_require__("59ed"); +var NATIVE_BIND = __webpack_require__("40d5"); + +var bind = uncurryThis(uncurryThis.bind); + +// optional / simple context binding +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), + +/***/ "04f8": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = __webpack_require__("2d00"); +var fails = __webpack_require__("d039"); +var global = __webpack_require__("da84"); + +var $String = global.String; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol('symbol detection'); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + + +/***/ }), + +/***/ "053f": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=template&id=2134e79a&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('container-item-wrapper',{attrs:{"widget":_vm.widget}},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(!_vm.widget.options.hidden),expression:"!widget.options.hidden"}],staticClass:"sub-form-container"},[_c('el-row',{staticClass:"header-row"},[_c('div',{staticClass:"action-header-column"},[_c('span',{staticClass:"action-label"},[_vm._v(_vm._s(_vm.i18nt('render.hint.subFormAction')))]),(!_vm.isReadMode)?_c('el-button',{staticClass:"action-button",attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.insertDisabled,"round":"","type":"primary","size":"mini","title":_vm.i18nt('render.hint.subFormAddActionHint')},on:{"click":_vm.addSubFormRow}},[_vm._v(" "+_vm._s(_vm.i18nt('render.hint.subFormAddAction'))),_c('i',{staticClass:"el-icon-plus el-icon-right"})]):_vm._e()],1)]),_vm._l((_vm.rowIdData),function(subFormRowId,sfrIdx){return _c('div',{key:subFormRowId,staticClass:"sub-form-row"},[(_vm.leftActionColumn)?_c('div',{staticClass:"sub-form-action-column hide-label"},[_c('div',{staticClass:"action-button-column"},[_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.insertDisabled,"circle":"","type":"","icon":"el-icon-circle-plus-outline","title":_vm.i18nt('render.hint.insertSubFormRow')},on:{"click":function($event){return _vm.insertSubFormRow(sfrIdx)}}}),_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.deleteDisabled,"circle":"","type":"","icon":"el-icon-delete","title":_vm.i18nt('render.hint.deleteSubFormRow')},on:{"click":function($event){return _vm.deleteSubFormRow(sfrIdx)}}}),(_vm.widget.options.showRowNumber)?_c('span',{staticClass:"row-number-span"},[_vm._v("#"+_vm._s(sfrIdx+1))]):_vm._e()],1)]):_vm._e(),(!_vm.leftActionColumn && _vm.widget.options.showRowNumber)?_c('div',{staticClass:"row-no-column"},[(_vm.widget.options.showRowNumber)?_c('span',{staticClass:"row-number-span"},[_vm._v("#"+_vm._s(sfrIdx+1))]):_vm._e()]):_vm._e(),_c('div',{staticClass:"grid-sub-form-data-row"},[_vm._l((_vm.widget.widgetList),function(subWidget,swIdx){return [_c(_vm.getComponentByContainer(subWidget),{key:_vm.widgetSchemaData[sfrIdx][swIdx].id,tag:"component",attrs:{"widget":_vm.widgetSchemaData[sfrIdx][swIdx],"parent-list":_vm.widget.widgetList,"index-of-parent-list":swIdx,"parent-widget":_vm.widget,"sub-form-row-id":subFormRowId,"sub-form-row-index":sfrIdx,"sub-form-col-index":swIdx}})]})],2),(!_vm.leftActionColumn)?_c('div',{staticClass:"sub-form-action-column hide-label"},[_c('div',{staticClass:"action-button-column"},[_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.insertDisabled,"circle":"","type":"","icon":"el-icon-circle-plus-outline","title":_vm.i18nt('render.hint.insertSubFormRow')},on:{"click":function($event){return _vm.insertSubFormRow(sfrIdx)}}}),_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.deleteDisabled,"circle":"","type":"","icon":"el-icon-delete","title":_vm.i18nt('render.hint.deleteSubFormRow')},on:{"click":function($event){return _vm.deleteSubFormRow(sfrIdx)}}})],1)]):_vm._e()])})],2)])} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=template&id=2134e79a&scoped=true + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js +var es_array_push = __webpack_require__("14d9"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/utils/util.js +var util = __webpack_require__("ca00"); + +// EXTERNAL MODULE: ./src/components/form-render/refMixin.js +var refMixin = __webpack_require__("d67f"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/container-item-wrapper.vue + 4 modules +var container_item_wrapper = __webpack_require__("90c2"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/containerItemMixin.js +var containerItemMixin = __webpack_require__("34f0"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/index.js +var field_widget = __webpack_require__("c029"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + +/* harmony default export */ var grid_sub_form_itemvue_type_script_lang_js = ({ + name: "grid-sub-form-item", + componentName: 'ContainerItem', + mixins: [emitter["a" /* default */], i18n["b" /* default */], refMixin["a" /* default */], containerItemMixin["a" /* default */]], + components: { + ContainerItemWrapper: container_item_wrapper["default"], + ...field_widget["a" /* default */] + }, + props: { + widget: Object + }, + provide() { + return { + getSubFormFieldFlag: () => true, + getSubFormName: () => this.widget.options.name + }; + }, + inject: ['refList', 'sfRefList', 'globalModel', 'getReadMode'], + data() { + return { + rowIdData: [], + widgetSchemaData: [], + actionDisabled: false, + insertDisabled: false, + //是否禁止新增、插入记录 + deleteDisabled: false, + //是否禁止删除记录 + + fieldWidgetList: [] + }; + }, + computed: { + isReadMode() { + return this.getReadMode(); + }, + leftActionColumn() { + return (this.widget.options.actionColumnPosition || 'left') === 'left'; + }, + widgetDisabled() { + return !!this.widget.options.disabled; + } + }, + created() { + this.initRefList(); + this.registerSubFormToRefList(); + this.initRowIdData(true); + this.initWidgetSchemaData(); + this.initEventHandler(); + }, + mounted() { + this.extractFieldWidgetList(); + this.handleSubFormFirstRowAdd(); //默认添加首行后,主动触发相关事件!! + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + extractFieldWidgetList() { + this.fieldWidgetList.splice(0, this.fieldWidgetList.length); + let fieldListFn = fw => { + this.fieldWidgetList.push(fw); + }; + Object(util["w" /* traverseFieldWidgetsOfContainer */])(this.widget, fieldListFn); + }, + getLabelAlign(widget, subWidget) { + return subWidget.options.labelAlign || widget.options.labelAlign; + }, + registerSubFormToRefList() { + if (this.widget.type === 'grid-sub-form') { + this.sfRefList[this.widget.options.name] = this; + } + }, + initRowIdData(initFlag) { + if (this.widget.type === 'grid-sub-form') { + this.rowIdData.splice(0, this.rowIdData.length); //清除数组必须用splice,length=0不会响应式更新!! + let subFormModel = this.formModel[this.widget.options.name]; + if (!!subFormModel && subFormModel.length > 0) { + subFormModel.forEach(() => { + this.rowIdData.push('id' + Object(util["e" /* generateId */])()); + }); + if (!!initFlag) { + //注意:事件触发需延期执行,SumFormDataChange事件处理代码中可能存在尚未创建完成的组件!! + setTimeout(() => { + this.handleSubFormRowChange(subFormModel); + }, 800); + } + } + } + }, + addToRowIdData() { + this.rowIdData.push('id' + Object(util["e" /* generateId */])()); + }, + insertToRowIdData(rowIndex) { + this.rowIdData.splice(rowIndex, 0, 'id' + Object(util["e" /* generateId */])()); + }, + deleteFromRowIdData(rowIndex) { + this.rowIdData.splice(rowIndex, 1); + }, + getRowIdData() { + return this.rowIdData; + }, + getWidgetRefOfSubForm(widgetName, rowIndex) { + let realWidgetName = widgetName + '@row' + this.rowIdData[rowIndex]; + return this.getWidgetRef(realWidgetName); + }, + initWidgetSchemaData() { + //初始化widgetSchemaData!!! + if (this.widget.type !== 'grid-sub-form') { + return; + } + let rowLength = this.rowIdData.length; + this.widgetSchemaData.splice(0, this.widgetSchemaData.length); //清除数组必须用splice,length=0不会响应式更新!! + if (rowLength > 0) { + for (let i = 0; i < rowLength; i++) { + let widgetSchemas = []; + this.widget.widgetList.forEach(swItem => { + widgetSchemas.push(this.cloneSchemaOfWidget(swItem)); + }); + this.widgetSchemaData.push(widgetSchemas); + } + } + }, + addToWidgetSchemaData(rowIndex) { + let widgetSchemas = []; + this.widget.widgetList.forEach(swItem => { + widgetSchemas.push(this.cloneSchemaOfWidget(swItem)); + }); + if (rowIndex === undefined) { + this.widgetSchemaData.push(widgetSchemas); + } else { + this.widgetSchemaData.splice(rowIndex, 0, widgetSchemas); + } + }, + deleteFromWidgetSchemaData(rowIndex) { + this.widgetSchemaData.splice(rowIndex, 1); + }, + cloneSchemaOfWidget(widget) { + let newWidgetSchema = Object(util["c" /* deepClone */])(widget); + newWidgetSchema.id = widget.type + Object(util["e" /* generateId */])(); + return newWidgetSchema; + }, + initEventHandler() { + if (this.widget.type !== 'grid-sub-form') { + return; + } + this.$on('setFormData', newFormData => { + this.initRowIdData(false); + this.initWidgetSchemaData(); + let subFormData = newFormData[this.widget.options.name] || []; + setTimeout(() => { + //延时触发SubFormRowChange事件, 便于更新计算字段!! + this.handleSubFormRowChange(subFormData); + }, 800); + }); + }, + handleSubFormFirstRowAdd() { + if (this.widget.type !== 'grid-sub-form') { + return; + } + if (!!this.widget.options.showBlankRow && this.rowIdData.length === 1) { + let oldSubFormData = this.formModel[this.widget.options.name] || []; + + //确认组件创建成功后触发事件!! + this.$nextTick(() => { + this.handleSubFormRowAdd(oldSubFormData, this.rowIdData[0]); + this.handleSubFormRowChange(oldSubFormData); + if (!!this.widget.options.disabled) { + this.disableSubForm(); + } + }); + } + }, + addSubFormRow() { + let newSubFormDataRow = {}; + this.fieldWidgetList.forEach(subFormItem => { + if (!!subFormItem.formItemFlag) { + newSubFormDataRow[subFormItem.options.name] = subFormItem.options.defaultValue; + } + }); + let oldSubFormData = this.formModel[this.widget.options.name] || []; + oldSubFormData.push(newSubFormDataRow); + this.addToRowIdData(); + this.addToWidgetSchemaData(); + + //确认组件创建成功后触发事件!! + this.$nextTick(() => { + this.handleSubFormRowAdd(oldSubFormData, this.rowIdData[oldSubFormData.length - 1]); + this.handleSubFormRowChange(oldSubFormData); + }); + }, + insertSubFormRow(beforeFormRowIndex) { + let newSubFormDataRow = {}; + this.fieldWidgetList.forEach(subFormItem => { + if (!!subFormItem.formItemFlag) { + newSubFormDataRow[subFormItem.options.name] = subFormItem.options.defaultValue; + } + }); + let oldSubFormData = this.formModel[this.widget.options.name] || []; + oldSubFormData.splice(beforeFormRowIndex, 0, newSubFormDataRow); + this.insertToRowIdData(beforeFormRowIndex); + this.addToWidgetSchemaData(beforeFormRowIndex); + + //确认组件创建成功后触发事件!! + this.$nextTick(() => { + this.handleSubFormRowInsert(oldSubFormData, this.rowIdData[beforeFormRowIndex]); + this.handleSubFormRowChange(oldSubFormData); + }); + }, + deleteSubFormRow(formRowIndex) { + this.$confirm(this.i18nt('render.hint.deleteSubFormRow') + '?', this.i18nt('render.hint.prompt'), { + confirmButtonText: this.i18nt('render.hint.confirm'), + cancelButtonText: this.i18nt('render.hint.cancel') + }).then(() => { + let oldSubFormData = this.formModel[this.widget.options.name] || []; + let deletedDataRow = Object(util["c" /* deepClone */])(oldSubFormData[formRowIndex]); + oldSubFormData.splice(formRowIndex, 1); + this.deleteFromRowIdData(formRowIndex); + this.deleteFromWidgetSchemaData(formRowIndex); + + //确认组件创建成功后触发事件!! + this.$nextTick(() => { + this.handleSubFormRowDelete(oldSubFormData, deletedDataRow); + this.handleSubFormRowChange(oldSubFormData); + }); + }).catch(() => { + // + }); + }, + handleSubFormRowChange(subFormData) { + if (!!this.widget.options.onSubFormRowChange) { + let customFunc = new Function('subFormData', this.widget.options.onSubFormRowChange); + customFunc.call(this, subFormData); + } + }, + handleSubFormRowAdd(subFormData, newRowId) { + if (!!this.widget.options.onSubFormRowAdd) { + let customFunc = new Function('subFormData', 'newRowId', this.widget.options.onSubFormRowAdd); + customFunc.call(this, subFormData, newRowId); + } + }, + handleSubFormRowInsert(subFormData, newRowId) { + if (!!this.widget.options.onSubFormRowInsert) { + let customFunc = new Function('subFormData', 'newRowId', this.widget.options.onSubFormRowInsert); + customFunc.call(this, subFormData, newRowId); + } + }, + handleSubFormRowDelete(subFormData, deletedDataRow) { + if (!!this.widget.options.onSubFormRowDelete) { + let customFunc = new Function('subFormData', 'deletedDataRow', this.widget.options.onSubFormRowDelete); + customFunc.call(this, subFormData, deletedDataRow); + } + }, + setDisabled(flag) { + this.widget.options.disabled = flag; + if (!!flag) { + this.disableGridSubForm(); + } else { + this.enableGridSubForm(); + } + }, + /** + * 设置单行子表单是否禁止新增、插入记录 + * @param flag + */ + setInsertDisabled(flag) { + this.insertDisabled = flag; + }, + /** + * 设置单行子表单是否禁止删除记录 + * @param flag + */ + setDeleteDisabled(flag) { + this.deleteDisabled = flag; + }, + /** + * 单独给子表单赋值 + * 注意:该方法仅触发组件的onChange事件以及子表单的onFormRowChange事件,不会触发表单的onFormDataChange等其他事件!! + * @param subFormValues + */ + setSubFormValues(subFormValues) { + this.$set(this.globalModel.formModel, this.widget.options.name, subFormValues); + this.initRowIdData(false); + this.initWidgetSchemaData(); + setTimeout(() => { + //延时触发SubFormRowChange事件, 便于更新计算字段!! + this.handleSubFormRowChange(subFormValues); + }, 800); + }, + /** + * 单独为子表单某行的字段组件赋值 + * @param fieldName + * @param fieldValue + * @param rowIndex + */ + setSubFormFieldValue(fieldName, fieldValue, rowIndex) { + const subFormData = this.globalModel.formModel[this.widget.options.name]; + subFormData[rowIndex][fieldName] = fieldValue; + this.handleSubFormRowChange(subFormData); + } + } +}); +// CONCATENATED MODULE: ./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=script&lang=js + /* harmony default export */ var container_item_grid_sub_form_itemvue_type_script_lang_js = (grid_sub_form_itemvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=style&index=0&id=2134e79a&prod&lang=scss&scoped=true +var grid_sub_form_itemvue_type_style_index_0_id_2134e79a_prod_lang_scss_scoped_true = __webpack_require__("6bb9"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-render/container-item/grid-sub-form-item.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + container_item_grid_sub_form_itemvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "2134e79a", + null + +) + +/* harmony default export */ var grid_sub_form_item = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "06cf": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__("83ab"); +var call = __webpack_require__("c65b"); +var propertyIsEnumerableModule = __webpack_require__("d1e7"); +var createPropertyDescriptor = __webpack_require__("5c6c"); +var toIndexedObject = __webpack_require__("fc6a"); +var toPropertyKey = __webpack_require__("a04b"); +var hasOwn = __webpack_require__("1a2d"); +var IE8_DOM_DEFINE = __webpack_require__("0cfb"); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + + +/***/ }), + +/***/ "0755": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "07fa": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toLength = __webpack_require__("50c4"); + +// `LengthOfArrayLike` abstract operation +// https://tc39.es/ecma262/#sec-lengthofarraylike +module.exports = function (obj) { + return toLength(obj.length); +}; + + +/***/ }), + +/***/ "090f": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=template&id=5b64c2ea&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('static-content-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('div',{ref:"fieldEditor",domProps:{"innerHTML":_vm._s(_vm.field.options.htmlContent)}})])} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=template&id=5b64c2ea&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue + 4 modules +var static_content_wrapper = __webpack_require__("828b"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var html_text_widgetvue_type_script_lang_js = ({ + name: "html-text-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + StaticContentWrapper: static_content_wrapper["default"] + }, + computed: {}, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initEventHandler(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: {} +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_html_text_widgetvue_type_script_lang_js = (html_text_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=style&index=0&id=5b64c2ea&prod&lang=scss&scoped=true +var html_text_widgetvue_type_style_index_0_id_5b64c2ea_prod_lang_scss_scoped_true = __webpack_require__("207d"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/html-text-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_html_text_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "5b64c2ea", + null + +) + +/* harmony default export */ var html_text_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "0a06": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); +var buildURL = __webpack_require__("30b5"); +var InterceptorManager = __webpack_require__("f6b4"); +var dispatchRequest = __webpack_require__("5270"); +var mergeConfig = __webpack_require__("4a7b"); +var validator = __webpack_require__("848b"); + +var validators = validator.validators; +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + */ +function Axios(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; +} + +/** + * Dispatch a request + * + * @param {Object} config The config specific for this request (merged with this.defaults) + */ +Axios.prototype.request = function request(config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof config === 'string') { + config = arguments[1] || {}; + config.url = arguments[0]; + } else { + config = config || {}; + } + + config = mergeConfig(this.defaults, config); + + // Set config.method + if (config.method) { + config.method = config.method.toLowerCase(); + } else if (this.defaults.method) { + config.method = this.defaults.method.toLowerCase(); + } else { + config.method = 'get'; + } + + var transitional = config.transitional; + + if (transitional !== undefined) { + validator.assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'), + forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'), + clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0') + }, false); + } + + // filter out skipped interceptors + var requestInterceptorChain = []; + var synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + var responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + + var promise; + + if (!synchronousRequestInterceptors) { + var chain = [dispatchRequest, undefined]; + + Array.prototype.unshift.apply(chain, requestInterceptorChain); + chain = chain.concat(responseInterceptorChain); + + promise = Promise.resolve(config); + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + + return promise; + } + + + var newConfig = config; + while (requestInterceptorChain.length) { + var onFulfilled = requestInterceptorChain.shift(); + var onRejected = requestInterceptorChain.shift(); + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected(error); + break; + } + } + + try { + promise = dispatchRequest(newConfig); + } catch (error) { + return Promise.reject(error); + } + + while (responseInterceptorChain.length) { + promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift()); + } + + return promise; +}; + +Axios.prototype.getUri = function getUri(config) { + config = mergeConfig(this.defaults, config); + return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, ''); +}; + +// Provide aliases for supported request methods +utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request(mergeConfig(config || {}, { + method: method, + url: url, + data: (config || {}).data + })); + }; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, data, config) { + return this.request(mergeConfig(config || {}, { + method: method, + url: url, + data: data + })); + }; +}); + +module.exports = Axios; + + +/***/ }), + +/***/ "0abf": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_textarea_widget_vue_vue_type_style_index_0_id_64a5792b_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f015"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_textarea_widget_vue_vue_type_style_index_0_id_64a5792b_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_textarea_widget_vue_vue_type_style_index_0_id_64a5792b_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "0b25": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIntegerOrInfinity = __webpack_require__("5926"); +var toLength = __webpack_require__("50c4"); + +var $RangeError = RangeError; + +// `ToIndex` abstract operation +// https://tc39.es/ecma262/#sec-toindex +module.exports = function (it) { + if (it === undefined) return 0; + var number = toIntegerOrInfinity(it); + var length = toLength(number); + if (number !== length) throw new $RangeError('Wrong length or index'); + return length; +}; + + +/***/ }), + +/***/ "0bbc": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_container_wrapper_vue_vue_type_style_index_0_id_b98cf8dc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d921"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_container_wrapper_vue_vue_type_style_index_0_id_b98cf8dc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_container_wrapper_vue_vue_type_style_index_0_id_b98cf8dc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "0c14": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_table_item_vue_vue_type_style_index_0_id_812c5cf0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("fad0"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_table_item_vue_vue_type_style_index_0_id_812c5cf0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_table_item_vue_vue_type_style_index_0_id_812c5cf0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "0cfb": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__("83ab"); +var fails = __webpack_require__("d039"); +var createElement = __webpack_require__("cc12"); + +// Thanks to IE8 for its funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a !== 7; +}); + + +/***/ }), + +/***/ "0d26": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); + +var $Error = Error; +var replace = uncurryThis(''.replace); + +var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd'); +// eslint-disable-next-line redos/no-vulnerable -- safe +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); + +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { + while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } return stack; +}; + + +/***/ }), + +/***/ "0d51": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $String = String; + +module.exports = function (argument) { + try { + return $String(argument); + } catch (error) { + return 'Object'; + } +}; + + +/***/ }), + +/***/ "0df6": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * @returns {Function} + */ +module.exports = function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +}; + + +/***/ }), + +/***/ "10ae": +/***/ (function(module, exports, __webpack_require__) { + +var map = { + "./button-group-item.vue": "cdfd", + "./container-item-wrapper.vue": "90c2", + "./data-table-item.vue": "1d29", + "./grid-col-item.vue": "a93f", + "./grid-item.vue": "f746", + "./grid-sub-form-item.vue": "053f", + "./sub-form-item.vue": "efdc", + "./tab-item.vue": "c9d4", + "./table-cell-item.vue": "6a79", + "./table-item.vue": "8921", + "./tree-item.vue": "2890", + "./vf-dialog-item.vue": "9502", + "./vf-drawer-item.vue": "cf15" +}; + + +function webpackContext(req) { + var id = webpackContextResolve(req); + return __webpack_require__(id); +} +function webpackContextResolve(req) { + if(!__webpack_require__.o(map, req)) { + var e = new Error("Cannot find module '" + req + "'"); + e.code = 'MODULE_NOT_FOUND'; + throw e; + } + return map[req]; +} +webpackContext.keys = function webpackContextKeys() { + return Object.keys(map); +}; +webpackContext.resolve = webpackContextResolve; +module.exports = webpackContext; +webpackContext.id = "10ae"; + +/***/ }), + +/***/ "11b8": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_divider_widget_vue_vue_type_style_index_0_id_09b5f2fb_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8056"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_divider_widget_vue_vue_type_style_index_0_id_09b5f2fb_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_divider_widget_vue_vue_type_style_index_0_id_09b5f2fb_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "13d2": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); +var fails = __webpack_require__("d039"); +var isCallable = __webpack_require__("1626"); +var hasOwn = __webpack_require__("1a2d"); +var DESCRIPTORS = __webpack_require__("83ab"); +var CONFIGURABLE_FUNCTION_NAME = __webpack_require__("5e77").CONFIGURABLE; +var inspectSource = __webpack_require__("8925"); +var InternalStateModule = __webpack_require__("69f3"); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var $String = String; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var stringSlice = uncurryThis(''.slice); +var replace = uncurryThis(''.replace); +var join = uncurryThis([].join); + +var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { + return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; +}); + +var TEMPLATE = String(String).split('String'); + +var makeBuiltIn = module.exports = function (value, name, options) { + if (stringSlice($String(name), 0, 7) === 'Symbol(') { + name = '[' + replace($String(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']'; + } + if (options && options.getter) name = 'get ' + name; + if (options && options.setter) name = 'set ' + name; + if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true }); + else value.name = name; + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + try { + if (options && hasOwn(options, 'constructor') && options.constructor) { + if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false }); + // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable + } else if (value.prototype) value.prototype = undefined; + } catch (error) { /* empty */ } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); + } return value; +}; + +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +// eslint-disable-next-line no-extend-native -- required +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + + +/***/ }), + +/***/ "13d5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var $reduce = __webpack_require__("d58f").left; +var arrayMethodIsStrict = __webpack_require__("a640"); +var CHROME_VERSION = __webpack_require__("2d00"); +var IS_NODE = __webpack_require__("605d"); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce'); + +// `Array.prototype.reduce` method +// https://tc39.es/ecma262/#sec-array.prototype.reduce +$({ target: 'Array', proto: true, forced: FORCED }, { + reduce: function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), + +/***/ "14d9": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var toObject = __webpack_require__("7b0b"); +var lengthOfArrayLike = __webpack_require__("07fa"); +var setArrayLength = __webpack_require__("3a34"); +var doesNotExceedSafeInteger = __webpack_require__("3511"); +var fails = __webpack_require__("d039"); + +var INCORRECT_TO_LENGTH = fails(function () { + return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; +}); + +// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError +// https://bugs.chromium.org/p/v8/issues/detail?id=12681 +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).push(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength(); + +// `Array.prototype.push` method +// https://tc39.es/ecma262/#sec-array.prototype.push +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + push: function push(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + doesNotExceedSafeInteger(len + argCount); + for (var i = 0; i < argCount; i++) { + O[len] = arguments[i]; + len++; + } + setArrayLength(O, len); + return len; + } +}); + + +/***/ }), + +/***/ "15f1": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "1626": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot +var documentAll = typeof document == 'object' && document.all; + +// `IsCallable` abstract operation +// https://tc39.es/ecma262/#sec-iscallable +// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing +module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) { + return typeof argument == 'function' || argument === documentAll; +} : function (argument) { + return typeof argument == 'function'; +}; + + +/***/ }), + +/***/ "16f6": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "1787": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isObject = __webpack_require__("861d"); + +module.exports = function (argument) { + return isObject(argument) || argument === null; +}; + + +/***/ }), + +/***/ "182d": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toPositiveInteger = __webpack_require__("f8cd"); + +var $RangeError = RangeError; + +module.exports = function (it, BYTES) { + var offset = toPositiveInteger(it); + if (offset % BYTES) throw new $RangeError('Wrong offset'); + return offset; +}; + + +/***/ }), + +/***/ "1a2d": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); +var toObject = __webpack_require__("7b0b"); + +var hasOwnProperty = uncurryThis({}.hasOwnProperty); + +// `HasOwnProperty` abstract operation +// https://tc39.es/ecma262/#sec-hasownproperty +// eslint-disable-next-line es/no-object-hasown -- safe +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + + +/***/ }), + +/***/ "1d02": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var $findLastIndex = __webpack_require__("a258").findLastIndex; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex +exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) { + return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), + +/***/ "1d29": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/data-table-item.vue?vue&type=template&id=16cbe2b4&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('container-item-wrapper',{directives:[{name:"show",rawName:"v-show",value:(!_vm.widget.options.hidden),expression:"!widget.options.hidden"}],attrs:{"widget":_vm.widget}},[_c('el-table',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loadingFlag),expression:"loadingFlag"}],ref:"dataTable",class:[_vm.customClass],style:({'width': _vm.widget.options.tableWidth}),attrs:{"data":_vm.widget.options.tableData,"height":_vm.tableHeight,"border":_vm.widget.options.border,"show-summary":_vm.widget.options.showSummary,"row-key":_vm.tableRowKey,"tree-props":{ children: _vm.widget.options.childrenKey },"size":_vm.widget.options.tableSize,"stripe":_vm.widget.options.stripe,"highlight-current-row":_vm.singleRowSelectFlag,"row-class-name":_vm.getRowClassName,"span-method":_vm.getSpanMethod,"cell-style":{padding: _vm.widget.options.rowSpacing + 'px 0'}},on:{"current-change":_vm.handleCurrentChange,"sort-change":_vm.handleSortChange,"header-click":_vm.handleHeaderClick,"row-click":_vm.handleRowClick,"row-dblclick":_vm.handleRowDoubleClick,"cell-click":_vm.handleCellClick,"cell-dblclick":_vm.handleCellDoubleClick,"select":_vm.handleRowSelect,"select-all":_vm.handleAllSelect}},[(_vm.widget.options.showIndex)?_c('el-table-column',{attrs:{"type":"index","width":"60","fixed":"left","label":_vm.i18nt('designer.setting.lineNumber')}}):_vm._e(),(_vm.widget.options.showCheckBox)?_c('el-table-column',{attrs:{"type":"selection","width":_vm.selectionWidth,"fixed":"left"}}):_vm._e(),_vm._l((_vm.widget.options.tableColumns),function(item,index){return [_c('table-high-level-column',{attrs:{"column-schema":item,"data-table-ref":_vm.getDataTableRef,"column-index":index}})]}),(!!_vm.widget.options.showButtonsColumn)?[_c('el-table-column',{attrs:{"fixed":_vm.buttonsColumnFixed,"class-name":"data-table-buttons-column","align":'center',"label":_vm.widget.options.buttonsColumnTitle,"width":_vm.widget.options.buttonsColumnWidth},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_vm._l((_vm.widget.options.operationButtons),function(ob){return [_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(_vm.showOperationButton(ob, scope.$index, scope.row)),expression:"showOperationButton(ob, scope.$index, scope.row)"}],class:['data-table-' + ob.name + '-button'],attrs:{"type":ob.type,"size":ob.size,"round":ob.round,"disabled":_vm.disableOperationButton(ob, scope.$index, scope.row)},on:{"click":function($event){return _vm.handleOperationButtonClick(ob.name, scope.$index, scope.row)}}},[_vm._v(_vm._s(_vm.getOperationButtonLabel(ob, scope.$index, scope.row)))])]})]}}],null,false,1636580772)})]:_vm._e()],2),(_vm.widget.options.showPagination)?_c('el-pagination',{attrs:{"small":_vm.widget.options.smallPagination,"current-page":_vm.currentPage,"page-sizes":_vm.pageSizes,"page-size":_vm.pageSize,"layout":_vm.paginationLayout,"total":_vm.total},on:{"size-change":_vm.handlePageSizeChange,"current-change":_vm.handleCurrentPageChange}}):_vm._e()],1)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-render/container-item/data-table-item.vue?vue&type=template&id=16cbe2b4&scoped=true + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js +var es_array_push = __webpack_require__("14d9"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/container-item-wrapper.vue + 4 modules +var container_item_wrapper = __webpack_require__("90c2"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/utils/format.js +var format = __webpack_require__("6be8"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/index.js +var field_widget = __webpack_require__("c029"); + +// EXTERNAL MODULE: ./src/components/form-render/refMixin.js +var refMixin = __webpack_require__("d67f"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/containerItemMixin.js +var containerItemMixin = __webpack_require__("34f0"); + +// EXTERNAL MODULE: ./src/components/form-render/table-column-custom-render.js +var table_column_custom_render = __webpack_require__("eb47"); + +// EXTERNAL MODULE: ./src/utils/util.js +var util = __webpack_require__("ca00"); + +// EXTERNAL MODULE: ./src/components/form-render/table-high-level-column.vue + 4 modules +var table_high_level_column = __webpack_require__("30ae"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/data-table-item.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + + +/* harmony default export */ var data_table_itemvue_type_script_lang_js = ({ + name: "DataTableItem", + componentName: 'ContainerItem', + //必须固定为ContainerItem,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], i18n["b" /* default */], refMixin["a" /* default */], containerItemMixin["a" /* default */]], + components: { + TableHighLevelColumn: table_high_level_column["a" /* default */], + ContainerItemWrapper: container_item_wrapper["default"], + TableColumnCustomRender: table_column_custom_render["a" /* default */], + ...field_widget["a" /* default */] + }, + props: { + widget: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + inject: ['refList', 'sfRefList', 'globalModel', 'getFormConfig', 'getGlobalDsv'], + data() { + return { + selectAllFlag: false, + selectedIndices: [], + selectedRows: [], + pageSize: this.widget.options.pagination.pageSize, + pageSizes: this.widget.options.pagination.pageSizes, + currentPage: this.widget.options.pagination.currentPage, + total: this.widget.options.pagination.total, + //是否跳过selectionChange事件 + skipSelectionChangeEvent: false, + loadingFlag: false + }; + }, + computed: { + formConfig() { + return this.getFormConfig(); + }, + paginationLayout() { + return !!this.widget.options.smallPagination ? 'prev, pager, next' : 'total, sizes, prev, pager, next, jumper'; + }, + customClass() { + return this.widget.options.customClass || ''; + }, + singleRowSelectFlag() { + return !this.widget.options.showCheckBox; + }, + buttonsColumnFixed() { + if (this.widget.options.buttonsColumnFixed === undefined) { + return 'right'; + } + return !this.widget.options.buttonsColumnFixed ? false : this.widget.options.buttonsColumnFixed; + }, + tableHeight() { + return this.widget.options.tableHeight || undefined; + }, + selectionWidth() { + return !this.widget.options.showSummary ? !this.widget.options.treeDataEnabled ? 50 : 70 : 55; + }, + getDataTableRef() { + return this; + }, + tableRowKey() { + return !this.widget.options.rowKey ? null : this.widget.options.rowKey; + } + }, + created() { + this.initRefList(); + this.handleOnCreated(); + }, + mounted() { + if (!!this.widget.options.dsEnabled) { + this.loadDataFromDS({}); + } + this.$nextTick(() => { + this.handleOnMounted(); + }); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + updated() { + this.$nextTick(() => { + this.$refs.dataTable.doLayout(); //解决合计行有时不显示的问题!! + }); + }, + methods: { + selectWidget(widget) { + this.designer.setSelected(widget); + }, + renderHeader(h, { + column, + $index + }) { + //debugger + let colCount = 0; + if (this.widget.options.showIndex) { + colCount++; + } + if (this.widget.options.showCheckBox) { + colCount++; + } + this.$set(column, "formatS", this.widget.options.tableColumns[$index - colCount].formatS); + return column.label; + }, + formatter(row, column, cellValue) { + return cellValue; + }, + formatterValue(row, column, cellValue) { + if (!cellValue) { + return ''; + } + if (!!column.formatS && !!column.show) { + switch (column.formatS) { + case 'd1': + return Object(format["a" /* formatDate1 */])(cellValue); + case 'd2': + return Object(format["b" /* formatDate2 */])(cellValue); + case 'd3': + return Object(format["c" /* formatDate3 */])(cellValue); + case 'd4': + return Object(format["d" /* formatDate4 */])(cellValue); + case 'd5': + return Object(format["e" /* formatDate5 */])(cellValue); + case 'n1': + return Object(format["f" /* formatNumber1 */])(cellValue); + case 'n2': + return Object(format["g" /* formatNumber2 */])(cellValue); + case 'n3': + return Object(format["h" /* formatNumber3 */])(cellValue); + case 'n4': + return Object(format["i" /* formatNumber4 */])(cellValue); + case 'n5': + return Object(format["j" /* formatNumber5 */])(cellValue); + case 'n6': + return Object(format["k" /* formatNumber6 */])(cellValue); + case 'n7': + return Object(format["l" /* formatNumber7 */])(cellValue); + } + } + return cellValue; + }, + getColumnRender(row, column) { + /* TODO: 每个table-cell,render函数会执行3次,原因不明!!! */ + return new Function('h', 'params', column.render); + }, + getRowIndex(row) { + return this.widget.options.tableData.lastIndexOf(row); + }, + findColumnAndSetHidden(columnName, hiddenFlag) { + this.widget.options.tableColumns.forEach(tc => { + if (tc.prop === columnName) { + tc.show = !hiddenFlag; + } + }); + }, + handleOnCreated() { + if (!!this.widget.options.onCreated) { + let customFunc = new Function(this.widget.options.onCreated); + customFunc.call(this); + } + }, + handleOnMounted() { + if (!!this.widget.options.onMounted) { + let customFunc = new Function(this.widget.options.onMounted); + customFunc.call(this); + } + }, + /** + * 单选时触发该事件 + * @param currentRow + * @param oldCurrentRow + */ + handleCurrentChange(currentRow, oldCurrentRow) { + if (!!this.skipSelectionChangeEvent) { + return; + } + if (!!this.widget.options.showCheckBox) { + return; + } + this.selectedIndices.length = 0; + this.selectedRows.length = 0; + let rowIndex = this.getRowIndex(currentRow); + this.selectedIndices.push(rowIndex); + this.selectedRows.push(currentRow); + if (!!this.widget.options.onSelectionChange) { + let customFn = new Function('selection', 'selectedIndices', this.widget.options.onSelectionChange); + customFn.call(this, [currentRow], this.selectedIndices); + } else { + /* 必须调用mixins中的dispatch方法逐级向父组件发送消息!! */ + this.dispatch('VFormRender', 'dataTableSelectionChange', [this, [currentRow], this.selectedIndices]); + } + }, + /** + * 注意:加载树形数据后,选中行如包含子节点则会触发两次该事件!! + * @param selection + */ + handleSelectionChange(selection) { + if (!!this.skipSelectionChangeEvent) { + return; + } + this.selectedIndices.length = 0; + this.selectedRows.length = 0; + selection.map(row => { + let rowIndex = this.getRowIndex(row); + this.selectedIndices.push(rowIndex); + this.selectedRows.push(row); + }); + if (!!this.widget.options.onSelectionChange) { + let customFn = new Function('selection', 'selectedIndices', this.widget.options.onSelectionChange); + customFn.call(this, selection, this.selectedIndices); + } else { + /* 必须调用mixins中的dispatch方法逐级向父组件发送消息!! */ + this.dispatch('VFormRender', 'dataTableSelectionChange', [this, selection, this.selectedIndices]); + } + }, + handleSortChange({ + column, + prop, + order + }) { + if (!!this.widget.options.onSortChange) { + let customFn = new Function('column', 'prop', 'order', 'pageSize', 'currentPage', this.widget.options.onSortChange); + customFn.call(this, column, prop, order, this.pageSize, this.currentPage); + } else { + /* 必须调用mixins中的dispatch方法逐级向父组件发送消息!! */ + this.dispatch('VFormRender', 'dataTableSortChange', [this, column, prop, order, this.pageSize, this.currentPage]); + } + }, + handlePageSizeChange(pageSize) { + this.pageSize = pageSize; + if (!!this.widget.options.dsEnabled && !!this.widget.options.dsName) { + this.loadDataFromDS(); + } + if (!!this.widget.options.onPageSizeChange) { + let customFn = new Function('pageSize', 'currentPage', this.widget.options.onPageSizeChange); + customFn.call(this, pageSize, this.currentPage); + } else { + this.dispatch('VFormRender', 'dataTablePageSizeChange', [this, pageSize, this.currentPage]); + } + }, + handleCurrentPageChange(currentPage) { + this.currentPage = currentPage; + if (!!this.widget.options.dsEnabled && !!this.widget.options.dsName) { + this.loadDataFromDS(); + } + if (!!this.widget.options.onCurrentPageChange) { + let customFn = new Function('pageSize', 'currentPage', this.widget.options.onCurrentPageChange); + customFn.call(this, this.pageSize, currentPage); + } else { + this.dispatch('VFormRender', 'dataTablePageChange', [this, this.pageSize, currentPage]); + } + }, + handleOperationButtonClick(btnName, rowIndex, row) { + if (!!this.widget.options.onOperationButtonClick) { + let customFn = new Function('buttonName', 'rowIndex', 'row', this.widget.options.onOperationButtonClick); + customFn.call(this, btnName, rowIndex, row); + } else { + this.dispatch('VFormRender', 'operationButtonClick', [this, btnName, rowIndex, row]); + } + }, + showOperationButton(buttonConfig, rowIndex, row) { + if (!!this.widget.options.onHideOperationButton) { + let customFn = new Function('buttonConfig', 'rowIndex', 'row', this.widget.options.onHideOperationButton); + return !customFn.call(this, buttonConfig, rowIndex, row); + } else { + return !buttonConfig.hidden; + } + }, + disableOperationButton(buttonConfig, rowIndex, row) { + if (!!this.widget.options.onDisableOperationButton) { + let customFn = new Function('buttonConfig', 'rowIndex', 'row', this.widget.options.onDisableOperationButton); + return customFn.call(this, buttonConfig, rowIndex, row); + } else { + return buttonConfig.disabled; + } + }, + getOperationButtonLabel(buttonConfig, rowIndex, row) { + if (!!this.widget.options.onGetOperationButtonLabel) { + let customFn = new Function('buttonConfig', 'rowIndex', 'row', this.widget.options.onGetOperationButtonLabel); + //return customFn.call(this, buttonConfig, rowIndex, row) || buttonConfig.label + return customFn.call(this, buttonConfig, rowIndex, row); + } else { + return buttonConfig.label; + } + }, + getRowClassName({ + row, + rowIndex + }) { + if (!!this.widget.options.onGetRowClassName) { + let customFn = new Function('rowIndex', 'row', this.widget.options.onGetRowClassName); + return customFn.call(this, rowIndex, row); + } else { + return ''; + } + }, + getSpanMethod({ + row, + column, + rowIndex, + columnIndex + }) { + if (!!this.widget.options.onGetSpanMethod) { + let customFn = new Function('row', 'column', 'rowIndex', 'columnIndex', this.widget.options.onGetSpanMethod); + return customFn.call(this, row, column, rowIndex, columnIndex); + } + }, + handleHeaderClick(column, event) { + if (!!this.widget.options.onHeaderClick) { + let customFn = new Function('column', 'event', this.widget.options.onHeaderClick); + return customFn.call(this, column, event); + } + }, + handleRowClick(row, column, event) { + if (!!this.widget.options.onRowClick) { + let customFn = new Function('row', 'column', 'event', this.widget.options.onRowClick); + return customFn.call(this, row, column, event); + } + }, + handleRowDoubleClick(row, column, event) { + if (!!this.widget.options.onRowDoubleClick) { + let customFn = new Function('row', 'column', 'event', this.widget.options.onRowDoubleClick); + return customFn.call(this, row, column, event); + } + }, + handleCellClick(row, column, cell, event) { + if (!!this.widget.options.onCellClick) { + let customFn = new Function('row', 'column', 'cell', 'event', this.widget.options.onCellClick); + return customFn.call(this, row, column, cell, event); + } + }, + handleCellDoubleClick(row, column, cell, event) { + if (!!this.widget.options.onCellDoubleClick) { + let customFn = new Function('row', 'column', 'cell', 'event', this.widget.options.onCellDoubleClick); + return customFn.call(this, row, column, cell, event); + } + }, + toggleSelection(row, flag, selectedRows) { + if (row) { + this.$refs.dataTable.toggleRowSelection(row, flag); + if (flag) { + selectedRows.push(row); + return; + } + let foundRowIdx = -1; + let rowKey = this.widget.options.rowKey || 'id'; + selectedRows.forEach((sr, idx) => { + if (sr[rowKey] === row[rowKey]) { + foundRowIdx = idx; + } + }); + if (foundRowIdx > -1) { + selectedRows.splice(foundRowIdx, 1); + } + } + }, + setChildrenSelected(children, flag, selectedRows) { + let childrenKey = this.widget.options.childrenKey || 'children'; + children.map(child => { + this.toggleSelection(child, flag, selectedRows); + if (child[childrenKey]) { + this.setChildrenSelected(child[childrenKey], flag, selectedRows); + } + }); + }, + /** + * 注意: + * element ui的el-table存在一个严重bug:加载树形数据后,选择父节点时不会同步选中下属子节点。 + * 为解决这个问题,用select事件和select-all事件替换selection-change处理节点的选中!! + */ + handleRowSelect(selection, row) { + this.skipSelectionChangeEvent = true; + let selectedRows = Object(util["c" /* deepClone */])(selection); + let rowKey = this.widget.options.rowKey || 'id'; + let childrenKey = this.widget.options.childrenKey || 'children'; + if (selection.some(el => { + return row[rowKey] === el[rowKey]; + })) { + if (row[childrenKey]) { + this.setChildrenSelected(row[childrenKey], true, selectedRows); + } + } else { + if (row[childrenKey]) { + this.setChildrenSelected(row[childrenKey], false, selectedRows); + } + } + this.skipSelectionChangeEvent = false; + // 一次性处理多行选中或取消选中,只触发一次事件!!! + this.$nextTick(() => { + this.handleSelectionChange(selectedRows); + }); + }, + setSelectedFlag(data, flag) { + let childrenKey = this.widget.options.childrenKey || 'children'; + data.forEach(row => { + this.$refs.dataTable.toggleRowSelection(row, flag); + if (row[childrenKey]) { + this.setSelectedFlag(row[childrenKey], flag); + } + }); + }, + /** + * 注意: + * element ui的el-table存在一个严重bug:加载树形数据后,选择父节点时不会同步选中下属子节点。 + * 为解决这个问题,用select事件和select-all事件替换selection-change处理节点的选中!! + */ + handleAllSelect(selection) { + this.skipSelectionChangeEvent = true; + this.selectAllFlag = !this.selectAllFlag; + this.setSelectedFlag(this.widget.options.tableData, this.selectAllFlag); + this.skipSelectionChangeEvent = false; + // 一次性处理多行选中或取消选中,只触发一次事件!!! + this.$nextTick(() => { + this.handleSelectionChange(selection); + }); + }, + //--------------------- 以下为组件支持外部调用的API方法 begin ------------------// + /* 提示:用户可自行扩充这些方法!!! */ + + refreshLayout() { + // 刷新表格显示,防止行列显示错位!! + this.$refs.dataTable.doLayout(); + }, + getTableColumns() { + return this.widget.options.tableColumns; + }, + /** + * 设置表格列 + * @param tableColumns + */ + setTableColumns(tableColumns) { + this.widget.options.tableColumns = tableColumns; + this.$nextTick(() => { + this.$refs.dataTable.doLayout(); //防止行列显示错位!! + }); + }, + /** + * 设置表格列(为了兼容文档错误,setTableColumn应为setTableColumns) + * @param tableColumns + */ + setTableColumn(tableColumns) { + this.setTableColumns(tableColumns); + }, + /** + * 从数据源加载表格列 + * @param localDsv 本地数据源变量DSV + * @param dsName 数据源名称 + */ + loadColumnsFromDS(localDsv = {}, dsName) { + let curDS = Object(util["i" /* getDSByName */])(this.formConfig, dsName); + if (!!curDS) { + let gDsv = this.getGlobalDsv() || {}; + let newDsv = new Object({}); + Object(util["p" /* overwriteObj */])(newDsv, gDsv); + Object(util["p" /* overwriteObj */])(newDsv, localDsv); + newDsv.widgetName = this.widget.options.name; + this.loadingFlag = true; + Object(util["s" /* runDataSourceRequest */])(curDS, newDsv, this.getFormRef(), false, this.$message).then(res => { + this.setTableColumns(res); + this.loadingFlag = false; + }).catch(err => { + this.$message.error(err.message); + this.loadingFlag = false; + }); + } + }, + /** + * 动态设置表格列的隐藏或显示 + * @param columnNames + * @param hiddenFlag + */ + setTableColumnsHidden(columnNames, hiddenFlag) { + if (!!columnNames) { + if (typeof columnNames === 'string') { + this.findColumnAndSetHidden(columnNames, hiddenFlag); + } else if (Array.isArray(columnNames)) { + columnNames.forEach(cn => { + this.findColumnAndSetHidden(cn, hiddenFlag); + }); + } + this.$nextTick(() => { + this.$refs.dataTable.doLayout(); //防止行列显示错位!! + }); + } + }, + /** + * 获取表格数据 + */ + getTableData() { + return this.widget.options.tableData; + }, + /** + * 设置表格数据 + * @param tableData + */ + setTableData(tableData) { + this.loadingFlag = true; + this.widget.options.tableData = tableData; + this.loadingFlag = false; + }, + /** + * 从数据源加载表格数据 + * @param localDsv 本地数据源变量DSV + * @param dsName 数据源名称,不传此值,则使用dsName属性绑定的数据源 + */ + loadDataFromDS(localDsv = {}, dsName = '') { + let curDSName = dsName || this.widget.options.dsName; + let curDSetName = this.widget.options.dataSetName; + let curDS = Object(util["i" /* getDSByName */])(this.formConfig, curDSName); + if (!!curDS) { + let gDsv = this.getGlobalDsv() || {}; + let newDsv = new Object({}); + Object(util["p" /* overwriteObj */])(newDsv, gDsv); + Object(util["p" /* overwriteObj */])(newDsv, localDsv); + newDsv.widgetName = this.widget.options.name; + newDsv.pageSize = this.pageSize; + newDsv.currentPage = this.currentPage; + this.loadingFlag = true; + Object(util["s" /* runDataSourceRequest */])(curDS, newDsv, this.getFormRef(), false, this.$message).then(res => { + if (!!curDSetName && res.hasOwnProperty(curDSetName)) { + this.setTableData(res[curDSetName]); + } else { + this.setTableData(res); + } + this.loadingFlag = false; + }).catch(err => { + this.$message.error(err.message); + this.loadingFlag = false; + }); + } + }, + /** + * 设置表格分页 + * @param pagination + */ + setPagination(pagination) { + if (pagination.currentPage !== undefined) { + this.currentPage = pagination.currentPage; + this.widget.options.pagination.currentPage = pagination.currentPage; + } + if (pagination.pageSize !== undefined) { + this.pageSize = pagination.pageSize; + this.widget.options.pagination.pageSize = pagination.pageSize; + } + if (pagination.pageSizes !== undefined) { + this.pageSizes = pagination.pageSizes; + this.widget.options.pagination.pageSizes = pagination.pageSizes; + } + if (pagination.total !== undefined) { + this.total = pagination.total; + this.widget.options.pagination.total = pagination.total; + } + }, + getPagination() { + return { + currentPage: this.widget.options.pagination.currentPage, + pageSize: this.widget.options.pagination.pageSize, + total: this.widget.options.pagination.total + }; + }, + /** + * 获取选中行数据,格式为对象数组 + * @returns {[]} + */ + getSelectedRow() { + //return this.$refs.dataTable.selection + return this.selectedRows; + }, + /** + * 获取选中行索引,格式为数组 + * @returns {[]} + */ + getSelectedIndex() { + return this.selectedIndices; + }, + getNativeTable() { + return this.$refs.dataTable; + } + + //--------------------- 以上为组件支持外部调用的API方法 end ------------------// + } +}); +// CONCATENATED MODULE: ./src/components/form-render/container-item/data-table-item.vue?vue&type=script&lang=js + /* harmony default export */ var container_item_data_table_itemvue_type_script_lang_js = (data_table_itemvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-render/container-item/data-table-item.vue?vue&type=style&index=0&id=16cbe2b4&prod&lang=scss&scoped=true +var data_table_itemvue_type_style_index_0_id_16cbe2b4_prod_lang_scss_scoped_true = __webpack_require__("8ef5"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-render/container-item/data-table-item.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + container_item_data_table_itemvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "16cbe2b4", + null + +) + +/* harmony default export */ var data_table_item = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "1d2b": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = function bind(fn, thisArg) { + return function wrap() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + return fn.apply(thisArg, args); + }; +}; + + +/***/ }), + +/***/ "1d80": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isNullOrUndefined = __webpack_require__("7234"); + +var $TypeError = TypeError; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), + +/***/ "1da3": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_rate_widget_vue_vue_type_style_index_0_id_472c31c2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ab9e"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_rate_widget_vue_vue_type_style_index_0_id_472c31c2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_rate_widget_vue_vue_type_style_index_0_id_472c31c2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "1e5a": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var symmetricDifference = __webpack_require__("9961"); +var setMethodAcceptSetLike = __webpack_require__("dad2"); + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, { + symmetricDifference: symmetricDifference +}); + + +/***/ }), + +/***/ "1e70": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var difference = __webpack_require__("a5f7"); +var setMethodAcceptSetLike = __webpack_require__("dad2"); + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, { + difference: difference +}); + + +/***/ }), + +/***/ "1fb5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.byteLength = byteLength +exports.toByteArray = toByteArray +exports.fromByteArray = fromByteArray + +var lookup = [] +var revLookup = [] +var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array + +var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' +for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i] + revLookup[code.charCodeAt(i)] = i +} + +// Support decoding URL-safe base64 strings, as Node.js does. +// See: https://en.wikipedia.org/wiki/Base64#URL_applications +revLookup['-'.charCodeAt(0)] = 62 +revLookup['_'.charCodeAt(0)] = 63 + +function getLens (b64) { + var len = b64.length + + if (len % 4 > 0) { + throw new Error('Invalid string. Length must be a multiple of 4') + } + + // Trim off extra bytes after placeholder bytes are found + // See: https://github.com/beatgammit/base64-js/issues/42 + var validLen = b64.indexOf('=') + if (validLen === -1) validLen = len + + var placeHoldersLen = validLen === len + ? 0 + : 4 - (validLen % 4) + + return [validLen, placeHoldersLen] +} + +// base64 is 4/3 + up to two characters of the original data +function byteLength (b64) { + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen +} + +function _byteLength (b64, validLen, placeHoldersLen) { + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen +} + +function toByteArray (b64) { + var tmp + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + + var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) + + var curByte = 0 + + // if there are placeholders, only get up to the last complete 4 chars + var len = placeHoldersLen > 0 + ? validLen - 4 + : validLen + + var i + for (i = 0; i < len; i += 4) { + tmp = + (revLookup[b64.charCodeAt(i)] << 18) | + (revLookup[b64.charCodeAt(i + 1)] << 12) | + (revLookup[b64.charCodeAt(i + 2)] << 6) | + revLookup[b64.charCodeAt(i + 3)] + arr[curByte++] = (tmp >> 16) & 0xFF + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } + + if (placeHoldersLen === 2) { + tmp = + (revLookup[b64.charCodeAt(i)] << 2) | + (revLookup[b64.charCodeAt(i + 1)] >> 4) + arr[curByte++] = tmp & 0xFF + } + + if (placeHoldersLen === 1) { + tmp = + (revLookup[b64.charCodeAt(i)] << 10) | + (revLookup[b64.charCodeAt(i + 1)] << 4) | + (revLookup[b64.charCodeAt(i + 2)] >> 2) + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } + + return arr +} + +function tripletToBase64 (num) { + return lookup[num >> 18 & 0x3F] + + lookup[num >> 12 & 0x3F] + + lookup[num >> 6 & 0x3F] + + lookup[num & 0x3F] +} + +function encodeChunk (uint8, start, end) { + var tmp + var output = [] + for (var i = start; i < end; i += 3) { + tmp = + ((uint8[i] << 16) & 0xFF0000) + + ((uint8[i + 1] << 8) & 0xFF00) + + (uint8[i + 2] & 0xFF) + output.push(tripletToBase64(tmp)) + } + return output.join('') +} + +function fromByteArray (uint8) { + var tmp + var len = uint8.length + var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes + var parts = [] + var maxChunkLength = 16383 // must be multiple of 3 + + // go through the array every three bytes, we'll deal with trailing stuff later + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) + } + + // pad the end with zeros, but make sure to not forget the extra bytes + if (extraBytes === 1) { + tmp = uint8[len - 1] + parts.push( + lookup[tmp >> 2] + + lookup[(tmp << 4) & 0x3F] + + '==' + ) + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1] + parts.push( + lookup[tmp >> 10] + + lookup[(tmp >> 4) & 0x3F] + + lookup[(tmp << 2) & 0x3F] + + '=' + ) + } + + return parts.join('') +} + + +/***/ }), + +/***/ "207d": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_html_text_widget_vue_vue_type_style_index_0_id_5b64c2ea_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d1fe"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_html_text_widget_vue_vue_type_style_index_0_id_5b64c2ea_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_html_text_widget_vue_vue_type_style_index_0_id_5b64c2ea_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "20c0": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=template&id=33b9a164&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-time-picker',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],ref:"fieldEditor",staticClass:"full-width-input",attrs:{"disabled":_vm.field.options.disabled,"readonly":_vm.field.options.readonly,"clearable":_vm.field.options.clearable,"editable":_vm.field.options.editable,"format":_vm.field.options.format,"value-format":"HH:mm:ss","placeholder":_vm.field.options.placeholder || _vm.i18nt('render.hint.timePlaceholder')},on:{"focus":_vm.handleFocusCustomEvent,"blur":_vm.handleBlurCustomEvent,"change":_vm.handleChangeEvent},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}}),(_vm.isReadMode)?[_c('span',{staticClass:"readonly-mode-field"},[_vm._v(_vm._s(_vm.fieldModel))])]:_vm._e()],2)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=template&id=33b9a164&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var time_widgetvue_type_script_lang_js = ({ + name: "time-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + FormItemWrapper: form_item_wrapper["default"] + }, + inject: ['refList', 'globalOptionData', 'globalModel'], + data() { + return { + oldFieldValue: null, + //field组件change之前的值 + fieldModel: null, + rules: [] + }; + }, + computed: {}, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initFieldModel(); + this.initEventHandler(); + this.buildFieldRules(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: {} +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_time_widgetvue_type_script_lang_js = (time_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=style&index=0&id=33b9a164&prod&lang=scss&scoped=true +var time_widgetvue_type_style_index_0_id_33b9a164_prod_lang_scss_scoped_true = __webpack_require__("5bf1"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/time-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_time_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "33b9a164", + null + +) + +/* harmony default export */ var time_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "2125": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "22e5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// TODO: Remove from `core-js@4` +__webpack_require__("8b00"); + + +/***/ }), + +/***/ "236e": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export removeAllDic */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getAllDic; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return loadOptionItemFromDict; }); +/* unused harmony export filterDic */ +// import { reqDic } from '@/api/login' + +// export function SetAllDic() { +// reqDic() +// .then(res => { +// if (res) { +// localStorage.setItem('LOCALSTORAGE_GLOBLE_DIC_KEY_FROM_AVUE', JSON.stringify(res)) +// } +// }) +// } + +function removeAllDic() { + if (JSON.parse(localStorage.getItem('LOCALSTORAGE_GLOBLE_DIC_KEY_FROM_AVUE'))) { + localStorage.removeItem('LOCALSTORAGE_GLOBLE_DIC_KEY_FROM_AVUE'); + } +} +function getAllDic() { + return JSON.parse(localStorage.getItem('LOCALSTORAGE_GLOBLE_DIC_KEY_FROM_AVUE')); +} + +// 根据字典编号获取字典 +function loadOptionItemFromDict(field) { + const dicName = field.options.dicname; + // console.log(dicName,'---->dicName') + // 设计模式不执行 + // if(field.designState){ + // return + // } + // 组件类型不是单选框、复选框和下拉框不执行 + if (field.type != 'radio' && field.type != 'checkbox' && field.type != 'select') { + return; + } + // 选项类型不是字典或者字典名称未配置不执行 + if (field.options.optionType != 1 || !dicName) { + // console.log(field.options.optionType,'---->field.options.optionType') + return; + } + // console.log(dicName,'---->dicNam11111111111e') + return filterDic(getAllDic()[dicName], field.options.filter, field.options.efilter); +} + +// 过滤字典项 +function filterDic(options, filter, efilter) { + if (filter && filter.length !== 0) { + options = options.filter(item => { + // console.log(item,filter,'---->filter-item') + if (filter.includes(item.value)) { + return false; + } else { + return true; + } + }); + } + // console.log(efilter,'---->efilter') + if (efilter && efilter.length !== 0) { + options = options.filter(item => { + // console.log(item,efilter,'---->efilter-item') + if (efilter.includes(item.value)) { + return true; + } else { + return false; + } + }); + } + return options; +} + +/***/ }), + +/***/ "23cb": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIntegerOrInfinity = __webpack_require__("5926"); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + + +/***/ }), + +/***/ "23e7": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__("da84"); +var getOwnPropertyDescriptor = __webpack_require__("06cf").f; +var createNonEnumerableProperty = __webpack_require__("9112"); +var defineBuiltIn = __webpack_require__("cb2d"); +var defineGlobalProperty = __webpack_require__("6374"); +var copyConstructorProperties = __webpack_require__("e893"); +var isForced = __webpack_require__("94ca"); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.dontCallGetSet - prevent calling a getter on target + options.name - the .name of the function if it does not match the key +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = global; + } else if (STATIC) { + target = global[TARGET] || defineGlobalProperty(TARGET, {}); + } else { + target = global[TARGET] && global[TARGET].prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.dontCallGetSet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + defineBuiltIn(target, key, sourceProperty, options); + } +}; + + +/***/ }), + +/***/ "241c": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var internalObjectKeys = __webpack_require__("ca84"); +var enumBugKeys = __webpack_require__("7839"); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + + +/***/ }), + +/***/ "2444": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) { + +var utils = __webpack_require__("c532"); +var normalizeHeaderName = __webpack_require__("c8af"); +var enhanceError = __webpack_require__("387f"); + +var DEFAULT_CONTENT_TYPE = { + 'Content-Type': 'application/x-www-form-urlencoded' +}; + +function setContentTypeIfUnset(headers, value) { + if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { + headers['Content-Type'] = value; + } +} + +function getDefaultAdapter() { + var adapter; + if (typeof XMLHttpRequest !== 'undefined') { + // For browsers use XHR adapter + adapter = __webpack_require__("b50d"); + } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { + // For node use HTTP adapter + adapter = __webpack_require__("b50d"); + } + return adapter; +} + +function stringifySafely(rawValue, parser, encoder) { + if (utils.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils.trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } + } + + return (encoder || JSON.stringify)(rawValue); +} + +var defaults = { + + transitional: { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false + }, + + adapter: getDefaultAdapter(), + + transformRequest: [function transformRequest(data, headers) { + normalizeHeaderName(headers, 'Accept'); + normalizeHeaderName(headers, 'Content-Type'); + + if (utils.isFormData(data) || + utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); + return data.toString(); + } + if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) { + setContentTypeIfUnset(headers, 'application/json'); + return stringifySafely(data); + } + return data; + }], + + transformResponse: [function transformResponse(data) { + var transitional = this.transitional; + var silentJSONParsing = transitional && transitional.silentJSONParsing; + var forcedJSONParsing = transitional && transitional.forcedJSONParsing; + var strictJSONParsing = !silentJSONParsing && this.responseType === 'json'; + + if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) { + try { + return JSON.parse(data); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw enhanceError(e, this, 'E_JSON_PARSE'); + } + throw e; + } + } + } + + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + maxBodyLength: -1, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + } +}; + +defaults.headers = { + common: { + 'Accept': 'application/json, text/plain, */*' + } +}; + +utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { + defaults.headers[method] = {}; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); +}); + +module.exports = defaults; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("4362"))) + +/***/ }), + +/***/ "249d": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var $transfer = __webpack_require__("41f6"); + +// `ArrayBuffer.prototype.transfer` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transfer: function transfer() { + return $transfer(this, arguments.length ? arguments[0] : undefined, true); + } +}); + + +/***/ }), + +/***/ "2834": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var uncurryThis = __webpack_require__("e330"); +var aCallable = __webpack_require__("59ed"); +var arrayFromConstructorAndList = __webpack_require__("dfb9"); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort); + +// `%TypedArray%.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted +exportTypedArrayMethod('toSorted', function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = aTypedArray(this); + var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O); + return sort(A, compareFn); +}); + + +/***/ }), + +/***/ "2877": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier /* server only */, + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = + typeof scriptExports === 'function' ? scriptExports.options : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { + // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { + injectStyles.call( + this, + (options.functional ? this.parent : this).$root.$options.shadowRoot + ) + } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functional component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection(h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing ? [].concat(existing, hook) : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ "2890": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/tree-item.vue?vue&type=template&id=f0f74652&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('container-item-wrapper',{attrs:{"widget":_vm.widget}},[_c('el-container',[_c('el-main',{staticStyle:{"align-items":"baseline"}},[(_vm.widget.options.filter)?_c('el-input',{attrs:{"size":_vm.widget.options.size,"placeholder":_vm.i18nt('designer.setting.enterForQuery')},model:{value:(_vm.filterText),callback:function ($$v) {_vm.filterText=$$v},expression:"filterText"}}):_vm._e(),_c('el-button-group',[(_vm.widget.options.expandRetractAllNode)?_c('el-button',{attrs:{"type":"primary","round":"","plain":"","size":_vm.widget.options.size},on:{"click":function($event){return _vm.expandAllNodes()}}},[_vm._v(" "+_vm._s(_vm.i18nt('designer.setting.expandRetractAllNode'))+" ")]):_vm._e(),(_vm.widget.options.selectClearAllNode && _vm.widget.options.showCheckBox)?_c('el-button',{attrs:{"type":"primary","round":"","plain":"","size":_vm.widget.options.size},on:{"click":function($event){return _vm.checkAllNodes()}}},[_vm._v(" "+_vm._s(_vm.i18nt('designer.setting.selectClearAllNode'))+" ")]):_vm._e()],1),_c('el-tree',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loadingFlag),expression:"loadingFlag"}],ref:"tree",attrs:{"data":_vm.widget.options.treeData,"props":_vm.defaultProps,"border":"","lazy":_vm.widget.options.lazy,"node-key":"id","highlight-current":"","current-node-key":_vm.currentKey,"show-checkbox":_vm.widget.options.showCheckBox,"expand-on-click-node":_vm.widget.options.expandOnClickNode,"default-expand-all":_vm.widget.options.defaultExpandAllNode,"draggable":_vm.widget.options.draggable,"check-strictly":_vm.widget.options.checkStrictly,"filter-node-method":_vm.filterNode},on:{"node-click":_vm.handleTreeNodeClick,"node-contextmenu":_vm.handleTreeNodeContextmenu,"check":_vm.handleTreeNodeCheck,"check-change":_vm.handleCheckChange},scopedSlots:_vm._u([{key:"default",fn:function(ref){ +var node = ref.node; +var data = ref.data; +return _c('span',{staticClass:"custom-tree-node"},[_c('span',[_vm._v(_vm._s(node.label))]),(_vm.widget.options.nodeEdit)?_c('span',[_c('el-button',{attrs:{"type":"text","size":_vm.widget.options.size},on:{"click":function($event){return _vm.append(data)}}},[_vm._v(" "+_vm._s(_vm.i18nt('designer.setting.add'))+" ")]),_c('el-button',{attrs:{"type":"text","size":_vm.widget.options.size},on:{"click":function($event){return _vm.remove(node, data)}}},[_vm._v(" "+_vm._s(_vm.i18nt('designer.setting.delete'))+" ")])],1):_vm._e()])}}])})],1)],1)],1)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-render/container-item/tree-item.vue?vue&type=template&id=f0f74652&scoped=true + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js +var es_array_push = __webpack_require__("14d9"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/container-item-wrapper.vue + 4 modules +var container_item_wrapper = __webpack_require__("90c2"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/index.js +var field_widget = __webpack_require__("c029"); + +// EXTERNAL MODULE: ./src/components/form-render/refMixin.js +var refMixin = __webpack_require__("d67f"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/containerItemMixin.js +var containerItemMixin = __webpack_require__("34f0"); + +// EXTERNAL MODULE: ./src/utils/util.js +var util = __webpack_require__("ca00"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/tree-item.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + +let id = 1000; +/* harmony default export */ var tree_itemvue_type_script_lang_js = ({ + name: "TreeItem", + componentName: 'ContainerItem', + //必须固定为ContainerItem,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], i18n["b" /* default */], refMixin["a" /* default */], containerItemMixin["a" /* default */]], + inject: ['refList', 'sfRefList', 'globalModel', 'getFormConfig', 'getGlobalDsv'], + components: { + ContainerItemWrapper: container_item_wrapper["default"], + ...field_widget["a" /* default */] + }, + props: { + widget: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + data() { + return { + isExpanded: true, + isChecked: false, + currentKey: '', + filterText: '', + loadingFlag: false, + defaultProps: { + children: 'children', + label: 'label' + } + }; + }, + computed: { + formConfig() { + return this.getFormConfig(); + } + }, + watch: { + filterText(val) { + this.$refs.tree.filter(val); + } + }, + created() { + this.initRefList(); + this.handleOnCreated(); + }, + mounted() { + if (!!this.widget.options.dsEnabled) { + this.loadDataFromDS({}); + } + this.$nextTick(() => { + this.handleOnMounted(); + }); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + // 给当前节点添加下级节点 + append(data) { + this.$prompt(this.i18nt('designer.setting.inputNodeName'), this.i18nt('designer.setting.tips'), { + confirmButtonText: this.i18nt('designer.hint.confirm'), + cancelButtonText: this.i18nt('designer.hint.cancel') + }).then(({ + value + }) => { + const newChild = { + id: id++, + label: value, + children: [] + }; + if (!data.children) { + this.$set(data, 'children', []); + } + data.children.push(newChild); + }).catch(err => { + console.error(err); + }); + }, + // 删除节点 + remove(node, data) { + this.$confirm(this.i18nt('designer.setting.deleteNode'), this.i18nt('designer.setting.tips'), { + confirmButtonText: this.i18nt('designer.hint.confirm'), + cancelButtonText: this.i18nt('designer.hint.cancel'), + type: 'warning' + }).then(() => { + const parent = node.parent; + const children = parent.data.children || parent.data; + const index = children.findIndex(d => d.id === data.id); + children.splice(index, 1); + this.$message({ + type: 'success', + message: this.i18nt('designer.setting.nodeDeleted') + }); + }).catch(err => { + console.error(err); + }); + }, + filterNode(value, data) { + if (!value) return true; + return data.label.indexOf(value) !== -1; + }, + handleOnCreated() { + if (!!this.widget.options.onCreated) { + let customFunc = new Function(this.widget.options.onCreated); + customFunc.call(this); + } + }, + handleOnMounted() { + if (!!this.widget.options.onMounted) { + let customFunc = new Function(this.widget.options.onMounted); + customFunc.call(this); + } + }, + /** 树节点点击事件 + * @param {Object} data 传递给 data 属性的数组中该节点所对应的对象 + * @param {Object} node 节点对应的 Node + * @param {Object} el 节点组件本身 + */ + handleTreeNodeClick(data, node, el) { + if (!!this.widget.options.onNodeClick) { + let customFn = new Function('data', 'node', 'el', this.widget.options.onNodeClick); + customFn.call(this, data, node, el); + } + }, + /** 树节点右键事件 + * @param {Object} event 事件句柄 + * @param {Object} data 传递给 data 属性的数组中该节点所对应的对象 + * @param {Object} node 节点对应的 Node + * @param {Object} el 节点组件本身 + */ + handleTreeNodeContextmenu(event, data, node, el) { + if (!!this.widget.options.onNodeContextmenu) { + let customFn = new Function('event', 'data', 'node', 'el', this.widget.options.onNodeContextmenu); + customFn.call(this, event, data, node, el); + } + }, + /** 树组件当复选框被点击的时候触发 + * @param {Object} data + * @param {Object} treeState + */ + handleTreeNodeCheck(data, treeState) { + if (!!this.widget.options.onNodeCheck) { + let customFn = new Function('data', 'treeState', this.widget.options.onNodeCheck); + customFn.call(this, data, treeState); + } + }, + handleCheckChange(data, checked, indeterminate) { + if (!!this.widget.options.onCheckChange) { + let customFn = new Function('data', 'checked', 'indeterminate', this.widget.options.onCheckChange); + customFn.call(this, data, checked, indeterminate); + } + }, + //改变节点的展开/收缩状态 + setNodeExpanded(node, flag) { + node.expanded = flag; + for (let i = 0; i < node.childNodes.length; i++) { + //改变节点的自身expanded状态 + node.childNodes[i].expanded = flag; + //看看他孩子的长度,有的话就调用自己往下找 + if (node.childNodes[i].childNodes.length > 0) { + this.setNodeExpanded(node.childNodes[i], flag); + } + } + }, + //改变节点的勾选状态 + setNodeChecked(node, flag) { + node.checked = flag; + for (let i = 0; i < node.childNodes.length; i++) { + //改变节点的自身checked状态 + node.childNodes[i].checked = flag; + //看看他孩子的长度,有的话就调用自己往下找 + if (node.childNodes[i].childNodes.length > 0) { + this.setNodeChecked(node.childNodes[i], flag); + } + } + }, + //--------------------- 以下为组件支持外部调用的API方法 begin ------------------// + /* 提示:用户可自行扩充这些方法!!! */ + + getNativeTree() { + return this.$refs.tree; + }, + setTreeData(data) { + this.widget.options.treeData = data; + this.currentKey = data[0].id; + }, + getTreeData() { + return this.widget.options.treeData; + }, + expandAllNodes(flag) { + this.isExpanded = flag || !this.isExpanded; + this.setNodeExpanded(this.$refs.tree.store.root, this.isExpanded); + }, + checkAllNodes(flag) { + //debugger + this.isChecked = flag || !this.isChecked; + this.setNodeChecked(this.$refs.tree.store.root, this.isChecked); + }, + setCheckedNodes(nodes) { + this.$refs.tree.setCheckedNodes(nodes); + }, + getCheckedNodes(leafOnly, includeHalfChecked) { + return this.$refs.tree.getCheckedNodes(leafOnly, includeHalfChecked); + }, + getCurrentNode() { + return this.$refs.tree.getCurrentNode(); + }, + setCurrentNode(node) { + return this.$refs.tree.setCurrentNode(node); + }, + /** + * 从数据源加载数据 + * @param localDsv 本地数据源变量DSV + * @param dsName 数据源名称,不传此值,则使用dsName属性绑定的数据源 + */ + loadDataFromDS(localDsv = {}, dsName = '') { + let curDSName = dsName || this.widget.options.dsName; + let curDSetName = this.widget.options.dataSetName; + let curDS = Object(util["i" /* getDSByName */])(this.formConfig, curDSName); + if (!!curDS) { + let gDsv = this.getGlobalDsv() || {}; + let newDsv = new Object({}); + Object(util["p" /* overwriteObj */])(newDsv, gDsv); + Object(util["p" /* overwriteObj */])(newDsv, localDsv); + newDsv.widgetName = this.widget.options.name; + this.loadingFlag = true; + Object(util["s" /* runDataSourceRequest */])(curDS, newDsv, this.getFormRef(), false, this.$message).then(res => { + if (!!curDSetName && res.hasOwnProperty(curDSetName)) { + this.setTreeData(res[curDSetName]); + } else { + this.setTreeData(res); + } + this.loadingFlag = false; + }).catch(err => { + this.$message.error(err.message); + this.loadingFlag = false; + }); + } + } + + //--------------------- 以上为组件支持外部调用的API方法 end ------------------// + } +}); +// CONCATENATED MODULE: ./src/components/form-render/container-item/tree-item.vue?vue&type=script&lang=js + /* harmony default export */ var container_item_tree_itemvue_type_script_lang_js = (tree_itemvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-render/container-item/tree-item.vue?vue&type=style&index=0&id=f0f74652&prod&lang=scss&scoped=true +var tree_itemvue_type_style_index_0_id_f0f74652_prod_lang_scss_scoped_true = __webpack_require__("c8fe"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-render/container-item/tree-item.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + container_item_tree_itemvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "f0f74652", + null + +) + +/* harmony default export */ var tree_item = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "2a62": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__("c65b"); +var anObject = __webpack_require__("825a"); +var getMethod = __webpack_require__("dc4a"); + +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') throw value; + if (innerError) throw innerResult; + anObject(innerResult); + return value; +}; + + +/***/ }), + +/***/ "2ba4": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var NATIVE_BIND = __webpack_require__("40d5"); + +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; + +// eslint-disable-next-line es/no-reflect -- safe +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + + +/***/ }), + +/***/ "2c66": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__("83ab"); +var defineBuiltInAccessor = __webpack_require__("edd0"); +var isDetached = __webpack_require__("75bd"); + +var ArrayBufferPrototype = ArrayBuffer.prototype; + +if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) { + defineBuiltInAccessor(ArrayBufferPrototype, 'detached', { + configurable: true, + get: function detached() { + return isDetached(this); + } + }); +} + + +/***/ }), + +/***/ "2d00": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__("da84"); +var userAgent = __webpack_require__("342f"); + +var process = global.process; +var Deno = global.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} + +// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` +// so check `userAgent` even if `.v8` exists, but 0 +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = +match[1]; + } +} + +module.exports = version; + + +/***/ }), + +/***/ "2d11": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("14d9"); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("ca00"); +/* harmony import */ var _utils_validators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("a00a"); +/* harmony import */ var _utils_setAllDic__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("236e"); + + + + +/* harmony default export */ __webpack_exports__["a"] = ({ + inject: ['refList', 'getFormConfig', 'globalOptionData', 'globalModel', 'getOptionData', 'getGlobalDsv', 'getReadMode', 'getSubFormFieldFlag', 'getSubFormName', 'getDSResultCache'], + data() { + return { + fieldReadonlyFlag: false, + dataSetLoadedFlag: false + }; + }, + computed: { + formConfig() { + return this.getFormConfig(); + }, + subFormName() { + return !!this.getSubFormName ? this.getSubFormName() : ''; + }, + subFormItemFlag() { + return !!this.getSubFormFieldFlag ? this.getSubFormFieldFlag() : false; + }, + formModel: { + cache: false, + get() { + return this.globalModel.formModel; + } + }, + isReadMode() { + //return this.getReadMode() || this.fieldReadonlyFlag + return !!this.getReadMode() ? true : this.fieldReadonlyFlag; + }, + optionLabel() { + if (this.fieldModel === null) { + return '--'; + } else { + let resultContent = '--'; + this.field.options.optionItems.forEach(oItem => { + if (oItem.value === this.fieldModel || this.findInArray(this.fieldModel, oItem.value) !== -1) { + resultContent = resultContent === '--' ? oItem.label : resultContent + ' ' + oItem.label; + } + }); + return resultContent; + } + } + }, + methods: { + findInArray(arrayObject, element) { + if (!Array.isArray(arrayObject)) { + return -1; + } + let foundIdx = -1; + arrayObject.forEach((aItem, aIdx) => { + if (aItem === element) { + foundIdx = aIdx; + } + }); + return foundIdx; + }, + //--------------------- 组件内部方法 begin ------------------// + getPropName() { + if (this.subFormItemFlag && !this.designState) { + return this.subFormName + "." + this.subFormRowIndex + "." + this.field.options.name + ""; + } else { + return this.field.options.name; + } + }, + initFieldModel() { + if (!this.field.formItemFlag) { + return; + } + if (!!this.subFormItemFlag && !this.designState) { + //SubForm子表单组件需要特殊处理!! + let subFormData = this.formModel[this.subFormName]; + if ((subFormData === undefined || subFormData[this.subFormRowIndex] === undefined || subFormData[this.subFormRowIndex][this.field.options.name] === undefined) && this.field.options.defaultValue !== undefined) { + this.fieldModel = this.field.options.defaultValue; + subFormData[this.subFormRowIndex][this.field.options.name] = this.field.options.defaultValue; + } else if (subFormData[this.subFormRowIndex][this.field.options.name] === undefined) { + this.fieldModel = null; + subFormData[this.subFormRowIndex][this.field.options.name] = null; + } else { + this.fieldModel = subFormData[this.subFormRowIndex][this.field.options.name]; + } + + /* 主动触发子表单内field-widget的onChange事件!! */ + setTimeout(() => { + //延时触发onChange事件, 便于更新计算字段!! + this.handleOnChangeForSubForm(this.fieldModel, this.oldFieldValue, subFormData, this.subFormRowId); + }, 800); + this.oldFieldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); + this.initFileList(); //处理图片上传、文件上传字段 + + return; + } + if (this.formModel[this.field.options.name] === undefined && this.field.options.defaultValue !== undefined) { + this.fieldModel = this.field.options.defaultValue; + } else if (this.formModel[this.field.options.name] === undefined) { + //如果formModel为空对象,则初始化字段值为null!! + this.formModel[this.field.options.name] = null; + } else { + this.fieldModel = this.formModel[this.field.options.name]; + } + this.oldFieldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); + this.initFileList(); //处理图片上传、文件上传字段 + }, + initFileList() { + //初始化上传组件的已上传文件列表 + if (this.field.type !== 'picture-upload' && this.field.type !== 'file-upload' || this.designState === true) { + return; + } + if (!!this.fieldModel) { + if (Array.isArray(this.fieldModel)) { + this.fileList = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); + } else { + this.fileList.splice(0, 0, Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel)); + } + } + }, + initEventHandler() { + this.$on('setFormData', newFormData => { + //console.log('formModel of globalModel----------', this.globalModel.formModel) + if (!this.subFormItemFlag) { + this.setValue(newFormData[this.field.options.name]); + } + }); + this.$on('field-value-changed', values => { + if (!!this.subFormItemFlag) { + let subFormData = this.formModel[this.subFormName]; + this.handleOnChangeForSubForm(values[0], values[1], subFormData, this.subFormRowId); + } else { + this.handleOnChange(values[0], values[1]); + } + }); + + /* 监听从数据集加载选项事件 */ + this.$on('loadOptionItemsFromDataSet', dsName => { + this.loadOptionItemsFromDataSet(dsName); + this.dataSetLoadedFlag = true; + }); + + /* 监听重新加载选项事件 */ + this.$on('reloadOptionItems', widgetNames => { + if (widgetNames.length === 0 || widgetNames.indexOf(this.field.options.name) > -1) { + this.initOptionItems(true); + } + }); + }, + handleOnCreated() { + if (!!this.designState) { + //设计状态不触发事件 + return; + } + if (!!this.field.options.onCreated) { + let customFunc = new Function(this.field.options.onCreated); + customFunc.call(this); + } + }, + handleOnMounted() { + if (!!this.designState) { + //设计状态不触发事件 + return; + } + if (!!this.field.options.onMounted) { + let mountFunc = new Function(this.field.options.onMounted); + mountFunc.call(this); + } + }, + registerToRefList(oldRefName) { + if (this.refList !== null && !!this.field.options.name) { + if (this.subFormItemFlag && !this.designState) { + //处理子表单元素(且非设计状态) + if (!!oldRefName) { + delete this.refList[oldRefName + '@row' + this.subFormRowId]; + } + this.refList[this.field.options.name + '@row' + this.subFormRowId] = this; + } else { + if (!!oldRefName) { + delete this.refList[oldRefName]; + } + this.refList[this.field.options.name] = this; + } + } + }, + unregisterFromRefList() { + //销毁组件时注销组件ref + if (this.refList !== null && !!this.field.options.name) { + let oldRefName = this.field.options.name; + if (this.subFormItemFlag && !this.designState) { + //处理子表单元素(且非设计状态) + delete this.refList[oldRefName + '@row' + this.subFormRowId]; + } else { + delete this.refList[oldRefName]; + } + } + }, + async initOptionItems(keepSelected) { + if (this.field.type === 'radio' || this.field.type === 'checkbox' || this.field.type === 'select' || this.field.type === 'cascader') { + /* 首先处理数据源选项加载 */ + if (!!this.field.options.optionType == 2) { + if (this.designState) { + return; + } + this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项 + let curDSName = this.field.options.dsName; + let curDSetName = this.field.options.dataSetName; + let curDS = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* getDSByName */ "i"])(this.formConfig, curDSName); + if (!!curDS && !curDSetName) { + let gDsv = this.getGlobalDsv() || {}; + //console.log('Global DSV is: ', gDsv) + let localDsv = new Object({}); + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* overwriteObj */ "p"])(localDsv, gDsv); + localDsv['widgetName'] = this.field.options.name; + let dsResult = null; + try { + dsResult = await Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* runDataSourceRequest */ "s"])(curDS, localDsv, this.getFormRef(), false, this.$message); + this.loadOptions(dsResult); + } catch (err) { + this.$message.error(err.message); + } + } else if (!!curDS && !!curDSetName && !this.dataSetLoadedFlag) { + this.loadOptionItemsFromDataSet(curDSName); + } + return; + } + if (!!this.field.options.optionType == 1 && !(this.field.type === 'cascader')) { + const optionItems = Object(_utils_setAllDic__WEBPACK_IMPORTED_MODULE_3__[/* loadOptionItemFromDict */ "b"])(this.field); + + // 根据字典加载选项 + this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项 + console.log(this.field.options.defaultValue, '---->defaultValue'); + this.field.options.defaultValue = ''; + this.loadOptions(optionItems); + } + + /* 异步更新option-data之后globalOptionData不能获取到最新值,改用provide的getOptionData()方法 */ + const newOptionItems = this.getOptionData(); + if (!!newOptionItems && newOptionItems.hasOwnProperty(this.field.options.name)) { + if (!!keepSelected) { + this.reloadOptions(newOptionItems[this.field.options.name]); + } else { + this.loadOptions(newOptionItems[this.field.options.name]); + } + } + } + }, + loadOptionItemsFromDataSet(dsName) { + if (this.designState) { + return; + } + if (this.field.type !== 'radio' && this.field.type !== 'checkbox' && this.field.type !== 'select' && this.field.type !== 'cascader') { + return; + } + if (!this.field.options.dsEnabled || !this.field.options.dsName || !this.field.options.dataSetName || this.field.options.dsName !== dsName) { + return; + } + const dataCache = this.getDSResultCache(); + const dSetName = this.field.options.dataSetName; + if (!!dataCache && !!dataCache[dsName] && !!dataCache[dsName][dSetName]) { + this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项 + this.loadOptions(dataCache[dsName][dSetName]); + } + }, + refreshDefaultValue() { + if (this.designState === true && this.field.options.defaultValue !== undefined) { + console.log(this.field.options.defaultValue, this.fieldModel, '---->this.field.options.defaultValue'); + this.fieldModel = this.field.options.defaultValue; + } + }, + clearFieldRules() { + if (!this.field.formItemFlag) { + return; + } + this.rules.splice(0, this.rules.length); //清空已有 + }, + buildFieldRules() { + if (!this.field.formItemFlag || this.field.options.hidden) { + return; + } + this.rules.splice(0, this.rules.length); //清空已有 + if (!!this.field.options.required) { + this.rules.push({ + required: true, + //trigger: ['blur', 'change'], + trigger: ['blur'], + /* 去掉change事件触发校验,change事件触发时formModel数据尚未更新,导致radio/checkbox必填校验出错!! */ + message: this.field.options.requiredHint || this.i18nt('render.hint.fieldRequired') + }); + } + if (!!this.field.options.validation) { + let vldName = this.field.options.validation; + if (!!_utils_validators__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"][vldName]) { + this.rules.push({ + validator: _utils_validators__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"][vldName], + trigger: ['blur', 'change'], + label: this.field.options.label, + errorMsg: this.field.options.validationHint + }); + } else { + this.rules.push({ + validator: _utils_validators__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"]['regExp'], + trigger: ['blur', 'change'], + regExp: vldName, + label: this.field.options.label, + errorMsg: this.field.options.validationHint + }); + } + } + if (!!this.field.options.onValidate) { + //let customFn = new Function('rule', 'value', 'callback', this.field.options.onValidate) + let customFn = (rule, value, callback) => { + let tmpFunc = new Function('rule', 'value', 'callback', this.field.options.onValidate); + return tmpFunc.call(this, rule, value, callback); + }; + this.rules.push({ + validator: customFn, + trigger: ['blur', 'change'], + label: this.field.options.label + }); + } + }, + /** + * 禁用字段值变动触发表单校验 + */ + disableChangeValidate() { + if (!this.rules) { + return; + } + this.rules.forEach(rule => { + if (!!rule.trigger) { + rule.trigger.splice(0, rule.trigger.length); + } + }); + }, + /** + * 启用字段值变动触发表单校验 + */ + enableChangeValidate() { + if (!this.rules) { + return; + } + this.rules.forEach(rule => { + if (!!rule.trigger) { + rule.trigger.push('blur'); + rule.trigger.push('change'); + } + }); + }, + disableOptionOfList(optionList, optionValue) { + if (!!optionList && optionList.length > 0) { + optionList.forEach(opt => { + if (opt.value === optionValue) { + opt.disabled = true; + } + }); + } + }, + enableOptionOfList(optionList, optionValue) { + if (!!optionList && optionList.length > 0) { + optionList.forEach(opt => { + if (opt.value === optionValue) { + opt.disabled = false; + } + }); + } + }, + //--------------------- 组件内部方法 end ------------------// + + //--------------------- 事件处理 begin ------------------// + emitFieldDataChange(newValue, oldValue) { + this.$emit('field-value-changed', [newValue, oldValue]); + + /* 必须用dispatch向指定父组件派发消息!! */ + this.dispatch('VFormRender', 'fieldChange', [this.field.options.name, newValue, oldValue, this.subFormName, this.subFormRowIndex]); + }, + syncUpdateFormModel(value) { + if (!!this.designState) { + return; + } + if (!!this.subFormItemFlag) { + let subFormData = this.formModel[this.subFormName] || [{}]; + let subFormDataRow = subFormData[this.subFormRowIndex]; + subFormDataRow[this.field.options.name] = value; + } else { + this.formModel[this.field.options.name] = value; + } + }, + handleChangeEvent(value) { + /* input的清除输入小按钮会同时触发handleChangeEvent、handleInputCustomEvent!! */ + if (!!this.designState) { + //设计状态不触发事件 + return; + } + this.syncUpdateFormModel(value); + this.emitFieldDataChange(value, this.oldFieldValue); + + //number组件一般不会触发focus事件,故此处需要手工赋值oldFieldValue!! + this.oldFieldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(value); /* oldFieldValue需要在initFieldModel()方法中赋初值!! */ + + /* 主动触发表单的单个字段校验,用于清除字段可能存在的校验错误提示 */ + this.dispatch('VFormRender', 'fieldValidation', [this.getPropName()]); + }, + handleFocusCustomEvent(event) { + if (!!this.designState) { + //设计状态不触发事件 + return; + } + this.oldFieldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); //保存修改change之前的值 + + if (!!this.field.options.onFocus) { + let customFn = new Function('event', this.field.options.onFocus); + customFn.call(this, event); + } + }, + handleBlurCustomEvent(event) { + if (!!this.designState) { + //设计状态不触发事件 + return; + } + if (!!this.field.options.onBlur) { + let customFn = new Function('event', this.field.options.onBlur); + customFn.call(this, event); + } + }, + handleInputCustomEvent(value) { + if (!!this.designState) { + //设计状态不触发事件 + return; + } + this.syncUpdateFormModel(value); + + /* 主动触发表单的单个字段校验,用于清除字段可能存在的校验错误提示 */ + this.dispatch('VFormRender', 'fieldValidation', [this.getPropName()]); + if (!!this.field.options.onInput) { + let customFn = new Function('value', this.field.options.onInput); + customFn.call(this, value); + } + }, + emitAppendButtonClick() { + if (!!this.designState) { + //设计状态不触发点击事件 + return; + } + if (!!this.field.options.onAppendButtonClick) { + let customFn = new Function(this.field.options.onAppendButtonClick); + customFn.call(this); + } else { + /* 必须调用mixins中的dispatch方法逐级向父组件发送消息!! */ + this.dispatch('VFormRender', 'appendButtonClick', [this]); + } + }, + handleOnChange(val, oldVal) { + //自定义onChange事件 + if (!!this.designState) { + //设计状态不触发事件 + return; + } + if (!!this.field.options.onChange) { + let changeFn = new Function('value', 'oldValue', this.field.options.onChange); + changeFn.call(this, val, oldVal); + } + }, + handleOnChangeForSubForm(val, oldVal, subFormData, rowId) { + //子表单自定义onChange事件 + if (!!this.designState) { + //设计状态不触发事件 + return; + } + if (!!this.field.options.onChange) { + let changeFn = new Function('value', 'oldValue', 'subFormData', 'rowId', this.field.options.onChange); + changeFn.call(this, val, oldVal, subFormData, rowId); + } + }, + handleButtonWidgetClick() { + if (!!this.designState) { + //设计状态不触发点击事件 + return; + } + if (!!this.field.options.onClick) { + let customFn = new Function(this.field.options.onClick); + customFn.call(this); + } else { + this.dispatch('VFormRender', 'buttonClick', [this]); + } + }, + remoteQuery(keyword) { + if (!!this.designState) { + //设计状态不触发事件 + return; + } + if (!!this.field.options.onRemoteQuery) { + let remoteFn = new Function('keyword', this.field.options.onRemoteQuery); + remoteFn.call(this, keyword); + } + }, + //--------------------- 事件处理 end ------------------// + + //--------------------- 以下为组件支持外部调用的API方法 begin ------------------// + /* 提示:用户可自行扩充这些方法!!! */ + + getFormRef() { + /* 获取VFrom引用,必须在VForm组件created之后方可调用 */ + return this.refList['v_form_ref']; + }, + getWidgetRef(widgetName, showError) { + let foundRef = this.refList[widgetName]; + if (!foundRef && !!showError) { + this.$message.error(this.i18nt('render.hint.refNotFound') + widgetName); + } + return foundRef; + }, + getFieldEditor() { + //获取内置的el表单组件 + return this.$refs['fieldEditor']; + }, + /* + 注意:VFormRender的setFormData方法不会触发子表单内field-widget的setValue方法, + 因为setFormData方法调用后,子表单内所有field-widget组件已被清空,接收不到setFormData事件!! + */ + setValue(newValue, disableChangeEvent = false) { + /* if ((this.field.type === 'picture-upload') || (this.field.type === 'file-upload')) { + this.fileList = newValue + } else */ + if (!!this.field.formItemFlag) { + let oldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); + this.fieldModel = newValue; + this.initFileList(); + this.syncUpdateFormModel(newValue); + if (!disableChangeEvent) { + this.emitFieldDataChange(newValue, oldValue); + } + } + }, + getValue() { + return this.fieldModel; + }, + /** + * 返回选项类字段的当前选中项的label值 + */ + getSelectedLabel() { + //TODO: 待实现!! + }, + resetField(disableChangeEvent = false) { + if (!!this.subFormItemFlag) { + //跳过子表单组件 + return; + } + let defaultValue = this.field.options.defaultValue; + this.setValue(defaultValue, disableChangeEvent); + + //清空上传组件文件列表 + if (this.field.type === 'picture-upload' || this.field.type === 'file-upload') { + if (!!this.$refs['fieldEditor']) { + //如果组件未隐藏 + this.$refs['fieldEditor'].clearFiles(); + } + this.fileList.splice(0, this.fileList.length); + } + }, + setWidgetOption(optionName, optionValue) { + //通用组件选项修改API + if (this.field.options.hasOwnProperty(optionName)) { + this.field.options[optionName] = optionValue; + //TODO: 是否重新构建组件??有些属性修改后必须重新构建组件才能生效,比如字段校验规则。 + } + }, + setFilter(filterValue) { + if (this.field.options.filter) { + this.field.options.filter = filterValue; + } + }, + setEfilter(eFilterValue) { + if (this.field.options.efilter) { + this.field.options.efilter = eFilterValue; + } + }, + setReadonly(flag) { + this.field.options.readonly = flag; + }, + setDisabled(flag) { + this.field.options.disabled = flag; + }, + setAppendButtonVisible(flag) { + this.field.options.appendButton = flag; + }, + setAppendButtonDisabled(flag) { + this.field.options.appendButtonDisabled = flag; + }, + setHidden(flag) { + this.field.options.hidden = flag; + if (!!flag) { + //清除组件校验规则 + this.clearFieldRules(); + } else { + //重建组件校验规则 + this.buildFieldRules(); + } + }, + setRequired(flag) { + this.field.options.required = flag; + this.buildFieldRules(); + if (!this.designState && !flag) { + //清除必填校验提示 + this.clearValidate(); + } + }, + /** + * 清除字段校验提示 + */ + clearValidate() { + if (!!this.designState) { + return; + } + this.getFormRef().getNativeForm().clearValidate(this.getPropName()); + }, + setLabel(newLabel) { + this.field.options.label = newLabel; + }, + focus() { + if (!!this.getFieldEditor() && !!this.getFieldEditor().focus) { + this.getFieldEditor().focus(); + } + }, + clearSelectedOptions() { + //清空已选选项 + if (this.field.type !== 'checkbox' && this.field.type !== 'radio' && this.field.type !== 'select') { + return; + } + if (this.field.type === 'checkbox' || this.field.type === 'select' && this.field.options.multiple) { + this.fieldModel = []; + } else { + this.fieldModel = ''; + } + }, + /** + * 加载选项,并清空字段值 + * @param options + */ + loadOptions(options) { + // this.field.options.optionItems = deepClone(options) + this.clearSelectedOptions(); //清空已选选项 + + this.field.options.optionItems = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* translateOptionItems */ "t"])(options, this.field.type, this.field.options.labelKey || 'label', this.field.options.valueKey || 'value'); + }, + /** + * 重新加载选项,不清空字段值 + * @param options + */ + reloadOptions(options) { + // this.field.options.optionItems = deepClone(options) + this.clearSelectedOptions(); //清空已选选项 + + this.field.options.optionItems = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* translateOptionItems */ "t"])(options, this.field.type, this.field.options.labelKey || 'label', this.field.options.valueKey || 'value'); + }, + /** + * 返回radio/checkbox/select/cascader的选项数据 + * @returns 选择项数组 + */ + getOptions() { + return this.field.options.optionItems; + }, + disableOption(optionValue) { + this.disableOptionOfList(this.field.options.optionItems, optionValue); + }, + enableOption(optionValue) { + this.enableOptionOfList(this.field.options.optionItems, optionValue); + }, + /** + * 返回选择项 + * @returns {*} + */ + getOptionItems() { + return this.field.options.optionItems; + }, + setUploadHeader(name, value) { + this.$set(this.uploadHeaders, name, value); + }, + setUploadData(name, value) { + this.$set(this.uploadData, name, value); + }, + setToolbar(customToolbar) { + this.customToolbar = customToolbar; + }, + /** + * 是否子表单内嵌的字段组件 + * @returns {boolean} + */ + isSubFormItem() { + return this.subFormItemFlag; + }, + /** + * 是否子表单内嵌的字段组件 + * @returns {boolean} + */ + isSubFormField() { + return this.subFormItemFlag; + }, + /** + * 设置或取消设置字段只读查看模式 + * @param readonlyFlag + */ + setReadMode(readonlyFlag = true) { + this.fieldReadonlyFlag = readonlyFlag; + }, + /** + * 动态增加自定义css样式 + * @param className + */ + addCssClass(className) { + if (!this.field.options.customClass) { + this.field.options.customClass = [className]; + } else { + this.field.options.customClass.push(className); + } + }, + /** + * 动态移除自定义css样式 + * @param className + */ + removeCssClass(className) { + if (!this.field.options.customClass) { + return; + } + let foundIdx = -1; + this.field.options.customClass.map((cc, idx) => { + if (cc === className) { + foundIdx = idx; + } + }); + if (foundIdx > -1) { + this.field.options.customClass.splice(foundIdx, 1); + } + } + + //--------------------- 以上为组件支持外部调用的API方法 end ------------------// + } +}); + +/***/ }), + +/***/ "2d83": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var enhanceError = __webpack_require__("387f"); + +/** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The created error. + */ +module.exports = function createError(message, config, code, request, response) { + var error = new Error(message); + return enhanceError(error, config, code, request, response); +}; + + +/***/ }), + +/***/ "2e67": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = function isCancel(value) { + return !!(value && value.__CANCEL__); +}; + + +/***/ }), + +/***/ "2faa": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=template&id=472c31c2&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-rate',{ref:"fieldEditor",attrs:{"disabled":_vm.field.options.disabled,"max":_vm.field.options.max,"low-threshold":_vm.field.options.lowThreshold,"high-threshold":_vm.field.options.highThreshold,"allow-half":_vm.field.options.allowHalf,"show-text":_vm.field.options.showText,"show-score":_vm.field.options.showScore},on:{"change":_vm.handleChangeEvent},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}})],1)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=template&id=472c31c2&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var rate_widgetvue_type_script_lang_js = ({ + name: "rate-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + FormItemWrapper: form_item_wrapper["default"] + }, + inject: ['refList', 'globalOptionData', 'globalModel'], + data() { + return { + oldFieldValue: null, + //field组件change之前的值 + fieldModel: null, + rules: [] + }; + }, + computed: {}, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initFieldModel(); + this.initEventHandler(); + this.buildFieldRules(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: {} +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_rate_widgetvue_type_script_lang_js = (rate_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=style&index=0&id=472c31c2&prod&lang=scss&scoped=true +var rate_widgetvue_type_style_index_0_id_472c31c2_prod_lang_scss_scoped_true = __webpack_require__("1da3"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/rate-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_rate_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "472c31c2", + null + +) + +/* harmony default export */ var rate_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "2fcd": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_picture_upload_widget_vue_vue_type_style_index_0_id_482130be_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("a345"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_picture_upload_widget_vue_vue_type_style_index_0_id_482130be_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_picture_upload_widget_vue_vue_type_style_index_0_id_482130be_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "2fee": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_dynamic_drawer_vue_vue_type_style_index_0_id_4ae3d07d_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("905c"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_dynamic_drawer_vue_vue_type_style_index_0_id_4ae3d07d_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_dynamic_drawer_vue_vue_type_style_index_0_id_4ae3d07d_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "30ae": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/table-high-level-column.vue?vue&type=template&id=dc7f5744&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!!_vm.columnSchema.headerFlag && (!!_vm.columnSchema.children && _vm.columnSchema.children.length > 0))?_c('el-table-column',{attrs:{"label":_vm.columnSchema.label,"align":_vm.columnSchema.align ? _vm.columnSchema.align : 'center'}},[_vm._l((_vm.columnSchema.children),function(child,idx){return [_c('table-high-level-column',{attrs:{"column-schema":child,"data-table-ref":_vm.dataTableRef,"column-index":idx}})]})],2):(!_vm.columnSchema.headerFlag && (_vm.columnSchema.show !== false) && !_vm.columnSchema.children)?_c('el-table-column',{key:_vm.columnSchema.columnId,attrs:{"prop":_vm.columnSchema.prop,"label":_vm.columnSchema.label,"sortable":_vm.getSortable(_vm.columnSchema),"fixed":!_vm.columnSchema.fixed ? false : _vm.columnSchema.fixed,"align":_vm.columnSchema.align ? _vm.columnSchema.align:'center',"formatter":_vm.formatterValue,"format":_vm.columnSchema.format,"show-overflow-tooltip":true,"min-width":_vm.columnSchema.width},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [(_vm.columnSchema.formatS === 'render' && !!_vm.columnSchema.render)?[_c('table-column-custom-render',{attrs:{"row":scope.row,"column":_vm.columnSchema,"data-table-ref":_vm.dataTableRef,"row-index":scope.$index,"column-index":_vm.columnIndex,"renderFn":_vm.getColumnRender(scope.row, _vm.columnSchema)}})]:(!!_vm.columnSchema.formatS && (_vm.columnSchema.formatS !== 'renders'))?[_c('span',[_vm._v(_vm._s(_vm.formatterValue(scope.row, _vm.columnSchema, scope.row[_vm.columnSchema.prop])))])]:[_c('span',[_vm._v(_vm._s(scope.row[_vm.columnSchema.prop]))])]]}}])}):_vm._e()} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-render/table-high-level-column.vue?vue&type=template&id=dc7f5744&scoped=true + +// EXTERNAL MODULE: ./src/utils/format.js +var format = __webpack_require__("6be8"); + +// EXTERNAL MODULE: ./src/components/form-render/table-column-custom-render.js +var table_column_custom_render = __webpack_require__("eb47"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/table-high-level-column.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var table_high_level_columnvue_type_script_lang_js = ({ + name: "table-high-level-column", + props: { + columnSchema: { + type: Object + }, + dataTableRef: { + type: Object + }, + columnIndex: { + type: Number + } + }, + components: { + TableColumnCustomRender: table_column_custom_render["a" /* default */] + }, + methods: { + getSortable(column) { + return !column.sortable ? false : !!column.customSort ? 'custom' : true; + }, + formatterValue(row, column, cellValue) { + if (!cellValue) { + return ''; + } + if (!!column.formatS && !!column.show) { + switch (column.formatS) { + case 'd1': + return Object(format["a" /* formatDate1 */])(cellValue); + case 'd2': + return Object(format["b" /* formatDate2 */])(cellValue); + case 'd3': + return Object(format["c" /* formatDate3 */])(cellValue); + case 'd4': + return Object(format["d" /* formatDate4 */])(cellValue); + case 'd5': + return Object(format["e" /* formatDate5 */])(cellValue); + case 'n1': + return Object(format["f" /* formatNumber1 */])(cellValue); + case 'n2': + return Object(format["g" /* formatNumber2 */])(cellValue); + case 'n3': + return Object(format["h" /* formatNumber3 */])(cellValue); + case 'n4': + return Object(format["i" /* formatNumber4 */])(cellValue); + case 'n5': + return Object(format["j" /* formatNumber5 */])(cellValue); + case 'n6': + return Object(format["k" /* formatNumber6 */])(cellValue); + case 'n7': + return Object(format["l" /* formatNumber7 */])(cellValue); + } + } + return cellValue; + }, + getColumnRender(row, column) { + /* TODO: 每个table-cell,render函数会执行2次,原因不明!!! */ + return new Function('h', 'params', 'components', column.render); + } + } +}); +// CONCATENATED MODULE: ./src/components/form-render/table-high-level-column.vue?vue&type=script&lang=js + /* harmony default export */ var form_render_table_high_level_columnvue_type_script_lang_js = (table_high_level_columnvue_type_script_lang_js); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-render/table-high-level-column.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + form_render_table_high_level_columnvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "dc7f5744", + null + +) + +/* harmony default export */ var table_high_level_column = __webpack_exports__["a"] = (component.exports); + +/***/ }), + +/***/ "30b5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); + +function encode(val) { + return encodeURIComponent(val). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @returns {string} The formatted url + */ +module.exports = function buildURL(url, params, paramsSerializer) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + var serializedParams; + if (paramsSerializer) { + serializedParams = paramsSerializer(params); + } else if (utils.isURLSearchParams(params)) { + serializedParams = params.toString(); + } else { + var parts = []; + + utils.forEach(params, function serialize(val, key) { + if (val === null || typeof val === 'undefined') { + return; + } + + if (utils.isArray(val)) { + key = key + '[]'; + } else { + val = [val]; + } + + utils.forEach(val, function parseValue(v) { + if (utils.isDate(v)) { + v = v.toISOString(); + } else if (utils.isObject(v)) { + v = JSON.stringify(v); + } + parts.push(encode(key) + '=' + encode(v)); + }); + }); + + serializedParams = parts.join('&'); + } + + if (serializedParams) { + var hashmarkIndex = url.indexOf('#'); + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; +}; + + +/***/ }), + +/***/ "342f": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || ''; + + +/***/ }), + +/***/ "34f0": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("14d9"); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("ca00"); + + +/* harmony default export */ __webpack_exports__["a"] = ({ + inject: ['getFormConfig', 'getGlobalDsv'], + computed: { + customClass() { + return this.widget.options.customClass || ''; + }, + formModel: { + cache: false, + get() { + return this.globalModel.formModel; + } + } + }, + mounted() { + this.callSetHidden(); + }, + methods: { + cloneWidgetSchema(widget) { + return Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(widget); + /** + * 注意:在v-for循环中,必须保证克隆对象与原对象完全一致,修改克隆对象任何属性, + * 都会触发组件的beforeDestroy事件钩子!!! + */ + + // let newWidgetSchema = deepClone(widget) + // newWidgetSchema.id = widget.type + generateId() + // return newWidgetSchema + }, + unregisterFromRefList() { + //销毁容器组件时注销组件ref + if (this.refList !== null && !!this.widget.options.name) { + let oldRefName = this.widget.options.name; + delete this.refList[oldRefName]; + } + }, + /* 主动触发setHidden()方法,以清空被隐藏容器内字段组件的校验规则!! */ + callSetHidden() { + if (this.widget.options.hidden === true) { + this.setHidden(true); + } + }, + //--------------------- 以下为组件支持外部调用的API方法 begin ------------------// + /* 提示:用户可自行扩充这些方法!!! */ + + setHidden(flag) { + this.widget.options.hidden = flag; + const fwHandler = fw => { + let fwName = fw.options.name; + let fwRef = this.getWidgetRef(fwName); + if (flag && !!fwRef && !!fwRef.clearFieldRules) { + fwRef.clearFieldRules(); + } + if (!flag && !!fwRef && !!fwRef.buildFieldRules) { + fwRef.buildFieldRules(); + } + }; + let sfArray = []; + const cwHandler = cw => { + if (cw.type === 'sub-form' || cw.type === 'grid-sub-form') { + sfArray.push(cw); + } + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseWidgetsOfContainer */ "x"])(this.widget, fwHandler, cwHandler); + sfArray.forEach(sf => { + const sfRef = this.getWidgetRef(sf.options.name); + if (!!sfRef) { + const rowIds = sfRef.getRowIdData(); + const sfwHandler = sfw => { + if (!!rowIds && rowIds.length > 0) { + rowIds.forEach(rid => { + const sfwName = sfw.options.name + '@row' + rid; + const sfwRef = this.getWidgetRef(sfwName); + if (flag && !!sfwRef && !!sfwRef.clearFieldRules) { + sfwRef.clearFieldRules(); + } + if (!flag && !!sfwRef && !!sfwRef.buildFieldRules) { + sfwRef.buildFieldRules(); + } + }); + } + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "w"])(sfRef.widget, sfwHandler); + } + }); + }, + /** + * 禁用或启用容器组件(包含容器内部的所有组件) + * @param flag + */ + setDisabled(flag) { + const fwHandler = fw => { + const fwName = fw.options.name; + const fwRef = this.getWidgetRef(fwName); + if (!!fwRef && !!fwRef.setDisabled) { + fwRef.setDisabled(flag); + } + }; + const cwHandler = cw => { + if (cw.id === this.widget.id) { + //避免死循环!!! + return; + } + const cwName = cw.options.name; + const cwRef = this.getWidgetRef(cwName); + if (!!cwRef && !!cwRef.setDisabled) { + cwRef.setDisabled(flag); + } + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseWidgetsOfContainer */ "x"])(this.widget, fwHandler, cwHandler); + + //注意:单行子表单、多行子表单容器的setDisabled方法由单行子表单、多行子表单组件自己实现!! + }, + activeTab(tabIndex) { + //tabIndex从0计数 + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs.forEach((tp, idx) => { + tp.options.active = idx === tabIndex; + if (idx === tabIndex) { + this.activeTabName = tp.options.name; + } + }); + } + }, + disableTab(tabIndex) { + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs[tabIndex].options.disabled = true; + } + }, + enableTab(tabIndex) { + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs[tabIndex].options.disabled = false; + } + }, + hideTab(tabIndex) { + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs[tabIndex].options.hidden = true; + } + }, + showTab(tabIndex) { + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs[tabIndex].options.hidden = false; + } + }, + setWidgetOption(optionName, optionValue) { + //通用组件选项修改API + if (this.widget.options.hasOwnProperty(optionName)) { + this.widget.options[optionName] = optionValue; + } + }, + /** + * 获取子表单的行数 + */ + getSubFormRowCount() { + return !this.rowIdData ? 0 : this.rowIdData.length; + }, + setGridSubFormRowDisabled(rowId, disabledFlag) { + const fwHandler = fw => { + const fwName = fw.options.name + '@row' + rowId; + const fwRef = this.getWidgetRef(fwName); + if (!!fwRef && !!fwRef.setDisabled) { + fwRef.setDisabled(disabledFlag); + } + }; + const cwHandler = cw => { + const cwName = cw.options.name + '@row' + rowId; + const cwRef = this.getWidgetRef(cwName); + if (!!cwRef && !!cwRef.setDisabled) { + cwRef.setDisabled(disabledFlag); + } + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseWidgetsOfContainer */ "x"])(this.widget, fwHandler, cwHandler); + }, + disableSubFormRow(rowIndex) { + if (this.widget.type === 'sub-form') { + this.widget.widgetList.forEach(subWidget => { + let swRefName = subWidget.options.name + '@row' + this.rowIdData[rowIndex]; + let foundSW = this.getWidgetRef(swRefName); + if (!!foundSW && !!foundSW.setDisabled) { + foundSW.setDisabled(true); + } + }); + } else if (this.widget.type === 'grid-sub-form') { + this.setGridSubFormRowDisabled(this.rowIdData[rowIndex], true); + } + }, + enableSubFormRow(rowIndex) { + if (this.widget.type === 'sub-form') { + this.widget.widgetList.forEach(subWidget => { + let swRefName = subWidget.options.name + '@row' + this.rowIdData[rowIndex]; + let foundSW = this.getWidgetRef(swRefName); + if (!!foundSW && !!foundSW.setDisabled) { + foundSW.setDisabled(false); + } + }); + } else if (this.widget.type === 'grid-sub-form') { + this.setGridSubFormRowDisabled(this.rowIdData[rowIndex], false); + } + }, + disableSubForm() { + this.widget.widgetList.forEach(subWidget => { + subWidget.options.disabled = true; + }); + if (this.rowIdData.length > 0) { + this.rowIdData.forEach((dataRow, rIdx) => { + this.disableSubFormRow(rIdx); + }); + } + + //禁用3个操作按钮 + this.actionDisabled = true; + }, + enableSubForm() { + this.widget.widgetList.forEach(subWidget => { + subWidget.options.disabled = false; + }); + if (this.rowIdData.length > 0) { + this.rowIdData.forEach((dataRow, rIdx) => { + this.enableSubFormRow(rIdx); + }); + } + + //启用3个操作按钮 + this.actionDisabled = false; + }, + disableGridSubFormRow(rowIndex) { + let gsfFWList = []; + let fieldListFn = fw => { + gsfFWList.push(fw); + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "w"])(this.widget, fieldListFn); + gsfFWList.forEach(fw => { + let swRefName = fw.options.name + '@row' + this.rowIdData[rowIndex]; + let foundSW = this.getWidgetRef(swRefName); + if (!!foundSW && !!foundSW.setDisabled) { + foundSW.setDisabled(true); + } + }); + }, + enableGridSubFormRow(rowIndex) { + let gsfFWList = []; + let fieldListFn = fw => { + gsfFWList.push(fw); + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "w"])(this.widget, fieldListFn); + gsfFWList.forEach(fw => { + let swRefName = fw.options.name + '@row' + this.rowIdData[rowIndex]; + let foundSW = this.getWidgetRef(swRefName); + if (!!foundSW && !!foundSW.setDisabled) { + foundSW.setDisabled(false); + } + }); + }, + disableGridSubForm() { + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "w"])(this.widget, fw => { + fw.options.disabled = true; + }); + if (this.rowIdData.length > 0) { + this.rowIdData.forEach((dataRow, rIdx) => { + this.disableGridSubFormRow(rIdx); + }); + } + + //禁用3个操作按钮 + this.actionDisabled = true; + }, + enableGridSubForm() { + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "w"])(this.widget, fw => { + fw.options.disabled = false; + }); + if (this.rowIdData.length > 0) { + this.rowIdData.forEach((dataRow, rIdx) => { + this.enableGridSubFormRow(rIdx); + }); + } + + //启用3个操作按钮 + this.actionDisabled = false; + }, + resetSubForm() { + //重置subForm数据为空 + if (this.widget.type === 'sub-form' || this.widget.type === 'grid-sub-form') { + let subFormModel = this.formModel[this.widget.options.name]; + if (!!subFormModel) { + subFormModel.splice(0, subFormModel.length); + this.rowIdData.splice(0, this.rowIdData.length); + } + if (this.widget.options.showBlankRow) { + this.addSubFormRow(); + } + } + }, + getSubFormValues(needValidation = true) { + if (this.widget.type === 'sub-form' || this.widget.type === 'grid-sub-form') { + //TODO: 逐行校验子表单!暂未实现!! + return this.formModel[this.widget.options.name]; + } else { + this.$message.error(this.i18nt('render.hint.nonSubFormType')); + } + }, + setSubFormValues(subFormValues) { + //在sub-form-item、grid-sub-form-item中实现!! + }, + // validateField(fieldName) { //逐行校验子表单字段 + // //TODO: + // }, + // + // validateSubForm() { //逐行校验子表单全部字段 + // //TODO: + // }, + + /** + * 动态增加自定义css样式 + * @param className + */ + addCssClass(className) { + if (!this.widget.options.customClass) { + this.widget.options.customClass = [className]; + } else { + this.widget.options.customClass.push(className); + } + }, + /** + * 动态移除自定义css样式 + * @param className + */ + removeCssClass(className) { + if (!this.widget.options.customClass) { + return; + } + let foundIdx = -1; + this.widget.options.customClass.map((cc, idx) => { + if (cc === className) { + foundIdx = idx; + } + }); + if (foundIdx > -1) { + this.widget.options.customClass.splice(foundIdx, 1); + } + } + + //--------------------- 以上为组件支持外部调用的API方法 end ------------------// + } +}); + +/***/ }), + +/***/ "3511": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $TypeError = TypeError; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991 + +module.exports = function (it) { + if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded'); + return it; +}; + + +/***/ }), + +/***/ "36f2": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__("da84"); +var tryNodeRequire = __webpack_require__("7c37"); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__("dbe5"); + +var structuredClone = global.structuredClone; +var $ArrayBuffer = global.ArrayBuffer; +var $MessageChannel = global.MessageChannel; +var detach = false; +var WorkerThreads, channel, buffer, $detach; + +if (PROPER_STRUCTURED_CLONE_TRANSFER) { + detach = function (transferable) { + structuredClone(transferable, { transfer: [transferable] }); + }; +} else if ($ArrayBuffer) try { + if (!$MessageChannel) { + WorkerThreads = tryNodeRequire('worker_threads'); + if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel; + } + + if ($MessageChannel) { + channel = new $MessageChannel(); + buffer = new $ArrayBuffer(2); + + $detach = function (transferable) { + channel.port1.postMessage(null, [transferable]); + }; + + if (buffer.byteLength === 2) { + $detach(buffer); + if (buffer.byteLength === 0) detach = $detach; + } + } +} catch (error) { /* empty */ } + +module.exports = detach; + + +/***/ }), + +/***/ "382a": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "384f": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); +var iterateSimple = __webpack_require__("5388"); +var SetHelpers = __webpack_require__("cb27"); + +var Set = SetHelpers.Set; +var SetPrototype = SetHelpers.proto; +var forEach = uncurryThis(SetPrototype.forEach); +var keys = uncurryThis(SetPrototype.keys); +var next = keys(new Set()).next; + +module.exports = function (set, fn, interruptible) { + return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn); +}; + + +/***/ }), + +/***/ "387f": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +/** + * Update an Error with the specified config, error code, and response. + * + * @param {Error} error The error to update. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The error. + */ +module.exports = function enhanceError(error, config, code, request, response) { + error.config = config; + if (code) { + error.code = code; + } + + error.request = request; + error.response = response; + error.isAxiosError = true; + + error.toJSON = function toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: this.config, + code: this.code + }; + }; + return error; +}; + + +/***/ }), + +/***/ "3934": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); + +module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs have full support of the APIs needed to test + // whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + var msie = /(msie|trident)/i.test(navigator.userAgent); + var urlParsingNode = document.createElement('a'); + var originURL; + + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + var href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })() +); + + +/***/ }), + +/***/ "395e": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aSet = __webpack_require__("dc19"); +var has = __webpack_require__("cb27").has; +var size = __webpack_require__("8e16"); +var getSetRecord = __webpack_require__("7f65"); +var iterateSimple = __webpack_require__("5388"); +var iteratorClose = __webpack_require__("2a62"); + +// `Set.prototype.isSupersetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf +module.exports = function isSupersetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) < otherRec.size) return false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (!has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), + +/***/ "3a34": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__("83ab"); +var isArray = __webpack_require__("e8b5"); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Safari < 13 does not throw an error in this case +var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () { + // makes no sense without proper strict mode support + if (this !== undefined) return true; + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).length = 1; + } catch (error) { + return error instanceof TypeError; + } +}(); + +module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { + if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) { + throw new $TypeError('Cannot set read only .length'); + } return O.length = length; +} : function (O, length) { + return O.length = length; +}; + + +/***/ }), + +/***/ "3a9b": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); + +module.exports = uncurryThis({}.isPrototypeOf); + + +/***/ }), + +/***/ "3ad3": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=template&id=425439ae&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-color-picker',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],ref:"fieldEditor",attrs:{"disabled":_vm.field.options.disabled},on:{"change":_vm.handleChangeEvent},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}}),(_vm.isReadMode)?[_c('span',{staticClass:"readonly-mode-field"},[_vm._v(_vm._s(_vm.fieldModel))])]:_vm._e()],2)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=template&id=425439ae&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var color_widgetvue_type_script_lang_js = ({ + name: "color-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + FormItemWrapper: form_item_wrapper["default"] + }, + inject: ['refList', 'globalOptionData', 'globalModel'], + data() { + return { + oldFieldValue: null, + //field组件change之前的值 + fieldModel: null, + rules: [] + }; + }, + computed: {}, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initFieldModel(); + this.initEventHandler(); + this.buildFieldRules(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: {} +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_color_widgetvue_type_script_lang_js = (color_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=style&index=0&id=425439ae&prod&lang=scss&scoped=true +var color_widgetvue_type_style_index_0_id_425439ae_prod_lang_scss_scoped_true = __webpack_require__("8769"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/color-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_color_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "425439ae", + null + +) + +/* harmony default export */ var color_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "3bbe": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isPossiblePrototype = __webpack_require__("1787"); + +var $String = String; +var $TypeError = TypeError; + +module.exports = function (argument) { + if (isPossiblePrototype(argument)) return argument; + throw new $TypeError("Can't set " + $String(argument) + ' as a prototype'); +}; + + +/***/ }), + +/***/ "3c4e": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var isMergeableObject = function isMergeableObject(value) { + return isNonNullObject(value) + && !isSpecial(value) +}; + +function isNonNullObject(value) { + return !!value && typeof value === 'object' +} + +function isSpecial(value) { + var stringValue = Object.prototype.toString.call(value); + + return stringValue === '[object RegExp]' + || stringValue === '[object Date]' + || isReactElement(value) +} + +// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25 +var canUseSymbol = typeof Symbol === 'function' && Symbol.for; +var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7; + +function isReactElement(value) { + return value.$$typeof === REACT_ELEMENT_TYPE +} + +function emptyTarget(val) { + return Array.isArray(val) ? [] : {} +} + +function cloneIfNecessary(value, optionsArgument) { + var clone = optionsArgument && optionsArgument.clone === true; + return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value +} + +function defaultArrayMerge(target, source, optionsArgument) { + var destination = target.slice(); + source.forEach(function(e, i) { + if (typeof destination[i] === 'undefined') { + destination[i] = cloneIfNecessary(e, optionsArgument); + } else if (isMergeableObject(e)) { + destination[i] = deepmerge(target[i], e, optionsArgument); + } else if (target.indexOf(e) === -1) { + destination.push(cloneIfNecessary(e, optionsArgument)); + } + }); + return destination +} + +function mergeObject(target, source, optionsArgument) { + var destination = {}; + if (isMergeableObject(target)) { + Object.keys(target).forEach(function(key) { + destination[key] = cloneIfNecessary(target[key], optionsArgument); + }); + } + Object.keys(source).forEach(function(key) { + if (!isMergeableObject(source[key]) || !target[key]) { + destination[key] = cloneIfNecessary(source[key], optionsArgument); + } else { + destination[key] = deepmerge(target[key], source[key], optionsArgument); + } + }); + return destination +} + +function deepmerge(target, source, optionsArgument) { + var sourceIsArray = Array.isArray(source); + var targetIsArray = Array.isArray(target); + var options = optionsArgument || { arrayMerge: defaultArrayMerge }; + var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; + + if (!sourceAndTargetTypesMatch) { + return cloneIfNecessary(source, optionsArgument) + } else if (sourceIsArray) { + var arrayMerge = options.arrayMerge || defaultArrayMerge; + return arrayMerge(target, source, optionsArgument) + } else { + return mergeObject(target, source, optionsArgument) + } +} + +deepmerge.all = function deepmergeAll(array, optionsArgument) { + if (!Array.isArray(array) || array.length < 2) { + throw new Error('first argument should be an array with at least two elements') + } + + // we are sure there are at least 2 values, so it is safe to have no initial value + return array.reduce(function(prev, next) { + return deepmerge(prev, next, optionsArgument) + }) +}; + +var deepmerge_1 = deepmerge; + +module.exports = deepmerge_1; + + +/***/ }), + +/***/ "3c5d": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__("da84"); +var call = __webpack_require__("c65b"); +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var lengthOfArrayLike = __webpack_require__("07fa"); +var toOffset = __webpack_require__("182d"); +var toIndexedObject = __webpack_require__("7b0b"); +var fails = __webpack_require__("d039"); + +var RangeError = global.RangeError; +var Int8Array = global.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + var array = new Uint8ClampedArray(2); + call($set, array, { length: 1, 0: 3 }, 1); + return array[1] !== 3; +}); + +// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other +var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { + var array = new Int8Array(2); + array.set(1); + array.set('2', 1); + return array[0] !== 0 || array[1] !== 2; +}); + +// `%TypedArray%.prototype.set` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set +exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var src = toIndexedObject(arrayLike); + if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset); + var length = this.length; + var len = lengthOfArrayLike(src); + var index = 0; + if (len + offset > length) throw new RangeError('Wrong length'); + while (index < len) this[offset + index] = src[index++]; +}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + + +/***/ }), + +/***/ "3cbb": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_number_widget_vue_vue_type_style_index_0_id_2b690268_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("2125"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_number_widget_vue_vue_type_style_index_0_id_2b690268_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_number_widget_vue_vue_type_style_index_0_id_2b690268_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "4070": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_file_upload_widget_vue_vue_type_style_index_0_id_4a7d3cd0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("77db"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_file_upload_widget_vue_vue_type_style_index_0_id_4a7d3cd0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_file_upload_widget_vue_vue_type_style_index_0_id_4a7d3cd0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "40d5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__("d039"); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-function-prototype-bind -- safe + var test = (function () { /* empty */ }).bind(); + // eslint-disable-next-line no-prototype-builtins -- safe + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + + +/***/ }), + +/***/ "40d52": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_dic_widget_vue_vue_type_style_index_0_id_65f8a5ca_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("81d5"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_dic_widget_vue_vue_type_style_index_0_id_65f8a5ca_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_dic_widget_vue_vue_type_style_index_0_id_65f8a5ca_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "40e9": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var $transfer = __webpack_require__("41f6"); + +// `ArrayBuffer.prototype.transferToFixedLength` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transferToFixedLength: function transferToFixedLength() { + return $transfer(this, arguments.length ? arguments[0] : undefined, false); + } +}); + + +/***/ }), + +/***/ "41f6": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var global = __webpack_require__("da84"); +var uncurryThis = __webpack_require__("e330"); +var uncurryThisAccessor = __webpack_require__("7282"); +var toIndex = __webpack_require__("0b25"); +var isDetached = __webpack_require__("75bd"); +var arrayBufferByteLength = __webpack_require__("b620"); +var detachTransferable = __webpack_require__("36f2"); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__("dbe5"); + +var structuredClone = global.structuredClone; +var ArrayBuffer = global.ArrayBuffer; +var DataView = global.DataView; +var TypeError = global.TypeError; +var min = Math.min; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataViewPrototype = DataView.prototype; +var slice = uncurryThis(ArrayBufferPrototype.slice); +var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get'); +var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get'); +var getInt8 = uncurryThis(DataViewPrototype.getInt8); +var setInt8 = uncurryThis(DataViewPrototype.setInt8); + +module.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) { + var byteLength = arrayBufferByteLength(arrayBuffer); + var newByteLength = newLength === undefined ? byteLength : toIndex(newLength); + var fixedLength = !isResizable || !isResizable(arrayBuffer); + var newBuffer; + if (isDetached(arrayBuffer)) throw new TypeError('ArrayBuffer is detached'); + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] }); + if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer; + } + if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) { + newBuffer = slice(arrayBuffer, 0, newByteLength); + } else { + var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined; + newBuffer = new ArrayBuffer(newByteLength, options); + var a = new DataView(arrayBuffer); + var b = new DataView(newBuffer); + var copyLength = min(newByteLength, byteLength); + for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i)); + } + if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer); + return newBuffer; +}; + + +/***/ }), + +/***/ "4362": +/***/ (function(module, exports, __webpack_require__) { + +exports.nextTick = function nextTick(fn) { + var args = Array.prototype.slice.call(arguments); + args.shift(); + setTimeout(function () { + fn.apply(null, args); + }, 0); +}; + +exports.platform = exports.arch = +exports.execPath = exports.title = 'browser'; +exports.pid = 1; +exports.browser = true; +exports.env = {}; +exports.argv = []; + +exports.binding = function (name) { + throw new Error('No such module. (Possibly not yet loaded)') +}; + +(function () { + var cwd = '/'; + var path; + exports.cwd = function () { return cwd }; + exports.chdir = function (dir) { + if (!path) path = __webpack_require__("df7c"); + cwd = path.resolve(dir, cwd); + }; +})(); + +exports.exit = exports.kill = +exports.umask = exports.dlopen = +exports.uptime = exports.memoryUsage = +exports.uvCounters = function() {}; +exports.features = {}; + + +/***/ }), + +/***/ "4472": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_sub_form_item_vue_vue_type_style_index_0_id_c0598216_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e206"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_sub_form_item_vue_vue_type_style_index_0_id_c0598216_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_sub_form_item_vue_vue_type_style_index_0_id_c0598216_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "44ad": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); +var fails = __webpack_require__("d039"); +var classof = __webpack_require__("c6b6"); + +var $Object = Object; +var split = uncurryThis(''.split); + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !$Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) === 'String' ? split(it, '') : $Object(it); +} : $Object; + + +/***/ }), + +/***/ "4524": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_input_widget_vue_vue_type_style_index_0_id_baf00e2a_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ef00"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_input_widget_vue_vue_type_style_index_0_id_baf00e2a_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_input_widget_vue_vue_type_style_index_0_id_baf00e2a_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "4603": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultiDrag", function() { return MultiDragPlugin; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Sortable", function() { return Sortable; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Swap", function() { return SwapPlugin; }); +/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d9e2"); +/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("14d9"); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__); + + +/**! + * Sortable 1.10.2 + * @author RubaXa + * @author owenm + * @license MIT + */ +function _typeof(obj) { + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function (obj) { + return typeof obj; + }; + } else { + _typeof = function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + return _typeof(obj); +} +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; +} +function _extends() { + _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; + return _extends.apply(this, arguments); +} +function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + return target; +} +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + return target; +} +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = _objectWithoutPropertiesLoose(source, excluded); + var key, i; + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + return target; +} +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); +} +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; + return arr2; + } +} +function _iterableToArray(iter) { + if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); +} +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance"); +} +var version = "1.10.2"; +function userAgent(pattern) { + if (typeof window !== 'undefined' && window.navigator) { + return !! /*@__PURE__*/ + navigator.userAgent.match(pattern); + } +} +var IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i); +var Edge = userAgent(/Edge/i); +var FireFox = userAgent(/firefox/i); +var Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i); +var IOS = userAgent(/iP(ad|od|hone)/i); +var ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i); +var captureMode = { + capture: false, + passive: false +}; +function on(el, event, fn) { + el.addEventListener(event, fn, !IE11OrLess && captureMode); +} +function off(el, event, fn) { + el.removeEventListener(event, fn, !IE11OrLess && captureMode); +} +function matches( /**HTMLElement*/ +el, /**String*/ +selector) { + if (!selector) return; + selector[0] === '>' && (selector = selector.substring(1)); + if (el) { + try { + if (el.matches) { + return el.matches(selector); + } else if (el.msMatchesSelector) { + return el.msMatchesSelector(selector); + } else if (el.webkitMatchesSelector) { + return el.webkitMatchesSelector(selector); + } + } catch (_) { + return false; + } + } + return false; +} +function getParentOrHost(el) { + return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode; +} +function closest( /**HTMLElement*/ +el, /**String*/ +selector, /**HTMLElement*/ +ctx, includeCTX) { + if (el) { + ctx = ctx || document; + do { + if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) { + return el; + } + if (el === ctx) break; + /* jshint boss:true */ + } while (el = getParentOrHost(el)); + } + return null; +} +var R_SPACE = /\s+/g; +function toggleClass(el, name, state) { + if (el && name) { + if (el.classList) { + el.classList[state ? 'add' : 'remove'](name); + } else { + var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' '); + el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' '); + } + } +} +function css(el, prop, val) { + var style = el && el.style; + if (style) { + if (val === void 0) { + if (document.defaultView && document.defaultView.getComputedStyle) { + val = document.defaultView.getComputedStyle(el, ''); + } else if (el.currentStyle) { + val = el.currentStyle; + } + return prop === void 0 ? val : val[prop]; + } else { + if (!(prop in style) && prop.indexOf('webkit') === -1) { + prop = '-webkit-' + prop; + } + style[prop] = val + (typeof val === 'string' ? '' : 'px'); + } + } +} +function matrix(el, selfOnly) { + var appliedTransforms = ''; + if (typeof el === 'string') { + appliedTransforms = el; + } else { + do { + var transform = css(el, 'transform'); + if (transform && transform !== 'none') { + appliedTransforms = transform + ' ' + appliedTransforms; + } + /* jshint boss:true */ + } while (!selfOnly && (el = el.parentNode)); + } + var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix; + /*jshint -W056 */ + + return matrixFn && new matrixFn(appliedTransforms); +} +function find(ctx, tagName, iterator) { + if (ctx) { + var list = ctx.getElementsByTagName(tagName), + i = 0, + n = list.length; + if (iterator) { + for (; i < n; i++) { + iterator(list[i], i); + } + } + return list; + } + return []; +} +function getWindowScrollingElement() { + var scrollingElement = document.scrollingElement; + if (scrollingElement) { + return scrollingElement; + } else { + return document.documentElement; + } +} +/** + * Returns the "bounding client rect" of given element + * @param {HTMLElement} el The element whose boundingClientRect is wanted + * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container + * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr + * @param {[Boolean]} undoScale Whether the container's scale() should be undone + * @param {[HTMLElement]} container The parent the element will be placed in + * @return {Object} The boundingClientRect of el, with specified adjustments + */ + +function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) { + if (!el.getBoundingClientRect && el !== window) return; + var elRect, top, left, bottom, right, height, width; + if (el !== window && el !== getWindowScrollingElement()) { + elRect = el.getBoundingClientRect(); + top = elRect.top; + left = elRect.left; + bottom = elRect.bottom; + right = elRect.right; + height = elRect.height; + width = elRect.width; + } else { + top = 0; + left = 0; + bottom = window.innerHeight; + right = window.innerWidth; + height = window.innerHeight; + width = window.innerWidth; + } + if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) { + // Adjust for translate() + container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312) + // Not needed on <= IE11 + + if (!IE11OrLess) { + do { + if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) { + var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container + + top -= containerRect.top + parseInt(css(container, 'border-top-width')); + left -= containerRect.left + parseInt(css(container, 'border-left-width')); + bottom = top + elRect.height; + right = left + elRect.width; + break; + } + /* jshint boss:true */ + } while (container = container.parentNode); + } + } + if (undoScale && el !== window) { + // Adjust for scale() + var elMatrix = matrix(container || el), + scaleX = elMatrix && elMatrix.a, + scaleY = elMatrix && elMatrix.d; + if (elMatrix) { + top /= scaleY; + left /= scaleX; + width /= scaleX; + height /= scaleY; + bottom = top + height; + right = left + width; + } + } + return { + top: top, + left: left, + bottom: bottom, + right: right, + width: width, + height: height + }; +} +/** + * Checks if a side of an element is scrolled past a side of its parents + * @param {HTMLElement} el The element who's side being scrolled out of view is in question + * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom') + * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom') + * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element + */ + +function isScrolledPast(el, elSide, parentSide) { + var parent = getParentAutoScrollElement(el, true), + elSideVal = getRect(el)[elSide]; + /* jshint boss:true */ + + while (parent) { + var parentSideVal = getRect(parent)[parentSide], + visible = void 0; + if (parentSide === 'top' || parentSide === 'left') { + visible = elSideVal >= parentSideVal; + } else { + visible = elSideVal <= parentSideVal; + } + if (!visible) return parent; + if (parent === getWindowScrollingElement()) break; + parent = getParentAutoScrollElement(parent, false); + } + return false; +} +/** + * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible) + * and non-draggable elements + * @param {HTMLElement} el The parent element + * @param {Number} childNum The index of the child + * @param {Object} options Parent Sortable's options + * @return {HTMLElement} The child at index childNum, or null if not found + */ + +function getChild(el, childNum, options) { + var currentChild = 0, + i = 0, + children = el.children; + while (i < children.length) { + if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) { + if (currentChild === childNum) { + return children[i]; + } + currentChild++; + } + i++; + } + return null; +} +/** + * Gets the last child in the el, ignoring ghostEl or invisible elements (clones) + * @param {HTMLElement} el Parent element + * @param {selector} selector Any other elements that should be ignored + * @return {HTMLElement} The last child, ignoring ghostEl + */ + +function lastChild(el, selector) { + var last = el.lastElementChild; + while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) { + last = last.previousElementSibling; + } + return last || null; +} +/** + * Returns the index of an element within its parent for a selected set of + * elements + * @param {HTMLElement} el + * @param {selector} selector + * @return {number} + */ + +function index(el, selector) { + var index = 0; + if (!el || !el.parentNode) { + return -1; + } + /* jshint boss:true */ + + while (el = el.previousElementSibling) { + if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) { + index++; + } + } + return index; +} +/** + * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements. + * The value is returned in real pixels. + * @param {HTMLElement} el + * @return {Array} Offsets in the format of [left, top] + */ + +function getRelativeScrollOffset(el) { + var offsetLeft = 0, + offsetTop = 0, + winScroller = getWindowScrollingElement(); + if (el) { + do { + var elMatrix = matrix(el), + scaleX = elMatrix.a, + scaleY = elMatrix.d; + offsetLeft += el.scrollLeft * scaleX; + offsetTop += el.scrollTop * scaleY; + } while (el !== winScroller && (el = el.parentNode)); + } + return [offsetLeft, offsetTop]; +} +/** + * Returns the index of the object within the given array + * @param {Array} arr Array that may or may not hold the object + * @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 + * @return {Number} The index of the object in the array, or -1 + */ + +function indexOfObject(arr, obj) { + for (var i in arr) { + if (!arr.hasOwnProperty(i)) continue; + for (var key in obj) { + if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i); + } + } + return -1; +} +function getParentAutoScrollElement(el, includeSelf) { + // skip to window + if (!el || !el.getBoundingClientRect) return getWindowScrollingElement(); + var elem = el; + var gotSelf = false; + do { + // we don't need to get elem css if it isn't even overflowing in the first place (performance) + if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) { + var elemCSS = css(elem); + if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) { + if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement(); + if (gotSelf || includeSelf) return elem; + gotSelf = true; + } + } + /* jshint boss:true */ + } while (elem = elem.parentNode); + return getWindowScrollingElement(); +} +function extend(dst, src) { + if (dst && src) { + for (var key in src) { + if (src.hasOwnProperty(key)) { + dst[key] = src[key]; + } + } + } + return dst; +} +function isRectEqual(rect1, rect2) { + 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); +} +var _throttleTimeout; +function throttle(callback, ms) { + return function () { + if (!_throttleTimeout) { + var args = arguments, + _this = this; + if (args.length === 1) { + callback.call(_this, args[0]); + } else { + callback.apply(_this, args); + } + _throttleTimeout = setTimeout(function () { + _throttleTimeout = void 0; + }, ms); + } + }; +} +function cancelThrottle() { + clearTimeout(_throttleTimeout); + _throttleTimeout = void 0; +} +function scrollBy(el, x, y) { + el.scrollLeft += x; + el.scrollTop += y; +} +function clone(el) { + var Polymer = window.Polymer; + var $ = window.jQuery || window.Zepto; + if (Polymer && Polymer.dom) { + return Polymer.dom(el).cloneNode(true); + } else if ($) { + return $(el).clone(true)[0]; + } else { + return el.cloneNode(true); + } +} +function setRect(el, rect) { + css(el, 'position', 'absolute'); + css(el, 'top', rect.top); + css(el, 'left', rect.left); + css(el, 'width', rect.width); + css(el, 'height', rect.height); +} +function unsetRect(el) { + css(el, 'position', ''); + css(el, 'top', ''); + css(el, 'left', ''); + css(el, 'width', ''); + css(el, 'height', ''); +} +var expando = 'Sortable' + new Date().getTime(); +function AnimationStateManager() { + var animationStates = [], + animationCallbackId; + return { + captureAnimationState: function captureAnimationState() { + animationStates = []; + if (!this.options.animation) return; + var children = [].slice.call(this.el.children); + children.forEach(function (child) { + if (css(child, 'display') === 'none' || child === Sortable.ghost) return; + animationStates.push({ + target: child, + rect: getRect(child) + }); + var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation + + if (child.thisAnimationDuration) { + var childMatrix = matrix(child, true); + if (childMatrix) { + fromRect.top -= childMatrix.f; + fromRect.left -= childMatrix.e; + } + } + child.fromRect = fromRect; + }); + }, + addAnimationState: function addAnimationState(state) { + animationStates.push(state); + }, + removeAnimationState: function removeAnimationState(target) { + animationStates.splice(indexOfObject(animationStates, { + target: target + }), 1); + }, + animateAll: function animateAll(callback) { + var _this = this; + if (!this.options.animation) { + clearTimeout(animationCallbackId); + if (typeof callback === 'function') callback(); + return; + } + var animating = false, + animationTime = 0; + animationStates.forEach(function (state) { + var time = 0, + target = state.target, + fromRect = target.fromRect, + toRect = getRect(target), + prevFromRect = target.prevFromRect, + prevToRect = target.prevToRect, + animatingRect = state.rect, + targetMatrix = matrix(target, true); + if (targetMatrix) { + // Compensate for current animation + toRect.top -= targetMatrix.f; + toRect.left -= targetMatrix.e; + } + target.toRect = toRect; + if (target.thisAnimationDuration) { + // Could also check if animatingRect is between fromRect and toRect + if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && + // Make sure animatingRect is on line between toRect & fromRect + (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) { + // If returning to same place as started from animation and on same axis + time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options); + } + } // if fromRect != toRect: animate + + if (!isRectEqual(toRect, fromRect)) { + target.prevFromRect = fromRect; + target.prevToRect = toRect; + if (!time) { + time = _this.options.animation; + } + _this.animate(target, animatingRect, toRect, time); + } + if (time) { + animating = true; + animationTime = Math.max(animationTime, time); + clearTimeout(target.animationResetTimer); + target.animationResetTimer = setTimeout(function () { + target.animationTime = 0; + target.prevFromRect = null; + target.fromRect = null; + target.prevToRect = null; + target.thisAnimationDuration = null; + }, time); + target.thisAnimationDuration = time; + } + }); + clearTimeout(animationCallbackId); + if (!animating) { + if (typeof callback === 'function') callback(); + } else { + animationCallbackId = setTimeout(function () { + if (typeof callback === 'function') callback(); + }, animationTime); + } + animationStates = []; + }, + animate: function animate(target, currentRect, toRect, duration) { + if (duration) { + css(target, 'transition', ''); + css(target, 'transform', ''); + var elMatrix = matrix(this.el), + scaleX = elMatrix && elMatrix.a, + scaleY = elMatrix && elMatrix.d, + translateX = (currentRect.left - toRect.left) / (scaleX || 1), + translateY = (currentRect.top - toRect.top) / (scaleY || 1); + target.animatingX = !!translateX; + target.animatingY = !!translateY; + css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)'); + repaint(target); // repaint + + css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : '')); + css(target, 'transform', 'translate3d(0,0,0)'); + typeof target.animated === 'number' && clearTimeout(target.animated); + target.animated = setTimeout(function () { + css(target, 'transition', ''); + css(target, 'transform', ''); + target.animated = false; + target.animatingX = false; + target.animatingY = false; + }, duration); + } + } + }; +} +function repaint(target) { + return target.offsetWidth; +} +function calculateRealTime(animatingRect, fromRect, toRect, options) { + 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; +} +var plugins = []; +var defaults = { + initializeByDefault: true +}; +var PluginManager = { + mount: function mount(plugin) { + // Set default static properties + for (var option in defaults) { + if (defaults.hasOwnProperty(option) && !(option in plugin)) { + plugin[option] = defaults[option]; + } + } + plugins.push(plugin); + }, + pluginEvent: function pluginEvent(eventName, sortable, evt) { + var _this = this; + this.eventCanceled = false; + evt.cancel = function () { + _this.eventCanceled = true; + }; + var eventNameGlobal = eventName + 'Global'; + plugins.forEach(function (plugin) { + if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable + + if (sortable[plugin.pluginName][eventNameGlobal]) { + sortable[plugin.pluginName][eventNameGlobal](_objectSpread({ + sortable: sortable + }, evt)); + } // Only fire plugin event if plugin is enabled in this sortable, + // and plugin has event defined + + if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) { + sortable[plugin.pluginName][eventName](_objectSpread({ + sortable: sortable + }, evt)); + } + }); + }, + initializePlugins: function initializePlugins(sortable, el, defaults, options) { + plugins.forEach(function (plugin) { + var pluginName = plugin.pluginName; + if (!sortable.options[pluginName] && !plugin.initializeByDefault) return; + var initialized = new plugin(sortable, el, sortable.options); + initialized.sortable = sortable; + initialized.options = sortable.options; + sortable[pluginName] = initialized; // Add default options from plugin + + _extends(defaults, initialized.defaults); + }); + for (var option in sortable.options) { + if (!sortable.options.hasOwnProperty(option)) continue; + var modified = this.modifyOption(sortable, option, sortable.options[option]); + if (typeof modified !== 'undefined') { + sortable.options[option] = modified; + } + } + }, + getEventProperties: function getEventProperties(name, sortable) { + var eventProperties = {}; + plugins.forEach(function (plugin) { + if (typeof plugin.eventProperties !== 'function') return; + _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name)); + }); + return eventProperties; + }, + modifyOption: function modifyOption(sortable, name, value) { + var modifiedValue; + plugins.forEach(function (plugin) { + // Plugin must exist on the Sortable + if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin + + if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') { + modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value); + } + }); + return modifiedValue; + } +}; +function dispatchEvent(_ref) { + var sortable = _ref.sortable, + rootEl = _ref.rootEl, + name = _ref.name, + targetEl = _ref.targetEl, + cloneEl = _ref.cloneEl, + toEl = _ref.toEl, + fromEl = _ref.fromEl, + oldIndex = _ref.oldIndex, + newIndex = _ref.newIndex, + oldDraggableIndex = _ref.oldDraggableIndex, + newDraggableIndex = _ref.newDraggableIndex, + originalEvent = _ref.originalEvent, + putSortable = _ref.putSortable, + extraEventProperties = _ref.extraEventProperties; + sortable = sortable || rootEl && rootEl[expando]; + if (!sortable) return; + var evt, + options = sortable.options, + onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature + + if (window.CustomEvent && !IE11OrLess && !Edge) { + evt = new CustomEvent(name, { + bubbles: true, + cancelable: true + }); + } else { + evt = document.createEvent('Event'); + evt.initEvent(name, true, true); + } + evt.to = toEl || rootEl; + evt.from = fromEl || rootEl; + evt.item = targetEl || rootEl; + evt.clone = cloneEl; + evt.oldIndex = oldIndex; + evt.newIndex = newIndex; + evt.oldDraggableIndex = oldDraggableIndex; + evt.newDraggableIndex = newDraggableIndex; + evt.originalEvent = originalEvent; + evt.pullMode = putSortable ? putSortable.lastPutMode : undefined; + var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable)); + for (var option in allEventProperties) { + evt[option] = allEventProperties[option]; + } + if (rootEl) { + rootEl.dispatchEvent(evt); + } + if (options[onName]) { + options[onName].call(sortable, evt); + } +} +var pluginEvent = function pluginEvent(eventName, sortable) { + var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, + originalEvent = _ref.evt, + data = _objectWithoutProperties(_ref, ["evt"]); + PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({ + dragEl: dragEl, + parentEl: parentEl, + ghostEl: ghostEl, + rootEl: rootEl, + nextEl: nextEl, + lastDownEl: lastDownEl, + cloneEl: cloneEl, + cloneHidden: cloneHidden, + dragStarted: moved, + putSortable: putSortable, + activeSortable: Sortable.active, + originalEvent: originalEvent, + oldIndex: oldIndex, + oldDraggableIndex: oldDraggableIndex, + newIndex: newIndex, + newDraggableIndex: newDraggableIndex, + hideGhostForTarget: _hideGhostForTarget, + unhideGhostForTarget: _unhideGhostForTarget, + cloneNowHidden: function cloneNowHidden() { + cloneHidden = true; + }, + cloneNowShown: function cloneNowShown() { + cloneHidden = false; + }, + dispatchSortableEvent: function dispatchSortableEvent(name) { + _dispatchEvent({ + sortable: sortable, + name: name, + originalEvent: originalEvent + }); + } + }, data)); +}; +function _dispatchEvent(info) { + dispatchEvent(_objectSpread({ + putSortable: putSortable, + cloneEl: cloneEl, + targetEl: dragEl, + rootEl: rootEl, + oldIndex: oldIndex, + oldDraggableIndex: oldDraggableIndex, + newIndex: newIndex, + newDraggableIndex: newDraggableIndex + }, info)); +} +var dragEl, + parentEl, + ghostEl, + rootEl, + nextEl, + lastDownEl, + cloneEl, + cloneHidden, + oldIndex, + newIndex, + oldDraggableIndex, + newDraggableIndex, + activeGroup, + putSortable, + awaitingDragStarted = false, + ignoreNextClick = false, + sortables = [], + tapEvt, + touchEvt, + lastDx, + lastDy, + tapDistanceLeft, + tapDistanceTop, + moved, + lastTarget, + lastDirection, + pastFirstInvertThresh = false, + isCircumstantialInvert = false, + targetMoveDistance, + // For positioning ghost absolutely + ghostRelativeParent, + ghostRelativeParentInitialScroll = [], + // (left, top) + _silent = false, + savedInputChecked = []; +/** @const */ + +var documentExists = typeof document !== 'undefined', + PositionGhostAbsolutely = IOS, + CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float', + // This will not pass for IE9, because IE9 DnD only works on anchors + supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'), + supportCssPointerEvents = function () { + if (!documentExists) return; // false when <= IE11 + + if (IE11OrLess) { + return false; + } + var el = document.createElement('x'); + el.style.cssText = 'pointer-events:auto'; + return el.style.pointerEvents === 'auto'; + }(), + _detectDirection = function _detectDirection(el, options) { + var elCSS = css(el), + elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth), + child1 = getChild(el, 0, options), + child2 = getChild(el, 1, options), + firstChildCSS = child1 && css(child1), + secondChildCSS = child2 && css(child2), + firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width, + secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width; + if (elCSS.display === 'flex') { + return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal'; + } + if (elCSS.display === 'grid') { + return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal'; + } + if (child1 && firstChildCSS["float"] && firstChildCSS["float"] !== 'none') { + var touchingSideChild2 = firstChildCSS["float"] === 'left' ? 'left' : 'right'; + return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal'; + } + 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'; + }, + _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) { + var dragElS1Opp = vertical ? dragRect.left : dragRect.top, + dragElS2Opp = vertical ? dragRect.right : dragRect.bottom, + dragElOppLength = vertical ? dragRect.width : dragRect.height, + targetS1Opp = vertical ? targetRect.left : targetRect.top, + targetS2Opp = vertical ? targetRect.right : targetRect.bottom, + targetOppLength = vertical ? targetRect.width : targetRect.height; + return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2; + }, + /** + * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold. + * @param {Number} x X position + * @param {Number} y Y position + * @return {HTMLElement} Element of the first found nearest Sortable + */ + _detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) { + var ret; + sortables.some(function (sortable) { + if (lastChild(sortable)) return; + var rect = getRect(sortable), + threshold = sortable[expando].options.emptyInsertThreshold, + insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold, + insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold; + if (threshold && insideHorizontally && insideVertically) { + return ret = sortable; + } + }); + return ret; + }, + _prepareGroup = function _prepareGroup(options) { + function toFn(value, pull) { + return function (to, from, dragEl, evt) { + var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name; + if (value == null && (pull || sameGroup)) { + // Default pull value + // Default pull and put value if same group + return true; + } else if (value == null || value === false) { + return false; + } else if (pull && value === 'clone') { + return value; + } else if (typeof value === 'function') { + return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt); + } else { + var otherGroup = (pull ? to : from).options.group.name; + return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1; + } + }; + } + var group = {}; + var originalGroup = options.group; + if (!originalGroup || _typeof(originalGroup) != 'object') { + originalGroup = { + name: originalGroup + }; + } + group.name = originalGroup.name; + group.checkPull = toFn(originalGroup.pull, true); + group.checkPut = toFn(originalGroup.put); + group.revertClone = originalGroup.revertClone; + options.group = group; + }, + _hideGhostForTarget = function _hideGhostForTarget() { + if (!supportCssPointerEvents && ghostEl) { + css(ghostEl, 'display', 'none'); + } + }, + _unhideGhostForTarget = function _unhideGhostForTarget() { + if (!supportCssPointerEvents && ghostEl) { + css(ghostEl, 'display', ''); + } + }; // #1184 fix - Prevent click event on fallback if dragged but item not changed position + +if (documentExists) { + document.addEventListener('click', function (evt) { + if (ignoreNextClick) { + evt.preventDefault(); + evt.stopPropagation && evt.stopPropagation(); + evt.stopImmediatePropagation && evt.stopImmediatePropagation(); + ignoreNextClick = false; + return false; + } + }, true); +} +var nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) { + if (dragEl) { + evt = evt.touches ? evt.touches[0] : evt; + var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY); + if (nearest) { + // Create imitation event + var event = {}; + for (var i in evt) { + if (evt.hasOwnProperty(i)) { + event[i] = evt[i]; + } + } + event.target = event.rootEl = nearest; + event.preventDefault = void 0; + event.stopPropagation = void 0; + nearest[expando]._onDragOver(event); + } + } +}; +var _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) { + if (dragEl) { + dragEl.parentNode[expando]._isOutsideThisEl(evt.target); + } +}; +/** + * @class Sortable + * @param {HTMLElement} el + * @param {Object} [options] + */ + +function Sortable(el, options) { + if (!(el && el.nodeType && el.nodeType === 1)) { + throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(el)); + } + this.el = el; // root element + + this.options = options = _extends({}, options); // Export instance + + el[expando] = this; + var defaults = { + group: null, + sort: true, + disabled: false, + store: null, + handle: null, + draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*', + swapThreshold: 1, + // percentage; 0 <= x <= 1 + invertSwap: false, + // invert always + invertedSwapThreshold: null, + // will be set to same as swapThreshold if default + removeCloneOnHide: true, + direction: function direction() { + return _detectDirection(el, this.options); + }, + ghostClass: 'sortable-ghost', + chosenClass: 'sortable-chosen', + dragClass: 'sortable-drag', + ignore: 'a, img', + filter: null, + preventOnFilter: true, + animation: 0, + easing: null, + setData: function setData(dataTransfer, dragEl) { + dataTransfer.setData('Text', dragEl.textContent); + }, + dropBubble: false, + dragoverBubble: false, + dataIdAttr: 'data-id', + delay: 0, + delayOnTouchOnly: false, + touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1, + forceFallback: false, + fallbackClass: 'sortable-fallback', + fallbackOnBody: false, + fallbackTolerance: 0, + fallbackOffset: { + x: 0, + y: 0 + }, + supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window, + emptyInsertThreshold: 5 + }; + PluginManager.initializePlugins(this, el, defaults); // Set default options + + for (var name in defaults) { + !(name in options) && (options[name] = defaults[name]); + } + _prepareGroup(options); // Bind all private methods + + for (var fn in this) { + if (fn.charAt(0) === '_' && typeof this[fn] === 'function') { + this[fn] = this[fn].bind(this); + } + } // Setup drag mode + + this.nativeDraggable = options.forceFallback ? false : supportDraggable; + if (this.nativeDraggable) { + // Touch start threshold cannot be greater than the native dragstart threshold + this.options.touchStartThreshold = 1; + } // Bind events + + if (options.supportPointer) { + on(el, 'pointerdown', this._onTapStart); + } else { + on(el, 'mousedown', this._onTapStart); + on(el, 'touchstart', this._onTapStart); + } + if (this.nativeDraggable) { + on(el, 'dragover', this); + on(el, 'dragenter', this); + } + sortables.push(this.el); // Restore sorting + + options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager + + _extends(this, AnimationStateManager()); +} +Sortable.prototype = /** @lends Sortable.prototype */ +{ + constructor: Sortable, + _isOutsideThisEl: function _isOutsideThisEl(target) { + if (!this.el.contains(target) && target !== this.el) { + lastTarget = null; + } + }, + _getDirection: function _getDirection(evt, target) { + return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction; + }, + _onTapStart: function _onTapStart( /** Event|TouchEvent */ + evt) { + if (!evt.cancelable) return; + var _this = this, + el = this.el, + options = this.options, + preventOnFilter = options.preventOnFilter, + type = evt.type, + touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt, + target = (touch || evt).target, + originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target, + filter = options.filter; + _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group. + + if (dragEl) { + return; + } + if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) { + return; // only left button and enabled + } // cancel dnd if original target is content editable + + if (originalTarget.isContentEditable) { + return; + } + target = closest(target, options.draggable, el, false); + if (target && target.animated) { + return; + } + if (lastDownEl === target) { + // Ignoring duplicate `down` + return; + } // Get the index of the dragged element within its parent + + oldIndex = index(target); + oldDraggableIndex = index(target, options.draggable); // Check filter + + if (typeof filter === 'function') { + if (filter.call(this, evt, target, this)) { + _dispatchEvent({ + sortable: _this, + rootEl: originalTarget, + name: 'filter', + targetEl: target, + toEl: el, + fromEl: el + }); + pluginEvent('filter', _this, { + evt: evt + }); + preventOnFilter && evt.cancelable && evt.preventDefault(); + return; // cancel dnd + } + } else if (filter) { + filter = filter.split(',').some(function (criteria) { + criteria = closest(originalTarget, criteria.trim(), el, false); + if (criteria) { + _dispatchEvent({ + sortable: _this, + rootEl: criteria, + name: 'filter', + targetEl: target, + fromEl: el, + toEl: el + }); + pluginEvent('filter', _this, { + evt: evt + }); + return true; + } + }); + if (filter) { + preventOnFilter && evt.cancelable && evt.preventDefault(); + return; // cancel dnd + } + } + if (options.handle && !closest(originalTarget, options.handle, el, false)) { + return; + } // Prepare `dragstart` + + this._prepareDragStart(evt, touch, target); + }, + _prepareDragStart: function _prepareDragStart( /** Event */ + evt, /** Touch */ + touch, /** HTMLElement */ + target) { + var _this = this, + el = _this.el, + options = _this.options, + ownerDocument = el.ownerDocument, + dragStartFn; + if (target && !dragEl && target.parentNode === el) { + var dragRect = getRect(target); + rootEl = el; + dragEl = target; + parentEl = dragEl.parentNode; + nextEl = dragEl.nextSibling; + lastDownEl = target; + activeGroup = options.group; + Sortable.dragged = dragEl; + tapEvt = { + target: dragEl, + clientX: (touch || evt).clientX, + clientY: (touch || evt).clientY + }; + tapDistanceLeft = tapEvt.clientX - dragRect.left; + tapDistanceTop = tapEvt.clientY - dragRect.top; + this._lastX = (touch || evt).clientX; + this._lastY = (touch || evt).clientY; + dragEl.style['will-change'] = 'all'; + dragStartFn = function dragStartFn() { + pluginEvent('delayEnded', _this, { + evt: evt + }); + if (Sortable.eventCanceled) { + _this._onDrop(); + return; + } // Delayed drag has been triggered + // we can re-enable the events: touchmove/mousemove + + _this._disableDelayedDragEvents(); + if (!FireFox && _this.nativeDraggable) { + dragEl.draggable = true; + } // Bind the events: dragstart/dragend + + _this._triggerDragStart(evt, touch); // Drag start event + + _dispatchEvent({ + sortable: _this, + name: 'choose', + originalEvent: evt + }); // Chosen item + + toggleClass(dragEl, options.chosenClass, true); + }; // Disable "draggable" + + options.ignore.split(',').forEach(function (criteria) { + find(dragEl, criteria.trim(), _disableDraggable); + }); + on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent); + on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent); + on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent); + on(ownerDocument, 'mouseup', _this._onDrop); + on(ownerDocument, 'touchend', _this._onDrop); + on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox) + + if (FireFox && this.nativeDraggable) { + this.options.touchStartThreshold = 4; + dragEl.draggable = true; + } + pluginEvent('delayStart', this, { + evt: evt + }); // Delay is impossible for native DnD in Edge or IE + + if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) { + if (Sortable.eventCanceled) { + this._onDrop(); + return; + } // If the user moves the pointer or let go the click or touch + // before the delay has been reached: + // disable the delayed drag + + on(ownerDocument, 'mouseup', _this._disableDelayedDrag); + on(ownerDocument, 'touchend', _this._disableDelayedDrag); + on(ownerDocument, 'touchcancel', _this._disableDelayedDrag); + on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler); + on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler); + options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler); + _this._dragStartTimer = setTimeout(dragStartFn, options.delay); + } else { + dragStartFn(); + } + } + }, + _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler( /** TouchEvent|PointerEvent **/ + e) { + var touch = e.touches ? e.touches[0] : e; + 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))) { + this._disableDelayedDrag(); + } + }, + _disableDelayedDrag: function _disableDelayedDrag() { + dragEl && _disableDraggable(dragEl); + clearTimeout(this._dragStartTimer); + this._disableDelayedDragEvents(); + }, + _disableDelayedDragEvents: function _disableDelayedDragEvents() { + var ownerDocument = this.el.ownerDocument; + off(ownerDocument, 'mouseup', this._disableDelayedDrag); + off(ownerDocument, 'touchend', this._disableDelayedDrag); + off(ownerDocument, 'touchcancel', this._disableDelayedDrag); + off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler); + off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler); + off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler); + }, + _triggerDragStart: function _triggerDragStart( /** Event */ + evt, /** Touch */ + touch) { + touch = touch || evt.pointerType == 'touch' && evt; + if (!this.nativeDraggable || touch) { + if (this.options.supportPointer) { + on(document, 'pointermove', this._onTouchMove); + } else if (touch) { + on(document, 'touchmove', this._onTouchMove); + } else { + on(document, 'mousemove', this._onTouchMove); + } + } else { + on(dragEl, 'dragend', this); + on(rootEl, 'dragstart', this._onDragStart); + } + try { + if (document.selection) { + // Timeout neccessary for IE9 + _nextTick(function () { + document.selection.empty(); + }); + } else { + window.getSelection().removeAllRanges(); + } + } catch (err) {} + }, + _dragStarted: function _dragStarted(fallback, evt) { + awaitingDragStarted = false; + if (rootEl && dragEl) { + pluginEvent('dragStarted', this, { + evt: evt + }); + if (this.nativeDraggable) { + on(document, 'dragover', _checkOutsideTargetEl); + } + var options = this.options; // Apply effect + + !fallback && toggleClass(dragEl, options.dragClass, false); + toggleClass(dragEl, options.ghostClass, true); + Sortable.active = this; + fallback && this._appendGhost(); // Drag start event + + _dispatchEvent({ + sortable: this, + name: 'start', + originalEvent: evt + }); + } else { + this._nulling(); + } + }, + _emulateDragOver: function _emulateDragOver() { + if (touchEvt) { + this._lastX = touchEvt.clientX; + this._lastY = touchEvt.clientY; + _hideGhostForTarget(); + var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY); + var parent = target; + while (target && target.shadowRoot) { + target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY); + if (target === parent) break; + parent = target; + } + dragEl.parentNode[expando]._isOutsideThisEl(target); + if (parent) { + do { + if (parent[expando]) { + var inserted = void 0; + inserted = parent[expando]._onDragOver({ + clientX: touchEvt.clientX, + clientY: touchEvt.clientY, + target: target, + rootEl: parent + }); + if (inserted && !this.options.dragoverBubble) { + break; + } + } + target = parent; // store last element + } + /* jshint boss:true */ while (parent = parent.parentNode); + } + _unhideGhostForTarget(); + } + }, + _onTouchMove: function _onTouchMove( /**TouchEvent*/ + evt) { + if (tapEvt) { + var options = this.options, + fallbackTolerance = options.fallbackTolerance, + fallbackOffset = options.fallbackOffset, + touch = evt.touches ? evt.touches[0] : evt, + ghostMatrix = ghostEl && matrix(ghostEl, true), + scaleX = ghostEl && ghostMatrix && ghostMatrix.a, + scaleY = ghostEl && ghostMatrix && ghostMatrix.d, + relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent), + dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1), + dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging + + if (!Sortable.active && !awaitingDragStarted) { + if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) { + return; + } + this._onDragStart(evt, true); + } + if (ghostEl) { + if (ghostMatrix) { + ghostMatrix.e += dx - (lastDx || 0); + ghostMatrix.f += dy - (lastDy || 0); + } else { + ghostMatrix = { + a: 1, + b: 0, + c: 0, + d: 1, + e: dx, + f: dy + }; + } + var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")"); + css(ghostEl, 'webkitTransform', cssMatrix); + css(ghostEl, 'mozTransform', cssMatrix); + css(ghostEl, 'msTransform', cssMatrix); + css(ghostEl, 'transform', cssMatrix); + lastDx = dx; + lastDy = dy; + touchEvt = touch; + } + evt.cancelable && evt.preventDefault(); + } + }, + _appendGhost: function _appendGhost() { + // Bug if using scale(): https://stackoverflow.com/questions/2637058 + // Not being adjusted for + if (!ghostEl) { + var container = this.options.fallbackOnBody ? document.body : rootEl, + rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container), + options = this.options; // Position absolutely + + if (PositionGhostAbsolutely) { + // Get relatively positioned parent + ghostRelativeParent = container; + while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) { + ghostRelativeParent = ghostRelativeParent.parentNode; + } + if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) { + if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement(); + rect.top += ghostRelativeParent.scrollTop; + rect.left += ghostRelativeParent.scrollLeft; + } else { + ghostRelativeParent = getWindowScrollingElement(); + } + ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent); + } + ghostEl = dragEl.cloneNode(true); + toggleClass(ghostEl, options.ghostClass, false); + toggleClass(ghostEl, options.fallbackClass, true); + toggleClass(ghostEl, options.dragClass, true); + css(ghostEl, 'transition', ''); + css(ghostEl, 'transform', ''); + css(ghostEl, 'box-sizing', 'border-box'); + css(ghostEl, 'margin', 0); + css(ghostEl, 'top', rect.top); + css(ghostEl, 'left', rect.left); + css(ghostEl, 'width', rect.width); + css(ghostEl, 'height', rect.height); + css(ghostEl, 'opacity', '0.8'); + css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed'); + css(ghostEl, 'zIndex', '100000'); + css(ghostEl, 'pointerEvents', 'none'); + Sortable.ghost = ghostEl; + container.appendChild(ghostEl); // Set transform-origin + + css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%'); + } + }, + _onDragStart: function _onDragStart( /**Event*/ + evt, /**boolean*/ + fallback) { + var _this = this; + var dataTransfer = evt.dataTransfer; + var options = _this.options; + pluginEvent('dragStart', this, { + evt: evt + }); + if (Sortable.eventCanceled) { + this._onDrop(); + return; + } + pluginEvent('setupClone', this); + if (!Sortable.eventCanceled) { + cloneEl = clone(dragEl); + cloneEl.draggable = false; + cloneEl.style['will-change'] = ''; + this._hideClone(); + toggleClass(cloneEl, this.options.chosenClass, false); + Sortable.clone = cloneEl; + } // #1143: IFrame support workaround + + _this.cloneId = _nextTick(function () { + pluginEvent('clone', _this); + if (Sortable.eventCanceled) return; + if (!_this.options.removeCloneOnHide) { + rootEl.insertBefore(cloneEl, dragEl); + } + _this._hideClone(); + _dispatchEvent({ + sortable: _this, + name: 'clone' + }); + }); + !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events + + if (fallback) { + ignoreNextClick = true; + _this._loopId = setInterval(_this._emulateDragOver, 50); + } else { + // Undo what was set in _prepareDragStart before drag started + off(document, 'mouseup', _this._onDrop); + off(document, 'touchend', _this._onDrop); + off(document, 'touchcancel', _this._onDrop); + if (dataTransfer) { + dataTransfer.effectAllowed = 'move'; + options.setData && options.setData.call(_this, dataTransfer, dragEl); + } + on(document, 'drop', _this); // #1276 fix: + + css(dragEl, 'transform', 'translateZ(0)'); + } + awaitingDragStarted = true; + _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt)); + on(document, 'selectstart', _this); + moved = true; + if (Safari) { + css(document.body, 'user-select', 'none'); + } + }, + // Returns true - if no further action is needed (either inserted or another condition) + _onDragOver: function _onDragOver( /**Event*/ + evt) { + var el = this.el, + target = evt.target, + dragRect, + targetRect, + revert, + options = this.options, + group = options.group, + activeSortable = Sortable.active, + isOwner = activeGroup === group, + canSort = options.sort, + fromSortable = putSortable || activeSortable, + vertical, + _this = this, + completedFired = false; + if (_silent) return; + function dragOverEvent(name, extra) { + pluginEvent(name, _this, _objectSpread({ + evt: evt, + isOwner: isOwner, + axis: vertical ? 'vertical' : 'horizontal', + revert: revert, + dragRect: dragRect, + targetRect: targetRect, + canSort: canSort, + fromSortable: fromSortable, + target: target, + completed: completed, + onMove: function onMove(target, after) { + return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after); + }, + changed: changed + }, extra)); + } // Capture animation state + + function capture() { + dragOverEvent('dragOverAnimationCapture'); + _this.captureAnimationState(); + if (_this !== fromSortable) { + fromSortable.captureAnimationState(); + } + } // Return invocation when dragEl is inserted (or completed) + + function completed(insertion) { + dragOverEvent('dragOverCompleted', { + insertion: insertion + }); + if (insertion) { + // Clones must be hidden before folding animation to capture dragRectAbsolute properly + if (isOwner) { + activeSortable._hideClone(); + } else { + activeSortable._showClone(_this); + } + if (_this !== fromSortable) { + // Set ghost class to new sortable's ghost class + toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false); + toggleClass(dragEl, options.ghostClass, true); + } + if (putSortable !== _this && _this !== Sortable.active) { + putSortable = _this; + } else if (_this === Sortable.active && putSortable) { + putSortable = null; + } // Animation + + if (fromSortable === _this) { + _this._ignoreWhileAnimating = target; + } + _this.animateAll(function () { + dragOverEvent('dragOverAnimationComplete'); + _this._ignoreWhileAnimating = null; + }); + if (_this !== fromSortable) { + fromSortable.animateAll(); + fromSortable._ignoreWhileAnimating = null; + } + } // Null lastTarget if it is not inside a previously swapped element + + if (target === dragEl && !dragEl.animated || target === el && !target.animated) { + lastTarget = null; + } // no bubbling and not fallback + + if (!options.dragoverBubble && !evt.rootEl && target !== document) { + dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted + + !insertion && nearestEmptyInsertDetectEvent(evt); + } + !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation(); + return completedFired = true; + } // Call when dragEl has been inserted + + function changed() { + newIndex = index(dragEl); + newDraggableIndex = index(dragEl, options.draggable); + _dispatchEvent({ + sortable: _this, + name: 'change', + toEl: el, + newIndex: newIndex, + newDraggableIndex: newDraggableIndex, + originalEvent: evt + }); + } + if (evt.preventDefault !== void 0) { + evt.cancelable && evt.preventDefault(); + } + target = closest(target, options.draggable, el, true); + dragOverEvent('dragOver'); + if (Sortable.eventCanceled) return completedFired; + if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) { + return completed(false); + } + ignoreNextClick = false; + if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list + : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) { + vertical = this._getDirection(evt, target) === 'vertical'; + dragRect = getRect(dragEl); + dragOverEvent('dragOverValid'); + if (Sortable.eventCanceled) return completedFired; + if (revert) { + parentEl = rootEl; // actualization + + capture(); + this._hideClone(); + dragOverEvent('revert'); + if (!Sortable.eventCanceled) { + if (nextEl) { + rootEl.insertBefore(dragEl, nextEl); + } else { + rootEl.appendChild(dragEl); + } + } + return completed(true); + } + var elLastChild = lastChild(el, options.draggable); + if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) { + // If already at end of list: Do not insert + if (elLastChild === dragEl) { + return completed(false); + } // assign target only if condition is true + + if (elLastChild && el === evt.target) { + target = elLastChild; + } + if (target) { + targetRect = getRect(target); + } + if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) { + capture(); + el.appendChild(dragEl); + parentEl = el; // actualization + + changed(); + return completed(true); + } + } else if (target.parentNode === el) { + targetRect = getRect(target); + var direction = 0, + targetBeforeFirstSwap, + differentLevel = dragEl.parentNode !== el, + differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical), + side1 = vertical ? 'top' : 'left', + scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'), + scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0; + if (lastTarget !== target) { + targetBeforeFirstSwap = targetRect[side1]; + pastFirstInvertThresh = false; + isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel; + } + direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target); + var sibling; + if (direction !== 0) { + // Check if target is beside dragEl in respective direction (ignoring hidden elements) + var dragIndex = index(dragEl); + do { + dragIndex -= direction; + sibling = parentEl.children[dragIndex]; + } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl)); + } // If dragEl is already beside target: Do not insert + + if (direction === 0 || sibling === target) { + return completed(false); + } + lastTarget = target; + lastDirection = direction; + var nextSibling = target.nextElementSibling, + after = false; + after = direction === 1; + var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after); + if (moveVector !== false) { + if (moveVector === 1 || moveVector === -1) { + after = moveVector === 1; + } + _silent = true; + setTimeout(_unsilent, 30); + capture(); + if (after && !nextSibling) { + el.appendChild(dragEl); + } else { + target.parentNode.insertBefore(dragEl, after ? nextSibling : target); + } // Undo chrome's scroll adjustment (has no effect on other browsers) + + if (scrolledPastTop) { + scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop); + } + parentEl = dragEl.parentNode; // actualization + // must be done before animation + + if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) { + targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]); + } + changed(); + return completed(true); + } + } + if (el.contains(dragEl)) { + return completed(false); + } + } + return false; + }, + _ignoreWhileAnimating: null, + _offMoveEvents: function _offMoveEvents() { + off(document, 'mousemove', this._onTouchMove); + off(document, 'touchmove', this._onTouchMove); + off(document, 'pointermove', this._onTouchMove); + off(document, 'dragover', nearestEmptyInsertDetectEvent); + off(document, 'mousemove', nearestEmptyInsertDetectEvent); + off(document, 'touchmove', nearestEmptyInsertDetectEvent); + }, + _offUpEvents: function _offUpEvents() { + var ownerDocument = this.el.ownerDocument; + off(ownerDocument, 'mouseup', this._onDrop); + off(ownerDocument, 'touchend', this._onDrop); + off(ownerDocument, 'pointerup', this._onDrop); + off(ownerDocument, 'touchcancel', this._onDrop); + off(document, 'selectstart', this); + }, + _onDrop: function _onDrop( /**Event*/ + evt) { + var el = this.el, + options = this.options; // Get the index of the dragged element within its parent + + newIndex = index(dragEl); + newDraggableIndex = index(dragEl, options.draggable); + pluginEvent('drop', this, { + evt: evt + }); + parentEl = dragEl && dragEl.parentNode; // Get again after plugin event + + newIndex = index(dragEl); + newDraggableIndex = index(dragEl, options.draggable); + if (Sortable.eventCanceled) { + this._nulling(); + return; + } + awaitingDragStarted = false; + isCircumstantialInvert = false; + pastFirstInvertThresh = false; + clearInterval(this._loopId); + clearTimeout(this._dragStartTimer); + _cancelNextTick(this.cloneId); + _cancelNextTick(this._dragStartId); // Unbind events + + if (this.nativeDraggable) { + off(document, 'drop', this); + off(el, 'dragstart', this._onDragStart); + } + this._offMoveEvents(); + this._offUpEvents(); + if (Safari) { + css(document.body, 'user-select', ''); + } + css(dragEl, 'transform', ''); + if (evt) { + if (moved) { + evt.cancelable && evt.preventDefault(); + !options.dropBubble && evt.stopPropagation(); + } + ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl); + if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') { + // Remove clone(s) + cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl); + } + if (dragEl) { + if (this.nativeDraggable) { + off(dragEl, 'dragend', this); + } + _disableDraggable(dragEl); + dragEl.style['will-change'] = ''; // Remove classes + // ghostClass is added in dragStarted + + if (moved && !awaitingDragStarted) { + toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false); + } + toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event + + _dispatchEvent({ + sortable: this, + name: 'unchoose', + toEl: parentEl, + newIndex: null, + newDraggableIndex: null, + originalEvent: evt + }); + if (rootEl !== parentEl) { + if (newIndex >= 0) { + // Add event + _dispatchEvent({ + rootEl: parentEl, + name: 'add', + toEl: parentEl, + fromEl: rootEl, + originalEvent: evt + }); // Remove event + + _dispatchEvent({ + sortable: this, + name: 'remove', + toEl: parentEl, + originalEvent: evt + }); // drag from one list and drop into another + + _dispatchEvent({ + rootEl: parentEl, + name: 'sort', + toEl: parentEl, + fromEl: rootEl, + originalEvent: evt + }); + _dispatchEvent({ + sortable: this, + name: 'sort', + toEl: parentEl, + originalEvent: evt + }); + } + putSortable && putSortable.save(); + } else { + if (newIndex !== oldIndex) { + if (newIndex >= 0) { + // drag & drop within the same list + _dispatchEvent({ + sortable: this, + name: 'update', + toEl: parentEl, + originalEvent: evt + }); + _dispatchEvent({ + sortable: this, + name: 'sort', + toEl: parentEl, + originalEvent: evt + }); + } + } + } + if (Sortable.active) { + /* jshint eqnull:true */ + if (newIndex == null || newIndex === -1) { + newIndex = oldIndex; + newDraggableIndex = oldDraggableIndex; + } + _dispatchEvent({ + sortable: this, + name: 'end', + toEl: parentEl, + originalEvent: evt + }); // Save sorting + + this.save(); + } + } + } + this._nulling(); + }, + _nulling: function _nulling() { + pluginEvent('nulling', this); + 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; + savedInputChecked.forEach(function (el) { + el.checked = true; + }); + savedInputChecked.length = lastDx = lastDy = 0; + }, + handleEvent: function handleEvent( /**Event*/ + evt) { + switch (evt.type) { + case 'drop': + case 'dragend': + this._onDrop(evt); + break; + case 'dragenter': + case 'dragover': + if (dragEl) { + this._onDragOver(evt); + _globalDragOver(evt); + } + break; + case 'selectstart': + evt.preventDefault(); + break; + } + }, + /** + * Serializes the item into an array of string. + * @returns {String[]} + */ + toArray: function toArray() { + var order = [], + el, + children = this.el.children, + i = 0, + n = children.length, + options = this.options; + for (; i < n; i++) { + el = children[i]; + if (closest(el, options.draggable, this.el, false)) { + order.push(el.getAttribute(options.dataIdAttr) || _generateId(el)); + } + } + return order; + }, + /** + * Sorts the elements according to the array. + * @param {String[]} order order of the items + */ + sort: function sort(order) { + var items = {}, + rootEl = this.el; + this.toArray().forEach(function (id, i) { + var el = rootEl.children[i]; + if (closest(el, this.options.draggable, rootEl, false)) { + items[id] = el; + } + }, this); + order.forEach(function (id) { + if (items[id]) { + rootEl.removeChild(items[id]); + rootEl.appendChild(items[id]); + } + }); + }, + /** + * Save the current sorting + */ + save: function save() { + var store = this.options.store; + store && store.set && store.set(this); + }, + /** + * 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. + * @param {HTMLElement} el + * @param {String} [selector] default: `options.draggable` + * @returns {HTMLElement|null} + */ + closest: function closest$1(el, selector) { + return closest(el, selector || this.options.draggable, this.el, false); + }, + /** + * Set/get option + * @param {string} name + * @param {*} [value] + * @returns {*} + */ + option: function option(name, value) { + var options = this.options; + if (value === void 0) { + return options[name]; + } else { + var modifiedValue = PluginManager.modifyOption(this, name, value); + if (typeof modifiedValue !== 'undefined') { + options[name] = modifiedValue; + } else { + options[name] = value; + } + if (name === 'group') { + _prepareGroup(options); + } + } + }, + /** + * Destroy + */ + destroy: function destroy() { + pluginEvent('destroy', this); + var el = this.el; + el[expando] = null; + off(el, 'mousedown', this._onTapStart); + off(el, 'touchstart', this._onTapStart); + off(el, 'pointerdown', this._onTapStart); + if (this.nativeDraggable) { + off(el, 'dragover', this); + off(el, 'dragenter', this); + } // Remove draggable attributes + + Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) { + el.removeAttribute('draggable'); + }); + this._onDrop(); + this._disableDelayedDragEvents(); + sortables.splice(sortables.indexOf(this.el), 1); + this.el = el = null; + }, + _hideClone: function _hideClone() { + if (!cloneHidden) { + pluginEvent('hideClone', this); + if (Sortable.eventCanceled) return; + css(cloneEl, 'display', 'none'); + if (this.options.removeCloneOnHide && cloneEl.parentNode) { + cloneEl.parentNode.removeChild(cloneEl); + } + cloneHidden = true; + } + }, + _showClone: function _showClone(putSortable) { + if (putSortable.lastPutMode !== 'clone') { + this._hideClone(); + return; + } + if (cloneHidden) { + pluginEvent('showClone', this); + if (Sortable.eventCanceled) return; // show clone at dragEl or original position + + if (rootEl.contains(dragEl) && !this.options.group.revertClone) { + rootEl.insertBefore(cloneEl, dragEl); + } else if (nextEl) { + rootEl.insertBefore(cloneEl, nextEl); + } else { + rootEl.appendChild(cloneEl); + } + if (this.options.group.revertClone) { + this.animate(dragEl, cloneEl); + } + css(cloneEl, 'display', ''); + cloneHidden = false; + } + } +}; +function _globalDragOver( /**Event*/ +evt) { + if (evt.dataTransfer) { + evt.dataTransfer.dropEffect = 'move'; + } + evt.cancelable && evt.preventDefault(); +} +function _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) { + var evt, + sortable = fromEl[expando], + onMoveFn = sortable.options.onMove, + retVal; // Support for new CustomEvent feature + + if (window.CustomEvent && !IE11OrLess && !Edge) { + evt = new CustomEvent('move', { + bubbles: true, + cancelable: true + }); + } else { + evt = document.createEvent('Event'); + evt.initEvent('move', true, true); + } + evt.to = toEl; + evt.from = fromEl; + evt.dragged = dragEl; + evt.draggedRect = dragRect; + evt.related = targetEl || toEl; + evt.relatedRect = targetRect || getRect(toEl); + evt.willInsertAfter = willInsertAfter; + evt.originalEvent = originalEvent; + fromEl.dispatchEvent(evt); + if (onMoveFn) { + retVal = onMoveFn.call(sortable, evt, originalEvent); + } + return retVal; +} +function _disableDraggable(el) { + el.draggable = false; +} +function _unsilent() { + _silent = false; +} +function _ghostIsLast(evt, vertical, sortable) { + var rect = getRect(lastChild(sortable.el, sortable.options.draggable)); + var spacer = 10; + return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer; +} +function _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) { + var mouseOnAxis = vertical ? evt.clientY : evt.clientX, + targetLength = vertical ? targetRect.height : targetRect.width, + targetS1 = vertical ? targetRect.top : targetRect.left, + targetS2 = vertical ? targetRect.bottom : targetRect.right, + invert = false; + if (!invertSwap) { + // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold + if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) { + // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2 + // check if past first invert threshold on side opposite of lastDirection + if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) { + // past first invert threshold, do not restrict inverted threshold to dragEl shadow + pastFirstInvertThresh = true; + } + if (!pastFirstInvertThresh) { + // dragEl shadow (target move distance shadow) + if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow + : mouseOnAxis > targetS2 - targetMoveDistance) { + return -lastDirection; + } + } else { + invert = true; + } + } else { + // Regular + if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) { + return _getInsertDirection(target); + } + } + } + invert = invert || invertSwap; + if (invert) { + // Invert of regular + if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) { + return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1; + } + } + return 0; +} +/** + * Gets the direction dragEl must be swapped relative to target in order to make it + * seem that dragEl has been "inserted" into that element's position + * @param {HTMLElement} target The target whose position dragEl is being inserted at + * @return {Number} Direction dragEl must be swapped + */ + +function _getInsertDirection(target) { + if (index(dragEl) < index(target)) { + return 1; + } else { + return -1; + } +} +/** + * Generate id + * @param {HTMLElement} el + * @returns {String} + * @private + */ + +function _generateId(el) { + var str = el.tagName + el.className + el.src + el.href + el.textContent, + i = str.length, + sum = 0; + while (i--) { + sum += str.charCodeAt(i); + } + return sum.toString(36); +} +function _saveInputCheckedState(root) { + savedInputChecked.length = 0; + var inputs = root.getElementsByTagName('input'); + var idx = inputs.length; + while (idx--) { + var el = inputs[idx]; + el.checked && savedInputChecked.push(el); + } +} +function _nextTick(fn) { + return setTimeout(fn, 0); +} +function _cancelNextTick(id) { + return clearTimeout(id); +} // Fixed #973: + +if (documentExists) { + on(document, 'touchmove', function (evt) { + if ((Sortable.active || awaitingDragStarted) && evt.cancelable) { + evt.preventDefault(); + } + }); +} // Export utils + +Sortable.utils = { + on: on, + off: off, + css: css, + find: find, + is: function is(el, selector) { + return !!closest(el, selector, el, false); + }, + extend: extend, + throttle: throttle, + closest: closest, + toggleClass: toggleClass, + clone: clone, + index: index, + nextTick: _nextTick, + cancelNextTick: _cancelNextTick, + detectDirection: _detectDirection, + getChild: getChild +}; +/** + * Get the Sortable instance of an element + * @param {HTMLElement} element The element + * @return {Sortable|undefined} The instance of Sortable + */ + +Sortable.get = function (element) { + return element[expando]; +}; +/** + * Mount a plugin to Sortable + * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted + */ + +Sortable.mount = function () { + for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) { + plugins[_key] = arguments[_key]; + } + if (plugins[0].constructor === Array) plugins = plugins[0]; + plugins.forEach(function (plugin) { + if (!plugin.prototype || !plugin.prototype.constructor) { + throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(plugin)); + } + if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils); + PluginManager.mount(plugin); + }); +}; +/** + * Create sortable instance + * @param {HTMLElement} el + * @param {Object} [options] + */ + +Sortable.create = function (el, options) { + return new Sortable(el, options); +}; // Export + +Sortable.version = version; +var autoScrolls = [], + scrollEl, + scrollRootEl, + scrolling = false, + lastAutoScrollX, + lastAutoScrollY, + touchEvt$1, + pointerElemChangedInterval; +function AutoScrollPlugin() { + function AutoScroll() { + this.defaults = { + scroll: true, + scrollSensitivity: 30, + scrollSpeed: 10, + bubbleScroll: true + }; // Bind all private methods + + for (var fn in this) { + if (fn.charAt(0) === '_' && typeof this[fn] === 'function') { + this[fn] = this[fn].bind(this); + } + } + } + AutoScroll.prototype = { + dragStarted: function dragStarted(_ref) { + var originalEvent = _ref.originalEvent; + if (this.sortable.nativeDraggable) { + on(document, 'dragover', this._handleAutoScroll); + } else { + if (this.options.supportPointer) { + on(document, 'pointermove', this._handleFallbackAutoScroll); + } else if (originalEvent.touches) { + on(document, 'touchmove', this._handleFallbackAutoScroll); + } else { + on(document, 'mousemove', this._handleFallbackAutoScroll); + } + } + }, + dragOverCompleted: function dragOverCompleted(_ref2) { + var originalEvent = _ref2.originalEvent; + + // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached) + if (!this.options.dragOverBubble && !originalEvent.rootEl) { + this._handleAutoScroll(originalEvent); + } + }, + drop: function drop() { + if (this.sortable.nativeDraggable) { + off(document, 'dragover', this._handleAutoScroll); + } else { + off(document, 'pointermove', this._handleFallbackAutoScroll); + off(document, 'touchmove', this._handleFallbackAutoScroll); + off(document, 'mousemove', this._handleFallbackAutoScroll); + } + clearPointerElemChangedInterval(); + clearAutoScrolls(); + cancelThrottle(); + }, + nulling: function nulling() { + touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null; + autoScrolls.length = 0; + }, + _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) { + this._handleAutoScroll(evt, true); + }, + _handleAutoScroll: function _handleAutoScroll(evt, fallback) { + var _this = this; + var x = (evt.touches ? evt.touches[0] : evt).clientX, + y = (evt.touches ? evt.touches[0] : evt).clientY, + elem = document.elementFromPoint(x, y); + touchEvt$1 = evt; // IE does not seem to have native autoscroll, + // Edge's autoscroll seems too conditional, + // MACOS Safari does not have autoscroll, + // Firefox and Chrome are good + + if (fallback || Edge || IE11OrLess || Safari) { + autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change + + var ogElemScroller = getParentAutoScrollElement(elem, true); + if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) { + pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour + + pointerElemChangedInterval = setInterval(function () { + var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true); + if (newElem !== ogElemScroller) { + ogElemScroller = newElem; + clearAutoScrolls(); + } + autoScroll(evt, _this.options, newElem, fallback); + }, 10); + lastAutoScrollX = x; + lastAutoScrollY = y; + } + } else { + // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll + if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) { + clearAutoScrolls(); + return; + } + autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false); + } + } + }; + return _extends(AutoScroll, { + pluginName: 'scroll', + initializeByDefault: true + }); +} +function clearAutoScrolls() { + autoScrolls.forEach(function (autoScroll) { + clearInterval(autoScroll.pid); + }); + autoScrolls = []; +} +function clearPointerElemChangedInterval() { + clearInterval(pointerElemChangedInterval); +} +var autoScroll = throttle(function (evt, options, rootEl, isFallback) { + // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521 + if (!options.scroll) return; + var x = (evt.touches ? evt.touches[0] : evt).clientX, + y = (evt.touches ? evt.touches[0] : evt).clientY, + sens = options.scrollSensitivity, + speed = options.scrollSpeed, + winScroller = getWindowScrollingElement(); + var scrollThisInstance = false, + scrollCustomFn; // New scroll root, set scrollEl + + if (scrollRootEl !== rootEl) { + scrollRootEl = rootEl; + clearAutoScrolls(); + scrollEl = options.scroll; + scrollCustomFn = options.scrollFn; + if (scrollEl === true) { + scrollEl = getParentAutoScrollElement(rootEl, true); + } + } + var layersOut = 0; + var currentParent = scrollEl; + do { + var el = currentParent, + rect = getRect(el), + top = rect.top, + bottom = rect.bottom, + left = rect.left, + right = rect.right, + width = rect.width, + height = rect.height, + canScrollX = void 0, + canScrollY = void 0, + scrollWidth = el.scrollWidth, + scrollHeight = el.scrollHeight, + elCSS = css(el), + scrollPosX = el.scrollLeft, + scrollPosY = el.scrollTop; + if (el === winScroller) { + canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible'); + canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible'); + } else { + canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll'); + canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll'); + } + var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX); + var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY); + if (!autoScrolls[layersOut]) { + for (var i = 0; i <= layersOut; i++) { + if (!autoScrolls[i]) { + autoScrolls[i] = {}; + } + } + } + if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) { + autoScrolls[layersOut].el = el; + autoScrolls[layersOut].vx = vx; + autoScrolls[layersOut].vy = vy; + clearInterval(autoScrolls[layersOut].pid); + if (vx != 0 || vy != 0) { + scrollThisInstance = true; + /* jshint loopfunc:true */ + + autoScrolls[layersOut].pid = setInterval(function () { + // emulate drag over during autoscroll (fallback), emulating native DnD behaviour + if (isFallback && this.layer === 0) { + Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely + } + var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0; + var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0; + if (typeof scrollCustomFn === 'function') { + if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') { + return; + } + } + scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY); + }.bind({ + layer: layersOut + }), 24); + } + } + layersOut++; + } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false))); + scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not +}, 30); +var drop = function drop(_ref) { + var originalEvent = _ref.originalEvent, + putSortable = _ref.putSortable, + dragEl = _ref.dragEl, + activeSortable = _ref.activeSortable, + dispatchSortableEvent = _ref.dispatchSortableEvent, + hideGhostForTarget = _ref.hideGhostForTarget, + unhideGhostForTarget = _ref.unhideGhostForTarget; + if (!originalEvent) return; + var toSortable = putSortable || activeSortable; + hideGhostForTarget(); + var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent; + var target = document.elementFromPoint(touch.clientX, touch.clientY); + unhideGhostForTarget(); + if (toSortable && !toSortable.el.contains(target)) { + dispatchSortableEvent('spill'); + this.onSpill({ + dragEl: dragEl, + putSortable: putSortable + }); + } +}; +function Revert() {} +Revert.prototype = { + startIndex: null, + dragStart: function dragStart(_ref2) { + var oldDraggableIndex = _ref2.oldDraggableIndex; + this.startIndex = oldDraggableIndex; + }, + onSpill: function onSpill(_ref3) { + var dragEl = _ref3.dragEl, + putSortable = _ref3.putSortable; + this.sortable.captureAnimationState(); + if (putSortable) { + putSortable.captureAnimationState(); + } + var nextSibling = getChild(this.sortable.el, this.startIndex, this.options); + if (nextSibling) { + this.sortable.el.insertBefore(dragEl, nextSibling); + } else { + this.sortable.el.appendChild(dragEl); + } + this.sortable.animateAll(); + if (putSortable) { + putSortable.animateAll(); + } + }, + drop: drop +}; +_extends(Revert, { + pluginName: 'revertOnSpill' +}); +function Remove() {} +Remove.prototype = { + onSpill: function onSpill(_ref4) { + var dragEl = _ref4.dragEl, + putSortable = _ref4.putSortable; + var parentSortable = putSortable || this.sortable; + parentSortable.captureAnimationState(); + dragEl.parentNode && dragEl.parentNode.removeChild(dragEl); + parentSortable.animateAll(); + }, + drop: drop +}; +_extends(Remove, { + pluginName: 'removeOnSpill' +}); +var lastSwapEl; +function SwapPlugin() { + function Swap() { + this.defaults = { + swapClass: 'sortable-swap-highlight' + }; + } + Swap.prototype = { + dragStart: function dragStart(_ref) { + var dragEl = _ref.dragEl; + lastSwapEl = dragEl; + }, + dragOverValid: function dragOverValid(_ref2) { + var completed = _ref2.completed, + target = _ref2.target, + onMove = _ref2.onMove, + activeSortable = _ref2.activeSortable, + changed = _ref2.changed, + cancel = _ref2.cancel; + if (!activeSortable.options.swap) return; + var el = this.sortable.el, + options = this.options; + if (target && target !== el) { + var prevSwapEl = lastSwapEl; + if (onMove(target) !== false) { + toggleClass(target, options.swapClass, true); + lastSwapEl = target; + } else { + lastSwapEl = null; + } + if (prevSwapEl && prevSwapEl !== lastSwapEl) { + toggleClass(prevSwapEl, options.swapClass, false); + } + } + changed(); + completed(true); + cancel(); + }, + drop: function drop(_ref3) { + var activeSortable = _ref3.activeSortable, + putSortable = _ref3.putSortable, + dragEl = _ref3.dragEl; + var toSortable = putSortable || this.sortable; + var options = this.options; + lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false); + if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) { + if (dragEl !== lastSwapEl) { + toSortable.captureAnimationState(); + if (toSortable !== activeSortable) activeSortable.captureAnimationState(); + swapNodes(dragEl, lastSwapEl); + toSortable.animateAll(); + if (toSortable !== activeSortable) activeSortable.animateAll(); + } + } + }, + nulling: function nulling() { + lastSwapEl = null; + } + }; + return _extends(Swap, { + pluginName: 'swap', + eventProperties: function eventProperties() { + return { + swapItem: lastSwapEl + }; + } + }); +} +function swapNodes(n1, n2) { + var p1 = n1.parentNode, + p2 = n2.parentNode, + i1, + i2; + if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return; + i1 = index(n1); + i2 = index(n2); + if (p1.isEqualNode(p2) && i1 < i2) { + i2++; + } + p1.insertBefore(n2, p1.children[i1]); + p2.insertBefore(n1, p2.children[i2]); +} +var multiDragElements = [], + multiDragClones = [], + lastMultiDragSelect, + // for selection with modifier key down (SHIFT) + multiDragSortable, + initialFolding = false, + // Initial multi-drag fold when drag started + folding = false, + // Folding any other time + dragStarted = false, + dragEl$1, + clonesFromRect, + clonesHidden; +function MultiDragPlugin() { + function MultiDrag(sortable) { + // Bind all private methods + for (var fn in this) { + if (fn.charAt(0) === '_' && typeof this[fn] === 'function') { + this[fn] = this[fn].bind(this); + } + } + if (sortable.options.supportPointer) { + on(document, 'pointerup', this._deselectMultiDrag); + } else { + on(document, 'mouseup', this._deselectMultiDrag); + on(document, 'touchend', this._deselectMultiDrag); + } + on(document, 'keydown', this._checkKeyDown); + on(document, 'keyup', this._checkKeyUp); + this.defaults = { + selectedClass: 'sortable-selected', + multiDragKey: null, + setData: function setData(dataTransfer, dragEl) { + var data = ''; + if (multiDragElements.length && multiDragSortable === sortable) { + multiDragElements.forEach(function (multiDragElement, i) { + data += (!i ? '' : ', ') + multiDragElement.textContent; + }); + } else { + data = dragEl.textContent; + } + dataTransfer.setData('Text', data); + } + }; + } + MultiDrag.prototype = { + multiDragKeyDown: false, + isMultiDrag: false, + delayStartGlobal: function delayStartGlobal(_ref) { + var dragged = _ref.dragEl; + dragEl$1 = dragged; + }, + delayEnded: function delayEnded() { + this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1); + }, + setupClone: function setupClone(_ref2) { + var sortable = _ref2.sortable, + cancel = _ref2.cancel; + if (!this.isMultiDrag) return; + for (var i = 0; i < multiDragElements.length; i++) { + multiDragClones.push(clone(multiDragElements[i])); + multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex; + multiDragClones[i].draggable = false; + multiDragClones[i].style['will-change'] = ''; + toggleClass(multiDragClones[i], this.options.selectedClass, false); + multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false); + } + sortable._hideClone(); + cancel(); + }, + clone: function clone(_ref3) { + var sortable = _ref3.sortable, + rootEl = _ref3.rootEl, + dispatchSortableEvent = _ref3.dispatchSortableEvent, + cancel = _ref3.cancel; + if (!this.isMultiDrag) return; + if (!this.options.removeCloneOnHide) { + if (multiDragElements.length && multiDragSortable === sortable) { + insertMultiDragClones(true, rootEl); + dispatchSortableEvent('clone'); + cancel(); + } + } + }, + showClone: function showClone(_ref4) { + var cloneNowShown = _ref4.cloneNowShown, + rootEl = _ref4.rootEl, + cancel = _ref4.cancel; + if (!this.isMultiDrag) return; + insertMultiDragClones(false, rootEl); + multiDragClones.forEach(function (clone) { + css(clone, 'display', ''); + }); + cloneNowShown(); + clonesHidden = false; + cancel(); + }, + hideClone: function hideClone(_ref5) { + var _this = this; + var sortable = _ref5.sortable, + cloneNowHidden = _ref5.cloneNowHidden, + cancel = _ref5.cancel; + if (!this.isMultiDrag) return; + multiDragClones.forEach(function (clone) { + css(clone, 'display', 'none'); + if (_this.options.removeCloneOnHide && clone.parentNode) { + clone.parentNode.removeChild(clone); + } + }); + cloneNowHidden(); + clonesHidden = true; + cancel(); + }, + dragStartGlobal: function dragStartGlobal(_ref6) { + var sortable = _ref6.sortable; + if (!this.isMultiDrag && multiDragSortable) { + multiDragSortable.multiDrag._deselectMultiDrag(); + } + multiDragElements.forEach(function (multiDragElement) { + multiDragElement.sortableIndex = index(multiDragElement); + }); // Sort multi-drag elements + + multiDragElements = multiDragElements.sort(function (a, b) { + return a.sortableIndex - b.sortableIndex; + }); + dragStarted = true; + }, + dragStarted: function dragStarted(_ref7) { + var _this2 = this; + var sortable = _ref7.sortable; + if (!this.isMultiDrag) return; + if (this.options.sort) { + // Capture rects, + // hide multi drag elements (by positioning them absolute), + // set multi drag elements rects to dragRect, + // show multi drag elements, + // animate to rects, + // unset rects & remove from DOM + sortable.captureAnimationState(); + if (this.options.animation) { + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement === dragEl$1) return; + css(multiDragElement, 'position', 'absolute'); + }); + var dragRect = getRect(dragEl$1, false, true, true); + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement === dragEl$1) return; + setRect(multiDragElement, dragRect); + }); + folding = true; + initialFolding = true; + } + } + sortable.animateAll(function () { + folding = false; + initialFolding = false; + if (_this2.options.animation) { + multiDragElements.forEach(function (multiDragElement) { + unsetRect(multiDragElement); + }); + } // Remove all auxiliary multidrag items from el, if sorting enabled + + if (_this2.options.sort) { + removeMultiDragElements(); + } + }); + }, + dragOver: function dragOver(_ref8) { + var target = _ref8.target, + completed = _ref8.completed, + cancel = _ref8.cancel; + if (folding && ~multiDragElements.indexOf(target)) { + completed(false); + cancel(); + } + }, + revert: function revert(_ref9) { + var fromSortable = _ref9.fromSortable, + rootEl = _ref9.rootEl, + sortable = _ref9.sortable, + dragRect = _ref9.dragRect; + if (multiDragElements.length > 1) { + // Setup unfold animation + multiDragElements.forEach(function (multiDragElement) { + sortable.addAnimationState({ + target: multiDragElement, + rect: folding ? getRect(multiDragElement) : dragRect + }); + unsetRect(multiDragElement); + multiDragElement.fromRect = dragRect; + fromSortable.removeAnimationState(multiDragElement); + }); + folding = false; + insertMultiDragElements(!this.options.removeCloneOnHide, rootEl); + } + }, + dragOverCompleted: function dragOverCompleted(_ref10) { + var sortable = _ref10.sortable, + isOwner = _ref10.isOwner, + insertion = _ref10.insertion, + activeSortable = _ref10.activeSortable, + parentEl = _ref10.parentEl, + putSortable = _ref10.putSortable; + var options = this.options; + if (insertion) { + // Clones must be hidden before folding animation to capture dragRectAbsolute properly + if (isOwner) { + activeSortable._hideClone(); + } + initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location + + if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) { + // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible + var dragRectAbsolute = getRect(dragEl$1, false, true, true); + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement === dragEl$1) return; + setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted + // while folding, and so that we can capture them again because old sortable will no longer be fromSortable + + parentEl.appendChild(multiDragElement); + }); + folding = true; + } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out + + if (!isOwner) { + // Only remove if not folding (folding will remove them anyways) + if (!folding) { + removeMultiDragElements(); + } + if (multiDragElements.length > 1) { + var clonesHiddenBefore = clonesHidden; + activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden + + if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) { + multiDragClones.forEach(function (clone) { + activeSortable.addAnimationState({ + target: clone, + rect: clonesFromRect + }); + clone.fromRect = clonesFromRect; + clone.thisAnimationDuration = null; + }); + } + } else { + activeSortable._showClone(sortable); + } + } + } + }, + dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) { + var dragRect = _ref11.dragRect, + isOwner = _ref11.isOwner, + activeSortable = _ref11.activeSortable; + multiDragElements.forEach(function (multiDragElement) { + multiDragElement.thisAnimationDuration = null; + }); + if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) { + clonesFromRect = _extends({}, dragRect); + var dragMatrix = matrix(dragEl$1, true); + clonesFromRect.top -= dragMatrix.f; + clonesFromRect.left -= dragMatrix.e; + } + }, + dragOverAnimationComplete: function dragOverAnimationComplete() { + if (folding) { + folding = false; + removeMultiDragElements(); + } + }, + drop: function drop(_ref12) { + var evt = _ref12.originalEvent, + rootEl = _ref12.rootEl, + parentEl = _ref12.parentEl, + sortable = _ref12.sortable, + dispatchSortableEvent = _ref12.dispatchSortableEvent, + oldIndex = _ref12.oldIndex, + putSortable = _ref12.putSortable; + var toSortable = putSortable || this.sortable; + if (!evt) return; + var options = this.options, + children = parentEl.children; // Multi-drag selection + + if (!dragStarted) { + if (options.multiDragKey && !this.multiDragKeyDown) { + this._deselectMultiDrag(); + } + toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1)); + if (!~multiDragElements.indexOf(dragEl$1)) { + multiDragElements.push(dragEl$1); + dispatchEvent({ + sortable: sortable, + rootEl: rootEl, + name: 'select', + targetEl: dragEl$1, + originalEvt: evt + }); // Modifier activated, select from last to dragEl + + if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) { + var lastIndex = index(lastMultiDragSelect), + currentIndex = index(dragEl$1); + if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) { + // Must include lastMultiDragSelect (select it), in case modified selection from no selection + // (but previous selection existed) + var n, i; + if (currentIndex > lastIndex) { + i = lastIndex; + n = currentIndex; + } else { + i = currentIndex; + n = lastIndex + 1; + } + for (; i < n; i++) { + if (~multiDragElements.indexOf(children[i])) continue; + toggleClass(children[i], options.selectedClass, true); + multiDragElements.push(children[i]); + dispatchEvent({ + sortable: sortable, + rootEl: rootEl, + name: 'select', + targetEl: children[i], + originalEvt: evt + }); + } + } + } else { + lastMultiDragSelect = dragEl$1; + } + multiDragSortable = toSortable; + } else { + multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1); + lastMultiDragSelect = null; + dispatchEvent({ + sortable: sortable, + rootEl: rootEl, + name: 'deselect', + targetEl: dragEl$1, + originalEvt: evt + }); + } + } // Multi-drag drop + + if (dragStarted && this.isMultiDrag) { + // Do not "unfold" after around dragEl if reverted + if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) { + var dragRect = getRect(dragEl$1), + multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')'); + if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null; + toSortable.captureAnimationState(); + if (!initialFolding) { + if (options.animation) { + dragEl$1.fromRect = dragRect; + multiDragElements.forEach(function (multiDragElement) { + multiDragElement.thisAnimationDuration = null; + if (multiDragElement !== dragEl$1) { + var rect = folding ? getRect(multiDragElement) : dragRect; + multiDragElement.fromRect = rect; // Prepare unfold animation + + toSortable.addAnimationState({ + target: multiDragElement, + rect: rect + }); + } + }); + } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert + // properly they must all be removed + + removeMultiDragElements(); + multiDragElements.forEach(function (multiDragElement) { + if (children[multiDragIndex]) { + parentEl.insertBefore(multiDragElement, children[multiDragIndex]); + } else { + parentEl.appendChild(multiDragElement); + } + multiDragIndex++; + }); // If initial folding is done, the elements may have changed position because they are now + // unfolding around dragEl, even though dragEl may not have his index changed, so update event + // must be fired here as Sortable will not. + + if (oldIndex === index(dragEl$1)) { + var update = false; + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement.sortableIndex !== index(multiDragElement)) { + update = true; + return; + } + }); + if (update) { + dispatchSortableEvent('update'); + } + } + } // Must be done after capturing individual rects (scroll bar) + + multiDragElements.forEach(function (multiDragElement) { + unsetRect(multiDragElement); + }); + toSortable.animateAll(); + } + multiDragSortable = toSortable; + } // Remove clones if necessary + + if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') { + multiDragClones.forEach(function (clone) { + clone.parentNode && clone.parentNode.removeChild(clone); + }); + } + }, + nullingGlobal: function nullingGlobal() { + this.isMultiDrag = dragStarted = false; + multiDragClones.length = 0; + }, + destroyGlobal: function destroyGlobal() { + this._deselectMultiDrag(); + off(document, 'pointerup', this._deselectMultiDrag); + off(document, 'mouseup', this._deselectMultiDrag); + off(document, 'touchend', this._deselectMultiDrag); + off(document, 'keydown', this._checkKeyDown); + off(document, 'keyup', this._checkKeyUp); + }, + _deselectMultiDrag: function _deselectMultiDrag(evt) { + if (typeof dragStarted !== "undefined" && dragStarted) return; // Only deselect if selection is in this sortable + + if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable + + if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click + + if (evt && evt.button !== 0) return; + while (multiDragElements.length) { + var el = multiDragElements[0]; + toggleClass(el, this.options.selectedClass, false); + multiDragElements.shift(); + dispatchEvent({ + sortable: this.sortable, + rootEl: this.sortable.el, + name: 'deselect', + targetEl: el, + originalEvt: evt + }); + } + }, + _checkKeyDown: function _checkKeyDown(evt) { + if (evt.key === this.options.multiDragKey) { + this.multiDragKeyDown = true; + } + }, + _checkKeyUp: function _checkKeyUp(evt) { + if (evt.key === this.options.multiDragKey) { + this.multiDragKeyDown = false; + } + } + }; + return _extends(MultiDrag, { + // Static methods & properties + pluginName: 'multiDrag', + utils: { + /** + * Selects the provided multi-drag item + * @param {HTMLElement} el The element to be selected + */ + select: function select(el) { + var sortable = el.parentNode[expando]; + if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return; + if (multiDragSortable && multiDragSortable !== sortable) { + multiDragSortable.multiDrag._deselectMultiDrag(); + multiDragSortable = sortable; + } + toggleClass(el, sortable.options.selectedClass, true); + multiDragElements.push(el); + }, + /** + * Deselects the provided multi-drag item + * @param {HTMLElement} el The element to be deselected + */ + deselect: function deselect(el) { + var sortable = el.parentNode[expando], + index = multiDragElements.indexOf(el); + if (!sortable || !sortable.options.multiDrag || !~index) return; + toggleClass(el, sortable.options.selectedClass, false); + multiDragElements.splice(index, 1); + } + }, + eventProperties: function eventProperties() { + var _this3 = this; + var oldIndicies = [], + newIndicies = []; + multiDragElements.forEach(function (multiDragElement) { + oldIndicies.push({ + multiDragElement: multiDragElement, + index: multiDragElement.sortableIndex + }); // multiDragElements will already be sorted if folding + + var newIndex; + if (folding && multiDragElement !== dragEl$1) { + newIndex = -1; + } else if (folding) { + newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')'); + } else { + newIndex = index(multiDragElement); + } + newIndicies.push({ + multiDragElement: multiDragElement, + index: newIndex + }); + }); + return { + items: _toConsumableArray(multiDragElements), + clones: [].concat(multiDragClones), + oldIndicies: oldIndicies, + newIndicies: newIndicies + }; + }, + optionListeners: { + multiDragKey: function multiDragKey(key) { + key = key.toLowerCase(); + if (key === 'ctrl') { + key = 'Control'; + } else if (key.length > 1) { + key = key.charAt(0).toUpperCase() + key.substr(1); + } + return key; + } + } + }); +} +function insertMultiDragElements(clonesInserted, rootEl) { + multiDragElements.forEach(function (multiDragElement, i) { + var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)]; + if (target) { + rootEl.insertBefore(multiDragElement, target); + } else { + rootEl.appendChild(multiDragElement); + } + }); +} +/** + * Insert multi-drag clones + * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted + * @param {HTMLElement} rootEl + */ + +function insertMultiDragClones(elementsInserted, rootEl) { + multiDragClones.forEach(function (clone, i) { + var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)]; + if (target) { + rootEl.insertBefore(clone, target); + } else { + rootEl.appendChild(clone); + } + }); +} +function removeMultiDragElements() { + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement === dragEl$1) return; + multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement); + }); +} +Sortable.mount(new AutoScrollPlugin()); +Sortable.mount(Remove, Revert); +/* harmony default export */ __webpack_exports__["default"] = (Sortable); + + +/***/ }), + +/***/ "4625": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var classofRaw = __webpack_require__("c6b6"); +var uncurryThis = __webpack_require__("e330"); + +module.exports = function (fn) { + // Nashorn bug: + // https://github.com/zloirock/core-js/issues/1128 + // https://github.com/zloirock/core-js/issues/1130 + if (classofRaw(fn) === 'Function') return uncurryThis(fn); +}; + + +/***/ }), + +/***/ "467f": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var createError = __webpack_require__("2d83"); + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + */ +module.exports = function settle(resolve, reject, response) { + var validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(createError( + 'Request failed with status code ' + response.status, + response.config, + null, + response.request, + response + )); + } +}; + + +/***/ }), + +/***/ "46c4": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// `GetIteratorDirect(obj)` abstract operation +// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect +module.exports = function (obj) { + return { + iterator: obj, + next: obj.next, + done: false + }; +}; + + +/***/ }), + +/***/ "485a": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__("c65b"); +var isCallable = __webpack_require__("1626"); +var isObject = __webpack_require__("861d"); + +var $TypeError = TypeError; + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + throw new $TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), + +/***/ "4897": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; +exports.i18n = exports.use = exports.t = undefined; +var _zhCN = __webpack_require__("f0d9"); +var _zhCN2 = _interopRequireDefault(_zhCN); +var _vue = __webpack_require__("8bbf"); +var _vue2 = _interopRequireDefault(_vue); +var _deepmerge = __webpack_require__("3c4e"); +var _deepmerge2 = _interopRequireDefault(_deepmerge); +var _format = __webpack_require__("9d7e"); +var _format2 = _interopRequireDefault(_format); +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} +var format = (0, _format2.default)(_vue2.default); +var lang = _zhCN2.default; +var merged = false; +var i18nHandler = function i18nHandler() { + var vuei18n = Object.getPrototypeOf(this || _vue2.default).$t; + if (typeof vuei18n === 'function' && !!_vue2.default.locale) { + if (!merged) { + merged = true; + _vue2.default.locale(_vue2.default.config.lang, (0, _deepmerge2.default)(lang, _vue2.default.locale(_vue2.default.config.lang) || {}, { + clone: true + })); + } + return vuei18n.apply(this, arguments); + } +}; +var t = exports.t = function t(path, options) { + var value = i18nHandler.apply(this, arguments); + if (value !== null && value !== undefined) return value; + var array = path.split('.'); + var current = lang; + for (var i = 0, j = array.length; i < j; i++) { + var property = array[i]; + value = current[property]; + if (i === j - 1) return format(value, options); + if (!value) return ''; + current = value; + } + return ''; +}; +var use = exports.use = function use(l) { + lang = l || lang; +}; +var i18n = exports.i18n = function i18n(fn) { + i18nHandler = fn || i18nHandler; +}; +exports.default = { + use: use, + t: t, + i18n: i18n +}; + +/***/ }), + +/***/ "4a0c": +/***/ (function(module) { + +module.exports = JSON.parse("{\"_args\":[[\"axios@0.21.4\",\"D:\\\\resource\\\\vform\\\\variant-form-pro\"]],\"_from\":\"axios@0.21.4\",\"_id\":\"axios@0.21.4\",\"_inBundle\":false,\"_integrity\":\"sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==\",\"_location\":\"/axios\",\"_phantomChildren\":{},\"_requested\":{\"type\":\"version\",\"registry\":true,\"raw\":\"axios@0.21.4\",\"name\":\"axios\",\"escapedName\":\"axios\",\"rawSpec\":\"0.21.4\",\"saveSpec\":null,\"fetchSpec\":\"0.21.4\"},\"_requiredBy\":[\"/\"],\"_resolved\":\"http://loan.git.com.cn/sadp-npm/repository/npm-group/axios/-/axios-0.21.4.tgz\",\"_spec\":\"0.21.4\",\"_where\":\"D:\\\\resource\\\\vform\\\\variant-form-pro\",\"author\":{\"name\":\"Matt Zabriskie\"},\"browser\":{\"./lib/adapters/http.js\":\"./lib/adapters/xhr.js\"},\"bugs\":{\"url\":\"https://github.com/axios/axios/issues\"},\"bundlesize\":[{\"path\":\"./dist/axios.min.js\",\"threshold\":\"5kB\"}],\"dependencies\":{\"follow-redirects\":\"^1.14.0\"},\"description\":\"Promise based HTTP client for the browser and node.js\",\"devDependencies\":{\"coveralls\":\"^3.0.0\",\"es6-promise\":\"^4.2.4\",\"grunt\":\"^1.3.0\",\"grunt-banner\":\"^0.6.0\",\"grunt-cli\":\"^1.2.0\",\"grunt-contrib-clean\":\"^1.1.0\",\"grunt-contrib-watch\":\"^1.0.0\",\"grunt-eslint\":\"^23.0.0\",\"grunt-karma\":\"^4.0.0\",\"grunt-mocha-test\":\"^0.13.3\",\"grunt-ts\":\"^6.0.0-beta.19\",\"grunt-webpack\":\"^4.0.2\",\"istanbul-instrumenter-loader\":\"^1.0.0\",\"jasmine-core\":\"^2.4.1\",\"karma\":\"^6.3.2\",\"karma-chrome-launcher\":\"^3.1.0\",\"karma-firefox-launcher\":\"^2.1.0\",\"karma-jasmine\":\"^1.1.1\",\"karma-jasmine-ajax\":\"^0.1.13\",\"karma-safari-launcher\":\"^1.0.0\",\"karma-sauce-launcher\":\"^4.3.6\",\"karma-sinon\":\"^1.0.5\",\"karma-sourcemap-loader\":\"^0.3.8\",\"karma-webpack\":\"^4.0.2\",\"load-grunt-tasks\":\"^3.5.2\",\"minimist\":\"^1.2.0\",\"mocha\":\"^8.2.1\",\"sinon\":\"^4.5.0\",\"terser-webpack-plugin\":\"^4.2.3\",\"typescript\":\"^4.0.5\",\"url-search-params\":\"^0.10.0\",\"webpack\":\"^4.44.2\",\"webpack-dev-server\":\"^3.11.0\"},\"homepage\":\"https://axios-http.com\",\"jsdelivr\":\"dist/axios.min.js\",\"keywords\":[\"xhr\",\"http\",\"ajax\",\"promise\",\"node\"],\"license\":\"MIT\",\"main\":\"index.js\",\"name\":\"axios\",\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/axios/axios.git\"},\"scripts\":{\"build\":\"NODE_ENV=production grunt build\",\"coveralls\":\"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\",\"examples\":\"node ./examples/server.js\",\"fix\":\"eslint --fix lib/**/*.js\",\"postversion\":\"git push && git push --tags\",\"preversion\":\"npm test\",\"start\":\"node ./sandbox/server.js\",\"test\":\"grunt test\",\"version\":\"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\"},\"typings\":\"./index.d.ts\",\"unpkg\":\"dist/axios.min.js\",\"version\":\"0.21.4\"}"); + +/***/ }), + +/***/ "4a3a": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "4a70": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=template&id=4a7d3cd0&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-upload',{ref:"fieldEditor",staticClass:"dynamicPseudoAfter",class:{'hideUploadDiv': _vm.uploadBtnHidden || _vm.isReadMode},style:(_vm.styleVariables),attrs:{"disabled":_vm.field.options.disabled || _vm.isReadMode,"action":_vm.realUploadURL,"headers":_vm.uploadHeaders,"data":_vm.uploadData,"with-credentials":_vm.field.options.withCredentials,"multiple":_vm.field.options.multipleSelect,"file-list":_vm.fileList,"show-file-list":_vm.field.options.showFileList,"limit":_vm.field.options.limit,"on-exceed":_vm.handleFileExceed,"before-upload":_vm.beforeFileUpload,"on-success":_vm.handleFileUpload,"on-error":_vm.handleUploadError},scopedSlots:_vm._u([{key:"file",fn:function(ref){ +var file = ref.file; +return [_c('div',{staticClass:"upload-file-list"},[_c('span',{staticClass:"upload-file-name",attrs:{"title":file.name}},[_vm._v(_vm._s(file.name))]),_c('a',{attrs:{"href":file.url,"download":"","target":"_blank"}},[_c('i',{staticClass:"el-icon-download file-action",attrs:{"title":_vm.i18nt('render.hint.downloadFile')}})]),(!_vm.field.options.disabled && !_vm.isReadMode)?_c('i',{staticClass:"el-icon-delete file-action",attrs:{"title":_vm.i18nt('render.hint.removeFile')},on:{"click":function($event){return _vm.removeUploadFile(file.name, file.url, file.uid)}}}):_vm._e()])]}}])},[(!!_vm.field.options.uploadTip)?_c('div',{staticClass:"el-upload__tip",attrs:{"slot":"tip"},slot:"tip"},[_vm._v(_vm._s(_vm.field.options.uploadTip))]):_vm._e(),_c('i',{staticClass:"el-icon-plus avatar-uploader-icon",attrs:{"slot":"default"},slot:"default"})])],1)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=template&id=4a7d3cd0&scoped=true + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js +var es_array_push = __webpack_require__("14d9"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/utils/util.js +var util = __webpack_require__("ca00"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +let selectFileText = "'" + Object(i18n["c" /* translate */])('render.hint.selectFile') + "'"; +/* harmony default export */ var file_upload_widgetvue_type_script_lang_js = ({ + name: "file-upload-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + FormItemWrapper: form_item_wrapper["default"] + }, + inject: ['refList', 'globalOptionData', 'globalModel'], + data() { + return { + oldFieldValue: null, + //field组件change之前的值 + fieldModel: [], + rules: [], + uploadHeaders: {}, + uploadData: { + key: '' //七牛云上传文件名 + //token: '', //七牛云上传token + + //policy: '', //又拍云上传policy + //authorization: '', //又拍云上传签名 + }, + fileList: [], + //上传文件列表 + + styleVariables: { + '--select-file-action': selectFileText + } + }; + }, + computed: { + realUploadURL() { + let uploadURL = this.field.options.uploadURL; + if (!!uploadURL && (uploadURL.indexOf('DSV.') > -1 || uploadURL.indexOf('DSV[') > -1)) { + let DSV = this.getGlobalDsv(); + console.log('test DSV: ', DSV); //防止DSV被打包工具优化!!! + return Object(util["d" /* evalFn */])(this.field.options.uploadURL, DSV); + } + return this.field.options.uploadURL; + }, + uploadBtnHidden() { + return !this.fileList || this.fileList.length >= this.field.options.limit; + } + }, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initFieldModel(); + this.initEventHandler(); + this.buildFieldRules(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + handleFileExceed() { + let uploadLimit = this.field.options.limit; + this.$message.warning(this.i18nt('render.hint.uploadExceed').replace('${uploadLimit}', uploadLimit)); + }, + beforeFileUpload(file) { + let fileTypeCheckResult = false; + let extFileName = file.name.substring(file.name.lastIndexOf('.') + 1); + if (!!this.field.options && !!this.field.options.fileTypes) { + let uploadFileTypes = this.field.options.fileTypes; + if (uploadFileTypes.length > 0) { + fileTypeCheckResult = uploadFileTypes.some(ft => { + return extFileName.toLowerCase() === ft.toLowerCase(); + }); + } + } + if (!fileTypeCheckResult) { + this.$message.error(this.i18nt('render.hint.unsupportedFileType') + extFileName); + return false; + } + let fileSizeCheckResult = false; + let uploadFileMaxSize = 5; //5MB + if (!!this.field.options && !!this.field.options.fileMaxSize) { + uploadFileMaxSize = this.field.options.fileMaxSize; + } + fileSizeCheckResult = file.size / 1024 / 1024 <= uploadFileMaxSize; + if (!fileSizeCheckResult) { + this.$message.error(this.i18nt('render.hint.fileSizeExceed') + uploadFileMaxSize + 'MB'); + return false; + } + this.uploadData.key = file.name; + return this.handleOnBeforeUpload(file); + }, + handleOnBeforeUpload(file) { + if (!!this.field.options.onBeforeUpload) { + let bfFunc = new Function('file', this.field.options.onBeforeUpload); + let result = bfFunc.call(this, file); + if (typeof result === 'boolean') { + return result; + } else { + return true; + } + } + return true; + }, + updateFieldModelAndEmitDataChangeForUpload(fileList, customResult, defaultResult) { + this.fieldModel = this.fieldModel || []; + let oldValue = Object(util["c" /* deepClone */])(this.fieldModel); + if (!!customResult && !!customResult.name && !!customResult.url) { + this.fieldModel.push({ + name: customResult.name, + url: customResult.url + }); + } else if (!!defaultResult && !!defaultResult.name && !!defaultResult.url) { + this.fieldModel.push({ + name: defaultResult.name, + url: defaultResult.url + }); + } else { + this.fieldModel = Object(util["c" /* deepClone */])(fileList); + } + this.syncUpdateFormModel(this.fieldModel); + this.emitFieldDataChange(this.fieldModel, oldValue); + }, + handleFileUpload(res, file, fileList) { + if (file.status === 'success') { + let customResult = null; + if (!!this.field.options.onUploadSuccess) { + let mountFunc = new Function('result', 'file', 'fileList', this.field.options.onUploadSuccess); + customResult = mountFunc.call(this, res, file, fileList); + } + this.updateFieldModelAndEmitDataChangeForUpload(fileList, customResult, res); + if (!!customResult && !!customResult.name) { + file.name = customResult.name; + } else { + file.name = file.name || res.name || res.fileName || res.filename; + } + if (!!customResult && !!customResult.url) { + file.url = customResult.url; + } else { + file.url = file.url || res.url; + } + this.fileList = Object(util["c" /* deepClone */])(fileList); + this.$nextTick(() => { + this.clearValidate(); + }); + } + }, + updateFieldModelAndEmitDataChangeForRemove(deletedFileIdx, fileList) { + let oldValue = Object(util["c" /* deepClone */])(this.fieldModel); + this.fieldModel.splice(deletedFileIdx, 1); + this.syncUpdateFormModel(this.fieldModel); + this.emitFieldDataChange(this.fieldModel, oldValue); + }, + removeUploadFile(fileName, fileUrl, fileUid) { + let foundIdx = -1; + let foundFile = null; + this.fileList.forEach((file, idx) => { + if (file.name === fileName && (file.url === fileUrl || !!fileUid && file.uid === fileUid)) { + foundIdx = idx; + foundFile = file; + } + }); + if (foundIdx >= 0) { + this.fileList.splice(foundIdx, 1); + this.updateFieldModelAndEmitDataChangeForRemove(foundIdx, this.fileList); + if (!!this.field.options.onFileRemove) { + let customFn = new Function('file', 'fileList', this.field.options.onFileRemove); + customFn.call(this, foundFile, this.fileList); + } + } + }, + handleUploadError(err, file, fileList) { + if (!!this.field.options.onUploadError) { + let customFn = new Function('error', 'file', 'fileList', this.field.options.onUploadError); + customFn.call(this, err, file, fileList); + } else { + this.$message({ + message: this.i18nt('render.hint.uploadError') + err, + duration: 3000, + type: 'error' + }); + } + } + } +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_file_upload_widgetvue_type_script_lang_js = (file_upload_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=style&index=0&id=4a7d3cd0&prod&lang=scss&scoped=true +var file_upload_widgetvue_type_style_index_0_id_4a7d3cd0_prod_lang_scss_scoped_true = __webpack_require__("4070"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_file_upload_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "4a7d3cd0", + null + +) + +/* harmony default export */ var file_upload_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "4a7b": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); + +/** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * @returns {Object} New object resulting from merging config2 to config1 + */ +module.exports = function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + var config = {}; + + var valueFromConfig2Keys = ['url', 'method', 'data']; + var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params']; + var defaultToConfig2Keys = [ + 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer', + 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', + 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress', + 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent', + 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding' + ]; + var directMergeKeys = ['validateStatus']; + + function getMergedValue(target, source) { + if (utils.isPlainObject(target) && utils.isPlainObject(source)) { + return utils.merge(target, source); + } else if (utils.isPlainObject(source)) { + return utils.merge({}, source); + } else if (utils.isArray(source)) { + return source.slice(); + } + return source; + } + + function mergeDeepProperties(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(config1[prop], config2[prop]); + } else if (!utils.isUndefined(config1[prop])) { + config[prop] = getMergedValue(undefined, config1[prop]); + } + } + + utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(undefined, config2[prop]); + } + }); + + utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties); + + utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(undefined, config2[prop]); + } else if (!utils.isUndefined(config1[prop])) { + config[prop] = getMergedValue(undefined, config1[prop]); + } + }); + + utils.forEach(directMergeKeys, function merge(prop) { + if (prop in config2) { + config[prop] = getMergedValue(config1[prop], config2[prop]); + } else if (prop in config1) { + config[prop] = getMergedValue(undefined, config1[prop]); + } + }); + + var axiosKeys = valueFromConfig2Keys + .concat(mergeDeepPropertiesKeys) + .concat(defaultToConfig2Keys) + .concat(directMergeKeys); + + var otherKeys = Object + .keys(config1) + .concat(Object.keys(config2)) + .filter(function filterAxiosKeys(key) { + return axiosKeys.indexOf(key) === -1; + }); + + utils.forEach(otherKeys, mergeDeepProperties); + + return config; +}; + + +/***/ }), + +/***/ "4b11": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// eslint-disable-next-line es/no-typed-arrays -- safe +module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; + + +/***/ }), + +/***/ "4d64": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIndexedObject = __webpack_require__("fc6a"); +var toAbsoluteIndex = __webpack_require__("23cb"); +var lengthOfArrayLike = __webpack_require__("07fa"); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + if (length === 0) return !IS_INCLUDES && -1; + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el !== el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value !== value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + + +/***/ }), + +/***/ "4ea1": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var arrayWith = __webpack_require__("d429"); +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var isBigIntArray = __webpack_require__("bcbf"); +var toIntegerOrInfinity = __webpack_require__("5926"); +var toBigInt = __webpack_require__("f495"); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var PROPER_ORDER = !!function () { + try { + // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing + new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } }); + } catch (error) { + // some early implementations, like WebKit, does not follow the final semantic + // https://github.com/tc39/proposal-change-array-by-copy/pull/86 + return error === 8; + } +}(); + +// `%TypedArray%.prototype.with` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with +exportTypedArrayMethod('with', { 'with': function (index, value) { + var O = aTypedArray(this); + var relativeIndex = toIntegerOrInfinity(index); + var actualValue = isBigIntArray(O) ? toBigInt(value) : +value; + return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue); +} }['with'], !PROPER_ORDER); + + +/***/ }), + +/***/ "50c4": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIntegerOrInfinity = __webpack_require__("5926"); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + var len = toIntegerOrInfinity(argument); + return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + + +/***/ }), + +/***/ "519e": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "51a5": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "5270": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); +var transformData = __webpack_require__("c401"); +var isCancel = __webpack_require__("2e67"); +var defaults = __webpack_require__("2444"); + +/** + * Throws a `Cancel` if cancellation has been requested. + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * @returns {Promise} The Promise to be fulfilled + */ +module.exports = function dispatchRequest(config) { + throwIfCancellationRequested(config); + + // Ensure headers exist + config.headers = config.headers || {}; + + // Transform request data + config.data = transformData.call( + config, + config.data, + config.headers, + config.transformRequest + ); + + // Flatten headers + config.headers = utils.merge( + config.headers.common || {}, + config.headers[config.method] || {}, + config.headers + ); + + utils.forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + function cleanHeaderConfig(method) { + delete config.headers[method]; + } + ); + + var adapter = config.adapter || defaults.adapter; + + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData.call( + config, + response.data, + response.headers, + config.transformResponse + ); + + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData.call( + config, + reason.response.data, + reason.response.headers, + config.transformResponse + ); + } + } + + return Promise.reject(reason); + }); +}; + + +/***/ }), + +/***/ "5388": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__("c65b"); + +module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) { + var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator; + var next = record.next; + var step, result; + while (!(step = call(next, iterator)).done) { + result = fn(step.value); + if (result !== undefined) return result; + } +}; + + +/***/ }), + +/***/ "541d": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_date_widget_vue_vue_type_style_index_0_id_e2fc9bbc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f5c5"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_date_widget_vue_vue_type_style_index_0_id_e2fc9bbc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_date_widget_vue_vue_type_style_index_0_id_e2fc9bbc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "5692": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var store = __webpack_require__("c6cd"); + +module.exports = function (key, value) { + return store[key] || (store[key] = value || {}); +}; + + +/***/ }), + +/***/ "56ef": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var getBuiltIn = __webpack_require__("d066"); +var uncurryThis = __webpack_require__("e330"); +var getOwnPropertyNamesModule = __webpack_require__("241c"); +var getOwnPropertySymbolsModule = __webpack_require__("7418"); +var anObject = __webpack_require__("825a"); + +var concat = uncurryThis([].concat); + +// all object keys, includes non-enumerable and symbols +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + + +/***/ }), + +/***/ "577e": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var classof = __webpack_require__("f5df"); + +var $String = String; + +module.exports = function (argument) { + if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); + return $String(argument); +}; + + +/***/ }), + +/***/ "5873": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return VueEditor; }); +/* unused harmony export install */ +/* harmony import */ var quill__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9339"); +/* harmony import */ var quill__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill__WEBPACK_IMPORTED_MODULE_0__); +/*! + * vue2-editor v2.10.3 + * (c) 2021 David Royer + * Released under the MIT License. + */ + + + +var defaultToolbar = [[{ + header: [false, 1, 2, 3, 4, 5, 6] +}], ["bold", "italic", "underline", "strike"], // toggled buttons +[{ + align: "" +}, { + align: "center" +}, { + align: "right" +}, { + align: "justify" +}], ["blockquote", "code-block"], [{ + list: "ordered" +}, { + list: "bullet" +}, { + list: "check" +}], [{ + indent: "-1" +}, { + indent: "+1" +}], // outdent/indent +[{ + color: [] +}, { + background: [] +}], // dropdown with defaults from theme +["link", "image", "video"], ["clean"] // remove formatting button +]; + +var oldApi = { + props: { + customModules: Array + }, + methods: { + registerCustomModules: function registerCustomModules(Quill) { + if (this.customModules !== undefined) { + this.customModules.forEach(function (customModule) { + Quill.register("modules/" + customModule.alias, customModule.module); + }); + } + } + } +}; + +function _typeof(obj) { + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function (obj) { + return typeof obj; + }; + } else { + _typeof = function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); +} + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) _setPrototypeOf(subClass, superClass); +} + +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} + +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); +} + +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} + +function _possibleConstructorReturn(self, call) { + if (call && (typeof call === "object" || typeof call === "function")) { + return call; + } + + return _assertThisInitialized(self); +} + +function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); +} + +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +function _iterableToArrayLimit(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} + +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); +} + +/** + * Performs a deep merge of `source` into `target`. + * Mutates `target` only but not its objects and arrays. + * + */ +function mergeDeep(target, source) { + var isObject = function isObject(obj) { + return obj && _typeof(obj) === "object"; + }; + + if (!isObject(target) || !isObject(source)) { + return source; + } + + Object.keys(source).forEach(function (key) { + var targetValue = target[key]; + var sourceValue = source[key]; + + if (Array.isArray(targetValue) && Array.isArray(sourceValue)) { + target[key] = targetValue.concat(sourceValue); + } else if (isObject(targetValue) && isObject(sourceValue)) { + target[key] = mergeDeep(Object.assign({}, targetValue), sourceValue); + } else { + target[key] = sourceValue; + } + }); + return target; +} + +var BlockEmbed = quill__WEBPACK_IMPORTED_MODULE_0___default.a.import("blots/block/embed"); + +var HorizontalRule = +/*#__PURE__*/ +function (_BlockEmbed) { + _inherits(HorizontalRule, _BlockEmbed); + + function HorizontalRule() { + _classCallCheck(this, HorizontalRule); + + return _possibleConstructorReturn(this, _getPrototypeOf(HorizontalRule).apply(this, arguments)); + } + + return HorizontalRule; +}(BlockEmbed); + +HorizontalRule.blotName = "hr"; +HorizontalRule.tagName = "hr"; +quill__WEBPACK_IMPORTED_MODULE_0___default.a.register("formats/horizontal", HorizontalRule); + +var MarkdownShortcuts = +/*#__PURE__*/ +function () { + function MarkdownShortcuts(quill, options) { + var _this = this; + + _classCallCheck(this, MarkdownShortcuts); + + this.quill = quill; + this.options = options; + this.ignoreTags = ["PRE"]; + this.matches = [{ + name: "header", + pattern: /^(#){1,6}\s/g, + action: function action(text, selection, pattern) { + var match = pattern.exec(text); + if (!match) return; + var size = match[0].length; // Need to defer this action https://github.com/quilljs/quill/issues/1134 + + setTimeout(function () { + _this.quill.formatLine(selection.index, 0, "header", size - 1); + + _this.quill.deleteText(selection.index - size, size); + }, 0); + } + }, { + name: "blockquote", + pattern: /^(>)\s/g, + action: function action(_text, selection) { + // Need to defer this action https://github.com/quilljs/quill/issues/1134 + setTimeout(function () { + _this.quill.formatLine(selection.index, 1, "blockquote", true); + + _this.quill.deleteText(selection.index - 2, 2); + }, 0); + } + }, { + name: "code-block", + pattern: /^`{3}(?:\s|\n)/g, + action: function action(_text, selection) { + // Need to defer this action https://github.com/quilljs/quill/issues/1134 + setTimeout(function () { + _this.quill.formatLine(selection.index, 1, "code-block", true); + + _this.quill.deleteText(selection.index - 4, 4); + }, 0); + } + }, { + name: "bolditalic", + pattern: /(?:\*|_){3}(.+?)(?:\*|_){3}/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + bold: true, + italic: true + }); + + _this.quill.format("bold", false); + }, 0); + } + }, { + name: "bold", + pattern: /(?:\*|_){2}(.+?)(?:\*|_){2}/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + bold: true + }); + + _this.quill.format("bold", false); + }, 0); + } + }, { + name: "italic", + pattern: /(?:\*|_){1}(.+?)(?:\*|_){1}/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + italic: true + }); + + _this.quill.format("italic", false); + }, 0); + } + }, { + name: "strikethrough", + pattern: /(?:~~)(.+?)(?:~~)/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + strike: true + }); + + _this.quill.format("strike", false); + }, 0); + } + }, { + name: "code", + pattern: /(?:`)(.+?)(?:`)/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + code: true + }); + + _this.quill.format("code", false); + + _this.quill.insertText(_this.quill.getSelection(), " "); + }, 0); + } + }, { + name: "hr", + pattern: /^([-*]\s?){3}/g, + action: function action(text, selection) { + var startIndex = selection.index - text.length; + setTimeout(function () { + _this.quill.deleteText(startIndex, text.length); + + _this.quill.insertEmbed(startIndex + 1, "hr", true, quill__WEBPACK_IMPORTED_MODULE_0___default.a.sources.USER); + + _this.quill.insertText(startIndex + 2, "\n", quill__WEBPACK_IMPORTED_MODULE_0___default.a.sources.SILENT); + + _this.quill.setSelection(startIndex + 2, quill__WEBPACK_IMPORTED_MODULE_0___default.a.sources.SILENT); + }, 0); + } + }, { + name: "asterisk-ul", + pattern: /^(\*|\+)\s$/g, + // eslint-disable-next-line no-unused-vars + action: function action(_text, selection, _pattern) { + setTimeout(function () { + _this.quill.formatLine(selection.index, 1, "list", "unordered"); + + _this.quill.deleteText(selection.index - 2, 2); + }, 0); + } + }, { + name: "image", + pattern: /(?:!\[(.+?)\])(?:\((.+?)\))/g, + action: function action(text, selection, pattern) { + var startIndex = text.search(pattern); + var matchedText = text.match(pattern)[0]; // const hrefText = text.match(/(?:!\[(.*?)\])/g)[0] + + var hrefLink = text.match(/(?:\((.*?)\))/g)[0]; + var start = selection.index - matchedText.length - 1; + + if (startIndex !== -1) { + setTimeout(function () { + _this.quill.deleteText(start, matchedText.length); + + _this.quill.insertEmbed(start, "image", hrefLink.slice(1, hrefLink.length - 1)); + }, 0); + } + } + }, { + name: "link", + pattern: /(?:\[(.+?)\])(?:\((.+?)\))/g, + action: function action(text, selection, pattern) { + var startIndex = text.search(pattern); + var matchedText = text.match(pattern)[0]; + var hrefText = text.match(/(?:\[(.*?)\])/g)[0]; + var hrefLink = text.match(/(?:\((.*?)\))/g)[0]; + var start = selection.index - matchedText.length - 1; + + if (startIndex !== -1) { + setTimeout(function () { + _this.quill.deleteText(start, matchedText.length); + + _this.quill.insertText(start, hrefText.slice(1, hrefText.length - 1), "link", hrefLink.slice(1, hrefLink.length - 1)); + }, 0); + } + } + }]; // Handler that looks for insert deltas that match specific characters + // eslint-disable-next-line no-unused-vars + + this.quill.on("text-change", function (delta, _oldContents, _source) { + for (var i = 0; i < delta.ops.length; i++) { + if (delta.ops[i].hasOwnProperty("insert")) { + if (delta.ops[i].insert === " ") { + _this.onSpace(); + } else if (delta.ops[i].insert === "\n") { + _this.onEnter(); + } + } + } + }); + } + + _createClass(MarkdownShortcuts, [{ + key: "isValid", + value: function isValid(text, tagName) { + return typeof text !== "undefined" && text && this.ignoreTags.indexOf(tagName) === -1; + } + }, { + key: "onSpace", + value: function onSpace() { + var selection = this.quill.getSelection(); + if (!selection) return; + + var _this$quill$getLine = this.quill.getLine(selection.index), + _this$quill$getLine2 = _slicedToArray(_this$quill$getLine, 2), + line = _this$quill$getLine2[0], + offset = _this$quill$getLine2[1]; + + var text = line.domNode.textContent; + var lineStart = selection.index - offset; + + if (this.isValid(text, line.domNode.tagName)) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = this.matches[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var match = _step.value; + var matchedText = text.match(match.pattern); + + if (matchedText) { + // We need to replace only matched text not the whole line + console.log("matched:", match.name, text); + match.action(text, selection, match.pattern, lineStart); + return; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + } + }, { + key: "onEnter", + value: function onEnter() { + var selection = this.quill.getSelection(); + if (!selection) return; + + var _this$quill$getLine3 = this.quill.getLine(selection.index), + _this$quill$getLine4 = _slicedToArray(_this$quill$getLine3, 2), + line = _this$quill$getLine4[0], + offset = _this$quill$getLine4[1]; + + var text = line.domNode.textContent + " "; + var lineStart = selection.index - offset; + selection.length = selection.index++; + + if (this.isValid(text, line.domNode.tagName)) { + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = this.matches[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var match = _step2.value; + var matchedText = text.match(match.pattern); + + if (matchedText) { + console.log("matched", match.name, text); + match.action(text, selection, match.pattern, lineStart); + return; + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } + } + }]); + + return MarkdownShortcuts; +}(); // module.exports = MarkdownShortcuts; + +// +var script = { + name: "VueEditor", + mixins: [oldApi], + props: { + id: { + type: String, + default: "quill-container" + }, + placeholder: { + type: String, + default: "" + }, + value: { + type: String, + default: "" + }, + disabled: { + type: Boolean + }, + editorToolbar: { + type: Array, + default: function _default() { + return []; + } + }, + editorOptions: { + type: Object, + required: false, + default: function _default() { + return {}; + } + }, + useCustomImageHandler: { + type: Boolean, + default: false + }, + useMarkdownShortcuts: { + type: Boolean, + default: false + } + }, + data: function data() { + return { + quill: null + }; + }, + watch: { + value: function value(val) { + if (val != this.quill.root.innerHTML && !this.quill.hasFocus()) { + this.quill.root.innerHTML = val; + } + }, + disabled: function disabled(status) { + this.quill.enable(!status); + } + }, + mounted: function mounted() { + this.registerCustomModules(quill__WEBPACK_IMPORTED_MODULE_0___default.a); + this.registerPrototypes(); + this.initializeEditor(); + }, + beforeDestroy: function beforeDestroy() { + this.quill = null; + delete this.quill; + }, + methods: { + initializeEditor: function initializeEditor() { + this.setupQuillEditor(); + this.checkForCustomImageHandler(); + this.handleInitialContent(); + this.registerEditorEventListeners(); + this.$emit("ready", this.quill); + }, + setupQuillEditor: function setupQuillEditor() { + var editorConfig = { + debug: false, + modules: this.setModules(), + theme: "snow", + placeholder: this.placeholder ? this.placeholder : "", + readOnly: this.disabled ? this.disabled : false + }; + this.prepareEditorConfig(editorConfig); + this.quill = new quill__WEBPACK_IMPORTED_MODULE_0___default.a(this.$refs.quillContainer, editorConfig); + }, + setModules: function setModules() { + var modules = { + toolbar: this.editorToolbar.length ? this.editorToolbar : defaultToolbar + }; + + if (this.useMarkdownShortcuts) { + quill__WEBPACK_IMPORTED_MODULE_0___default.a.register("modules/markdownShortcuts", MarkdownShortcuts, true); + modules["markdownShortcuts"] = {}; + } + + return modules; + }, + prepareEditorConfig: function prepareEditorConfig(editorConfig) { + if (Object.keys(this.editorOptions).length > 0 && this.editorOptions.constructor === Object) { + if (this.editorOptions.modules && typeof this.editorOptions.modules.toolbar !== "undefined") { + // We don't want to merge default toolbar with provided toolbar. + delete editorConfig.modules.toolbar; + } + + mergeDeep(editorConfig, this.editorOptions); + } + }, + registerPrototypes: function registerPrototypes() { + quill__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.getHTML = function () { + return this.container.querySelector(".ql-editor").innerHTML; + }; + + quill__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.getWordCount = function () { + return this.container.querySelector(".ql-editor").innerText.length; + }; + }, + registerEditorEventListeners: function registerEditorEventListeners() { + this.quill.on("text-change", this.handleTextChange); + this.quill.on("selection-change", this.handleSelectionChange); + this.listenForEditorEvent("text-change"); + this.listenForEditorEvent("selection-change"); + this.listenForEditorEvent("editor-change"); + }, + listenForEditorEvent: function listenForEditorEvent(type) { + var _this = this; + + this.quill.on(type, function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this.$emit.apply(_this, [type].concat(args)); + }); + }, + handleInitialContent: function handleInitialContent() { + if (this.value) this.quill.root.innerHTML = this.value; // Set initial editor content + }, + handleSelectionChange: function handleSelectionChange(range, oldRange) { + if (!range && oldRange) this.$emit("blur", this.quill);else if (range && !oldRange) this.$emit("focus", this.quill); + }, + handleTextChange: function handleTextChange(delta, oldContents) { + var editorContent = this.quill.getHTML() === "


" ? "" : this.quill.getHTML(); + this.$emit("input", editorContent); + if (this.useCustomImageHandler) this.handleImageRemoved(delta, oldContents); + }, + handleImageRemoved: function handleImageRemoved(delta, oldContents) { + var _this2 = this; + + var currrentContents = this.quill.getContents(); + var deletedContents = currrentContents.diff(oldContents); + var operations = deletedContents.ops; + operations.map(function (operation) { + if (operation.insert && operation.insert.hasOwnProperty("image")) { + var image = operation.insert.image; + + _this2.$emit("image-removed", image); + } + }); + }, + checkForCustomImageHandler: function checkForCustomImageHandler() { + this.useCustomImageHandler === true ? this.setupCustomImageHandler() : ""; + }, + setupCustomImageHandler: function setupCustomImageHandler() { + var toolbar = this.quill.getModule("toolbar"); + toolbar.addHandler("image", this.customImageHandler); + }, + customImageHandler: function customImageHandler() { + this.$refs.fileInput.click(); + }, + emitImageInfo: function emitImageInfo($event) { + var resetUploader = function resetUploader() { + var uploader = document.getElementById("file-upload"); + uploader.value = ""; + }; + + var file = $event.target.files[0]; + var Editor = this.quill; + var range = Editor.getSelection(); + var cursorLocation = range.index; + this.$emit("image-added", file, Editor, cursorLocation, resetUploader); + } + } +}; + +function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier +/* server only */ +, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) { + if (typeof shadowMode !== 'boolean') { + createInjectorSSR = createInjector; + createInjector = shadowMode; + shadowMode = false; + } // Vue.extend constructor export interop. + + + var options = typeof script === 'function' ? script.options : script; // render functions + + if (template && template.render) { + options.render = template.render; + options.staticRenderFns = template.staticRenderFns; + options._compiled = true; // functional template + + if (isFunctionalTemplate) { + options.functional = true; + } + } // scopedId + + + if (scopeId) { + options._scopeId = scopeId; + } + + var hook; + + if (moduleIdentifier) { + // server build + hook = function hook(context) { + // 2.3 injection + context = context || // cached call + this.$vnode && this.$vnode.ssrContext || // stateful + this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional + // 2.2 with runInNewContext: true + + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__; + } // inject component styles + + + if (style) { + style.call(this, createInjectorSSR(context)); + } // register component module identifier for async chunk inference + + + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier); + } + }; // used by ssr in case component is cached and beforeCreate + // never gets called + + + options._ssrRegister = hook; + } else if (style) { + hook = shadowMode ? function () { + style.call(this, createInjectorShadow(this.$root.$options.shadowRoot)); + } : function (context) { + style.call(this, createInjector(context)); + }; + } + + if (hook) { + if (options.functional) { + // register for functional component in vue file + var originalRender = options.render; + + options.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context); + }; + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate; + options.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + + return script; +} + +var normalizeComponent_1 = normalizeComponent; + +var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase()); + +function createInjector(context) { + return function (id, style) { + return addStyle(id, style); + }; +} + +var HEAD; +var styles = {}; + +function addStyle(id, css) { + var group = isOldIE ? css.media || 'default' : id; + var style = styles[group] || (styles[group] = { + ids: new Set(), + styles: [] + }); + + if (!style.ids.has(id)) { + style.ids.add(id); + var code = css.source; + + if (css.map) { + // https://developer.chrome.com/devtools/docs/javascript-debugging + // this makes source maps inside style tags work properly in Chrome + code += '\n/*# sourceURL=' + css.map.sources[0] + ' */'; // http://stackoverflow.com/a/26603875 + + code += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) + ' */'; + } + + if (!style.element) { + style.element = document.createElement('style'); + style.element.type = 'text/css'; + if (css.media) style.element.setAttribute('media', css.media); + + if (HEAD === undefined) { + HEAD = document.head || document.getElementsByTagName('head')[0]; + } + + HEAD.appendChild(style.element); + } + + if ('styleSheet' in style.element) { + style.styles.push(code); + style.element.styleSheet.cssText = style.styles.filter(Boolean).join('\n'); + } else { + var index = style.ids.size - 1; + var textNode = document.createTextNode(code); + var nodes = style.element.childNodes; + if (nodes[index]) style.element.removeChild(nodes[index]); + if (nodes.length) style.element.insertBefore(textNode, nodes[index]);else style.element.appendChild(textNode); + } + } +} + +var browser = createInjector; + +/* script */ +const __vue_script__ = script; + +/* template */ +var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"quillWrapper"},[_vm._t("toolbar"),_vm._v(" "),_c('div',{ref:"quillContainer",attrs:{"id":_vm.id}}),_vm._v(" "),(_vm.useCustomImageHandler)?_c('input',{ref:"fileInput",staticStyle:{"display":"none"},attrs:{"id":"file-upload","type":"file","accept":"image/*"},on:{"change":function($event){return _vm.emitImageInfo($event)}}}):_vm._e()],2)}; +var __vue_staticRenderFns__ = []; + + /* style */ + const __vue_inject_styles__ = function (inject) { + if (!inject) return + inject("data-v-776e788e_0", { source: "/*!\n * Quill Editor v1.3.6\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li::before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:0;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li::before{content:'\\2022'}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li::before,.ql-editor ul[data-checked=true]>li::before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li::before{content:'\\2611'}.ql-editor ul[data-checked=false]>li::before{content:'\\2610'}.ql-editor li::before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl)::before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl::before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) '. '}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) '. '}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) '. '}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) '. '}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) '. '}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) '. '}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) '. '}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) '. '}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) '. '}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) '. '}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank::before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:'';display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:0 0;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:0}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow{box-sizing:border-box}.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:'';display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label::before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item::before,.ql-snow .ql-picker.ql-header .ql-picker-label::before{content:'Normal'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]::before{content:'Heading 1'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]::before{content:'Heading 2'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]::before{content:'Heading 3'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]::before{content:'Heading 4'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]::before{content:'Heading 5'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]::before{content:'Heading 6'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item::before,.ql-snow .ql-picker.ql-font .ql-picker-label::before{content:'Sans Serif'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before{content:'Serif'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before{content:'Monospace'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item::before,.ql-snow .ql-picker.ql-size .ql-picker-label::before{content:'Normal'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before{content:'Small'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before{content:'Large'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before{content:'Huge'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:rgba(0,0,0,.2) 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:#ccc}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip::before{content:\"Visit URL:\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action::after{border-right:1px solid #ccc;content:'Edit';margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove::before{content:'Remove';margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action::after{border-right:0;content:'Save';padding-right:0}.ql-snow .ql-tooltip[data-mode=link]::before{content:\"Enter link:\"}.ql-snow .ql-tooltip[data-mode=formula]::before{content:\"Enter formula:\"}.ql-snow .ql-tooltip[data-mode=video]::before{content:\"Enter video:\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}", map: undefined, media: undefined }) +,inject("data-v-776e788e_1", { source: ".ql-editor{min-height:200px;font-size:16px}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1px!important}.quillWrapper .ql-snow.ql-toolbar{padding-top:8px;padding-bottom:4px}.quillWrapper .ql-snow.ql-toolbar .ql-formats{margin-bottom:10px}.ql-snow .ql-toolbar button svg,.quillWrapper .ql-snow.ql-toolbar button svg{width:22px;height:22px}.quillWrapper .ql-editor ul[data-checked=false]>li::before,.quillWrapper .ql-editor ul[data-checked=true]>li::before{font-size:1.35em;vertical-align:baseline;bottom:-.065em;font-weight:900;color:#222}.quillWrapper .ql-snow .ql-stroke{stroke:rgba(63,63,63,.95);stroke-linecap:square;stroke-linejoin:initial;stroke-width:1.7px}.quillWrapper .ql-picker-label{font-size:15px}.quillWrapper .ql-snow .ql-active .ql-stroke{stroke-width:2.25px}.quillWrapper .ql-toolbar.ql-snow .ql-formats{vertical-align:top}.ql-picker:not(.ql-background){position:relative;top:2px}.ql-picker.ql-color-picker svg{width:22px!important;height:22px!important}.quillWrapper .imageResizeActive img{display:block;cursor:pointer}.quillWrapper .imageResizeActive~div svg{cursor:pointer}", map: undefined, media: undefined }); + + }; + /* scoped */ + const __vue_scope_id__ = undefined; + /* module identifier */ + const __vue_module_identifier__ = undefined; + /* functional template */ + const __vue_is_functional_template__ = false; + /* style inject SSR */ + + + + var VueEditor = normalizeComponent_1( + { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ }, + __vue_inject_styles__, + __vue_script__, + __vue_scope_id__, + __vue_is_functional_template__, + __vue_module_identifier__, + browser, + undefined + ); + +var version = "2.10.3"; // Declare install function executed by Vue.use() + +function install(Vue) { + if (install.installed) return; + install.installed = true; + Vue.component("VueEditor", VueEditor); +} +var VPlugin = { + install: install, + version: version, + Quill: quill__WEBPACK_IMPORTED_MODULE_0___default.a, + VueEditor: VueEditor +}; // Auto-install when vue is found (eg. in browser via + + + + `; +}; +function genEuDialogTemplate(formConfig, widgetList, vue3Flag = false) { + // 看看你拖拽的表单里是不是又弹框的类型 + let index = widgetList.findIndex(item => item.type === 'vf-dialog'); + let dialogTemplate = []; + if (index === -1) return; + let edDialogTemplate = widgetList[index]; + let { + options: { + logic + } + } = edDialogTemplate; + if (logic.length !== 0) { + logic.forEach(item => { + dialogTemplate.push({ + fileName: item, + tempalte: euDialogTemplate(item, formConfig) + }); + }); + } + return dialogTemplate; +} +let apiTempalte = { + 'add': function (url, method) { + return ` + export function addObj(obj) { + return request({ + url: '${url}', + method: 'post', + data: obj + }) + }\n`; + }, + 'edit': function (url, method) { + return ` + export function putObj(obj) { + return request({ + url: '${url}', + method: 'put', + data: obj + }) + } + + export function patchObj(obj) { + return request({ + url: '${url}', + method: 'patch', + data: obj + }) + } + + export function getObj(id) { + return request({ + url: '${url}/' + id, + method: 'get' + }) + } + `; + }, + 'view': function () { + return ''; + } +}; +// request的数据模板 +function requestApiTemplate(data, logic) { + const { + url, + method, + params + } = data; + return ` + import request from '@/utils/request.js' + export function queryList (data) { + return request({ + url:'${url}', + method:'${method.toLowerCase()}', + ${params ? 'params:data' : ''} + }) + } + ${logic.length !== 0 ? logic.map(item => { + return apiTempalte[item](url, method); + }).join('') : ''} + `; +} +// 生成接口的js 文件 +function genApiJS(formConfig, widgetList) { + console.log("生成js", formConfig, widgetList); + let index = widgetList.findIndex(item => item.type === 'data-table'); + if (index === -1) return; + const { + options: { + yapiInterfaceInfo + } + } = widgetList[index]; + if (yapiInterfaceInfo.url) { + let index = widgetList.findIndex(item => item.type === 'vf-dialog'); + let logic = []; + if (index !== -1) { + const { + options + } = widgetList[index]; + logic = options.logic; + } + return requestApiTemplate(yapiInterfaceInfo, logic); + } +} + +// 生成表单里的form 文件 +function genDialogFormTemplate(formConfig, widgetList, beautifier) { + let index = widgetList.findIndex(item => item.type === 'vf-dialog'); + let vue3Flag = false; + if (index === -1) return ''; + const data = widgetList[index]; + if (data.options.logic.length === 0) return ''; + if (data.widgetList.length === 0) return ''; + const html = beautifier.html(genTemplate(formConfig, data.widgetList, vue3Flag), beautifierOpts.html); + const js = beautifier.js(vue3Flag ? genVue3JS(formConfig, data.widgetList) : Object(vue2js_generator["f" /* genVue2JS */])(formConfig, data.widgetList, true), beautifierOpts.js); + const globalCss = beautifier.css(genGlobalCSS(formConfig), beautifierOpts.css); + const scopedCss = beautifier.css(genScopedCSS(formConfig, vue3Flag), beautifierOpts.css); + let vueTemplate = ` + + + + + + + `; + return vueTemplate; +} +const genGlobalCSS = function (formConfig) { + const globalCssTemplate = ` .el-input-number.full-width-input, .el-cascader.full-width-input { + width: 100% !important; + } + + .el-form-item--medium { + .el-radio { + line-height: 36px !important; + } + + .el-rate{ + margin-top: 8px; + } + } + + .el-form-item--small { + .el-radio { + line-height: 32px !important; + } + + .el-rate{ + margin-top: 6px; + } + } + + .el-form-item--mini { + .el-radio { + line-height: 28px !important; + } + + .el-rate{ + margin-top: 4px; + } + } + + .clear-fix:before, .clear-fix:after { + display: table; + content: ""; + } + + .clear-fix:after { + clear: both; + } + + .float-right { + float: right; + } + +${formConfig.cssCode}`; + return globalCssTemplate; +}; +const genScopedCSS = function (formConfig, vue3Flag = false) { + //const vDeep = !!vue3Flag ? `::v-deep` : `:deep` + const cssTemplate = ` div.table-container { + table.table-layout { + width: 100%; + table-layout: fixed; + border-collapse: collapse; + + td.table-cell { + display: table-cell; + height: 36px; + border: 1px solid #e1e2e3; + } + } + } + + div.tab-container { + } + + .label-left-align ${vue3Flag ? `:deep(.el-form-item__label)` : `::v-deep .el-form-item__label`} { + text-align: left; + } + + .label-center-align ${vue3Flag ? `:deep(.el-form-item__label)` : `::v-deep .el-form-item__label`} { + text-align: center; + } + + .label-right-align ${vue3Flag ? `:deep(.el-form-item__label)` : `::v-deep .el-form-item__label`} { + text-align: right; + } + + .custom-label { + } + + .static-content-item { + min-height: 20px; + display: flex; + align-items: center; + + ${vue3Flag ? `:deep(.el-divider--horizontal)` : `::v-deep .el-divider--horizontal`} { + margin: 0; + } + }`; + return cssTemplate; +}; + +/** + * 注册容器组件的代码生成器 + * @param containerType 容器类型,必须唯一 + * @param ctGenerator 代码生成器函数,接收两个参数(containerWidget, formConfig),返回生成的容器组件代码 + */ +const registerCWGenerator = function (containerType, ctGenerator) { + containerTemplates[containerType] = ctGenerator; +}; +/** + * 注册eu容器组件的代码生成器 + * @param containerType 容器类型,必须唯一 + * @param ctGenerator 代码生成器函数,接收两个参数(containerWidget, formConfig),返回生成的容器组件代码 + */ +const registerCWEUGenerator = function (containerType, ctGenerator) { + euContainerTemplates[containerType] = ctGenerator; +}; + +/** + * 注册字段组件的代码生成器 + * @param fieldType 字段类型,必须唯一 + * @param ftGenerator 代码生成器函数,接收两个参数(fieldWidget, formConfig),返回生成的字段组件代码 + */ +const registerFWGenerator = function (fieldType, ftGenerator, euTag = true) { + if (euTag) { + euTemplates[fieldType] = ftGenerator; + return; + } + elTemplates[fieldType] = ftGenerator; +}; +const genSFC = function (formConfig, widgetList, beautifier, vue3Flag = false) { + console.log('生成标签', formConfig, widgetList, beautifierOpts.html); + const html = beautifier.html(genTemplate(formConfig, widgetList, vue3Flag), beautifierOpts.html); + const js = beautifier.js(vue3Flag ? genVue3JS(formConfig, widgetList) : Object(vue2js_generator["f" /* genVue2JS */])(formConfig, widgetList), beautifierOpts.js); + const globalCss = beautifier.css(genGlobalCSS(formConfig), beautifierOpts.css); + const scopedCss = beautifier.css(genScopedCSS(formConfig, vue3Flag), beautifierOpts.css); + const vueTemplate = ` + + + + + + + + `; + //美化Vue模板vueTemplate + return beautifier.html(vueTemplate, beautifierOpts.html); +}; +// CONCATENATED MODULE: ./src/extension/samples/extension-sfc-generator.js + +const cardTemplateGenerator = function (cw, formConfig) { + const wop = cw.options; + //const headerAttr = `header="${wop.label}"` + const classAttr = buildClassAttr(cw); + const styleAttr = wop.cardWidth ? `style="{width: ${wop.cardWidth} !important}"` : ''; + const shadowAttr = `shadow="${wop.shadow}"`; + const vShowAttr = wop.hidden ? `v-show="false"` : ''; + const cardTemplate = `
+ +
+ ${wop.label} + ${wop.showFold ? `` : ''} +
+ ${cw.widgetList.map(wItem => { + if (wItem.category === 'container') { + return buildContainerWidget(wItem, formConfig); + } else { + return buildFieldWidget(wItem, formConfig); + } + }).join('')} +
+
`; + return cardTemplate; +}; +const alertTemplateGenerator = function (fw, formConfig) { + const wop = fw.options; + const titleAttr = `title="${wop.title}"`; + const typeAttr = `type=${wop.type}`; + const descriptionAttr = wop.description ? `description="${wop.description}"` : ''; + const closableAttr = `:closable="${wop.closable}"`; + const closeTextAttr = wop.closeText ? `close-text="${wop.closeText}"` : ''; + const centerAttr = `:center="${wop.center}"`; + const showIconAttr = `:show-icon="${wop.showIcon}"`; + const effectAttr = `effect="${wop.effect}"`; + const alertTemplate = ` +`; + return alertTemplate; +}; +const euSelectDicTemplateGenerator = function (fw, formConfig) { + const wop = fw.options; + // const titleAttr = `title="${wop.title}"` + // const typeAttr = `type=${wop.type}` + const dicname = wop.dicname; + const euSelectDicTemplate = ` +`; + return euSelectDicTemplate; +}; +const euMoneyInputTemplateGenerator = function (fw, formConfig) { + // const titleAttr = `title="${wop.title}"` + // const typeAttr = `type=${wop.type}` + + const euMoneyInputTemplate = ` +`; + return euMoneyInputTemplate; +}; +const TreeFormTemplateGenerator = function (fw, formConfig) { + const wop = fw.options; + const euMoneyInputTemplate = ` + + + + + + {{ node.label }} + + {{ node.label }} + + + + + + + + + + `; + return euMoneyInputTemplate; +}; +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/alert/alert-widget.vue?vue&type=template&id=b1f52dec&scoped=true +var alert_widgetvue_type_template_id_b1f52dec_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('static-content-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-alert',{ref:"fieldEditor",attrs:{"title":_vm.field.options.title,"type":_vm.field.options.type,"description":_vm.field.options.description,"closable":_vm.field.options.closable,"center":_vm.field.options.center,"close-text":_vm.field.options.closeText,"show-icon":_vm.field.options.showIcon,"effect":_vm.field.options.effect},on:{"close":_vm.handleCloseCustomEvent}})],1)} +var alert_widgetvue_type_template_id_b1f52dec_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/alert/alert-widget.vue?vue&type=template&id=b1f52dec&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue + 4 modules +var static_content_wrapper = __webpack_require__("828b"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/alert/alert-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var alert_widgetvue_type_script_lang_js = ({ + name: "alert-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + StaticContentWrapper: static_content_wrapper["default"] + }, + created() { + this.registerToRefList(); + this.initEventHandler(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + handleCloseCustomEvent() { + if (!!this.field.options.onClose) { + let changeFn = new Function(this.field.options.onClose); + changeFn.call(this); + } + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/alert/alert-widget.vue?vue&type=script&lang=js + /* harmony default export */ var alert_alert_widgetvue_type_script_lang_js = (alert_widgetvue_type_script_lang_js); +// CONCATENATED MODULE: ./src/extension/samples/alert/alert-widget.vue + + + + + +/* normalize component */ + +var alert_widget_component = Object(componentNormalizer["a" /* default */])( + alert_alert_widgetvue_type_script_lang_js, + alert_widgetvue_type_template_id_b1f52dec_scoped_true_render, + alert_widgetvue_type_template_id_b1f52dec_scoped_true_staticRenderFns, + false, + null, + "b1f52dec", + null + +) + +/* harmony default export */ var alert_widget = (alert_widget_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=template&id=65f8a5ca&scoped=true +var select_dic_widgetvue_type_template_id_65f8a5ca_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('eu-select-dic',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],ref:"fieldEditor",staticClass:"full-width-input",attrs:{"filter":_vm.field.options.useFilter,"efilter":_vm.field.options.useEfilter,"size":_vm.field.options.size,"disabled":_vm.field.options.disabled,"code":_vm.field.options.dicname,"placeholder":_vm.field.options.placeholder || _vm.i18nt('render.hint.selectPlaceholder')},on:{"focus":_vm.handleFocusCustomEvent,"input":_vm.handleChangeEvent},nativeOn:{"!blur":function($event){return _vm.handleBlurCustomEvent.apply(null, arguments)}},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}}),(_vm.isReadMode)?[_c('span',{staticClass:"readonly-mode-field"},[_vm._v(_vm._s(_vm.optionLabel))])]:_vm._e()],2)} +var select_dic_widgetvue_type_template_id_65f8a5ca_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=template&id=65f8a5ca&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/selectidc/index.vue?vue&type=template&id=28d29fb1 +var selectidcvue_type_template_id_28d29fb1_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"select-container"},[_c('el-select',{staticClass:"full-width-input",attrs:{"value":_vm.value,"filterable":_vm.filterable,"disabled":_vm.disabled,"placeholder":_vm.placeholder,"size":_vm.size,"clearable":""},on:{"change":_vm.change,"visible-change":_vm.visilbleChange}},_vm._l((_vm.slefOption),function(item){return _c('el-option',{key:item.value,attrs:{"label":item.text,"value":item.value}})}),1)],1)} +var selectidcvue_type_template_id_28d29fb1_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/selectidc/index.vue?vue&type=template&id=28d29fb1 + +// EXTERNAL MODULE: ./src/utils/setAllDic.js +var setAllDic = __webpack_require__("236e"); + +// EXTERNAL MODULE: ./node_modules/axios/index.js +var axios = __webpack_require__("bc3a"); +var axios_default = /*#__PURE__*/__webpack_require__.n(axios); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/selectidc/index.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// + +// import request from '@/utils/request' + + +/* harmony default export */ var selectidcvue_type_script_lang_js = ({ + props: { + // 公共 + size: { + type: String, + default: '' + }, + placeholder: { + type: String, + default: '' + }, + value: { + type: String, + default: '' + }, + disabled: { + type: Boolean, + default: false + }, + filterable: { + type: Boolean, + default: false + }, + // 当为select的时候需要传入 start + options: { + type: Array, + default() { + return []; + } + }, + code: { + type: String, + default: '' + }, + filter: { + type: Array, + default: Array + }, + efilter: { + type: Array, + default: Array + }, + dynamic: { + type: Object, + default: () => { + return {}; + } + }, + reqEvery: { + type: Boolean, + default: false + } + // 当为select的时候需要传入 end + }, + data() { + return { + // 当为select的时候需要用到变量 start + slefOption: [] + // 当为select的时候需要用到变量 end + }; + }, + watch: { + // 当为select的时候动态传入 需要监听的值 start + options(newval) { + this.slefOption = newval; + this.dicFilter(); + }, + dynamic(newval) { + this.slefOption.push(newval); + }, + code(newval, oldval) { + this.initCodeOption(); + }, + filter(newval, oldval) { + if (newval && newval != '') { + console.log(newval, oldval, '==dic'); + this.useFilter = newval.split(','); + setTimeout(() => { + this.$refs.fieldEditor.reloadCodeOption(); + this.$refs.fieldEditor.dicFilter(); + }, 0); + } else { + this.$refs.fieldEditor.reloadCodeOption(); + } + }, + efilter(newval, oldval) { + if (newval && newval != '') { + console.log(newval, oldval, '==dic'); + this.useEfilter = newval.split(','); + setTimeout(() => { + this.$refs.fieldEditor.reloadCodeOption(); + this.$refs.fieldEditor.dicFilter(); + }, 0); + } else { + this.$refs.fieldEditor.reloadCodeOption(); + } + } + // 当为select的时候动态传入 需要监听的值 end + }, + created() { + // 当只传入options 的动作 + this.initOption(); + // 当传入code 的时候动作 + this.initCodeOption(); + }, + methods: { + visilbleChange() { + if (this.reqEvery === true) { + this.reloadCodeOption(); + this.dicFilter(); + } + }, + change(value) { + this.$emit('input', value); + }, + // 当为select的时候需要用到方法 start + // 当只传入options 的动作 + initOption() { + if (this.options && this.options.length !== 0) { + this.slefOption = this.options; + this.dicFilter(); + } + }, + // 当传入code 的时候动作 + async initCodeOption() { + if (this.code && this.code !== '') { + if (Object(setAllDic["a" /* getAllDic */])() && Object(setAllDic["a" /* getAllDic */])()[this.code]) { + this.slefOption = Object(setAllDic["a" /* getAllDic */])()[this.code]; + this.dicFilter(); + } else { + const { + data + } = await axios_default()({ + url: window.GLOBAL_OBJ.DIC_URL + this.code, + method: 'get' + }); + this.slefOption = data; + this.dicFilter(); + } + } + }, + // 重新加载字典项 + reloadCodeOption() { + if (this.code && this.code !== '') { + if (Object(setAllDic["a" /* getAllDic */])() && Object(setAllDic["a" /* getAllDic */])()[this.code]) { + this.slefOption = Object(setAllDic["a" /* getAllDic */])()[this.code]; + } + } + }, + // 过滤的动作 + dicFilter() { + if (this.filter && this.filter.length !== 0) { + this.slefOption = this.slefOption.filter(item => { + if (this.filter.includes(item.value)) { + return true; + } + }); + } else if (this.efilter && this.efilter.length !== 0) { + this.slefOption = this.slefOption.filter(item => { + if (this.efilter.includes(item.value)) { + return false; + } else { + return true; + } + }); + } + } + // 当为select的时候需要用到方法 end + } +}); +// CONCATENATED MODULE: ./src/extension/samples/selectidc/index.vue?vue&type=script&lang=js + /* harmony default export */ var samples_selectidcvue_type_script_lang_js = (selectidcvue_type_script_lang_js); +// CONCATENATED MODULE: ./src/extension/samples/selectidc/index.vue + + + + + +/* normalize component */ + +var selectidc_component = Object(componentNormalizer["a" /* default */])( + samples_selectidcvue_type_script_lang_js, + selectidcvue_type_template_id_28d29fb1_render, + selectidcvue_type_template_id_28d29fb1_staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var selectidc = (selectidc_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var select_dic_widgetvue_type_script_lang_js = ({ + name: "eu-select-dic-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + data() { + return { + fieldModel: null, + rules: [], + oldFieldValue: null, + useFilter: [], + useEfilter: [] + }; + }, + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + watch: { + // 'field.options'(newval,oldval) { + // console.log(newval,oldval); + // }, + // 'field.options.disabled'(newval,oldval){ + // console.log(newval,oldval,'==dis'); + // }, + 'field.options.dicname'(newval, oldval) { + console.log(newval, oldval, '==dic'); + }, + 'field.options.useFilter'(newval, oldval) { + console.log(newval, oldval, 'useFilter is change!'); + if (newval && newval != '') { + console.log(newval, oldval, '==dic'); + this.useFilter = newval.split(','); + setTimeout(() => { + this.$refs.fieldEditor.reloadCodeOption(); + this.$refs.fieldEditor.dicFilter(); + }, 0); + } else { + this.$refs.fieldEditor.reloadCodeOption(); + } + }, + 'field.options.useEfilter'(newval, oldval) { + if (newval && newval != '') { + console.log(newval, oldval, '==dic'); + this.useEfilter = newval.split(','); + setTimeout(() => { + this.$refs.fieldEditor.reloadCodeOption(); + this.$refs.fieldEditor.dicFilter(); + }, 0); + } else { + this.$refs.fieldEditor.reloadCodeOption(); + } + } + }, + components: { + euSelectDic: selectidc, + FormItemWrapper: form_item_wrapper["default"] + }, + created() { + this.registerToRefList(); + this.initEventHandler(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + handleCloseCustomEvent() { + if (this.field.options.onClose) { + let changeFn = new Function(this.field.options.onClose); + changeFn.call(this); + } + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=script&lang=js + /* harmony default export */ var selectidc_select_dic_widgetvue_type_script_lang_js = (select_dic_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=style&index=0&id=65f8a5ca&prod&lang=scss&scoped=true +var select_dic_widgetvue_type_style_index_0_id_65f8a5ca_prod_lang_scss_scoped_true = __webpack_require__("40d52"); + +// CONCATENATED MODULE: ./src/extension/samples/selectidc/select-dic-widget.vue + + + + + + +/* normalize component */ + +var select_dic_widget_component = Object(componentNormalizer["a" /* default */])( + selectidc_select_dic_widgetvue_type_script_lang_js, + select_dic_widgetvue_type_template_id_65f8a5ca_scoped_true_render, + select_dic_widgetvue_type_template_id_65f8a5ca_scoped_true_staticRenderFns, + false, + null, + "65f8a5ca", + null + +) + +/* harmony default export */ var select_dic_widget = (select_dic_widget_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/moneyinput/money-input-widget.vue?vue&type=template&id=306803dd&scoped=true +var money_input_widgetvue_type_template_id_306803dd_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('eu-money-input',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],ref:"fieldEditor",staticClass:"full-width-input",attrs:{"size":_vm.field.options.size,"disabled":_vm.field.options.disabled,"suffix":_vm.field.options.suffix,"value":_vm.field.options.money},on:{"update:value":function($event){return _vm.$set(_vm.field.options, "money", $event)}},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}})],1)} +var money_input_widgetvue_type_template_id_306803dd_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/money-input-widget.vue?vue&type=template&id=306803dd&scoped=true + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/moneyinput/index.vue?vue&type=template&id=f47c3a9c&scoped=true +var moneyinputvue_type_template_id_f47c3a9c_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tooltip',{staticClass:"item",attrs:{"content":_vm.moneyVal,"effect":"dark","placement":"top"}},[_c('el-input',{attrs:{"disabled":_vm.disabled,"size":_vm.size,"clearable":""},on:{"input":_vm.inMoney,"blur":_vm.moneyThousand},model:{value:(_vm.money),callback:function ($$v) {_vm.money=$$v},expression:"money"}},[_c('template',{slot:"append"},[_vm._v(_vm._s(_vm.suffix))])],2)],1)} +var moneyinputvue_type_template_id_f47c3a9c_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/index.vue?vue&type=template&id=f47c3a9c&scoped=true + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/moneyinput/index.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// + +/* harmony default export */ var moneyinputvue_type_script_lang_js = ({ + props: { + // eslint-disable-next-line vue/require-prop-type-constructor + value: '', + disabled: { + type: Boolean, + isRequired: true, + default() { + return false; + } + }, + blurCall: { + type: Function, + isRequired: false, + default() { + return false; + } + }, + inputVal: { + type: Function, + isRequired: false, + default() { + return false; + } + }, + maxLength: { + type: Number, + isRequired: true, + default() { + return 15; + } + }, + suffix: { + type: String, + isRequired: true, + default() { + return '(元)'; + } + }, + size: { + type: String, + isRequired: true, + default() { + return 'mini'; + } + } + }, + data() { + return { + moneyVal: '', + money: this.value, + propVal: true + }; + }, + watch: { + 'value': { + handler(val) { + if (this.disabled && val) { + this.moneyThousand(val); + } + if (val && this.propVal) { + this.propVal = false; + this.moneyThousand(val); + this.moneyVal = this.moneyCapitalization(val); + } + if (val === 0) { + this.moneyVal = this.moneyThousand(val); + } + }, + immediate: true + } + }, + methods: { + moneyCapitalization(val) { + let n = Number(val); + if (!/^\d{1,12}(\.\d{1,2})?$/.test(n)) { + return ''; + } + let unit = '仟佰拾亿仟佰拾万仟佰拾圆角分'; + let str = ''; + n += '00'; + const p = n.indexOf('.'); + if (p >= 0) { + n = n.substring(0, p) + n.substr(p + 1, 2); + } + unit = unit.substr(unit.length - n.length); + for (let i = 0; i < n.length; i++) { + str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i); + } + return str.replace(/零(仟|佰|拾|角)/g, '零').replace(/(零)+/g, '零').replace(/零(万|亿|圆)/g, '$1').replace(/(亿)万|壹(拾)/g, '$1$2').replace(/^圆零?|零分/g, '').replace(/圆$/g, '圆整'); + }, + inMoney(val) { + const moneyLength = this.maxLength; + this.propVal = false; + // 金额正则匹配 + // eslint-disable-next-line no-useless-escape + this.money = val.replace(/[^\d.]/g, '').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^0{2}|^0[1-9]/g, ''); + if (this.money.indexOf('.') >= 0) { + this.money = this.money.slice(0, moneyLength + 3); + } else { + if (moneyLength > this.maxLength) { + this.money = this.money.slice(0, this.maxLength - 1); + } else { + this.money = this.money.slice(0, this.maxLength); + } + } + // 大写提示 + if (val !== '') { + this.moneyVal = this.moneyCapitalization(val); + this.$emit('update:value', Number(this.money)); + this.inputVal() && typeof this.inputVal === 'function'; + } else { + this.moneyVal = ''; + this.money = ''; + this.$emit('update:value', val); + } + }, + // 离开时千分位格式 + moneyThousand(val) { + const n = 2; + let s = val.target === undefined ? val : val.target.value; + if (s < 0 || s === '') { + this.money = ''; + return; + } + // eslint-disable-next-line no-useless-escape + s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + ''; + const l = s.split('.')[0].split('').reverse(); + const r = s.split('.')[1]; + let t = ''; + for (let i = 0; i < l.length; i++) { + t += l[i] + ((i + 1) % 3 === 0 && i + 1 !== l.length ? ',' : ''); + } + this.money = t.split('').reverse().join('') + '.' + r; + this.propVal = true; + this.blurCall() && typeof this.blurCall === 'function'; + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/index.vue?vue&type=script&lang=js + /* harmony default export */ var samples_moneyinputvue_type_script_lang_js = (moneyinputvue_type_script_lang_js); +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/index.vue + + + + + +/* normalize component */ + +var moneyinput_component = Object(componentNormalizer["a" /* default */])( + samples_moneyinputvue_type_script_lang_js, + moneyinputvue_type_template_id_f47c3a9c_scoped_true_render, + moneyinputvue_type_template_id_f47c3a9c_scoped_true_staticRenderFns, + false, + null, + "f47c3a9c", + null + +) + +/* harmony default export */ var moneyinput = (moneyinput_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/moneyinput/money-input-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var money_input_widgetvue_type_script_lang_js = ({ + name: "eu-money-input-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + data() { + return { + fieldModel: null, + rules: [], + oldFieldValue: null + }; + }, + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + watch: { + // 'field.options'(newval,oldval) { + // console.log(newval,oldval); + // }, + // 'field.options.disabled'(newval,oldval){ + // console.log(newval,oldval,'==dis'); + // }, + 'field.options.dicname'(newval, oldval) { + console.log(newval, oldval, '==dic'); + } + }, + components: { + euMoneyInput: moneyinput, + FormItemWrapper: form_item_wrapper["default"] + }, + created() { + this.registerToRefList(); + this.initEventHandler(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + handleCloseCustomEvent() { + if (this.field.options.onClose) { + let changeFn = new Function(this.field.options.onClose); + changeFn.call(this); + } + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/money-input-widget.vue?vue&type=script&lang=js + /* harmony default export */ var moneyinput_money_input_widgetvue_type_script_lang_js = (money_input_widgetvue_type_script_lang_js); +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/money-input-widget.vue + + + + + +/* normalize component */ + +var money_input_widget_component = Object(componentNormalizer["a" /* default */])( + moneyinput_money_input_widgetvue_type_script_lang_js, + money_input_widgetvue_type_template_id_306803dd_scoped_true_render, + money_input_widgetvue_type_template_id_306803dd_scoped_true_staticRenderFns, + false, + null, + "306803dd", + null + +) + +/* harmony default export */ var money_input_widget = (money_input_widget_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=template&id=838f7fb2&scoped=true +var tree_form_widgetvue_type_template_id_838f7fb2_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('container-wrapper',{attrs:{"designer":_vm.designer,"widget":_vm.widget,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList}},[_c('div',{key:_vm.widget.id,staticClass:"collapse-container",class:{'selected': _vm.selected},on:{"click":function($event){$event.stopPropagation();return _vm.selectWidget(_vm.widget)}}},[_c('tree-form',{ref:"treeForm",attrs:{"defaultProps":_vm.widget.options.defaultProps,"treeData":_vm.widget.options.treeData,"defaultNode":_vm.widget.options.defaultNode,"defaultPath":_vm.widget.options.defaultPath}})],1)])} +var tree_form_widgetvue_type_template_id_838f7fb2_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=template&id=838f7fb2&scoped=true + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"1c65ab79-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/treeForm/index.vue?vue&type=template&id=e2fe9546&scoped=true +var treeFormvue_type_template_id_e2fe9546_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',[_c('el-aside',{staticStyle:{"margin-right":"20px"},attrs:{"width":"260px"}},[_c('el-tree',{ref:"treeItem",attrs:{"data":_vm.treeData,"default-expanded-keys":_vm.defaultNode,"props":_vm.defaultProps,"icon-class":"complete","node-key":"id"},on:{"node-click":_vm.handleNodeClick},scopedSlots:_vm._u([{key:"default",fn:function(ref){ +var node = ref.node; +var data = ref.data; +return _c('span',{staticClass:"custom-tree-node"},[(data.children)?_c('i',{class:!node.expanded?'el-icon-folder':'el-icon-folder-opened'}):_vm._e(),(node.label.length > 10)?_c('el-tooltip',{staticClass:"item",attrs:{"content":node.label,"effect":"dark","placement":"top-start"}},[_c('span',[_vm._v(_vm._s(node.label))])]):_c('span',[_vm._v(_vm._s(node.label))])],1)}}])})],1),_c('el-container',[_c('el-main',[_c('keep-alive',[_c('div',[_vm._v(_vm._s(_vm.pathUrl))])])],1)],1)],1)} +var treeFormvue_type_template_id_e2fe9546_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/treeForm/index.vue?vue&type=template&id=e2fe9546&scoped=true + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/treeForm/index.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var treeFormvue_type_script_lang_js = ({ + name: 'treeForm', + props: { + treeData: { + type: Array, + isRequired: true, + default: function () { + return []; + } + }, + defaultNode: { + type: Array, + isRequired: true, + default: function () { + return []; + } + }, + dirPath: { + type: String, + isRequired: true, + default: function () { + return ''; + } + }, + nodePath: { + type: String, + isRequired: true, + default: function () { + return ''; + } + }, + defaultProps: { + type: Object, + isRequired: true, + default: function () { + return { + children: 'children', + label: 'label', + value: 'value' + }; + } + } + }, + data() { + return { + pathUrl: this.dirPath, + nodeId: '', + tapNode: null + }; + }, + methods: { + handleNodeClick(data) { + //如果 节点或目录上配置了path则使用节点上的,没有则使用默认的 + console.log("节点被点击", data, this.pathUrl, this.defaultPath); + if (data.data) { + this.tapNode = data.data; + } + this.nodeId = data.id; + if (data.children) { + this.pathUrl = this.dirPath; + } else { + this.pathUrl = this.nodePath; + } + this.pathUrl = data.url ? data.url : this.pathUrl; + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/treeForm/index.vue?vue&type=script&lang=js + /* harmony default export */ var samples_treeFormvue_type_script_lang_js = (treeFormvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/extension/samples/treeForm/index.vue?vue&type=style&index=0&id=e2fe9546&prod&scoped=true&lang=scss +var treeFormvue_type_style_index_0_id_e2fe9546_prod_scoped_true_lang_scss = __webpack_require__("da4a"); + +// CONCATENATED MODULE: ./src/extension/samples/treeForm/index.vue + + + + + + +/* normalize component */ + +var treeForm_component = Object(componentNormalizer["a" /* default */])( + samples_treeFormvue_type_script_lang_js, + treeFormvue_type_template_id_e2fe9546_scoped_true_render, + treeFormvue_type_template_id_e2fe9546_scoped_true_staticRenderFns, + false, + null, + "e2fe9546", + null + +) + +/* harmony default export */ var treeForm = (treeForm_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var tree_form_widgetvue_type_script_lang_js = ({ + name: "tree-form-widget", + componentName: 'DataTableWidget', + mixins: [i18n["b" /* default */], containerMixin, refMixinDesign], + inject: ['refList'], + components: { + ContainerWrapper: container_wrapper, + TreeForm: treeForm + }, + data() { + return {}; + }, + props: { + widget: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + created() { + console.log('widget', this.widget); + }, + beforeDestroy() {}, + computed: { + selected() { + return this.widget.id === this.designer.selectedId; + } + }, + methods: { + selectWidget(widget) { + this.designer.setSelected(widget); + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=script&lang=js + /* harmony default export */ var treeForm_tree_form_widgetvue_type_script_lang_js = (tree_form_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=style&index=0&id=838f7fb2&prod&lang=scss&scoped=true +var tree_form_widgetvue_type_style_index_0_id_838f7fb2_prod_lang_scss_scoped_true = __webpack_require__("fd64"); + +// CONCATENATED MODULE: ./src/extension/samples/treeForm/tree-form-widget.vue + + + + + + +/* normalize component */ + +var tree_form_widget_component = Object(componentNormalizer["a" /* default */])( + treeForm_tree_form_widgetvue_type_script_lang_js, + tree_form_widgetvue_type_template_id_838f7fb2_scoped_true_render, + tree_form_widgetvue_type_template_id_838f7fb2_scoped_true_staticRenderFns, + false, + null, + "838f7fb2", + null + +) + +/* harmony default export */ var tree_form_widget = (tree_form_widget_component.exports); +// CONCATENATED MODULE: ./src/extension/extension-loader.js + + + + + + + + + + + + + +// 下拉字典组件 + + +// 单选字典组件 + + + +// 千分位组件 + + +// 树形容器组件 + +// import TreeFormCustomClassEditor from '@/extension/samples/treeForm/tree-form-customClass-editor.vue' + + + +const loadExtension = function () { + /** + * 加载容器组件步骤: + * 1. 加载组件Json Schema; + * 2. 全局注册容器组件,容器组件有两种状态——设计期和运行期,故需要注册两个组件; + * 3. 全局注册属性编辑器组件(基本属性、高级属性、事件属性); + * 4. 注册容器组件的代码生成器; + * 5. 加载完毕。 + */ + // 去widgetsConfig 添加了 拖拽用的数据模型 + addContainerWidgetSchema(cardSchema); //加载组件Json Schema + /* -------------------------------------------------- */ + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(card_widget.name, card_widget); //注册设计期的容器组件 + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(card_item.name, card_item); //注册运行期的容器组件 + /* -------------------------------------------------- */ + // 注册了属性面板 是否显示折叠按钮 + registerCPEditor('card-folded', 'card-folded-editor', createBooleanEditor('folded', 'extension.setting.cardFolded')); + // 注册了属性面板 是否显示阴影按钮 + registerCPEditor('card-showFold', 'card-showFold-editor', createBooleanEditor('showFold', 'extension.setting.cardShowFold')); + // 卡片宽度 + registerCPEditor('card-cardWidth', 'card-cardWidth-editor', createInputTextEditor('cardWidth', 'extension.setting.cardWidth')); + let shadowOptions = [{ + label: 'never', + value: 'never' + }, { + label: 'hover', + value: 'hover' + }, { + label: 'always', + value: 'always' + }]; + registerCPEditor('card-shadow', 'card-shadow-editor', createSelectEditor('shadow', 'extension.setting.cardShadow', { + optionItems: shadowOptions + })); + + // 注册右侧属性的组件 end + /* -------------------------------------------------- */ + // 添加了 新建组件的 代码生成 + registerCWEUGenerator('card', cardTemplateGenerator); //注册容器组件的代码生成器 + /* -------------------------------------------------- */ + /* 容器组件加载完毕 end */ + + /** + * 加载字段组件步骤: + * 1. 加载组件Json Schema; + * 2. 全局注册字段组件,字段组件设计期和运行期共用,故需要仅需注册一个组件; + * 3. 全局注册属性编辑器组件(基本属性、高级属性、事件属性); + * 4. 注册字段组件的代码生成器; + * 5. 加载完毕。 + */ + addCustomWidgetSchema(alertSchema); //加载组件Json Schema + /* -------------------------------------------------- */ + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(alert_widget.name, alert_widget); //注册组件 + /* -------------------------------------------------- */ + registerCPEditor('alert-title', 'alert-title-editor', createInputTextEditor('title', 'extension.setting.alertTitle')); + let typeOptions = [{ + label: 'success', + value: 'success' + }, { + label: 'warning', + value: 'warning' + }, { + label: 'info', + value: 'info' + }, { + label: 'error', + value: 'error' + }]; + // PERegister.registerCPEditor('alert-type', 'alert-type-editor', + // PEFactory.createSelectEditor('type', 'extension.setting.alertType', + // {optionItems: typeOptions})) + /* type属性映射已存在,无须再注册,故只需注册属性编辑器即可!! */ + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('alert-type-editor', createSelectEditor('type', 'extension.setting.alertType', { + optionItems: typeOptions + })); + registerCPEditor('alert-description', 'alert-description-editor', createInputTextEditor('description', 'extension.setting.description')); + registerCPEditor('alert-closable', 'alert-closable-editor', createBooleanEditor('closable', 'extension.setting.closable')); + registerCPEditor('alert-closeText', 'alert-closeText-editor', createInputTextEditor('closeText', 'extension.setting.closeText')); + registerCPEditor('alert-center', 'alert-center-editor', createBooleanEditor('center', 'extension.setting.center')); + registerCPEditor('alert-showIcon', 'alert-showIcon-editor', createBooleanEditor('showIcon', 'extension.setting.showIcon')); + let effectOptions = [{ + label: 'light', + value: 'light' + }, { + label: 'dark', + value: 'dark' + }]; + registerCPEditor('alert-effect', 'alert-effect-editor', createRadioButtonGroupEditor('effect', 'extension.setting.effect', { + optionItems: effectOptions + })); + registerEPEditor('alert-onClose', 'alert-onClose-editor', createEventHandlerEditor('onClose', [])); + /* -------------------------------------------------- */ + registerFWGenerator('alert', alertTemplateGenerator); //注册字段组件的代码生成器 + /* -------------------------------------------------- */ + /* 字段组件加载完毕 end */ + // // handleNodeClick + // PERegister.registerEPEditor('onHandleNodeClick', 'onHandleNodeClick-editor', + // PEFactory.createEventHandlerEditor('onHandleNodeClick', [])) + // // registerFWGenerator('alert', alertTemplateGenerator) //注册字段组件的代码生成器 + + // 注册下拉字典翻译组件 + // 把数据对象添加到 左侧的拖拽面板 + addCustomWidgetSchema(selectDicSchema); + // 然后全局注册你的 在中间显示的组件 + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(select_dic_widget.name, select_dic_widget); + // 注册右侧面板的属性 + registerCPEditor('dicname', 'select-dic-name-editor', createInputTextEditor('dicname', 'extension.setting.selectdicname')); + registerCPEditor('filter', 'eu-filter-dic', createInputTextEditor('filter', 'extension.setting.filter')); + registerCPEditor('efilter', 'eu-efilter-dic', createInputTextEditor('efilter', 'extension.setting.efilter')); + registerFWGenerator('select-dic', euSelectDicTemplateGenerator); //注册字段组件的代码生成器 + + //树形结构 + // treeData:[], + // defaultProps + // defaultNode-- + // dirPath + // nodePath + + // 注册输入千分位组件 + addCustomWidgetSchema(moneyInputSchema); + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(money_input_widget.name, money_input_widget); + registerFWGenerator('eu-money-input', euMoneyInputTemplateGenerator); + + // 注册树插件组件 + addCustomWidgetSchema(treeFormSchema); + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(tree_form_widget.name, tree_form_widget); + // PERegister.registerCPEditor('customClass', 'tree-form-customClass-editor',TreeFormCustomClassEditor) + registerCWGenerator('tree-form', TreeFormTemplateGenerator); //注册容器组件的代码生成器 +}; +// CONCATENATED MODULE: ./install-render.js + + + + +loadExtension(); +form_render.install = function (Vue) { + Vue.component(form_render.name, form_render); + Vue.component(table_high_level_column["a" /* default */].name, table_high_level_column["a" /* default */]); +}; +const components = [form_render, table_high_level_column["a" /* default */]]; +const install = Vue => { + window.axios = axios_default.a; + components.forEach(component => { + Vue.component(component.name, component); + }); +}; +if (typeof window !== 'undefined' && window.Vue) { + /* script方式引入时主动调用install方法!! */ + install(window.Vue); +} +/* harmony default export */ var install_render = ({ + install, + VFormRender: form_render +}); +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js + + +/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (install_render); + + + +/***/ }), + +/***/ "fc6a": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = __webpack_require__("44ad"); +var requireObjectCoercible = __webpack_require__("1d80"); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + + +/***/ }), + +/***/ "fd64": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tree_form_widget_vue_vue_type_style_index_0_id_838f7fb2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d0c5"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tree_form_widget_vue_vue_type_style_index_0_id_838f7fb2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tree_form_widget_vue_vue_type_style_index_0_id_838f7fb2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "fdbf": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = __webpack_require__("04f8"); + +module.exports = NATIVE_SYMBOL + && !Symbol.sham + && typeof Symbol.iterator == 'symbol'; + + +/***/ }) + +/******/ })["default"]; +//# sourceMappingURL=VFormRender.common.js.map \ No newline at end of file diff --git b/VFormRender.css a/VFormRender.css new file mode 100644 index 0000000..3c4210a --- /dev/null +++ a/VFormRender.css @@ -0,0 +1 @@ +.primary-color[data-v-37049450]{color:#409eff}.background-opacity[data-v-37049450]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-37049450]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-37049450]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-37049450]{margin-top:8px}.el-form-item--small .el-radio[data-v-37049450]{line-height:32px!important}.el-form-item--small .el-rate[data-v-37049450]{margin-top:6px}.el-form-item--mini .el-radio[data-v-37049450]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-37049450]{margin-top:4px}.el-card[data-v-37049450]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-37049450]{background-color:#f1f2f3}input[type=password][data-v-37049450]::-ms-reveal{display:none}[data-v-37049450]::-webkit-scrollbar{width:8px;height:8px}[data-v-37049450]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-37049450]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-37049450]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-37049450]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.design-time-bottom-margin[data-v-37049450]{margin-bottom:5px}.field-wrapper[data-v-37049450]{position:relative}.field-wrapper .field-action[data-v-37049450]{position:absolute;bottom:0;right:-2px;height:22px;line-height:22px;background:#409eff;z-index:9}.field-wrapper .field-action i[data-v-37049450]{font-size:14px;color:#fff;margin:0 5px;cursor:pointer}.field-wrapper .drag-handler[data-v-37049450]{position:absolute;top:0;left:-1px;height:20px;line-height:20px;z-index:9}.field-wrapper .drag-handler i[data-v-37049450]{font-size:12px;font-style:normal;color:#fff;margin:4px;cursor:move}.field-wrapper .drag-handler[data-v-37049450]:hover{background:#409eff}.static-content-item[data-v-37049450]{min-height:20px;display:flex;align-items:center}.static-content-item[data-v-37049450] .el-divider--horizontal{margin:0}.el-form-item.selected[data-v-37049450],.static-content-item.selected[data-v-37049450]{outline:2px solid #409eff}.primary-color[data-v-4c2b164f]{color:#409eff}.background-opacity[data-v-4c2b164f]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-4c2b164f]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-4c2b164f]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-4c2b164f]{margin-top:8px}.el-form-item--small .el-radio[data-v-4c2b164f]{line-height:32px!important}.el-form-item--small .el-rate[data-v-4c2b164f]{margin-top:6px}.el-form-item--mini .el-radio[data-v-4c2b164f]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-4c2b164f]{margin-top:4px}.el-card[data-v-4c2b164f]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-4c2b164f]{background-color:#f1f2f3}input[type=password][data-v-4c2b164f]::-ms-reveal{display:none}[data-v-4c2b164f]::-webkit-scrollbar{width:8px;height:8px}[data-v-4c2b164f]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-4c2b164f]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-4c2b164f]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-4c2b164f]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.hide-text-span[data-v-4c2b164f] span{display:none}.primary-color[data-v-6a52c500]{color:#409eff}.background-opacity[data-v-6a52c500]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-6a52c500]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-6a52c500]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-6a52c500]{margin-top:8px}.el-form-item--small .el-radio[data-v-6a52c500]{line-height:32px!important}.el-form-item--small .el-rate[data-v-6a52c500]{margin-top:6px}.el-form-item--mini .el-radio[data-v-6a52c500]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-6a52c500]{margin-top:4px}.el-card[data-v-6a52c500]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-6a52c500]{background-color:#f1f2f3}input[type=password][data-v-6a52c500]::-ms-reveal{display:none}[data-v-6a52c500]::-webkit-scrollbar{width:8px;height:8px}[data-v-6a52c500]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-6a52c500]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-6a52c500]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-6a52c500]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.design-time-bottom-margin[data-v-6a52c500]{margin-bottom:5px}.field-wrapper[data-v-6a52c500]{position:relative}.field-wrapper .field-action[data-v-6a52c500]{position:absolute;bottom:0;right:-2px;height:22px;line-height:22px;background:#409eff;z-index:9}.field-wrapper .field-action i[data-v-6a52c500]{font-size:14px;color:#fff;margin:0 5px;cursor:pointer}.field-wrapper .drag-handler[data-v-6a52c500]{position:absolute;top:0;left:-1px;height:20px;line-height:20px;z-index:9}.field-wrapper .drag-handler i[data-v-6a52c500]{font-size:12px;font-style:normal;color:#fff;margin:4px;cursor:move}.field-wrapper .drag-handler[data-v-6a52c500]:hover{background:#409eff}.el-form-item[data-v-6a52c500]{position:relative}.el-form-item[data-v-6a52c500] .el-form-item__label{white-space:nowrap;text-overflow:ellipsis}.el-form-item span.custom-label i[data-v-6a52c500]{margin:0 3px}.el-form-item[data-v-6a52c500] .hide-spin-button input::-webkit-inner-spin-button,.el-form-item[data-v-6a52c500] .hide-spin-button input::-webkit-outer-spin-button{-webkit-appearance:none!important}.el-form-item[data-v-6a52c500] .hide-spin-button input[type=number]{-moz-appearance:textfield}.label-wrap[data-v-6a52c500] .el-form-item__label{word-break:break-all;white-space:pre-wrap!important;line-height:20px}.required[data-v-6a52c500] .el-form-item__label:before{content:"*";color:#f56c6c;margin-right:4px}.static-content-item[data-v-6a52c500]{min-height:20px;display:flex;align-items:center}.static-content-item[data-v-6a52c500] .el-divider--horizontal{margin:0}.el-form-item.selected[data-v-6a52c500],.static-content-item.selected[data-v-6a52c500]{outline:2px solid #409eff}[data-v-6a52c500] .label-left-align .el-form-item__label{text-align:left}[data-v-6a52c500] .label-center-align .el-form-item__label{text-align:center}[data-v-6a52c500] .label-right-align .el-form-item__label{text-align:right}.primary-color[data-v-4e42763a]{color:#409eff}.background-opacity[data-v-4e42763a]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-4e42763a]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-4e42763a]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-4e42763a]{margin-top:8px}.el-form-item--small .el-radio[data-v-4e42763a]{line-height:32px!important}.el-form-item--small .el-rate[data-v-4e42763a]{margin-top:6px}.el-form-item--mini .el-radio[data-v-4e42763a]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-4e42763a]{margin-top:4px}.el-card[data-v-4e42763a]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-4e42763a]{background-color:#f1f2f3}input[type=password][data-v-4e42763a]::-ms-reveal{display:none}[data-v-4e42763a]::-webkit-scrollbar{width:8px;height:8px}[data-v-4e42763a]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-4e42763a]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-4e42763a]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-4e42763a]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-4e42763a]{width:100%!important}.primary-color[data-v-3f476be2]{color:#409eff}.background-opacity[data-v-3f476be2]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-3f476be2]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-3f476be2]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-3f476be2]{margin-top:8px}.el-form-item--small .el-radio[data-v-3f476be2]{line-height:32px!important}.el-form-item--small .el-rate[data-v-3f476be2]{margin-top:6px}.el-form-item--mini .el-radio[data-v-3f476be2]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-3f476be2]{margin-top:4px}.el-card[data-v-3f476be2]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-3f476be2]{background-color:#f1f2f3}input[type=password][data-v-3f476be2]::-ms-reveal{display:none}[data-v-3f476be2]::-webkit-scrollbar{width:8px;height:8px}[data-v-3f476be2]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-3f476be2]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-3f476be2]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-3f476be2]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.primary-color[data-v-425439ae]{color:#409eff}.background-opacity[data-v-425439ae]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-425439ae]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-425439ae]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-425439ae]{margin-top:8px}.el-form-item--small .el-radio[data-v-425439ae]{line-height:32px!important}.el-form-item--small .el-rate[data-v-425439ae]{margin-top:6px}.el-form-item--mini .el-radio[data-v-425439ae]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-425439ae]{margin-top:4px}.el-card[data-v-425439ae]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-425439ae]{background-color:#f1f2f3}input[type=password][data-v-425439ae]::-ms-reveal{display:none}[data-v-425439ae]::-webkit-scrollbar{width:8px;height:8px}[data-v-425439ae]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-425439ae]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-425439ae]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-425439ae]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-425439ae]{width:100%!important}.primary-color[data-v-9ee1fcdc]{color:#409eff}.background-opacity[data-v-9ee1fcdc]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-9ee1fcdc]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-9ee1fcdc]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-9ee1fcdc]{margin-top:8px}.el-form-item--small .el-radio[data-v-9ee1fcdc]{line-height:32px!important}.el-form-item--small .el-rate[data-v-9ee1fcdc]{margin-top:6px}.el-form-item--mini .el-radio[data-v-9ee1fcdc]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-9ee1fcdc]{margin-top:4px}.el-card[data-v-9ee1fcdc]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-9ee1fcdc]{background-color:#f1f2f3}input[type=password][data-v-9ee1fcdc]::-ms-reveal{display:none}[data-v-9ee1fcdc]::-webkit-scrollbar{width:8px;height:8px}[data-v-9ee1fcdc]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-9ee1fcdc]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-9ee1fcdc]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-9ee1fcdc]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-9ee1fcdc]{width:100%!important}.primary-color[data-v-e2fc9bbc]{color:#409eff}.background-opacity[data-v-e2fc9bbc]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-e2fc9bbc]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-e2fc9bbc]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-e2fc9bbc]{margin-top:8px}.el-form-item--small .el-radio[data-v-e2fc9bbc]{line-height:32px!important}.el-form-item--small .el-rate[data-v-e2fc9bbc]{margin-top:6px}.el-form-item--mini .el-radio[data-v-e2fc9bbc]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-e2fc9bbc]{margin-top:4px}.el-card[data-v-e2fc9bbc]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-e2fc9bbc]{background-color:#f1f2f3}input[type=password][data-v-e2fc9bbc]::-ms-reveal{display:none}[data-v-e2fc9bbc]::-webkit-scrollbar{width:8px;height:8px}[data-v-e2fc9bbc]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-e2fc9bbc]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-e2fc9bbc]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-e2fc9bbc]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-e2fc9bbc]{width:100%!important}.primary-color[data-v-09b5f2fb]{color:#409eff}.background-opacity[data-v-09b5f2fb]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-09b5f2fb]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-09b5f2fb]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-09b5f2fb]{margin-top:8px}.el-form-item--small .el-radio[data-v-09b5f2fb]{line-height:32px!important}.el-form-item--small .el-rate[data-v-09b5f2fb]{margin-top:6px}.el-form-item--mini .el-radio[data-v-09b5f2fb]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-09b5f2fb]{margin-top:4px}.el-card[data-v-09b5f2fb]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-09b5f2fb]{background-color:#f1f2f3}input[type=password][data-v-09b5f2fb]::-ms-reveal{display:none}[data-v-09b5f2fb]::-webkit-scrollbar{width:8px;height:8px}[data-v-09b5f2fb]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-09b5f2fb]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-09b5f2fb]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-09b5f2fb]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.primary-color[data-v-4a7d3cd0]{color:#409eff}.background-opacity[data-v-4a7d3cd0]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-4a7d3cd0]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-4a7d3cd0]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-4a7d3cd0]{margin-top:8px}.el-form-item--small .el-radio[data-v-4a7d3cd0]{line-height:32px!important}.el-form-item--small .el-rate[data-v-4a7d3cd0]{margin-top:6px}.el-form-item--mini .el-radio[data-v-4a7d3cd0]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-4a7d3cd0]{margin-top:4px}.el-card[data-v-4a7d3cd0]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-4a7d3cd0]{background-color:#f1f2f3}input[type=password][data-v-4a7d3cd0]::-ms-reveal{display:none}[data-v-4a7d3cd0]::-webkit-scrollbar{width:8px;height:8px}[data-v-4a7d3cd0]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-4a7d3cd0]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-4a7d3cd0]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-4a7d3cd0]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-4a7d3cd0]{width:100%!important}.dynamicPseudoAfter[data-v-4a7d3cd0] .el-upload.el-upload--text{color:#409eff;font-size:12px}.dynamicPseudoAfter[data-v-4a7d3cd0] .el-upload.el-upload--text .el-icon-plus:after{content:var(--select-file-action)}.hideUploadDiv[data-v-4a7d3cd0] div.el-upload--picture-card,.hideUploadDiv[data-v-4a7d3cd0] div.el-upload--text,.hideUploadDiv[data-v-4a7d3cd0] div.el-upload__tip{display:none}.upload-file-list[data-v-4a7d3cd0]{font-size:12px}.upload-file-list .file-action[data-v-4a7d3cd0]{color:#409eff;margin-left:5px;margin-right:5px;cursor:pointer}.primary-color[data-v-5b64c2ea]{color:#409eff}.background-opacity[data-v-5b64c2ea]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-5b64c2ea]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-5b64c2ea]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-5b64c2ea]{margin-top:8px}.el-form-item--small .el-radio[data-v-5b64c2ea]{line-height:32px!important}.el-form-item--small .el-rate[data-v-5b64c2ea]{margin-top:6px}.el-form-item--mini .el-radio[data-v-5b64c2ea]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-5b64c2ea]{margin-top:4px}.el-card[data-v-5b64c2ea]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-5b64c2ea]{background-color:#f1f2f3}input[type=password][data-v-5b64c2ea]::-ms-reveal{display:none}[data-v-5b64c2ea]::-webkit-scrollbar{width:8px;height:8px}[data-v-5b64c2ea]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-5b64c2ea]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-5b64c2ea]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-5b64c2ea]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.primary-color[data-v-baf00e2a]{color:#409eff}.background-opacity[data-v-baf00e2a]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-baf00e2a]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-baf00e2a]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-baf00e2a]{margin-top:8px}.el-form-item--small .el-radio[data-v-baf00e2a]{line-height:32px!important}.el-form-item--small .el-rate[data-v-baf00e2a]{margin-top:6px}.el-form-item--mini .el-radio[data-v-baf00e2a]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-baf00e2a]{margin-top:4px}.el-card[data-v-baf00e2a]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-baf00e2a]{background-color:#f1f2f3}input[type=password][data-v-baf00e2a]::-ms-reveal{display:none}[data-v-baf00e2a]::-webkit-scrollbar{width:8px;height:8px}[data-v-baf00e2a]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-baf00e2a]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-baf00e2a]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-baf00e2a]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.primary-color[data-v-2b690268]{color:#409eff}.background-opacity[data-v-2b690268]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-2b690268]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-2b690268]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-2b690268]{margin-top:8px}.el-form-item--small .el-radio[data-v-2b690268]{line-height:32px!important}.el-form-item--small .el-rate[data-v-2b690268]{margin-top:6px}.el-form-item--mini .el-radio[data-v-2b690268]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-2b690268]{margin-top:4px}.el-card[data-v-2b690268]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-2b690268]{background-color:#f1f2f3}input[type=password][data-v-2b690268]::-ms-reveal{display:none}[data-v-2b690268]::-webkit-scrollbar{width:8px;height:8px}[data-v-2b690268]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-2b690268]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-2b690268]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-2b690268]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-2b690268]{width:100%!important}.primary-color[data-v-482130be]{color:#409eff}.background-opacity[data-v-482130be]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-482130be]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-482130be]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-482130be]{margin-top:8px}.el-form-item--small .el-radio[data-v-482130be]{line-height:32px!important}.el-form-item--small .el-rate[data-v-482130be]{margin-top:6px}.el-form-item--mini .el-radio[data-v-482130be]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-482130be]{margin-top:4px}.el-card[data-v-482130be]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-482130be]{background-color:#f1f2f3}input[type=password][data-v-482130be]::-ms-reveal{display:none}[data-v-482130be]::-webkit-scrollbar{width:8px;height:8px}[data-v-482130be]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-482130be]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-482130be]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-482130be]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-482130be]{width:100%!important}.hideUploadDiv[data-v-482130be] div.el-upload--picture-card,.hideUploadDiv[data-v-482130be] div.el-upload--text,.hideUploadDiv[data-v-482130be] div.el-upload__tip{display:none}.primary-color[data-v-6e0c5fa8]{color:#409eff}.background-opacity[data-v-6e0c5fa8]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-6e0c5fa8]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-6e0c5fa8]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-6e0c5fa8]{margin-top:8px}.el-form-item--small .el-radio[data-v-6e0c5fa8]{line-height:32px!important}.el-form-item--small .el-rate[data-v-6e0c5fa8]{margin-top:6px}.el-form-item--mini .el-radio[data-v-6e0c5fa8]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-6e0c5fa8]{margin-top:4px}.el-card[data-v-6e0c5fa8]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-6e0c5fa8]{background-color:#f1f2f3}input[type=password][data-v-6e0c5fa8]::-ms-reveal{display:none}[data-v-6e0c5fa8]::-webkit-scrollbar{width:8px;height:8px}[data-v-6e0c5fa8]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-6e0c5fa8]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-6e0c5fa8]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-6e0c5fa8]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.primary-color[data-v-472c31c2]{color:#409eff}.background-opacity[data-v-472c31c2]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-472c31c2]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-472c31c2]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-472c31c2]{margin-top:8px}.el-form-item--small .el-radio[data-v-472c31c2]{line-height:32px!important}.el-form-item--small .el-rate[data-v-472c31c2]{margin-top:6px}.el-form-item--mini .el-radio[data-v-472c31c2]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-472c31c2]{margin-top:4px}.el-card[data-v-472c31c2]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-472c31c2]{background-color:#f1f2f3}input[type=password][data-v-472c31c2]::-ms-reveal{display:none}[data-v-472c31c2]::-webkit-scrollbar{width:8px;height:8px}[data-v-472c31c2]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-472c31c2]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-472c31c2]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-472c31c2]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-472c31c2]{width:100%!important}.primary-color[data-v-7d197854]{color:#409eff}.background-opacity[data-v-7d197854]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-7d197854]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-7d197854]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-7d197854]{margin-top:8px}.el-form-item--small .el-radio[data-v-7d197854]{line-height:32px!important}.el-form-item--small .el-rate[data-v-7d197854]{margin-top:6px}.el-form-item--mini .el-radio[data-v-7d197854]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-7d197854]{margin-top:4px}.el-card[data-v-7d197854]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-7d197854]{background-color:#f1f2f3}input[type=password][data-v-7d197854]::-ms-reveal{display:none}[data-v-7d197854]::-webkit-scrollbar{width:8px;height:8px}[data-v-7d197854]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-7d197854]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-7d197854]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-7d197854]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-7d197854]{width:100%!important}.readonly-mode-rich-editor[data-v-7d197854] .ql-toolbar{display:none}.readonly-mode-rich-editor[data-v-7d197854] .ql-container{border:0}.primary-color[data-v-27300be9]{color:#409eff}.background-opacity[data-v-27300be9]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-27300be9]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-27300be9]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-27300be9]{margin-top:8px}.el-form-item--small .el-radio[data-v-27300be9]{line-height:32px!important}.el-form-item--small .el-rate[data-v-27300be9]{margin-top:6px}.el-form-item--mini .el-radio[data-v-27300be9]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-27300be9]{margin-top:4px}.el-card[data-v-27300be9]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-27300be9]{background-color:#f1f2f3}input[type=password][data-v-27300be9]::-ms-reveal{display:none}[data-v-27300be9]::-webkit-scrollbar{width:8px;height:8px}[data-v-27300be9]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-27300be9]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-27300be9]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-27300be9]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-27300be9]{width:100%!important}.primary-color[data-v-7f68c674]{color:#409eff}.background-opacity[data-v-7f68c674]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-7f68c674]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-7f68c674]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-7f68c674]{margin-top:8px}.el-form-item--small .el-radio[data-v-7f68c674]{line-height:32px!important}.el-form-item--small .el-rate[data-v-7f68c674]{margin-top:6px}.el-form-item--mini .el-radio[data-v-7f68c674]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-7f68c674]{margin-top:4px}.el-card[data-v-7f68c674]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-7f68c674]{background-color:#f1f2f3}input[type=password][data-v-7f68c674]::-ms-reveal{display:none}[data-v-7f68c674]::-webkit-scrollbar{width:8px;height:8px}[data-v-7f68c674]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-7f68c674]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-7f68c674]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-7f68c674]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-7f68c674]{width:100%!important}.primary-color[data-v-856e2df6]{color:#409eff}.background-opacity[data-v-856e2df6]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-856e2df6]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-856e2df6]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-856e2df6]{margin-top:8px}.el-form-item--small .el-radio[data-v-856e2df6]{line-height:32px!important}.el-form-item--small .el-rate[data-v-856e2df6]{margin-top:6px}.el-form-item--mini .el-radio[data-v-856e2df6]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-856e2df6]{margin-top:4px}.el-card[data-v-856e2df6]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-856e2df6]{background-color:#f1f2f3}input[type=password][data-v-856e2df6]::-ms-reveal{display:none}[data-v-856e2df6]::-webkit-scrollbar{width:8px;height:8px}[data-v-856e2df6]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-856e2df6]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-856e2df6]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-856e2df6]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.slot-wrapper-design[data-v-856e2df6]{width:100%;min-height:26px;background:linear-gradient(45deg,#ccc 25%,#eee 0,#eee 50%,#ccc 0,#ccc 75%,#eee 0);background-size:20px 20px;text-align:center}.slot-wrapper-design .slot-title[data-v-856e2df6]{font-size:13px}.primary-color[data-v-52f85f88]{color:#409eff}.background-opacity[data-v-52f85f88]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-52f85f88]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-52f85f88]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-52f85f88]{margin-top:8px}.el-form-item--small .el-radio[data-v-52f85f88]{line-height:32px!important}.el-form-item--small .el-rate[data-v-52f85f88]{margin-top:6px}.el-form-item--mini .el-radio[data-v-52f85f88]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-52f85f88]{margin-top:4px}.el-card[data-v-52f85f88]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-52f85f88]{background-color:#f1f2f3}input[type=password][data-v-52f85f88]::-ms-reveal{display:none}[data-v-52f85f88]::-webkit-scrollbar{width:8px;height:8px}[data-v-52f85f88]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-52f85f88]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-52f85f88]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-52f85f88]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.primary-color[data-v-32dc242b]{color:#409eff}.background-opacity[data-v-32dc242b]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-32dc242b]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-32dc242b]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-32dc242b]{margin-top:8px}.el-form-item--small .el-radio[data-v-32dc242b]{line-height:32px!important}.el-form-item--small .el-rate[data-v-32dc242b]{margin-top:6px}.el-form-item--mini .el-radio[data-v-32dc242b]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-32dc242b]{margin-top:4px}.el-card[data-v-32dc242b]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-32dc242b]{background-color:#f1f2f3}input[type=password][data-v-32dc242b]::-ms-reveal{display:none}[data-v-32dc242b]::-webkit-scrollbar{width:8px;height:8px}[data-v-32dc242b]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-32dc242b]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-32dc242b]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-32dc242b]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-32dc242b]{width:100%!important}.primary-color[data-v-64a5792b]{color:#409eff}.background-opacity[data-v-64a5792b]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-64a5792b]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-64a5792b]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-64a5792b]{margin-top:8px}.el-form-item--small .el-radio[data-v-64a5792b]{line-height:32px!important}.el-form-item--small .el-rate[data-v-64a5792b]{margin-top:6px}.el-form-item--mini .el-radio[data-v-64a5792b]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-64a5792b]{margin-top:4px}.el-card[data-v-64a5792b]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-64a5792b]{background-color:#f1f2f3}input[type=password][data-v-64a5792b]::-ms-reveal{display:none}[data-v-64a5792b]::-webkit-scrollbar{width:8px;height:8px}[data-v-64a5792b]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-64a5792b]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-64a5792b]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-64a5792b]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.readonly-mode-field[data-v-64a5792b]{display:inline-block;white-space:pre-wrap;line-height:1.5}.primary-color[data-v-3d1f6dcb]{color:#409eff}.background-opacity[data-v-3d1f6dcb]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-3d1f6dcb]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-3d1f6dcb]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-3d1f6dcb]{margin-top:8px}.el-form-item--small .el-radio[data-v-3d1f6dcb]{line-height:32px!important}.el-form-item--small .el-rate[data-v-3d1f6dcb]{margin-top:6px}.el-form-item--mini .el-radio[data-v-3d1f6dcb]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-3d1f6dcb]{margin-top:4px}.el-card[data-v-3d1f6dcb]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-3d1f6dcb]{background-color:#f1f2f3}input[type=password][data-v-3d1f6dcb]::-ms-reveal{display:none}[data-v-3d1f6dcb]::-webkit-scrollbar{width:8px;height:8px}[data-v-3d1f6dcb]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-3d1f6dcb]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-3d1f6dcb]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-3d1f6dcb]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-3d1f6dcb]{width:100%!important}.primary-color[data-v-33b9a164]{color:#409eff}.background-opacity[data-v-33b9a164]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-33b9a164]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-33b9a164]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-33b9a164]{margin-top:8px}.el-form-item--small .el-radio[data-v-33b9a164]{line-height:32px!important}.el-form-item--small .el-rate[data-v-33b9a164]{margin-top:6px}.el-form-item--mini .el-radio[data-v-33b9a164]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-33b9a164]{margin-top:4px}.el-card[data-v-33b9a164]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-33b9a164]{background-color:#f1f2f3}input[type=password][data-v-33b9a164]::-ms-reveal{display:none}[data-v-33b9a164]::-webkit-scrollbar{width:8px;height:8px}[data-v-33b9a164]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-33b9a164]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-33b9a164]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-33b9a164]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-33b9a164]{width:100%!important}.primary-color[data-v-16cbe2b4]{color:#409eff}.background-opacity[data-v-16cbe2b4]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-16cbe2b4]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-16cbe2b4]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-16cbe2b4]{margin-top:8px}.el-form-item--small .el-radio[data-v-16cbe2b4]{line-height:32px!important}.el-form-item--small .el-rate[data-v-16cbe2b4]{margin-top:6px}.el-form-item--mini .el-radio[data-v-16cbe2b4]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-16cbe2b4]{margin-top:4px}.el-card[data-v-16cbe2b4]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-16cbe2b4]{background-color:#f1f2f3}input[type=password][data-v-16cbe2b4]::-ms-reveal{display:none}[data-v-16cbe2b4]::-webkit-scrollbar{width:8px;height:8px}[data-v-16cbe2b4]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-16cbe2b4]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-16cbe2b4]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-16cbe2b4]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.collapse-container[data-v-16cbe2b4]{margin:2px}.collapse-container .form-widget-list[data-v-16cbe2b4]{min-height:28px}[data-v-16cbe2b4] .el-collapsed__header{padding:10px 12px}.primary-color[data-v-78a2de4b]{color:#409eff}.background-opacity[data-v-78a2de4b]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-78a2de4b]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-78a2de4b]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-78a2de4b]{margin-top:8px}.el-form-item--small .el-radio[data-v-78a2de4b]{line-height:32px!important}.el-form-item--small .el-rate[data-v-78a2de4b]{margin-top:6px}.el-form-item--mini .el-radio[data-v-78a2de4b]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-78a2de4b]{margin-top:4px}.el-card[data-v-78a2de4b]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-78a2de4b]{background-color:#f1f2f3}input[type=password][data-v-78a2de4b]::-ms-reveal{display:none}[data-v-78a2de4b]::-webkit-scrollbar{width:8px;height:8px}[data-v-78a2de4b]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-78a2de4b]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-78a2de4b]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-78a2de4b]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.blank-cell[data-v-78a2de4b]{font-style:italic;color:#ccc}.blank-cell span.invisible-content[data-v-78a2de4b]{opacity:0}.primary-color[data-v-2134e79a]{color:#409eff}.background-opacity[data-v-2134e79a]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-2134e79a]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-2134e79a]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-2134e79a]{margin-top:8px}.el-form-item--small .el-radio[data-v-2134e79a]{line-height:32px!important}.el-form-item--small .el-rate[data-v-2134e79a]{margin-top:6px}.el-form-item--mini .el-radio[data-v-2134e79a]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-2134e79a]{margin-top:4px}.el-card[data-v-2134e79a]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-2134e79a]{background-color:#f1f2f3}input[type=password][data-v-2134e79a]::-ms-reveal{display:none}[data-v-2134e79a]::-webkit-scrollbar{width:8px;height:8px}[data-v-2134e79a]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-2134e79a]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-2134e79a]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-2134e79a]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.sub-form-container[data-v-2134e79a]{margin-bottom:8px;text-align:left}.sub-form-container[data-v-2134e79a] .el-row.header-row{padding:0;display:flex}.sub-form-container[data-v-2134e79a] div.sub-form-row{padding:0;display:flex;align-items:center;border:1px solid #e1e2e3}.sub-form-container[data-v-2134e79a] div.sub-form-row .row-number-span{margin-left:16px}div.action-header-column[data-v-2134e79a]{display:inline-block;width:100%;border:1px solid #e1e2e3;background:#f1f2f3;padding:8px}div.action-header-column .action-label[data-v-2134e79a]{margin-right:12px}div.action-header-column .action-button[data-v-2134e79a]{padding-left:8px;padding-right:8px}div.field-header-column[data-v-2134e79a]{display:inline-block;border:1px solid #e1e2e3;background:#f1f2f3;padding:8px}div.field-header-column span.custom-label i[data-v-2134e79a]{margin:0 3px}div.field-header-column.is-required[data-v-2134e79a]:before{content:"*";color:#f56c6c;margin-right:4px}div.label-center-left[data-v-2134e79a]{text-align:left}div.label-center-align[data-v-2134e79a]{text-align:center}div.label-right-align[data-v-2134e79a]{text-align:right}div.sub-form-action-column[data-v-2134e79a]{display:inline-block;align-items:center;text-align:center;width:120px;padding:8px}div.sub-form-action-column[data-v-2134e79a] .el-form-item{margin-bottom:0}div.sub-form-action-column[data-v-2134e79a] .el-button{font-size:18px;padding:0;background:#dcdfe6;border:4px solid #dcdfe6}div.grid-sub-form-data-row[data-v-2134e79a]{display:inline-block;width:100%;border-left:1px solid #e1e2e3;border-right:1px solid #e1e2e3}div.sub-form-action-column.hide-label[data-v-2134e79a] .el-form-item__label{display:none}div.row-no-column[data-v-2134e79a]{display:flex;align-items:center;width:50px;border-radius:10px;background:#f1f2f3;padding:5px 0;margin:0 6px}div.sub-form-table-column[data-v-2134e79a]{display:inline-block;border:1px solid #e1e2e3;padding:8px}div.sub-form-table-column[data-v-2134e79a] .el-form-item{margin-left:4px;margin-right:4px;margin-bottom:0}div.sub-form-table-column[data-v-2134e79a] .el-form-item__content{margin-left:0!important}div.sub-form-table-column.hide-label[data-v-2134e79a] .el-form-item__label{display:none}.primary-color[data-v-c0598216]{color:#409eff}.background-opacity[data-v-c0598216]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-c0598216]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-c0598216]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-c0598216]{margin-top:8px}.el-form-item--small .el-radio[data-v-c0598216]{line-height:32px!important}.el-form-item--small .el-rate[data-v-c0598216]{margin-top:6px}.el-form-item--mini .el-radio[data-v-c0598216]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-c0598216]{margin-top:4px}.el-card[data-v-c0598216]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-c0598216]{background-color:#f1f2f3}input[type=password][data-v-c0598216]::-ms-reveal{display:none}[data-v-c0598216]::-webkit-scrollbar{width:8px;height:8px}[data-v-c0598216]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-c0598216]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-c0598216]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-c0598216]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.sub-form-container[data-v-c0598216]{margin-bottom:8px;text-align:left}.sub-form-container[data-v-c0598216] .el-row.header-row,.sub-form-container[data-v-c0598216] .el-row.sub-form-row{padding:0;display:flex}.sub-form-container[data-v-c0598216] .el-row.sub-form-row .row-number-span{margin-left:16px}div.action-header-column[data-v-c0598216]{display:flex;align-items:center;justify-content:center;width:120px;border:1px solid #e1e2e3;background:#f1f2f3;padding:8px}div.action-header-column .action-label[data-v-c0598216]{margin-right:12px}div.action-header-column .action-button[data-v-c0598216]{padding-left:8px;padding-right:8px}div.row-no-header-column[data-v-c0598216]{width:50px;text-align:center}div.field-header-column[data-v-c0598216],div.row-no-header-column[data-v-c0598216]{display:flex;align-items:center;justify-content:center;border:1px solid #e1e2e3;background:#f1f2f3}div.field-header-column[data-v-c0598216]{padding:8px}div.field-header-column span.custom-label i[data-v-c0598216]{margin:0 3px}div.field-header-column.is-required[data-v-c0598216]:before{content:"*";color:#f56c6c;margin-right:4px}div.label-center-left[data-v-c0598216]{text-align:left}div.label-center-align[data-v-c0598216]{text-align:center}div.label-right-align[data-v-c0598216]{text-align:right}div.sub-form-action-column[data-v-c0598216]{display:flex;align-items:center;justify-content:center;width:120px;border:1px solid #e1e2e3;padding:8px}div.sub-form-action-column[data-v-c0598216] .el-form-item{margin-bottom:0}div.sub-form-action-column[data-v-c0598216] .el-button{font-size:18px;padding:0;background:#dcdfe6;border:4px solid #dcdfe6}div.sub-form-action-column.hide-label[data-v-c0598216] .el-form-item__label{display:none}div.row-no-column[data-v-c0598216]{display:flex;align-items:center;width:50px;border:1px solid #e1e2e3}div.sub-form-table-column[data-v-c0598216]{display:inline-block;border:1px solid #e1e2e3;padding:8px}div.sub-form-table-column[data-v-c0598216] .el-form-item{margin-left:4px;margin-right:4px;margin-bottom:0}div.sub-form-table-column[data-v-c0598216] .el-form-item__content{margin-left:0!important}div.sub-form-table-column.hide-label[data-v-c0598216] .el-form-item__label{display:none}.primary-color[data-v-2200f481]{color:#409eff}.background-opacity[data-v-2200f481]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-2200f481]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-2200f481]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-2200f481]{margin-top:8px}.el-form-item--small .el-radio[data-v-2200f481]{line-height:32px!important}.el-form-item--small .el-rate[data-v-2200f481]{margin-top:6px}.el-form-item--mini .el-radio[data-v-2200f481]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-2200f481]{margin-top:4px}.el-card[data-v-2200f481]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-2200f481]{background-color:#f1f2f3}input[type=password][data-v-2200f481]::-ms-reveal{display:none}[data-v-2200f481]::-webkit-scrollbar{width:8px;height:8px}[data-v-2200f481]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-2200f481]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-2200f481]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-2200f481]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}td.table-cell[data-v-2200f481]{display:table-cell;height:36px;border:1px solid #e5e5e5}.primary-color[data-v-812c5cf0]{color:#409eff}.background-opacity[data-v-812c5cf0]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-812c5cf0]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-812c5cf0]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-812c5cf0]{margin-top:8px}.el-form-item--small .el-radio[data-v-812c5cf0]{line-height:32px!important}.el-form-item--small .el-rate[data-v-812c5cf0]{margin-top:6px}.el-form-item--mini .el-radio[data-v-812c5cf0]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-812c5cf0]{margin-top:4px}.el-card[data-v-812c5cf0]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-812c5cf0]{background-color:#f1f2f3}input[type=password][data-v-812c5cf0]::-ms-reveal{display:none}[data-v-812c5cf0]::-webkit-scrollbar{width:8px;height:8px}[data-v-812c5cf0]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-812c5cf0]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-812c5cf0]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-812c5cf0]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}div.table-container table.table-layout[data-v-812c5cf0]{width:100%;table-layout:fixed;border-collapse:collapse}.primary-color[data-v-f0f74652]{color:#409eff}.background-opacity[data-v-f0f74652]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-f0f74652]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-f0f74652]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-f0f74652]{margin-top:8px}.el-form-item--small .el-radio[data-v-f0f74652]{line-height:32px!important}.el-form-item--small .el-rate[data-v-f0f74652]{margin-top:6px}.el-form-item--mini .el-radio[data-v-f0f74652]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-f0f74652]{margin-top:4px}.el-card[data-v-f0f74652]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-f0f74652]{background-color:#f1f2f3}input[type=password][data-v-f0f74652]::-ms-reveal{display:none}[data-v-f0f74652]::-webkit-scrollbar{width:8px;height:8px}[data-v-f0f74652]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-f0f74652]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-f0f74652]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-f0f74652]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.readonly-mode-field[data-v-f0f74652]{display:inline-block;white-space:pre-wrap;line-height:1.5}.custom-tree-node[data-v-f0f74652]{flex:1;display:flex;align-items:center;justify-content:space-between;font-size:14px;padding-right:8px}.primary-color[data-v-4ae3d07d]{color:#409eff}.background-opacity[data-v-4ae3d07d]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-4ae3d07d]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-4ae3d07d]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-4ae3d07d]{margin-top:8px}.el-form-item--small .el-radio[data-v-4ae3d07d]{line-height:32px!important}.el-form-item--small .el-rate[data-v-4ae3d07d]{margin-top:6px}.el-form-item--mini .el-radio[data-v-4ae3d07d]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-4ae3d07d]{margin-top:4px}.el-card[data-v-4ae3d07d]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-4ae3d07d]{background-color:#f1f2f3}input[type=password][data-v-4ae3d07d]::-ms-reveal{display:none}[data-v-4ae3d07d]::-webkit-scrollbar{width:8px;height:8px}[data-v-4ae3d07d]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-4ae3d07d]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-4ae3d07d]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-4ae3d07d]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.dynamic-drawer[data-v-4ae3d07d] .el-drawer__header{margin-bottom:10px}.dynamic-drawer[data-v-4ae3d07d] .el-drawer__body{padding:15px}.primary-color[data-v-37680e6d]{color:#409eff}.background-opacity[data-v-37680e6d]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-37680e6d]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-37680e6d]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-37680e6d]{margin-top:8px}.el-form-item--small .el-radio[data-v-37680e6d]{line-height:32px!important}.el-form-item--small .el-rate[data-v-37680e6d]{margin-top:6px}.el-form-item--mini .el-radio[data-v-37680e6d]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-37680e6d]{margin-top:4px}.el-card[data-v-37680e6d]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-37680e6d]{background-color:#f1f2f3}input[type=password][data-v-37680e6d]::-ms-reveal{display:none}[data-v-37680e6d]::-webkit-scrollbar{width:8px;height:8px}[data-v-37680e6d]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-37680e6d]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-37680e6d]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-37680e6d]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.el-form[data-v-37680e6d] .el-row{padding:8px}.primary-color[data-v-b98cf8dc]{color:#409eff}.background-opacity[data-v-b98cf8dc]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-b98cf8dc]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-b98cf8dc]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-b98cf8dc]{margin-top:8px}.el-form-item--small .el-radio[data-v-b98cf8dc]{line-height:32px!important}.el-form-item--small .el-rate[data-v-b98cf8dc]{margin-top:6px}.el-form-item--mini .el-radio[data-v-b98cf8dc]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-b98cf8dc]{margin-top:4px}.el-card[data-v-b98cf8dc]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-b98cf8dc]{background-color:#f1f2f3}input[type=password][data-v-b98cf8dc]::-ms-reveal{display:none}[data-v-b98cf8dc]::-webkit-scrollbar{width:8px;height:8px}[data-v-b98cf8dc]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-b98cf8dc]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-b98cf8dc]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-b98cf8dc]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.container-wrapper[data-v-b98cf8dc]{position:relative;margin-bottom:5px}.container-wrapper .container-action[data-v-b98cf8dc]{position:absolute;bottom:0;right:-2px;height:28px;line-height:28px;background:#409eff;z-index:999}.container-wrapper .container-action i[data-v-b98cf8dc]{font-size:14px;color:#fff;margin:0 5px;cursor:pointer}.container-wrapper .drag-handler[data-v-b98cf8dc]{position:absolute;top:-2px;left:-2px;height:22px;line-height:22px;background:#409eff;z-index:9}.container-wrapper .drag-handler i[data-v-b98cf8dc]{font-size:14px;font-style:normal;color:#fff;margin:4px;cursor:move}.primary-color[data-v-228afde5]{color:#409eff}.background-opacity[data-v-228afde5]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-228afde5]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-228afde5]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-228afde5]{margin-top:8px}.el-form-item--small .el-radio[data-v-228afde5]{line-height:32px!important}.el-form-item--small .el-rate[data-v-228afde5]{margin-top:6px}.el-form-item--mini .el-radio[data-v-228afde5]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-228afde5]{margin-top:4px}.el-card[data-v-228afde5]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-228afde5]{background-color:#f1f2f3}input[type=password][data-v-228afde5]::-ms-reveal{display:none}[data-v-228afde5]::-webkit-scrollbar{width:8px;height:8px}[data-v-228afde5]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-228afde5]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-228afde5]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-228afde5]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.card-container.selected[data-v-228afde5]{outline:2px solid #409eff!important}.card-container[data-v-228afde5]{margin:3px}.card-container .form-widget-list[data-v-228afde5]{min-height:28px}[data-v-228afde5] .el-card__header{padding:10px 12px}.folded[data-v-228afde5] .el-card__body{display:none}.clear-fix[data-v-228afde5]:after,.clear-fix[data-v-228afde5]:before{display:table;content:""}.clear-fix[data-v-228afde5]:after{clear:both}.float-right[data-v-228afde5]{float:right}.primary-color[data-v-61626ca5]{color:#409eff}.background-opacity[data-v-61626ca5]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-61626ca5]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-61626ca5]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-61626ca5]{margin-top:8px}.el-form-item--small .el-radio[data-v-61626ca5]{line-height:32px!important}.el-form-item--small .el-rate[data-v-61626ca5]{margin-top:6px}.el-form-item--mini .el-radio[data-v-61626ca5]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-61626ca5]{margin-top:4px}.el-card[data-v-61626ca5]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-61626ca5]{background-color:#f1f2f3}input[type=password][data-v-61626ca5]::-ms-reveal{display:none}[data-v-61626ca5]::-webkit-scrollbar{width:8px;height:8px}[data-v-61626ca5]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-61626ca5]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-61626ca5]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-61626ca5]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}[data-v-61626ca5] .el-card__header{padding:10px 12px}.folded[data-v-61626ca5] .el-card__body{display:none}.clear-fix[data-v-61626ca5]:after,.clear-fix[data-v-61626ca5]:before{display:table;content:""}.clear-fix[data-v-61626ca5]:after{clear:both}.float-right[data-v-61626ca5]{float:right}.primary-color[data-v-65f8a5ca]{color:#409eff}.background-opacity[data-v-65f8a5ca]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-65f8a5ca]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-65f8a5ca]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-65f8a5ca]{margin-top:8px}.el-form-item--small .el-radio[data-v-65f8a5ca]{line-height:32px!important}.el-form-item--small .el-rate[data-v-65f8a5ca]{margin-top:6px}.el-form-item--mini .el-radio[data-v-65f8a5ca]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-65f8a5ca]{margin-top:4px}.el-card[data-v-65f8a5ca]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-65f8a5ca]{background-color:#f1f2f3}input[type=password][data-v-65f8a5ca]::-ms-reveal{display:none}[data-v-65f8a5ca]::-webkit-scrollbar{width:8px;height:8px}[data-v-65f8a5ca]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-65f8a5ca]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-65f8a5ca]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-65f8a5ca]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.full-width-input[data-v-65f8a5ca]{width:100%!important}.primary-color[data-v-e2fe9546]{color:#409eff}.background-opacity[data-v-e2fe9546]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-e2fe9546]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-e2fe9546]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-e2fe9546]{margin-top:8px}.el-form-item--small .el-radio[data-v-e2fe9546]{line-height:32px!important}.el-form-item--small .el-rate[data-v-e2fe9546]{margin-top:6px}.el-form-item--mini .el-radio[data-v-e2fe9546]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-e2fe9546]{margin-top:4px}.el-card[data-v-e2fe9546]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-e2fe9546]{background-color:#f1f2f3}input[type=password][data-v-e2fe9546]::-ms-reveal{display:none}[data-v-e2fe9546]::-webkit-scrollbar{width:8px;height:8px}[data-v-e2fe9546]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-e2fe9546]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-e2fe9546]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-e2fe9546]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.el-aside[data-v-e2fe9546]{background-color:#fff;color:#333;text-align:center}.el-main[data-v-e2fe9546]{border:1px solid #ccc;margin-top:10px;width:100vh\0 }.success-active[data-v-e2fe9546]{color:#409eff}.el-tree ::deep.el-tree-node__content .custom-tree-node[data-v-e2fe9546]{overflow:hidden;text-overflow:ellipsis}.primary-color[data-v-838f7fb2]{color:#409eff}.background-opacity[data-v-838f7fb2]{background:rgba(64,158,255,.6)}.form-widget-list .ghost[data-v-838f7fb2]{content:"";font-size:0;height:3px;box-sizing:border-box;background:#409eff;border:2px solid #409eff;outline-width:0;padding:0;overflow:hidden}.el-form-item--medium .el-radio[data-v-838f7fb2]{line-height:36px!important}.el-form-item--medium .el-rate[data-v-838f7fb2]{margin-top:8px}.el-form-item--small .el-radio[data-v-838f7fb2]{line-height:32px!important}.el-form-item--small .el-rate[data-v-838f7fb2]{margin-top:6px}.el-form-item--mini .el-radio[data-v-838f7fb2]{line-height:28px!important}.el-form-item--mini .el-rate[data-v-838f7fb2]{margin-top:4px}.el-card[data-v-838f7fb2]{margin-top:3px;margin-bottom:3px}.readonly-mode-form .el-form-item__content[data-v-838f7fb2]{background-color:#f1f2f3}input[type=password][data-v-838f7fb2]::-ms-reveal{display:none}[data-v-838f7fb2]::-webkit-scrollbar{width:8px;height:8px}[data-v-838f7fb2]::-webkit-scrollbar-track{width:8px;background:rgba(16,31,28,.1);border-radius:2em}[data-v-838f7fb2]::-webkit-scrollbar-thumb{background-color:rgba(16,31,28,.35);background-clip:padding-box;min-height:28px;border-radius:2em}[data-v-838f7fb2]::-webkit-scrollbar-thumb:hover{background-color:rgba(16,31,28,.85)}[data-v-838f7fb2]{scrollbar-color:#e5e5e5 #f7f7f9;scrollbar-width:thin}.collapse-container[data-v-838f7fb2]{margin:2px}.collapse-container .form-widget-list[data-v-838f7fb2]{min-height:28px}.collapse-container.selected[data-v-838f7fb2]{outline:2px solid #409eff!important}[data-v-838f7fb2] .el-collapsed__header{padding:10px 12px} \ No newline at end of file diff --git b/VFormRender.umd.js a/VFormRender.umd.js new file mode 100644 index 0000000..3bfba22 --- /dev/null +++ a/VFormRender.umd.js @@ -0,0 +1,48233 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("vue")); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["VFormRender"] = factory(require("vue")); + else + root["VFormRender"] = factory(root["Vue"]); +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "fb15"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "00ee": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var wellKnownSymbol = __webpack_require__("b622"); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + + +/***/ }), + +/***/ "0366": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("4625"); +var aCallable = __webpack_require__("59ed"); +var NATIVE_BIND = __webpack_require__("40d5"); + +var bind = uncurryThis(uncurryThis.bind); + +// optional / simple context binding +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), + +/***/ "04f8": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = __webpack_require__("1212"); +var fails = __webpack_require__("d039"); +var globalThis = __webpack_require__("cfe9"); + +var $String = globalThis.String; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol('symbol detection'); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + + +/***/ }), + +/***/ "053f": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=template&id=2134e79a&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('container-item-wrapper',{attrs:{"widget":_vm.widget}},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(!_vm.widget.options.hidden),expression:"!widget.options.hidden"}],staticClass:"sub-form-container"},[_c('el-row',{staticClass:"header-row"},[_c('div',{staticClass:"action-header-column"},[_c('span',{staticClass:"action-label"},[_vm._v(_vm._s(_vm.i18nt('render.hint.subFormAction')))]),(!_vm.isReadMode)?_c('el-button',{staticClass:"action-button",attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.insertDisabled,"round":"","type":"primary","size":"mini","title":_vm.i18nt('render.hint.subFormAddActionHint')},on:{"click":_vm.addSubFormRow}},[_vm._v(" "+_vm._s(_vm.i18nt('render.hint.subFormAddAction'))),_c('i',{staticClass:"el-icon-plus el-icon-right"})]):_vm._e()],1)]),_vm._l((_vm.rowIdData),function(subFormRowId,sfrIdx){return _c('div',{key:subFormRowId,staticClass:"sub-form-row"},[(_vm.leftActionColumn)?_c('div',{staticClass:"sub-form-action-column hide-label"},[_c('div',{staticClass:"action-button-column"},[_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.insertDisabled,"circle":"","type":"","icon":"el-icon-circle-plus-outline","title":_vm.i18nt('render.hint.insertSubFormRow')},on:{"click":function($event){return _vm.insertSubFormRow(sfrIdx)}}}),_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.deleteDisabled,"circle":"","type":"","icon":"el-icon-delete","title":_vm.i18nt('render.hint.deleteSubFormRow')},on:{"click":function($event){return _vm.deleteSubFormRow(sfrIdx)}}}),(_vm.widget.options.showRowNumber)?_c('span',{staticClass:"row-number-span"},[_vm._v("#"+_vm._s(sfrIdx+1))]):_vm._e()],1)]):_vm._e(),(!_vm.leftActionColumn && _vm.widget.options.showRowNumber)?_c('div',{staticClass:"row-no-column"},[(_vm.widget.options.showRowNumber)?_c('span',{staticClass:"row-number-span"},[_vm._v("#"+_vm._s(sfrIdx+1))]):_vm._e()]):_vm._e(),_c('div',{staticClass:"grid-sub-form-data-row"},[_vm._l((_vm.widget.widgetList),function(subWidget,swIdx){return [_c(_vm.getComponentByContainer(subWidget),{key:_vm.widgetSchemaData[sfrIdx][swIdx].id,tag:"component",attrs:{"widget":_vm.widgetSchemaData[sfrIdx][swIdx],"parent-list":_vm.widget.widgetList,"index-of-parent-list":swIdx,"parent-widget":_vm.widget,"sub-form-row-id":subFormRowId,"sub-form-row-index":sfrIdx,"sub-form-col-index":swIdx}})]})],2),(!_vm.leftActionColumn)?_c('div',{staticClass:"sub-form-action-column hide-label"},[_c('div',{staticClass:"action-button-column"},[_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.insertDisabled,"circle":"","type":"","icon":"el-icon-circle-plus-outline","title":_vm.i18nt('render.hint.insertSubFormRow')},on:{"click":function($event){return _vm.insertSubFormRow(sfrIdx)}}}),_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.deleteDisabled,"circle":"","type":"","icon":"el-icon-delete","title":_vm.i18nt('render.hint.deleteSubFormRow')},on:{"click":function($event){return _vm.deleteSubFormRow(sfrIdx)}}})],1)]):_vm._e()])})],2)])} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=template&id=2134e79a&scoped=true + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js +var es_array_push = __webpack_require__("14d9"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/utils/util.js +var util = __webpack_require__("ca00"); + +// EXTERNAL MODULE: ./src/components/form-render/refMixin.js +var refMixin = __webpack_require__("d67f"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/container-item-wrapper.vue + 4 modules +var container_item_wrapper = __webpack_require__("90c2"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/containerItemMixin.js +var containerItemMixin = __webpack_require__("34f0"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/index.js +var field_widget = __webpack_require__("c029"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + +/* harmony default export */ var grid_sub_form_itemvue_type_script_lang_js = ({ + name: "grid-sub-form-item", + componentName: 'ContainerItem', + mixins: [emitter["a" /* default */], i18n["b" /* default */], refMixin["a" /* default */], containerItemMixin["a" /* default */]], + components: { + ContainerItemWrapper: container_item_wrapper["default"], + ...field_widget["a" /* default */] + }, + props: { + widget: Object + }, + provide() { + return { + getSubFormFieldFlag: () => true, + getSubFormName: () => this.widget.options.name + }; + }, + inject: ['refList', 'sfRefList', 'globalModel', 'getReadMode'], + data() { + return { + rowIdData: [], + widgetSchemaData: [], + actionDisabled: false, + insertDisabled: false, + //是否禁止新增、插入记录 + deleteDisabled: false, + //是否禁止删除记录 + + fieldWidgetList: [] + }; + }, + computed: { + isReadMode() { + return this.getReadMode(); + }, + leftActionColumn() { + return (this.widget.options.actionColumnPosition || 'left') === 'left'; + }, + widgetDisabled() { + return !!this.widget.options.disabled; + } + }, + created() { + this.initRefList(); + this.registerSubFormToRefList(); + this.initRowIdData(true); + this.initWidgetSchemaData(); + this.initEventHandler(); + }, + mounted() { + this.extractFieldWidgetList(); + this.handleSubFormFirstRowAdd(); //默认添加首行后,主动触发相关事件!! + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + extractFieldWidgetList() { + this.fieldWidgetList.splice(0, this.fieldWidgetList.length); + let fieldListFn = fw => { + this.fieldWidgetList.push(fw); + }; + Object(util["A" /* traverseFieldWidgetsOfContainer */])(this.widget, fieldListFn); + }, + getLabelAlign(widget, subWidget) { + return subWidget.options.labelAlign || widget.options.labelAlign; + }, + registerSubFormToRefList() { + if (this.widget.type === 'grid-sub-form') { + this.sfRefList[this.widget.options.name] = this; + } + }, + initRowIdData(initFlag) { + if (this.widget.type === 'grid-sub-form') { + this.rowIdData.splice(0, this.rowIdData.length); //清除数组必须用splice,length=0不会响应式更新!! + let subFormModel = this.formModel[this.widget.options.name]; + if (!!subFormModel && subFormModel.length > 0) { + subFormModel.forEach(() => { + this.rowIdData.push('id' + Object(util["f" /* generateId */])()); + }); + if (!!initFlag) { + //注意:事件触发需延期执行,SumFormDataChange事件处理代码中可能存在尚未创建完成的组件!! + setTimeout(() => { + this.handleSubFormRowChange(subFormModel); + }, 800); + } + } + } + }, + addToRowIdData() { + this.rowIdData.push('id' + Object(util["f" /* generateId */])()); + }, + insertToRowIdData(rowIndex) { + this.rowIdData.splice(rowIndex, 0, 'id' + Object(util["f" /* generateId */])()); + }, + deleteFromRowIdData(rowIndex) { + this.rowIdData.splice(rowIndex, 1); + }, + getRowIdData() { + return this.rowIdData; + }, + getWidgetRefOfSubForm(widgetName, rowIndex) { + let realWidgetName = widgetName + '@row' + this.rowIdData[rowIndex]; + return this.getWidgetRef(realWidgetName); + }, + initWidgetSchemaData() { + //初始化widgetSchemaData!!! + if (this.widget.type !== 'grid-sub-form') { + return; + } + let rowLength = this.rowIdData.length; + this.widgetSchemaData.splice(0, this.widgetSchemaData.length); //清除数组必须用splice,length=0不会响应式更新!! + if (rowLength > 0) { + for (let i = 0; i < rowLength; i++) { + let widgetSchemas = []; + this.widget.widgetList.forEach(swItem => { + widgetSchemas.push(this.cloneSchemaOfWidget(swItem)); + }); + this.widgetSchemaData.push(widgetSchemas); + } + } + }, + addToWidgetSchemaData(rowIndex) { + let widgetSchemas = []; + this.widget.widgetList.forEach(swItem => { + widgetSchemas.push(this.cloneSchemaOfWidget(swItem)); + }); + if (rowIndex === undefined) { + this.widgetSchemaData.push(widgetSchemas); + } else { + this.widgetSchemaData.splice(rowIndex, 0, widgetSchemas); + } + }, + deleteFromWidgetSchemaData(rowIndex) { + this.widgetSchemaData.splice(rowIndex, 1); + }, + cloneSchemaOfWidget(widget) { + let newWidgetSchema = Object(util["c" /* deepClone */])(widget); + newWidgetSchema.id = widget.type + Object(util["f" /* generateId */])(); + return newWidgetSchema; + }, + initEventHandler() { + if (this.widget.type !== 'grid-sub-form') { + return; + } + this.$on('setFormData', newFormData => { + this.initRowIdData(false); + this.initWidgetSchemaData(); + let subFormData = newFormData[this.widget.options.name] || []; + setTimeout(() => { + //延时触发SubFormRowChange事件, 便于更新计算字段!! + this.handleSubFormRowChange(subFormData); + }, 800); + }); + }, + handleSubFormFirstRowAdd() { + if (this.widget.type !== 'grid-sub-form') { + return; + } + if (!!this.widget.options.showBlankRow && this.rowIdData.length === 1) { + let oldSubFormData = this.formModel[this.widget.options.name] || []; + + //确认组件创建成功后触发事件!! + this.$nextTick(() => { + this.handleSubFormRowAdd(oldSubFormData, this.rowIdData[0]); + this.handleSubFormRowChange(oldSubFormData); + if (!!this.widget.options.disabled) { + this.disableSubForm(); + } + }); + } + }, + addSubFormRow() { + let newSubFormDataRow = {}; + this.fieldWidgetList.forEach(subFormItem => { + if (!!subFormItem.formItemFlag) { + newSubFormDataRow[subFormItem.options.name] = subFormItem.options.defaultValue; + } + }); + let oldSubFormData = this.formModel[this.widget.options.name] || []; + oldSubFormData.push(newSubFormDataRow); + this.addToRowIdData(); + this.addToWidgetSchemaData(); + + //确认组件创建成功后触发事件!! + this.$nextTick(() => { + this.handleSubFormRowAdd(oldSubFormData, this.rowIdData[oldSubFormData.length - 1]); + this.handleSubFormRowChange(oldSubFormData); + }); + }, + insertSubFormRow(beforeFormRowIndex) { + let newSubFormDataRow = {}; + this.fieldWidgetList.forEach(subFormItem => { + if (!!subFormItem.formItemFlag) { + newSubFormDataRow[subFormItem.options.name] = subFormItem.options.defaultValue; + } + }); + let oldSubFormData = this.formModel[this.widget.options.name] || []; + oldSubFormData.splice(beforeFormRowIndex, 0, newSubFormDataRow); + this.insertToRowIdData(beforeFormRowIndex); + this.addToWidgetSchemaData(beforeFormRowIndex); + + //确认组件创建成功后触发事件!! + this.$nextTick(() => { + this.handleSubFormRowInsert(oldSubFormData, this.rowIdData[beforeFormRowIndex]); + this.handleSubFormRowChange(oldSubFormData); + }); + }, + deleteSubFormRow(formRowIndex) { + this.$confirm(this.i18nt('render.hint.deleteSubFormRow') + '?', this.i18nt('render.hint.prompt'), { + confirmButtonText: this.i18nt('render.hint.confirm'), + cancelButtonText: this.i18nt('render.hint.cancel') + }).then(() => { + let oldSubFormData = this.formModel[this.widget.options.name] || []; + let deletedDataRow = Object(util["c" /* deepClone */])(oldSubFormData[formRowIndex]); + oldSubFormData.splice(formRowIndex, 1); + this.deleteFromRowIdData(formRowIndex); + this.deleteFromWidgetSchemaData(formRowIndex); + + //确认组件创建成功后触发事件!! + this.$nextTick(() => { + this.handleSubFormRowDelete(oldSubFormData, deletedDataRow); + this.handleSubFormRowChange(oldSubFormData); + }); + }).catch(() => { + // + }); + }, + handleSubFormRowChange(subFormData) { + if (!!this.widget.options.onSubFormRowChange) { + let customFunc = new Function('subFormData', this.widget.options.onSubFormRowChange); + customFunc.call(this, subFormData); + } + }, + handleSubFormRowAdd(subFormData, newRowId) { + if (!!this.widget.options.onSubFormRowAdd) { + let customFunc = new Function('subFormData', 'newRowId', this.widget.options.onSubFormRowAdd); + customFunc.call(this, subFormData, newRowId); + } + }, + handleSubFormRowInsert(subFormData, newRowId) { + if (!!this.widget.options.onSubFormRowInsert) { + let customFunc = new Function('subFormData', 'newRowId', this.widget.options.onSubFormRowInsert); + customFunc.call(this, subFormData, newRowId); + } + }, + handleSubFormRowDelete(subFormData, deletedDataRow) { + if (!!this.widget.options.onSubFormRowDelete) { + let customFunc = new Function('subFormData', 'deletedDataRow', this.widget.options.onSubFormRowDelete); + customFunc.call(this, subFormData, deletedDataRow); + } + }, + setDisabled(flag) { + this.widget.options.disabled = flag; + if (!!flag) { + this.disableGridSubForm(); + } else { + this.enableGridSubForm(); + } + }, + /** + * 设置单行子表单是否禁止新增、插入记录 + * @param flag + */ + setInsertDisabled(flag) { + this.insertDisabled = flag; + }, + /** + * 设置单行子表单是否禁止删除记录 + * @param flag + */ + setDeleteDisabled(flag) { + this.deleteDisabled = flag; + }, + /** + * 单独给子表单赋值 + * 注意:该方法仅触发组件的onChange事件以及子表单的onFormRowChange事件,不会触发表单的onFormDataChange等其他事件!! + * @param subFormValues + */ + setSubFormValues(subFormValues) { + this.$set(this.globalModel.formModel, this.widget.options.name, subFormValues); + this.initRowIdData(false); + this.initWidgetSchemaData(); + setTimeout(() => { + //延时触发SubFormRowChange事件, 便于更新计算字段!! + this.handleSubFormRowChange(subFormValues); + }, 800); + }, + /** + * 单独为子表单某行的字段组件赋值 + * @param fieldName + * @param fieldValue + * @param rowIndex + */ + setSubFormFieldValue(fieldName, fieldValue, rowIndex) { + const subFormData = this.globalModel.formModel[this.widget.options.name]; + subFormData[rowIndex][fieldName] = fieldValue; + this.handleSubFormRowChange(subFormData); + } + } +}); +// CONCATENATED MODULE: ./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=script&lang=js + /* harmony default export */ var container_item_grid_sub_form_itemvue_type_script_lang_js = (grid_sub_form_itemvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=style&index=0&id=2134e79a&prod&lang=scss&scoped=true +var grid_sub_form_itemvue_type_style_index_0_id_2134e79a_prod_lang_scss_scoped_true = __webpack_require__("6bb9"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-render/container-item/grid-sub-form-item.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + container_item_grid_sub_form_itemvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "2134e79a", + null + +) + +/* harmony default export */ var grid_sub_form_item = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "06cf": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__("83ab"); +var call = __webpack_require__("c65b"); +var propertyIsEnumerableModule = __webpack_require__("d1e7"); +var createPropertyDescriptor = __webpack_require__("5c6c"); +var toIndexedObject = __webpack_require__("fc6a"); +var toPropertyKey = __webpack_require__("a04b"); +var hasOwn = __webpack_require__("1a2d"); +var IE8_DOM_DEFINE = __webpack_require__("0cfb"); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + + +/***/ }), + +/***/ "0755": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "07fa": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toLength = __webpack_require__("50c4"); + +// `LengthOfArrayLike` abstract operation +// https://tc39.es/ecma262/#sec-lengthofarraylike +module.exports = function (obj) { + return toLength(obj.length); +}; + + +/***/ }), + +/***/ "090f": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=template&id=5b64c2ea&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('static-content-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('div',{ref:"fieldEditor",domProps:{"innerHTML":_vm._s(_vm.field.options.htmlContent)}})])} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=template&id=5b64c2ea&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue + 4 modules +var static_content_wrapper = __webpack_require__("828b"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var html_text_widgetvue_type_script_lang_js = ({ + name: "html-text-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + StaticContentWrapper: static_content_wrapper["default"] + }, + computed: {}, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initEventHandler(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: {} +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_html_text_widgetvue_type_script_lang_js = (html_text_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=style&index=0&id=5b64c2ea&prod&lang=scss&scoped=true +var html_text_widgetvue_type_style_index_0_id_5b64c2ea_prod_lang_scss_scoped_true = __webpack_require__("207d"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/html-text-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_html_text_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "5b64c2ea", + null + +) + +/* harmony default export */ var html_text_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "0a06": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); +var buildURL = __webpack_require__("30b5"); +var InterceptorManager = __webpack_require__("f6b4"); +var dispatchRequest = __webpack_require__("5270"); +var mergeConfig = __webpack_require__("4a7b"); +var validator = __webpack_require__("848b"); + +var validators = validator.validators; +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + */ +function Axios(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; +} + +/** + * Dispatch a request + * + * @param {Object} config The config specific for this request (merged with this.defaults) + */ +Axios.prototype.request = function request(config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof config === 'string') { + config = arguments[1] || {}; + config.url = arguments[0]; + } else { + config = config || {}; + } + + config = mergeConfig(this.defaults, config); + + // Set config.method + if (config.method) { + config.method = config.method.toLowerCase(); + } else if (this.defaults.method) { + config.method = this.defaults.method.toLowerCase(); + } else { + config.method = 'get'; + } + + var transitional = config.transitional; + + if (transitional !== undefined) { + validator.assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'), + forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'), + clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0') + }, false); + } + + // filter out skipped interceptors + var requestInterceptorChain = []; + var synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + var responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + + var promise; + + if (!synchronousRequestInterceptors) { + var chain = [dispatchRequest, undefined]; + + Array.prototype.unshift.apply(chain, requestInterceptorChain); + chain = chain.concat(responseInterceptorChain); + + promise = Promise.resolve(config); + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + + return promise; + } + + + var newConfig = config; + while (requestInterceptorChain.length) { + var onFulfilled = requestInterceptorChain.shift(); + var onRejected = requestInterceptorChain.shift(); + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected(error); + break; + } + } + + try { + promise = dispatchRequest(newConfig); + } catch (error) { + return Promise.reject(error); + } + + while (responseInterceptorChain.length) { + promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift()); + } + + return promise; +}; + +Axios.prototype.getUri = function getUri(config) { + config = mergeConfig(this.defaults, config); + return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, ''); +}; + +// Provide aliases for supported request methods +utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request(mergeConfig(config || {}, { + method: method, + url: url, + data: (config || {}).data + })); + }; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, data, config) { + return this.request(mergeConfig(config || {}, { + method: method, + url: url, + data: data + })); + }; +}); + +module.exports = Axios; + + +/***/ }), + +/***/ "0b25": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIntegerOrInfinity = __webpack_require__("5926"); +var toLength = __webpack_require__("50c4"); + +var $RangeError = RangeError; + +// `ToIndex` abstract operation +// https://tc39.es/ecma262/#sec-toindex +module.exports = function (it) { + if (it === undefined) return 0; + var number = toIntegerOrInfinity(it); + var length = toLength(number); + if (number !== length) throw new $RangeError('Wrong length or index'); + return length; +}; + + +/***/ }), + +/***/ "0c14": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_table_item_vue_vue_type_style_index_0_id_812c5cf0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("fad0"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_table_item_vue_vue_type_style_index_0_id_812c5cf0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_table_item_vue_vue_type_style_index_0_id_812c5cf0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "0cfb": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__("83ab"); +var fails = __webpack_require__("d039"); +var createElement = __webpack_require__("cc12"); + +// Thanks to IE8 for its funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a !== 7; +}); + + +/***/ }), + +/***/ "0d26": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); + +var $Error = Error; +var replace = uncurryThis(''.replace); + +var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd'); +// eslint-disable-next-line redos/no-vulnerable -- safe +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); + +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { + while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } return stack; +}; + + +/***/ }), + +/***/ "0d51": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $String = String; + +module.exports = function (argument) { + try { + return $String(argument); + } catch (error) { + return 'Object'; + } +}; + + +/***/ }), + +/***/ "0df6": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * @returns {Function} + */ +module.exports = function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +}; + + +/***/ }), + +/***/ "10ae": +/***/ (function(module, exports, __webpack_require__) { + +var map = { + "./button-group-item.vue": "cdfd", + "./container-item-wrapper.vue": "90c2", + "./data-table-item.vue": "1d29", + "./grid-col-item.vue": "a93f", + "./grid-item.vue": "f746", + "./grid-sub-form-item.vue": "053f", + "./sub-form-item.vue": "efdc", + "./tab-item.vue": "c9d4", + "./table-cell-item.vue": "6a79", + "./table-item.vue": "8921", + "./tree-item.vue": "2890", + "./vf-dialog-item.vue": "9502", + "./vf-drawer-item.vue": "cf15" +}; + + +function webpackContext(req) { + var id = webpackContextResolve(req); + return __webpack_require__(id); +} +function webpackContextResolve(req) { + if(!__webpack_require__.o(map, req)) { + var e = new Error("Cannot find module '" + req + "'"); + e.code = 'MODULE_NOT_FOUND'; + throw e; + } + return map[req]; +} +webpackContext.keys = function webpackContextKeys() { + return Object.keys(map); +}; +webpackContext.resolve = webpackContextResolve; +module.exports = webpackContext; +webpackContext.id = "10ae"; + +/***/ }), + +/***/ "11b8": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_divider_widget_vue_vue_type_style_index_0_id_09b5f2fb_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8056"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_divider_widget_vue_vue_type_style_index_0_id_09b5f2fb_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_divider_widget_vue_vue_type_style_index_0_id_09b5f2fb_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "1212": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var globalThis = __webpack_require__("cfe9"); +var userAgent = __webpack_require__("b5db"); + +var process = globalThis.process; +var Deno = globalThis.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} + +// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` +// so check `userAgent` even if `.v8` exists, but 0 +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = +match[1]; + } +} + +module.exports = version; + + +/***/ }), + +/***/ "13d2": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); +var fails = __webpack_require__("d039"); +var isCallable = __webpack_require__("1626"); +var hasOwn = __webpack_require__("1a2d"); +var DESCRIPTORS = __webpack_require__("83ab"); +var CONFIGURABLE_FUNCTION_NAME = __webpack_require__("5e77").CONFIGURABLE; +var inspectSource = __webpack_require__("8925"); +var InternalStateModule = __webpack_require__("69f3"); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var $String = String; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var stringSlice = uncurryThis(''.slice); +var replace = uncurryThis(''.replace); +var join = uncurryThis([].join); + +var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { + return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; +}); + +var TEMPLATE = String(String).split('String'); + +var makeBuiltIn = module.exports = function (value, name, options) { + if (stringSlice($String(name), 0, 7) === 'Symbol(') { + name = '[' + replace($String(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']'; + } + if (options && options.getter) name = 'get ' + name; + if (options && options.setter) name = 'set ' + name; + if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true }); + else value.name = name; + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + try { + if (options && hasOwn(options, 'constructor') && options.constructor) { + if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false }); + // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable + } else if (value.prototype) value.prototype = undefined; + } catch (error) { /* empty */ } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); + } return value; +}; + +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +// eslint-disable-next-line no-extend-native -- required +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + + +/***/ }), + +/***/ "13d5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var $reduce = __webpack_require__("d58f").left; +var arrayMethodIsStrict = __webpack_require__("a640"); +var CHROME_VERSION = __webpack_require__("1212"); +var IS_NODE = __webpack_require__("9adc"); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce'); + +// `Array.prototype.reduce` method +// https://tc39.es/ecma262/#sec-array.prototype.reduce +$({ target: 'Array', proto: true, forced: FORCED }, { + reduce: function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), + +/***/ "14d9": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var toObject = __webpack_require__("7b0b"); +var lengthOfArrayLike = __webpack_require__("07fa"); +var setArrayLength = __webpack_require__("3a34"); +var doesNotExceedSafeInteger = __webpack_require__("3511"); +var fails = __webpack_require__("d039"); + +var INCORRECT_TO_LENGTH = fails(function () { + return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; +}); + +// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError +// https://bugs.chromium.org/p/v8/issues/detail?id=12681 +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).push(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength(); + +// `Array.prototype.push` method +// https://tc39.es/ecma262/#sec-array.prototype.push +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + push: function push(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + doesNotExceedSafeInteger(len + argCount); + for (var i = 0; i < argCount; i++) { + O[len] = arguments[i]; + len++; + } + setArrayLength(O, len); + return len; + } +}); + + +/***/ }), + +/***/ "15f1": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "1626": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot +var documentAll = typeof document == 'object' && document.all; + +// `IsCallable` abstract operation +// https://tc39.es/ecma262/#sec-iscallable +// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing +module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) { + return typeof argument == 'function' || argument === documentAll; +} : function (argument) { + return typeof argument == 'function'; +}; + + +/***/ }), + +/***/ "16f6": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "1787": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isObject = __webpack_require__("861d"); + +module.exports = function (argument) { + return isObject(argument) || argument === null; +}; + + +/***/ }), + +/***/ "182d": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toPositiveInteger = __webpack_require__("f8cd"); + +var $RangeError = RangeError; + +module.exports = function (it, BYTES) { + var offset = toPositiveInteger(it); + if (offset % BYTES) throw new $RangeError('Wrong offset'); + return offset; +}; + + +/***/ }), + +/***/ "1a2d": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); +var toObject = __webpack_require__("7b0b"); + +var hasOwnProperty = uncurryThis({}.hasOwnProperty); + +// `HasOwnProperty` abstract operation +// https://tc39.es/ecma262/#sec-hasownproperty +// eslint-disable-next-line es/no-object-hasown -- safe +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + + +/***/ }), + +/***/ "1d02": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var $findLastIndex = __webpack_require__("a258").findLastIndex; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex +exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) { + return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), + +/***/ "1d29": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/data-table-item.vue?vue&type=template&id=16cbe2b4&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('container-item-wrapper',{directives:[{name:"show",rawName:"v-show",value:(!_vm.widget.options.hidden),expression:"!widget.options.hidden"}],attrs:{"widget":_vm.widget}},[_c('el-table',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loadingFlag),expression:"loadingFlag"}],ref:"dataTable",class:[_vm.customClass],style:({'width': _vm.widget.options.tableWidth}),attrs:{"data":_vm.widget.options.tableData,"height":_vm.tableHeight,"border":_vm.widget.options.border,"show-summary":_vm.widget.options.showSummary,"row-key":_vm.tableRowKey,"tree-props":{ children: _vm.widget.options.childrenKey },"size":_vm.widget.options.tableSize,"stripe":_vm.widget.options.stripe,"highlight-current-row":_vm.singleRowSelectFlag,"row-class-name":_vm.getRowClassName,"span-method":_vm.getSpanMethod,"cell-style":{padding: _vm.widget.options.rowSpacing + 'px 0'}},on:{"current-change":_vm.handleCurrentChange,"sort-change":_vm.handleSortChange,"header-click":_vm.handleHeaderClick,"row-click":_vm.handleRowClick,"row-dblclick":_vm.handleRowDoubleClick,"cell-click":_vm.handleCellClick,"cell-dblclick":_vm.handleCellDoubleClick,"select":_vm.handleRowSelect,"select-all":_vm.handleAllSelect}},[(_vm.widget.options.showIndex)?_c('el-table-column',{attrs:{"type":"index","width":"60","fixed":"left","label":_vm.i18nt('designer.setting.lineNumber')}}):_vm._e(),(_vm.widget.options.showCheckBox)?_c('el-table-column',{attrs:{"type":"selection","width":_vm.selectionWidth,"fixed":"left"}}):_vm._e(),_vm._l((_vm.widget.options.tableColumns),function(item,index){return [_c('table-high-level-column',{attrs:{"column-schema":item,"data-table-ref":_vm.getDataTableRef,"column-index":index}})]}),(!!_vm.widget.options.showButtonsColumn)?[_c('el-table-column',{attrs:{"fixed":_vm.buttonsColumnFixed,"class-name":"data-table-buttons-column","align":'center',"label":_vm.widget.options.buttonsColumnTitle,"width":_vm.widget.options.buttonsColumnWidth},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_vm._l((_vm.widget.options.operationButtons),function(ob){return [_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(_vm.showOperationButton(ob, scope.$index, scope.row)),expression:"showOperationButton(ob, scope.$index, scope.row)"}],class:['data-table-' + ob.name + '-button'],attrs:{"type":ob.type,"size":ob.size,"round":ob.round,"disabled":_vm.disableOperationButton(ob, scope.$index, scope.row)},on:{"click":function($event){return _vm.handleOperationButtonClick(ob.name, scope.$index, scope.row)}}},[_vm._v(_vm._s(_vm.getOperationButtonLabel(ob, scope.$index, scope.row)))])]})]}}],null,false,1636580772)})]:_vm._e()],2),(_vm.widget.options.showPagination)?_c('el-pagination',{attrs:{"small":_vm.widget.options.smallPagination,"current-page":_vm.currentPage,"page-sizes":_vm.pageSizes,"page-size":_vm.pageSize,"layout":_vm.paginationLayout,"total":_vm.total},on:{"size-change":_vm.handlePageSizeChange,"current-change":_vm.handleCurrentPageChange}}):_vm._e()],1)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-render/container-item/data-table-item.vue?vue&type=template&id=16cbe2b4&scoped=true + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js +var es_array_push = __webpack_require__("14d9"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/container-item-wrapper.vue + 4 modules +var container_item_wrapper = __webpack_require__("90c2"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/utils/format.js +var format = __webpack_require__("6be8"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/index.js +var field_widget = __webpack_require__("c029"); + +// EXTERNAL MODULE: ./src/components/form-render/refMixin.js +var refMixin = __webpack_require__("d67f"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/containerItemMixin.js +var containerItemMixin = __webpack_require__("34f0"); + +// EXTERNAL MODULE: ./src/components/form-render/table-column-custom-render.js +var table_column_custom_render = __webpack_require__("eb47"); + +// EXTERNAL MODULE: ./src/utils/util.js +var util = __webpack_require__("ca00"); + +// EXTERNAL MODULE: ./src/components/form-render/table-high-level-column.vue + 4 modules +var table_high_level_column = __webpack_require__("30ae"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/data-table-item.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + + +/* harmony default export */ var data_table_itemvue_type_script_lang_js = ({ + name: "DataTableItem", + componentName: 'ContainerItem', + //必须固定为ContainerItem,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], i18n["b" /* default */], refMixin["a" /* default */], containerItemMixin["a" /* default */]], + components: { + TableHighLevelColumn: table_high_level_column["a" /* default */], + ContainerItemWrapper: container_item_wrapper["default"], + TableColumnCustomRender: table_column_custom_render["a" /* default */], + ...field_widget["a" /* default */] + }, + props: { + widget: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + inject: ['refList', 'sfRefList', 'globalModel', 'getFormConfig', 'getGlobalDsv'], + data() { + return { + selectAllFlag: false, + selectedIndices: [], + selectedRows: [], + pageSize: this.widget.options.pagination.pageSize, + pageSizes: this.widget.options.pagination.pageSizes, + currentPage: this.widget.options.pagination.currentPage, + total: this.widget.options.pagination.total, + //是否跳过selectionChange事件 + skipSelectionChangeEvent: false, + loadingFlag: false + }; + }, + computed: { + formConfig() { + return this.getFormConfig(); + }, + paginationLayout() { + return !!this.widget.options.smallPagination ? 'prev, pager, next' : 'total, sizes, prev, pager, next, jumper'; + }, + customClass() { + return this.widget.options.customClass || ''; + }, + singleRowSelectFlag() { + return !this.widget.options.showCheckBox; + }, + buttonsColumnFixed() { + if (this.widget.options.buttonsColumnFixed === undefined) { + return 'right'; + } + return !this.widget.options.buttonsColumnFixed ? false : this.widget.options.buttonsColumnFixed; + }, + tableHeight() { + return this.widget.options.tableHeight || undefined; + }, + selectionWidth() { + return !this.widget.options.showSummary ? !this.widget.options.treeDataEnabled ? 50 : 70 : 55; + }, + getDataTableRef() { + return this; + }, + tableRowKey() { + return !this.widget.options.rowKey ? null : this.widget.options.rowKey; + } + }, + created() { + this.initRefList(); + this.handleOnCreated(); + }, + mounted() { + if (!!this.widget.options.dsEnabled) { + this.loadDataFromDS({}); + } + this.$nextTick(() => { + this.handleOnMounted(); + }); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + updated() { + this.$nextTick(() => { + this.$refs.dataTable.doLayout(); //解决合计行有时不显示的问题!! + }); + }, + methods: { + selectWidget(widget) { + this.designer.setSelected(widget); + }, + renderHeader(h, { + column, + $index + }) { + //debugger + let colCount = 0; + if (this.widget.options.showIndex) { + colCount++; + } + if (this.widget.options.showCheckBox) { + colCount++; + } + this.$set(column, "formatS", this.widget.options.tableColumns[$index - colCount].formatS); + return column.label; + }, + formatter(row, column, cellValue) { + return cellValue; + }, + formatterValue(row, column, cellValue) { + if (!cellValue) { + return ''; + } + if (!!column.formatS && !!column.show) { + switch (column.formatS) { + case 'd1': + return Object(format["a" /* formatDate1 */])(cellValue); + case 'd2': + return Object(format["b" /* formatDate2 */])(cellValue); + case 'd3': + return Object(format["c" /* formatDate3 */])(cellValue); + case 'd4': + return Object(format["d" /* formatDate4 */])(cellValue); + case 'd5': + return Object(format["e" /* formatDate5 */])(cellValue); + case 'n1': + return Object(format["f" /* formatNumber1 */])(cellValue); + case 'n2': + return Object(format["g" /* formatNumber2 */])(cellValue); + case 'n3': + return Object(format["h" /* formatNumber3 */])(cellValue); + case 'n4': + return Object(format["i" /* formatNumber4 */])(cellValue); + case 'n5': + return Object(format["j" /* formatNumber5 */])(cellValue); + case 'n6': + return Object(format["k" /* formatNumber6 */])(cellValue); + case 'n7': + return Object(format["l" /* formatNumber7 */])(cellValue); + } + } + return cellValue; + }, + getColumnRender(row, column) { + /* TODO: 每个table-cell,render函数会执行3次,原因不明!!! */ + return new Function('h', 'params', column.render); + }, + getRowIndex(row) { + return this.widget.options.tableData.lastIndexOf(row); + }, + findColumnAndSetHidden(columnName, hiddenFlag) { + this.widget.options.tableColumns.forEach(tc => { + if (tc.prop === columnName) { + tc.show = !hiddenFlag; + } + }); + }, + handleOnCreated() { + if (!!this.widget.options.onCreated) { + let customFunc = new Function(this.widget.options.onCreated); + customFunc.call(this); + } + }, + handleOnMounted() { + if (!!this.widget.options.onMounted) { + let customFunc = new Function(this.widget.options.onMounted); + customFunc.call(this); + } + }, + /** + * 单选时触发该事件 + * @param currentRow + * @param oldCurrentRow + */ + handleCurrentChange(currentRow, oldCurrentRow) { + if (!!this.skipSelectionChangeEvent) { + return; + } + if (!!this.widget.options.showCheckBox) { + return; + } + this.selectedIndices.length = 0; + this.selectedRows.length = 0; + let rowIndex = this.getRowIndex(currentRow); + this.selectedIndices.push(rowIndex); + this.selectedRows.push(currentRow); + if (!!this.widget.options.onSelectionChange) { + let customFn = new Function('selection', 'selectedIndices', this.widget.options.onSelectionChange); + customFn.call(this, [currentRow], this.selectedIndices); + } else { + /* 必须调用mixins中的dispatch方法逐级向父组件发送消息!! */ + this.dispatch('VFormRender', 'dataTableSelectionChange', [this, [currentRow], this.selectedIndices]); + } + }, + /** + * 注意:加载树形数据后,选中行如包含子节点则会触发两次该事件!! + * @param selection + */ + handleSelectionChange(selection) { + if (!!this.skipSelectionChangeEvent) { + return; + } + this.selectedIndices.length = 0; + this.selectedRows.length = 0; + selection.map(row => { + let rowIndex = this.getRowIndex(row); + this.selectedIndices.push(rowIndex); + this.selectedRows.push(row); + }); + if (!!this.widget.options.onSelectionChange) { + let customFn = new Function('selection', 'selectedIndices', this.widget.options.onSelectionChange); + customFn.call(this, selection, this.selectedIndices); + } else { + /* 必须调用mixins中的dispatch方法逐级向父组件发送消息!! */ + this.dispatch('VFormRender', 'dataTableSelectionChange', [this, selection, this.selectedIndices]); + } + }, + handleSortChange({ + column, + prop, + order + }) { + if (!!this.widget.options.onSortChange) { + let customFn = new Function('column', 'prop', 'order', 'pageSize', 'currentPage', this.widget.options.onSortChange); + customFn.call(this, column, prop, order, this.pageSize, this.currentPage); + } else { + /* 必须调用mixins中的dispatch方法逐级向父组件发送消息!! */ + this.dispatch('VFormRender', 'dataTableSortChange', [this, column, prop, order, this.pageSize, this.currentPage]); + } + }, + handlePageSizeChange(pageSize) { + this.pageSize = pageSize; + if (!!this.widget.options.dsEnabled && !!this.widget.options.dsName) { + this.loadDataFromDS(); + } + if (!!this.widget.options.onPageSizeChange) { + let customFn = new Function('pageSize', 'currentPage', this.widget.options.onPageSizeChange); + customFn.call(this, pageSize, this.currentPage); + } else { + this.dispatch('VFormRender', 'dataTablePageSizeChange', [this, pageSize, this.currentPage]); + } + }, + handleCurrentPageChange(currentPage) { + this.currentPage = currentPage; + if (!!this.widget.options.dsEnabled && !!this.widget.options.dsName) { + this.loadDataFromDS(); + } + if (!!this.widget.options.onCurrentPageChange) { + let customFn = new Function('pageSize', 'currentPage', this.widget.options.onCurrentPageChange); + customFn.call(this, this.pageSize, currentPage); + } else { + this.dispatch('VFormRender', 'dataTablePageChange', [this, this.pageSize, currentPage]); + } + }, + handleOperationButtonClick(btnName, rowIndex, row) { + if (!!this.widget.options.onOperationButtonClick) { + let customFn = new Function('buttonName', 'rowIndex', 'row', this.widget.options.onOperationButtonClick); + customFn.call(this, btnName, rowIndex, row); + } else { + this.dispatch('VFormRender', 'operationButtonClick', [this, btnName, rowIndex, row]); + } + }, + showOperationButton(buttonConfig, rowIndex, row) { + if (!!this.widget.options.onHideOperationButton) { + let customFn = new Function('buttonConfig', 'rowIndex', 'row', this.widget.options.onHideOperationButton); + return !customFn.call(this, buttonConfig, rowIndex, row); + } else { + return !buttonConfig.hidden; + } + }, + disableOperationButton(buttonConfig, rowIndex, row) { + if (!!this.widget.options.onDisableOperationButton) { + let customFn = new Function('buttonConfig', 'rowIndex', 'row', this.widget.options.onDisableOperationButton); + return customFn.call(this, buttonConfig, rowIndex, row); + } else { + return buttonConfig.disabled; + } + }, + getOperationButtonLabel(buttonConfig, rowIndex, row) { + if (!!this.widget.options.onGetOperationButtonLabel) { + let customFn = new Function('buttonConfig', 'rowIndex', 'row', this.widget.options.onGetOperationButtonLabel); + //return customFn.call(this, buttonConfig, rowIndex, row) || buttonConfig.label + return customFn.call(this, buttonConfig, rowIndex, row); + } else { + return buttonConfig.label; + } + }, + getRowClassName({ + row, + rowIndex + }) { + if (!!this.widget.options.onGetRowClassName) { + let customFn = new Function('rowIndex', 'row', this.widget.options.onGetRowClassName); + return customFn.call(this, rowIndex, row); + } else { + return ''; + } + }, + getSpanMethod({ + row, + column, + rowIndex, + columnIndex + }) { + if (!!this.widget.options.onGetSpanMethod) { + let customFn = new Function('row', 'column', 'rowIndex', 'columnIndex', this.widget.options.onGetSpanMethod); + return customFn.call(this, row, column, rowIndex, columnIndex); + } + }, + handleHeaderClick(column, event) { + if (!!this.widget.options.onHeaderClick) { + let customFn = new Function('column', 'event', this.widget.options.onHeaderClick); + return customFn.call(this, column, event); + } + }, + handleRowClick(row, column, event) { + if (!!this.widget.options.onRowClick) { + let customFn = new Function('row', 'column', 'event', this.widget.options.onRowClick); + return customFn.call(this, row, column, event); + } + }, + handleRowDoubleClick(row, column, event) { + if (!!this.widget.options.onRowDoubleClick) { + let customFn = new Function('row', 'column', 'event', this.widget.options.onRowDoubleClick); + return customFn.call(this, row, column, event); + } + }, + handleCellClick(row, column, cell, event) { + if (!!this.widget.options.onCellClick) { + let customFn = new Function('row', 'column', 'cell', 'event', this.widget.options.onCellClick); + return customFn.call(this, row, column, cell, event); + } + }, + handleCellDoubleClick(row, column, cell, event) { + if (!!this.widget.options.onCellDoubleClick) { + let customFn = new Function('row', 'column', 'cell', 'event', this.widget.options.onCellDoubleClick); + return customFn.call(this, row, column, cell, event); + } + }, + toggleSelection(row, flag, selectedRows) { + if (row) { + this.$refs.dataTable.toggleRowSelection(row, flag); + if (flag) { + selectedRows.push(row); + return; + } + let foundRowIdx = -1; + let rowKey = this.widget.options.rowKey || 'id'; + selectedRows.forEach((sr, idx) => { + if (sr[rowKey] === row[rowKey]) { + foundRowIdx = idx; + } + }); + if (foundRowIdx > -1) { + selectedRows.splice(foundRowIdx, 1); + } + } + }, + setChildrenSelected(children, flag, selectedRows) { + let childrenKey = this.widget.options.childrenKey || 'children'; + children.map(child => { + this.toggleSelection(child, flag, selectedRows); + if (child[childrenKey]) { + this.setChildrenSelected(child[childrenKey], flag, selectedRows); + } + }); + }, + /** + * 注意: + * element ui的el-table存在一个严重bug:加载树形数据后,选择父节点时不会同步选中下属子节点。 + * 为解决这个问题,用select事件和select-all事件替换selection-change处理节点的选中!! + */ + handleRowSelect(selection, row) { + this.skipSelectionChangeEvent = true; + let selectedRows = Object(util["c" /* deepClone */])(selection); + let rowKey = this.widget.options.rowKey || 'id'; + let childrenKey = this.widget.options.childrenKey || 'children'; + if (selection.some(el => { + return row[rowKey] === el[rowKey]; + })) { + if (row[childrenKey]) { + this.setChildrenSelected(row[childrenKey], true, selectedRows); + } + } else { + if (row[childrenKey]) { + this.setChildrenSelected(row[childrenKey], false, selectedRows); + } + } + this.skipSelectionChangeEvent = false; + // 一次性处理多行选中或取消选中,只触发一次事件!!! + this.$nextTick(() => { + this.handleSelectionChange(selectedRows); + }); + }, + setSelectedFlag(data, flag) { + let childrenKey = this.widget.options.childrenKey || 'children'; + data.forEach(row => { + this.$refs.dataTable.toggleRowSelection(row, flag); + if (row[childrenKey]) { + this.setSelectedFlag(row[childrenKey], flag); + } + }); + }, + /** + * 注意: + * element ui的el-table存在一个严重bug:加载树形数据后,选择父节点时不会同步选中下属子节点。 + * 为解决这个问题,用select事件和select-all事件替换selection-change处理节点的选中!! + */ + handleAllSelect(selection) { + this.skipSelectionChangeEvent = true; + this.selectAllFlag = !this.selectAllFlag; + this.setSelectedFlag(this.widget.options.tableData, this.selectAllFlag); + this.skipSelectionChangeEvent = false; + // 一次性处理多行选中或取消选中,只触发一次事件!!! + this.$nextTick(() => { + this.handleSelectionChange(selection); + }); + }, + //--------------------- 以下为组件支持外部调用的API方法 begin ------------------// + /* 提示:用户可自行扩充这些方法!!! */ + + refreshLayout() { + // 刷新表格显示,防止行列显示错位!! + this.$refs.dataTable.doLayout(); + }, + getTableColumns() { + return this.widget.options.tableColumns; + }, + /** + * 设置表格列 + * @param tableColumns + */ + setTableColumns(tableColumns) { + this.widget.options.tableColumns = tableColumns; + this.$nextTick(() => { + this.$refs.dataTable.doLayout(); //防止行列显示错位!! + }); + }, + /** + * 设置表格列(为了兼容文档错误,setTableColumn应为setTableColumns) + * @param tableColumns + */ + setTableColumn(tableColumns) { + this.setTableColumns(tableColumns); + }, + /** + * 从数据源加载表格列 + * @param localDsv 本地数据源变量DSV + * @param dsName 数据源名称 + */ + loadColumnsFromDS(localDsv = {}, dsName) { + let curDS = Object(util["j" /* getDSByName */])(this.formConfig, dsName); + if (!!curDS) { + let gDsv = this.getGlobalDsv() || {}; + let newDsv = new Object({}); + Object(util["q" /* overwriteObj */])(newDsv, gDsv); + Object(util["q" /* overwriteObj */])(newDsv, localDsv); + newDsv.widgetName = this.widget.options.name; + this.loadingFlag = true; + Object(util["w" /* runDataSourceRequest */])(curDS, newDsv, this.getFormRef(), false, this.$message).then(res => { + this.setTableColumns(res); + this.loadingFlag = false; + }).catch(err => { + this.$message.error(err.message); + this.loadingFlag = false; + }); + } + }, + /** + * 动态设置表格列的隐藏或显示 + * @param columnNames + * @param hiddenFlag + */ + setTableColumnsHidden(columnNames, hiddenFlag) { + if (!!columnNames) { + if (typeof columnNames === 'string') { + this.findColumnAndSetHidden(columnNames, hiddenFlag); + } else if (Array.isArray(columnNames)) { + columnNames.forEach(cn => { + this.findColumnAndSetHidden(cn, hiddenFlag); + }); + } + this.$nextTick(() => { + this.$refs.dataTable.doLayout(); //防止行列显示错位!! + }); + } + }, + /** + * 获取表格数据 + */ + getTableData() { + return this.widget.options.tableData; + }, + /** + * 设置表格数据 + * @param tableData + */ + setTableData(tableData) { + this.loadingFlag = true; + this.widget.options.tableData = tableData; + this.loadingFlag = false; + }, + /** + * 从数据源加载表格数据 + * @param localDsv 本地数据源变量DSV + * @param dsName 数据源名称,不传此值,则使用dsName属性绑定的数据源 + */ + loadDataFromDS(localDsv = {}, dsName = '') { + let curDSName = dsName || this.widget.options.dsName; + let curDSetName = this.widget.options.dataSetName; + let curDS = Object(util["j" /* getDSByName */])(this.formConfig, curDSName); + if (!!curDS) { + let gDsv = this.getGlobalDsv() || {}; + let newDsv = new Object({}); + Object(util["q" /* overwriteObj */])(newDsv, gDsv); + Object(util["q" /* overwriteObj */])(newDsv, localDsv); + newDsv.widgetName = this.widget.options.name; + newDsv.pageSize = this.pageSize; + newDsv.currentPage = this.currentPage; + this.loadingFlag = true; + Object(util["w" /* runDataSourceRequest */])(curDS, newDsv, this.getFormRef(), false, this.$message).then(res => { + if (!!curDSetName && res.hasOwnProperty(curDSetName)) { + this.setTableData(res[curDSetName]); + } else { + this.setTableData(res); + } + this.loadingFlag = false; + }).catch(err => { + this.$message.error(err.message); + this.loadingFlag = false; + }); + } + }, + /** + * 设置表格分页 + * @param pagination + */ + setPagination(pagination) { + if (pagination.currentPage !== undefined) { + this.currentPage = pagination.currentPage; + this.widget.options.pagination.currentPage = pagination.currentPage; + } + if (pagination.pageSize !== undefined) { + this.pageSize = pagination.pageSize; + this.widget.options.pagination.pageSize = pagination.pageSize; + } + if (pagination.pageSizes !== undefined) { + this.pageSizes = pagination.pageSizes; + this.widget.options.pagination.pageSizes = pagination.pageSizes; + } + if (pagination.total !== undefined) { + this.total = pagination.total; + this.widget.options.pagination.total = pagination.total; + } + }, + getPagination() { + return { + currentPage: this.widget.options.pagination.currentPage, + pageSize: this.widget.options.pagination.pageSize, + total: this.widget.options.pagination.total + }; + }, + /** + * 获取选中行数据,格式为对象数组 + * @returns {[]} + */ + getSelectedRow() { + //return this.$refs.dataTable.selection + return this.selectedRows; + }, + /** + * 获取选中行索引,格式为数组 + * @returns {[]} + */ + getSelectedIndex() { + return this.selectedIndices; + }, + getNativeTable() { + return this.$refs.dataTable; + } + + //--------------------- 以上为组件支持外部调用的API方法 end ------------------// + } +}); +// CONCATENATED MODULE: ./src/components/form-render/container-item/data-table-item.vue?vue&type=script&lang=js + /* harmony default export */ var container_item_data_table_itemvue_type_script_lang_js = (data_table_itemvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-render/container-item/data-table-item.vue?vue&type=style&index=0&id=16cbe2b4&prod&lang=scss&scoped=true +var data_table_itemvue_type_style_index_0_id_16cbe2b4_prod_lang_scss_scoped_true = __webpack_require__("8ef5"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-render/container-item/data-table-item.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + container_item_data_table_itemvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "16cbe2b4", + null + +) + +/* harmony default export */ var data_table_item = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "1d2b": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = function bind(fn, thisArg) { + return function wrap() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + return fn.apply(thisArg, args); + }; +}; + + +/***/ }), + +/***/ "1d80": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isNullOrUndefined = __webpack_require__("7234"); + +var $TypeError = TypeError; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), + +/***/ "1da3": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_rate_widget_vue_vue_type_style_index_0_id_472c31c2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ab9e"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_rate_widget_vue_vue_type_style_index_0_id_472c31c2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_rate_widget_vue_vue_type_style_index_0_id_472c31c2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "1e5a": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var symmetricDifference = __webpack_require__("9961"); +var setMethodAcceptSetLike = __webpack_require__("dad2"); + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, { + symmetricDifference: symmetricDifference +}); + + +/***/ }), + +/***/ "1e70": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var difference = __webpack_require__("a5f7"); +var setMethodAcceptSetLike = __webpack_require__("dad2"); + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, { + difference: difference +}); + + +/***/ }), + +/***/ "1fb5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.byteLength = byteLength +exports.toByteArray = toByteArray +exports.fromByteArray = fromByteArray + +var lookup = [] +var revLookup = [] +var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array + +var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' +for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i] + revLookup[code.charCodeAt(i)] = i +} + +// Support decoding URL-safe base64 strings, as Node.js does. +// See: https://en.wikipedia.org/wiki/Base64#URL_applications +revLookup['-'.charCodeAt(0)] = 62 +revLookup['_'.charCodeAt(0)] = 63 + +function getLens (b64) { + var len = b64.length + + if (len % 4 > 0) { + throw new Error('Invalid string. Length must be a multiple of 4') + } + + // Trim off extra bytes after placeholder bytes are found + // See: https://github.com/beatgammit/base64-js/issues/42 + var validLen = b64.indexOf('=') + if (validLen === -1) validLen = len + + var placeHoldersLen = validLen === len + ? 0 + : 4 - (validLen % 4) + + return [validLen, placeHoldersLen] +} + +// base64 is 4/3 + up to two characters of the original data +function byteLength (b64) { + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen +} + +function _byteLength (b64, validLen, placeHoldersLen) { + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen +} + +function toByteArray (b64) { + var tmp + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + + var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) + + var curByte = 0 + + // if there are placeholders, only get up to the last complete 4 chars + var len = placeHoldersLen > 0 + ? validLen - 4 + : validLen + + var i + for (i = 0; i < len; i += 4) { + tmp = + (revLookup[b64.charCodeAt(i)] << 18) | + (revLookup[b64.charCodeAt(i + 1)] << 12) | + (revLookup[b64.charCodeAt(i + 2)] << 6) | + revLookup[b64.charCodeAt(i + 3)] + arr[curByte++] = (tmp >> 16) & 0xFF + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } + + if (placeHoldersLen === 2) { + tmp = + (revLookup[b64.charCodeAt(i)] << 2) | + (revLookup[b64.charCodeAt(i + 1)] >> 4) + arr[curByte++] = tmp & 0xFF + } + + if (placeHoldersLen === 1) { + tmp = + (revLookup[b64.charCodeAt(i)] << 10) | + (revLookup[b64.charCodeAt(i + 1)] << 4) | + (revLookup[b64.charCodeAt(i + 2)] >> 2) + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } + + return arr +} + +function tripletToBase64 (num) { + return lookup[num >> 18 & 0x3F] + + lookup[num >> 12 & 0x3F] + + lookup[num >> 6 & 0x3F] + + lookup[num & 0x3F] +} + +function encodeChunk (uint8, start, end) { + var tmp + var output = [] + for (var i = start; i < end; i += 3) { + tmp = + ((uint8[i] << 16) & 0xFF0000) + + ((uint8[i + 1] << 8) & 0xFF00) + + (uint8[i + 2] & 0xFF) + output.push(tripletToBase64(tmp)) + } + return output.join('') +} + +function fromByteArray (uint8) { + var tmp + var len = uint8.length + var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes + var parts = [] + var maxChunkLength = 16383 // must be multiple of 3 + + // go through the array every three bytes, we'll deal with trailing stuff later + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) + } + + // pad the end with zeros, but make sure to not forget the extra bytes + if (extraBytes === 1) { + tmp = uint8[len - 1] + parts.push( + lookup[tmp >> 2] + + lookup[(tmp << 4) & 0x3F] + + '==' + ) + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1] + parts.push( + lookup[tmp >> 10] + + lookup[(tmp >> 4) & 0x3F] + + lookup[(tmp << 2) & 0x3F] + + '=' + ) + } + + return parts.join('') +} + + +/***/ }), + +/***/ "2005": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isDetached = __webpack_require__("75bd"); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isDetached(it)) throw new $TypeError('ArrayBuffer is detached'); + return it; +}; + + +/***/ }), + +/***/ "207d": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_html_text_widget_vue_vue_type_style_index_0_id_5b64c2ea_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d1fe"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_html_text_widget_vue_vue_type_style_index_0_id_5b64c2ea_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_html_text_widget_vue_vue_type_style_index_0_id_5b64c2ea_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "20c0": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=template&id=33b9a164&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-time-picker',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],ref:"fieldEditor",staticClass:"full-width-input",attrs:{"disabled":_vm.field.options.disabled,"readonly":_vm.field.options.readonly,"clearable":_vm.field.options.clearable,"editable":_vm.field.options.editable,"format":_vm.field.options.format,"value-format":"HH:mm:ss","placeholder":_vm.field.options.placeholder || _vm.i18nt('render.hint.timePlaceholder')},on:{"focus":_vm.handleFocusCustomEvent,"blur":_vm.handleBlurCustomEvent,"change":_vm.handleChangeEvent},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}}),(_vm.isReadMode)?[_c('span',{staticClass:"readonly-mode-field"},[_vm._v(_vm._s(_vm.fieldModel))])]:_vm._e()],2)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=template&id=33b9a164&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var time_widgetvue_type_script_lang_js = ({ + name: "time-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + FormItemWrapper: form_item_wrapper["default"] + }, + inject: ['refList', 'globalOptionData', 'globalModel'], + data() { + return { + oldFieldValue: null, + //field组件change之前的值 + fieldModel: null, + rules: [] + }; + }, + computed: {}, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initFieldModel(); + this.initEventHandler(); + this.buildFieldRules(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: {} +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_time_widgetvue_type_script_lang_js = (time_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=style&index=0&id=33b9a164&prod&lang=scss&scoped=true +var time_widgetvue_type_style_index_0_id_33b9a164_prod_lang_scss_scoped_true = __webpack_require__("5bf1"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/time-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_time_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "33b9a164", + null + +) + +/* harmony default export */ var time_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "2338": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "236e": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export removeAllDic */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getAllDic; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return loadOptionItemFromDict; }); +/* unused harmony export filterDic */ +// import { reqDic } from '@/api/login' + +// export function SetAllDic() { +// reqDic() +// .then(res => { +// if (res) { +// localStorage.setItem('LOCALSTORAGE_GLOBLE_DIC_KEY_FROM_AVUE', JSON.stringify(res)) +// } +// }) +// } + +function removeAllDic() { + if (JSON.parse(localStorage.getItem('LOCALSTORAGE_GLOBLE_DIC_KEY_FROM_AVUE'))) { + localStorage.removeItem('LOCALSTORAGE_GLOBLE_DIC_KEY_FROM_AVUE'); + } +} +function getAllDic() { + return JSON.parse(localStorage.getItem('LOCALSTORAGE_GLOBLE_DIC_KEY_FROM_AVUE')); +} + +// 根据字典编号获取字典 +function loadOptionItemFromDict(dicname, filter, efilter) { + var options = filterDic(getAllDic()[dicname], filter, efilter); + // console.log('options---->',options) + if (!options || options.length == 0) { + console.error('字典配置过滤项和保留项冲突,请检查配置信息!', filter, efilter); + } + return options; +} + +// 过滤字典项 +function filterDic(options, filter, efilter) { + // console.log('options--1111-->',options) + // console.log(filter,'---->filter') + var filterLst = filter && filter != '' ? filter.split(',') : ''; + var efilterLst = efilter && efilter != '' ? efilter.split(',') : ''; + // console.log('filterLst.length---->',filterLst) + // console.log('efilterLst.length---->',efilterLst) + if (filterLst && filterLst.length !== 0) { + options = options.filter(item => { + // console.log(item,filter,'---->filter-item') + if (filterLst.includes(item.value)) { + return false; + } else { + return true; + } + }); + } + // console.log(efilter,'---->efilter') + if (efilterLst && efilterLst.length !== 0) { + options = options.filter(item => { + // console.log(item,efilter,'---->efilter-item') + if (efilterLst.includes(item.value)) { + return true; + } else { + return false; + } + }); + } + return options; +} + +/***/ }), + +/***/ "23cb": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIntegerOrInfinity = __webpack_require__("5926"); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + + +/***/ }), + +/***/ "23e7": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var globalThis = __webpack_require__("cfe9"); +var getOwnPropertyDescriptor = __webpack_require__("06cf").f; +var createNonEnumerableProperty = __webpack_require__("9112"); +var defineBuiltIn = __webpack_require__("cb2d"); +var defineGlobalProperty = __webpack_require__("6374"); +var copyConstructorProperties = __webpack_require__("e893"); +var isForced = __webpack_require__("94ca"); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.dontCallGetSet - prevent calling a getter on target + options.name - the .name of the function if it does not match the key +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = globalThis; + } else if (STATIC) { + target = globalThis[TARGET] || defineGlobalProperty(TARGET, {}); + } else { + target = globalThis[TARGET] && globalThis[TARGET].prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.dontCallGetSet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + defineBuiltIn(target, key, sourceProperty, options); + } +}; + + +/***/ }), + +/***/ "241c": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var internalObjectKeys = __webpack_require__("ca84"); +var enumBugKeys = __webpack_require__("7839"); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + + +/***/ }), + +/***/ "2444": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) { + +var utils = __webpack_require__("c532"); +var normalizeHeaderName = __webpack_require__("c8af"); +var enhanceError = __webpack_require__("387f"); + +var DEFAULT_CONTENT_TYPE = { + 'Content-Type': 'application/x-www-form-urlencoded' +}; + +function setContentTypeIfUnset(headers, value) { + if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { + headers['Content-Type'] = value; + } +} + +function getDefaultAdapter() { + var adapter; + if (typeof XMLHttpRequest !== 'undefined') { + // For browsers use XHR adapter + adapter = __webpack_require__("b50d"); + } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { + // For node use HTTP adapter + adapter = __webpack_require__("b50d"); + } + return adapter; +} + +function stringifySafely(rawValue, parser, encoder) { + if (utils.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils.trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } + } + + return (encoder || JSON.stringify)(rawValue); +} + +var defaults = { + + transitional: { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false + }, + + adapter: getDefaultAdapter(), + + transformRequest: [function transformRequest(data, headers) { + normalizeHeaderName(headers, 'Accept'); + normalizeHeaderName(headers, 'Content-Type'); + + if (utils.isFormData(data) || + utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); + return data.toString(); + } + if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) { + setContentTypeIfUnset(headers, 'application/json'); + return stringifySafely(data); + } + return data; + }], + + transformResponse: [function transformResponse(data) { + var transitional = this.transitional; + var silentJSONParsing = transitional && transitional.silentJSONParsing; + var forcedJSONParsing = transitional && transitional.forcedJSONParsing; + var strictJSONParsing = !silentJSONParsing && this.responseType === 'json'; + + if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) { + try { + return JSON.parse(data); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw enhanceError(e, this, 'E_JSON_PARSE'); + } + throw e; + } + } + } + + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + maxBodyLength: -1, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + } +}; + +defaults.headers = { + common: { + 'Accept': 'application/json, text/plain, */*' + } +}; + +utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { + defaults.headers[method] = {}; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); +}); + +module.exports = defaults; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("4362"))) + +/***/ }), + +/***/ "249d": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var $transfer = __webpack_require__("41f6"); + +// `ArrayBuffer.prototype.transfer` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transfer: function transfer() { + return $transfer(this, arguments.length ? arguments[0] : undefined, true); + } +}); + + +/***/ }), + +/***/ "2635": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_form_item_wrapper_vue_vue_type_style_index_0_id_14028d04_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f0c6"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_form_item_wrapper_vue_vue_type_style_index_0_id_14028d04_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_form_item_wrapper_vue_vue_type_style_index_0_id_14028d04_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "2834": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var uncurryThis = __webpack_require__("e330"); +var aCallable = __webpack_require__("59ed"); +var arrayFromConstructorAndList = __webpack_require__("dfb9"); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort); + +// `%TypedArray%.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted +exportTypedArrayMethod('toSorted', function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = aTypedArray(this); + var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O); + return sort(A, compareFn); +}); + + +/***/ }), + +/***/ "2877": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier /* server only */, + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = + typeof scriptExports === 'function' ? scriptExports.options : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { + // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { + injectStyles.call( + this, + (options.functional ? this.parent : this).$root.$options.shadowRoot + ) + } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functional component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection(h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing ? [].concat(existing, hook) : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ "2890": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/tree-item.vue?vue&type=template&id=f0f74652&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('container-item-wrapper',{attrs:{"widget":_vm.widget}},[_c('el-container',[_c('el-main',{staticStyle:{"align-items":"baseline"}},[(_vm.widget.options.filter)?_c('el-input',{attrs:{"size":_vm.widget.options.size,"placeholder":_vm.i18nt('designer.setting.enterForQuery')},model:{value:(_vm.filterText),callback:function ($$v) {_vm.filterText=$$v},expression:"filterText"}}):_vm._e(),_c('el-button-group',[(_vm.widget.options.expandRetractAllNode)?_c('el-button',{attrs:{"type":"primary","round":"","plain":"","size":_vm.widget.options.size},on:{"click":function($event){return _vm.expandAllNodes()}}},[_vm._v(" "+_vm._s(_vm.i18nt('designer.setting.expandRetractAllNode'))+" ")]):_vm._e(),(_vm.widget.options.selectClearAllNode && _vm.widget.options.showCheckBox)?_c('el-button',{attrs:{"type":"primary","round":"","plain":"","size":_vm.widget.options.size},on:{"click":function($event){return _vm.checkAllNodes()}}},[_vm._v(" "+_vm._s(_vm.i18nt('designer.setting.selectClearAllNode'))+" ")]):_vm._e()],1),_c('el-tree',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loadingFlag),expression:"loadingFlag"}],ref:"tree",attrs:{"data":_vm.widget.options.treeData,"props":_vm.defaultProps,"border":"","lazy":_vm.widget.options.lazy,"node-key":"id","highlight-current":"","current-node-key":_vm.currentKey,"show-checkbox":_vm.widget.options.showCheckBox,"expand-on-click-node":_vm.widget.options.expandOnClickNode,"default-expand-all":_vm.widget.options.defaultExpandAllNode,"draggable":_vm.widget.options.draggable,"check-strictly":_vm.widget.options.checkStrictly,"filter-node-method":_vm.filterNode},on:{"node-click":_vm.handleTreeNodeClick,"node-contextmenu":_vm.handleTreeNodeContextmenu,"check":_vm.handleTreeNodeCheck,"check-change":_vm.handleCheckChange},scopedSlots:_vm._u([{key:"default",fn:function(ref){ +var node = ref.node; +var data = ref.data; +return _c('span',{staticClass:"custom-tree-node"},[_c('span',[_vm._v(_vm._s(node.label))]),(_vm.widget.options.nodeEdit)?_c('span',[_c('el-button',{attrs:{"type":"text","size":_vm.widget.options.size},on:{"click":function($event){return _vm.append(data)}}},[_vm._v(" "+_vm._s(_vm.i18nt('designer.setting.add'))+" ")]),_c('el-button',{attrs:{"type":"text","size":_vm.widget.options.size},on:{"click":function($event){return _vm.remove(node, data)}}},[_vm._v(" "+_vm._s(_vm.i18nt('designer.setting.delete'))+" ")])],1):_vm._e()])}}])})],1)],1)],1)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-render/container-item/tree-item.vue?vue&type=template&id=f0f74652&scoped=true + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js +var es_array_push = __webpack_require__("14d9"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/container-item-wrapper.vue + 4 modules +var container_item_wrapper = __webpack_require__("90c2"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/index.js +var field_widget = __webpack_require__("c029"); + +// EXTERNAL MODULE: ./src/components/form-render/refMixin.js +var refMixin = __webpack_require__("d67f"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/containerItemMixin.js +var containerItemMixin = __webpack_require__("34f0"); + +// EXTERNAL MODULE: ./src/utils/util.js +var util = __webpack_require__("ca00"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/tree-item.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + +let id = 1000; +/* harmony default export */ var tree_itemvue_type_script_lang_js = ({ + name: "TreeItem", + componentName: 'ContainerItem', + //必须固定为ContainerItem,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], i18n["b" /* default */], refMixin["a" /* default */], containerItemMixin["a" /* default */]], + inject: ['refList', 'sfRefList', 'globalModel', 'getFormConfig', 'getGlobalDsv'], + components: { + ContainerItemWrapper: container_item_wrapper["default"], + ...field_widget["a" /* default */] + }, + props: { + widget: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + data() { + return { + isExpanded: true, + isChecked: false, + currentKey: '', + filterText: '', + loadingFlag: false, + defaultProps: { + children: 'children', + label: 'label' + } + }; + }, + computed: { + formConfig() { + return this.getFormConfig(); + } + }, + watch: { + filterText(val) { + this.$refs.tree.filter(val); + } + }, + created() { + this.initRefList(); + this.handleOnCreated(); + }, + mounted() { + if (!!this.widget.options.dsEnabled) { + this.loadDataFromDS({}); + } + this.$nextTick(() => { + this.handleOnMounted(); + }); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + // 给当前节点添加下级节点 + append(data) { + this.$prompt(this.i18nt('designer.setting.inputNodeName'), this.i18nt('designer.setting.tips'), { + confirmButtonText: this.i18nt('designer.hint.confirm'), + cancelButtonText: this.i18nt('designer.hint.cancel') + }).then(({ + value + }) => { + const newChild = { + id: id++, + label: value, + children: [] + }; + if (!data.children) { + this.$set(data, 'children', []); + } + data.children.push(newChild); + }).catch(err => { + console.error(err); + }); + }, + // 删除节点 + remove(node, data) { + this.$confirm(this.i18nt('designer.setting.deleteNode'), this.i18nt('designer.setting.tips'), { + confirmButtonText: this.i18nt('designer.hint.confirm'), + cancelButtonText: this.i18nt('designer.hint.cancel'), + type: 'warning' + }).then(() => { + const parent = node.parent; + const children = parent.data.children || parent.data; + const index = children.findIndex(d => d.id === data.id); + children.splice(index, 1); + this.$message({ + type: 'success', + message: this.i18nt('designer.setting.nodeDeleted') + }); + }).catch(err => { + console.error(err); + }); + }, + filterNode(value, data) { + if (!value) return true; + return data.label.indexOf(value) !== -1; + }, + handleOnCreated() { + if (!!this.widget.options.onCreated) { + let customFunc = new Function(this.widget.options.onCreated); + customFunc.call(this); + } + }, + handleOnMounted() { + if (!!this.widget.options.onMounted) { + let customFunc = new Function(this.widget.options.onMounted); + customFunc.call(this); + } + }, + /** 树节点点击事件 + * @param {Object} data 传递给 data 属性的数组中该节点所对应的对象 + * @param {Object} node 节点对应的 Node + * @param {Object} el 节点组件本身 + */ + handleTreeNodeClick(data, node, el) { + if (!!this.widget.options.onNodeClick) { + let customFn = new Function('data', 'node', 'el', this.widget.options.onNodeClick); + customFn.call(this, data, node, el); + } + }, + /** 树节点右键事件 + * @param {Object} event 事件句柄 + * @param {Object} data 传递给 data 属性的数组中该节点所对应的对象 + * @param {Object} node 节点对应的 Node + * @param {Object} el 节点组件本身 + */ + handleTreeNodeContextmenu(event, data, node, el) { + if (!!this.widget.options.onNodeContextmenu) { + let customFn = new Function('event', 'data', 'node', 'el', this.widget.options.onNodeContextmenu); + customFn.call(this, event, data, node, el); + } + }, + /** 树组件当复选框被点击的时候触发 + * @param {Object} data + * @param {Object} treeState + */ + handleTreeNodeCheck(data, treeState) { + if (!!this.widget.options.onNodeCheck) { + let customFn = new Function('data', 'treeState', this.widget.options.onNodeCheck); + customFn.call(this, data, treeState); + } + }, + handleCheckChange(data, checked, indeterminate) { + if (!!this.widget.options.onCheckChange) { + let customFn = new Function('data', 'checked', 'indeterminate', this.widget.options.onCheckChange); + customFn.call(this, data, checked, indeterminate); + } + }, + //改变节点的展开/收缩状态 + setNodeExpanded(node, flag) { + node.expanded = flag; + for (let i = 0; i < node.childNodes.length; i++) { + //改变节点的自身expanded状态 + node.childNodes[i].expanded = flag; + //看看他孩子的长度,有的话就调用自己往下找 + if (node.childNodes[i].childNodes.length > 0) { + this.setNodeExpanded(node.childNodes[i], flag); + } + } + }, + //改变节点的勾选状态 + setNodeChecked(node, flag) { + node.checked = flag; + for (let i = 0; i < node.childNodes.length; i++) { + //改变节点的自身checked状态 + node.childNodes[i].checked = flag; + //看看他孩子的长度,有的话就调用自己往下找 + if (node.childNodes[i].childNodes.length > 0) { + this.setNodeChecked(node.childNodes[i], flag); + } + } + }, + //--------------------- 以下为组件支持外部调用的API方法 begin ------------------// + /* 提示:用户可自行扩充这些方法!!! */ + + getNativeTree() { + return this.$refs.tree; + }, + setTreeData(data) { + this.widget.options.treeData = data; + this.currentKey = data[0].id; + }, + getTreeData() { + return this.widget.options.treeData; + }, + expandAllNodes(flag) { + this.isExpanded = flag || !this.isExpanded; + this.setNodeExpanded(this.$refs.tree.store.root, this.isExpanded); + }, + checkAllNodes(flag) { + //debugger + this.isChecked = flag || !this.isChecked; + this.setNodeChecked(this.$refs.tree.store.root, this.isChecked); + }, + setCheckedNodes(nodes) { + this.$refs.tree.setCheckedNodes(nodes); + }, + getCheckedNodes(leafOnly, includeHalfChecked) { + return this.$refs.tree.getCheckedNodes(leafOnly, includeHalfChecked); + }, + getCurrentNode() { + return this.$refs.tree.getCurrentNode(); + }, + setCurrentNode(node) { + return this.$refs.tree.setCurrentNode(node); + }, + /** + * 从数据源加载数据 + * @param localDsv 本地数据源变量DSV + * @param dsName 数据源名称,不传此值,则使用dsName属性绑定的数据源 + */ + loadDataFromDS(localDsv = {}, dsName = '') { + let curDSName = dsName || this.widget.options.dsName; + let curDSetName = this.widget.options.dataSetName; + let curDS = Object(util["j" /* getDSByName */])(this.formConfig, curDSName); + if (!!curDS) { + let gDsv = this.getGlobalDsv() || {}; + let newDsv = new Object({}); + Object(util["q" /* overwriteObj */])(newDsv, gDsv); + Object(util["q" /* overwriteObj */])(newDsv, localDsv); + newDsv.widgetName = this.widget.options.name; + this.loadingFlag = true; + Object(util["w" /* runDataSourceRequest */])(curDS, newDsv, this.getFormRef(), false, this.$message).then(res => { + if (!!curDSetName && res.hasOwnProperty(curDSetName)) { + this.setTreeData(res[curDSetName]); + } else { + this.setTreeData(res); + } + this.loadingFlag = false; + }).catch(err => { + this.$message.error(err.message); + this.loadingFlag = false; + }); + } + } + + //--------------------- 以上为组件支持外部调用的API方法 end ------------------// + } +}); +// CONCATENATED MODULE: ./src/components/form-render/container-item/tree-item.vue?vue&type=script&lang=js + /* harmony default export */ var container_item_tree_itemvue_type_script_lang_js = (tree_itemvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-render/container-item/tree-item.vue?vue&type=style&index=0&id=f0f74652&prod&lang=scss&scoped=true +var tree_itemvue_type_style_index_0_id_f0f74652_prod_lang_scss_scoped_true = __webpack_require__("c8fe"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-render/container-item/tree-item.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + container_item_tree_itemvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "f0f74652", + null + +) + +/* harmony default export */ var tree_item = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "2a07": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var globalThis = __webpack_require__("cfe9"); +var IS_NODE = __webpack_require__("9adc"); + +module.exports = function (name) { + if (IS_NODE) { + try { + return globalThis.process.getBuiltinModule(name); + } catch (error) { /* empty */ } + try { + // eslint-disable-next-line no-new-func -- safe + return Function('return require("' + name + '")')(); + } catch (error) { /* empty */ } + } +}; + + +/***/ }), + +/***/ "2a62": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__("c65b"); +var anObject = __webpack_require__("825a"); +var getMethod = __webpack_require__("dc4a"); + +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') throw value; + if (innerError) throw innerResult; + anObject(innerResult); + return value; +}; + + +/***/ }), + +/***/ "2ba4": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var NATIVE_BIND = __webpack_require__("40d5"); + +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; + +// eslint-disable-next-line es/no-reflect -- safe +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + + +/***/ }), + +/***/ "2c66": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__("83ab"); +var defineBuiltInAccessor = __webpack_require__("edd0"); +var isDetached = __webpack_require__("75bd"); + +var ArrayBufferPrototype = ArrayBuffer.prototype; + +if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) { + defineBuiltInAccessor(ArrayBufferPrototype, 'detached', { + configurable: true, + get: function detached() { + return isDetached(this); + } + }); +} + + +/***/ }), + +/***/ "2d11": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("14d9"); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("ca00"); +/* harmony import */ var _utils_validators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("a00a"); +/* harmony import */ var _utils_setAllDic__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("236e"); + + + + +/* harmony default export */ __webpack_exports__["a"] = ({ + inject: ['refList', 'getFormConfig', 'globalOptionData', 'globalModel', 'getOptionData', 'getGlobalDsv', 'getReadMode', 'getSubFormFieldFlag', 'getSubFormName', 'getDSResultCache', 'getIdentiFication'], + data() { + return { + fieldReadonlyFlag: false, + dataSetLoadedFlag: false, + // 防抖函数 + timer: null + }; + }, + computed: { + formConfig() { + return this.getFormConfig(); + }, + subFormName() { + return this.getSubFormName ? this.getSubFormName() : ''; + }, + subFormItemFlag() { + return this.getSubFormFieldFlag ? this.getSubFormFieldFlag() : false; + }, + formModel: { + cache: false, + get() { + return this.globalModel.formModel; + } + }, + isReadMode() { + //return this.getReadMode() || this.fieldReadonlyFlag + return this.getReadMode() ? true : this.fieldReadonlyFlag; + }, + optionLabel() { + if (this.fieldModel === null) { + return '--'; + } else { + let resultContent = '--'; + this.field.options.optionItems.forEach(oItem => { + if (oItem.value === this.fieldModel || this.findInArray(this.fieldModel, oItem.value) !== -1) { + resultContent = resultContent === '--' ? oItem.label : resultContent + ' ' + oItem.label; + } + }); + return resultContent; + } + } + }, + methods: { + findInArray(arrayObject, element) { + if (!Array.isArray(arrayObject)) { + return -1; + } + let foundIdx = -1; + arrayObject.forEach((aItem, aIdx) => { + if (aItem === element) { + foundIdx = aIdx; + } + }); + return foundIdx; + }, + //--------------------- 组件内部方法 begin ------------------// + getPropName() { + if (this.subFormItemFlag && !this.designState) { + return this.subFormName + "." + this.subFormRowIndex + "." + this.field.options.name + ""; + } else { + return this.field.options.name; + } + }, + initFieldModel() { + if (!this.field.formItemFlag) { + return; + } + if (!!this.subFormItemFlag && !this.designState) { + //SubForm子表单组件需要特殊处理!! + let subFormData = this.formModel[this.subFormName]; + if ((subFormData === undefined || subFormData[this.subFormRowIndex] === undefined || subFormData[this.subFormRowIndex][this.field.options.name] === undefined) && this.field.options.defaultValue !== undefined) { + this.fieldModel = this.field.options.defaultValue; + subFormData[this.subFormRowIndex][this.field.options.name] = this.field.options.defaultValue; + } else if (subFormData[this.subFormRowIndex][this.field.options.name] === undefined) { + this.fieldModel = null; + subFormData[this.subFormRowIndex][this.field.options.name] = null; + } else { + this.fieldModel = subFormData[this.subFormRowIndex][this.field.options.name]; + } + + /* 主动触发子表单内field-widget的onChange事件!! */ + setTimeout(() => { + //延时触发onChange事件, 便于更新计算字段!! + this.handleOnChangeForSubForm(this.fieldModel, this.oldFieldValue, subFormData, this.subFormRowId); + }, 800); + this.oldFieldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); + this.initFileList(); //处理图片上传、文件上传字段 + + return; + } + // 多选的框的时候如果保存到后台 那么会把 [] 数组 变成 空字符串 这里在转换回来 + if (this.field.type === 'checkbox' && this.field.options.defaultValue === '') { + this.field.options.defaultValue = []; + } + if (this.formModel[this.field.options.name] === undefined && this.field.options.defaultValue !== undefined) { + this.fieldModel = this.field.options.defaultValue; + } else if (this.formModel[this.field.options.name] === undefined) { + //如果formModel为空对象,则初始化字段值为null!! + this.formModel[this.field.options.name] = null; + } else { + this.fieldModel = this.formModel[this.field.options.name]; + } + this.oldFieldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); + this.initFileList(); //处理图片上传、文件上传字段 + }, + initFileList() { + //初始化上传组件的已上传文件列表 + if (this.field.type !== 'picture-upload' && this.field.type !== 'file-upload' || this.designState === true) { + return; + } + if (this.fieldModel) { + if (Array.isArray(this.fieldModel)) { + this.fileList = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); + } else { + this.fileList.splice(0, 0, Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel)); + } + } + }, + initEventHandler() { + this.$on('setFormData', newFormData => { + //console.log('formModel of globalModel----------', this.globalModel.formModel) + if (!this.subFormItemFlag) { + this.setValue(newFormData[this.field.options.name]); + } + }); + this.$on('field-value-changed', values => { + if (this.subFormItemFlag) { + let subFormData = this.formModel[this.subFormName]; + this.handleOnChangeForSubForm(values[0], values[1], subFormData, this.subFormRowId); + } else { + this.handleOnChange(values[0], values[1]); + } + }); + + /* 监听从数据集加载选项事件 */ + this.$on('loadOptionItemsFromDataSet', dsName => { + this.loadOptionItemsFromDataSet(dsName); + this.dataSetLoadedFlag = true; + }); + + /* 监听重新加载选项事件 */ + this.$on('reloadOptionItems', widgetNames => { + if (widgetNames.length === 0 || widgetNames.indexOf(this.field.options.name) > -1) { + this.initOptionItems(true); + } + }); + }, + handleOnCreated() { + if (this.designState) { + //设计状态不触发事件 + return; + } + if (this.field.options.onCreated) { + let customFunc = new Function(this.field.options.onCreated); + customFunc.call(this); + } + }, + handleOnMounted() { + if (this.designState) { + //设计状态不触发事件 + return; + } + if (this.field.options.onMounted) { + let mountFunc = new Function(this.field.options.onMounted); + mountFunc.call(this); + } + }, + registerToRefList(oldRefName) { + if (this.refList !== null && !!this.field.options.name) { + if (this.subFormItemFlag && !this.designState) { + //处理子表单元素(且非设计状态) + if (oldRefName) { + delete this.refList[oldRefName + '@row' + this.subFormRowId]; + } + this.refList[this.field.options.name + '@row' + this.subFormRowId] = this; + } else { + if (oldRefName) { + delete this.refList[oldRefName]; + } + this.refList[this.field.options.name] = this; + } + } + }, + unregisterFromRefList() { + //销毁组件时注销组件ref + if (this.refList !== null && !!this.field.options.name) { + let oldRefName = this.field.options.name; + if (this.subFormItemFlag && !this.designState) { + //处理子表单元素(且非设计状态) + delete this.refList[oldRefName + '@row' + this.subFormRowId]; + } else { + delete this.refList[oldRefName]; + } + } + }, + async initOptionItems(keepSelected) { + if (this.field.type === 'radio' || this.field.type === 'checkbox' || this.field.type === 'select' || this.field.type === 'cascader') { + // console.log('optionsType---->',this.field.options.optionType == 2) + /* 首先处理数据源选项加载 */ + if (this.field.options.optionType == 2) { + if (this.designState) { + return; + } + console.log('designState---->', this.designState); + this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项 + let curDSName = this.field.options.dsName; + let curDSetName = this.field.options.dataSetName; + let curDS = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* getDSByName */ "j"])(this.formConfig, curDSName); + if (!!curDS && !curDSetName) { + let gDsv = this.getGlobalDsv() || {}; + //console.log('Global DSV is: ', gDsv) + let localDsv = new Object({}); + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* overwriteObj */ "q"])(localDsv, gDsv); + localDsv['widgetName'] = this.field.options.name; + let dsResult = null; + let identiFication; + if (this.identiFication) { + identiFication = this.identiFication; + } else { + identiFication = this.getIdentiFication(); + } + try { + dsResult = await Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* runDataSourceRequest */ "w"])(curDS, localDsv, this.getFormRef(), false, this.$message, null, identiFication); + // 这里级联动组件数据结构会多一层 所以要取下一层数据 + if (identiFication === "PC") { + dsResult = dsResult.data[0].children; + } else if (identiFication === "PAD") { + if (curDS.channelType && curDS.channelType === "MultiEnded") { + dsResult = dsResult.data.retObj[0].children; + } + } + this.loadOptions(dsResult); + } catch (err) { + this.$message.error(err.message); + } + } else if (!!curDS && !!curDSetName && !this.dataSetLoadedFlag) { + this.loadOptionItemsFromDataSet(curDSName); + } + return; + } + if (this.field.options.optionType == 1 && !(this.field.type === 'cascader')) { + const optionItems = Object(_utils_setAllDic__WEBPACK_IMPORTED_MODULE_3__[/* loadOptionItemFromDict */ "b"])(this.field.options.dicname, this.field.options.filter, this.field.options.efilter); + + // 根据字典加载选项 + this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项 + // console.log(this.field.options.defaultValue,'---->defaultValue') + this.field.options.defaultValue = ''; + this.loadOptions(optionItems); + } + + /* 异步更新option-data之后globalOptionData不能获取到最新值,改用provide的getOptionData()方法 */ + const newOptionItems = this.getOptionData(); + if (!!newOptionItems && newOptionItems.hasOwnProperty(this.field.options.name)) { + if (keepSelected) { + this.reloadOptions(newOptionItems[this.field.options.name]); + } else { + this.loadOptions(newOptionItems[this.field.options.name]); + } + } + } + }, + loadOptionItemsFromDataSet(dsName) { + if (this.designState) { + return; + } + if (this.field.type !== 'radio' && this.field.type !== 'checkbox' && this.field.type !== 'select' && this.field.type !== 'cascader') { + return; + } + if (!this.field.options.dsEnabled || !this.field.options.dsName || !this.field.options.dataSetName || this.field.options.dsName !== dsName) { + return; + } + const dataCache = this.getDSResultCache(); + const dSetName = this.field.options.dataSetName; + if (!!dataCache && !!dataCache[dsName] && !!dataCache[dsName][dSetName]) { + this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项 + this.loadOptions(dataCache[dsName][dSetName]); + } + }, + refreshDefaultValue() { + if (this.designState === true && this.field.options.defaultValue !== undefined) { + console.log(this.field.options.defaultValue, this.fieldModel, '---->this.field.options.defaultValue'); + this.fieldModel = this.field.options.defaultValue; + } + }, + clearFieldRules() { + if (!this.field.formItemFlag) { + return; + } + this.rules.splice(0, this.rules.length); //清空已有 + }, + buildFieldRules() { + if (!this.field.formItemFlag || this.field.options.hidden) { + return; + } + this.rules.splice(0, this.rules.length); //清空已有 + if (this.field.options.required) { + this.rules.push({ + required: true, + //trigger: ['blur', 'change'], + trigger: ['blur'], + /* 去掉change事件触发校验,change事件触发时formModel数据尚未更新,导致radio/checkbox必填校验出错!! */ + message: this.field.options.requiredHint || this.i18nt('render.hint.fieldRequired') + }); + } + if (this.field.options.validation) { + let vldName = this.field.options.validation; + if (_utils_validators__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"][vldName]) { + this.rules.push({ + validator: _utils_validators__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"][vldName], + trigger: ['blur', 'change'], + label: this.field.options.label, + errorMsg: this.field.options.validationHint + }); + } else { + this.rules.push({ + validator: _utils_validators__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"]['regExp'], + trigger: ['blur', 'change'], + regExp: vldName, + label: this.field.options.label, + errorMsg: this.field.options.validationHint + }); + } + } + if (this.field.options.onValidate) { + //let customFn = new Function('rule', 'value', 'callback', this.field.options.onValidate) + let customFn = (rule, value, callback) => { + let tmpFunc = new Function('rule', 'value', 'callback', this.field.options.onValidate); + return tmpFunc.call(this, rule, value, callback); + }; + this.rules.push({ + validator: customFn, + trigger: ['blur', 'change'], + label: this.field.options.label + }); + } + }, + /** + * 禁用字段值变动触发表单校验 + */ + disableChangeValidate() { + if (!this.rules) { + return; + } + this.rules.forEach(rule => { + if (rule.trigger) { + rule.trigger.splice(0, rule.trigger.length); + } + }); + }, + /** + * 启用字段值变动触发表单校验 + */ + enableChangeValidate() { + if (!this.rules) { + return; + } + this.rules.forEach(rule => { + if (rule.trigger) { + rule.trigger.push('blur'); + rule.trigger.push('change'); + } + }); + }, + disableOptionOfList(optionList, optionValue) { + if (!!optionList && optionList.length > 0) { + optionList.forEach(opt => { + if (opt.value === optionValue) { + opt.disabled = true; + } + }); + } + }, + enableOptionOfList(optionList, optionValue) { + if (!!optionList && optionList.length > 0) { + optionList.forEach(opt => { + if (opt.value === optionValue) { + opt.disabled = false; + } + }); + } + }, + // 设置字典过滤项 + setFilter(filterValue) { + this.field.options.efilter = ''; + this.field.options.filter = filterValue; + const optionItems = Object(_utils_setAllDic__WEBPACK_IMPORTED_MODULE_3__[/* loadOptionItemFromDict */ "b"])(this.field.options.dicname, this.field.options.filter, this.field.options.efilter); + // 根据字典加载选项 + this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项 + this.field.options.defaultValue = ''; + this.reloadOptions(optionItems); + }, + // 设置字典保留项 + setEfilter(eFilterValue) { + this.field.options.filter = ''; + this.field.options.efilter = eFilterValue; + const optionItems = Object(_utils_setAllDic__WEBPACK_IMPORTED_MODULE_3__[/* loadOptionItemFromDict */ "b"])(this.field.options.dicname, this.field.options.filter, this.field.options.efilter); + // 根据字典加载选项 + this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项 + this.field.options.defaultValue = ''; + this.reloadOptions(optionItems); + }, + //--------------------- 组件内部方法 end ------------------// + + //--------------------- 事件处理 begin ------------------// + emitFieldDataChange(newValue, oldValue) { + this.$emit('field-value-changed', [newValue, oldValue]); + + /* 必须用dispatch向指定父组件派发消息!! */ + this.dispatch('VFormRender', 'fieldChange', [this.field.options.name, newValue, oldValue, this.subFormName, this.subFormRowIndex]); + }, + syncUpdateFormModel(value) { + if (this.designState) { + return; + } + if (this.subFormItemFlag) { + let subFormData = this.formModel[this.subFormName] || [{}]; + let subFormDataRow = subFormData[this.subFormRowIndex]; + subFormDataRow[this.field.options.name] = value; + } else { + this.formModel[this.field.options.name] = value; + } + }, + handleChangeEvent(value) { + /* input的清除输入小按钮会同时触发handleChangeEvent、handleInputCustomEvent!! */ + if (this.designState) { + //设计状态不触发事件 + return; + } + this.syncUpdateFormModel(value); + this.emitFieldDataChange(value, this.oldFieldValue); + + //number组件一般不会触发focus事件,故此处需要手工赋值oldFieldValue!! + this.oldFieldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(value); /* oldFieldValue需要在initFieldModel()方法中赋初值!! */ + + /* 主动触发表单的单个字段校验,用于清除字段可能存在的校验错误提示 */ + this.dispatch('VFormRender', 'fieldValidation', [this.getPropName()]); + }, + handleFocusCustomEvent(event) { + if (this.designState) { + //设计状态不触发事件 + return; + } + this.moneyInput = this.fieldModel; + //保存修改change之前的值 + if (this.field.type !== 'select') { + this.oldFieldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); + } + if (this.field.options.onFocus) { + let customFn = new Function('event', this.field.options.onFocus); + customFn.call(this, event); + } + }, + handleBlurCustomEvent(event) { + // 失去焦点的时候千分位 + this.fieldModel = event.target.value; + this.moneyInput = this.formatNumberWithCommasAndDecimal(event.target.value); + if (this.designState) { + //设计状态不触发事件 + return; + } + if (this.field.options.onBlur) { + let customFn = new Function('event', this.field.options.onBlur); + customFn.call(this, event); + } + }, + handleInputCustomEvent(value) { + // 如果选择的是千分位 就左提示 + if (this.field.options.type === 'money') { + if (isNaN(Number(value))) return; + if (value.length > 15) return; + this.moneyInput = value; + } + if (this.designState) { + //设计状态不触发事件 + return; + } + this.syncUpdateFormModel(value); + + /* 主动触发表单的单个字段校验,用于清除字段可能存在的校验错误提示 */ + this.dispatch('VFormRender', 'fieldValidation', [this.getPropName()]); + if (this.field.options.onInput) { + let customFn = new Function('value', this.field.options.onInput); + customFn.call(this, value); + } + }, + emitAppendButtonClick() { + if (this.designState) { + //设计状态不触发点击事件 + return; + } + if (this.field.options.onAppendButtonClick) { + let customFn = new Function(this.field.options.onAppendButtonClick); + customFn.call(this); + } else { + /* 必须调用mixins中的dispatch方法逐级向父组件发送消息!! */ + this.dispatch('VFormRender', 'appendButtonClick', [this]); + } + }, + handleOnChange(val, oldVal) { + //自定义onChange事件 + if (this.designState) { + //设计状态不触发事件 + return; + } + if (this.field.options.onChange) { + let changeFn = new Function('value', 'oldValue', this.field.options.onChange); + changeFn.call(this, val, oldVal); + } + }, + handleOnChangeForSubForm(val, oldVal, subFormData, rowId) { + //子表单自定义onChange事件 + if (this.designState) { + //设计状态不触发事件 + return; + } + if (this.field.options.onChange) { + let changeFn = new Function('value', 'oldValue', 'subFormData', 'rowId', this.field.options.onChange); + changeFn.call(this, val, oldVal, subFormData, rowId); + } + }, + handleButtonWidgetClick() { + if (this.designState) { + //设计状态不触发点击事件 + return; + } + if (this.field.options.onClick) { + let customFn = new Function(this.field.options.onClick); + customFn.call(this); + } else { + this.dispatch('VFormRender', 'buttonClick', [this]); + } + }, + remoteQuery(keyword) { + if (this.designState) { + //设计状态不触发事件 + return; + } + if (this.field.options.onRemoteQuery) { + let remoteFn = new Function('keyword', this.field.options.onRemoteQuery); + remoteFn.call(this, keyword); + } + }, + //--------------------- 事件处理 end ------------------// + + //--------------------- 以下为组件支持外部调用的API方法 begin ------------------// + /* 提示:用户可自行扩充这些方法!!! */ + + getFormRef() { + /* 获取VFrom引用,必须在VForm组件created之后方可调用 */ + return this.refList['v_form_ref']; + }, + getWidgetRef(widgetName, showError) { + let foundRef = this.refList[widgetName]; + if (!foundRef && !!showError) { + this.$message.error(this.i18nt('render.hint.refNotFound') + widgetName); + } + return foundRef; + }, + getFieldEditor() { + //获取内置的el表单组件 + return this.$refs['fieldEditor']; + }, + /* + 注意:VFormRender的setFormData方法不会触发子表单内field-widget的setValue方法, + 因为setFormData方法调用后,子表单内所有field-widget组件已被清空,接收不到setFormData事件!! + */ + setValue(newValue, disableChangeEvent = false) { + /* if ((this.field.type === 'picture-upload') || (this.field.type === 'file-upload')) { + this.fileList = newValue + } else */ + if (this.field.formItemFlag) { + let oldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); + this.fieldModel = newValue; + // 初始化赋值的时候防止切换的时候拿不到oldvalue + if (!oldValue && this.field.type === 'select') { + oldValue = newValue; + this.oldFieldValue = newValue; + } + this.initFileList(); + this.syncUpdateFormModel(newValue); + if (!disableChangeEvent) { + this.emitFieldDataChange(newValue, oldValue); + } + } + }, + getValue() { + return this.fieldModel; + }, + /** + * 返回选项类字段的当前选中项的label值 + */ + getSelectedLabel() { + //TODO: 待实现!! + }, + resetField(disableChangeEvent = false) { + if (this.subFormItemFlag) { + //跳过子表单组件 + return; + } + let defaultValue = this.field.options.defaultValue; + this.setValue(defaultValue, disableChangeEvent); + + //清空上传组件文件列表 + if (this.field.type === 'picture-upload' || this.field.type === 'file-upload') { + if (this.$refs['fieldEditor']) { + //如果组件未隐藏 + this.$refs['fieldEditor'].clearFiles(); + } + this.fileList.splice(0, this.fileList.length); + } + }, + setWidgetOption(optionName, optionValue) { + //通用组件选项修改API + if (this.field.options.hasOwnProperty(optionName)) { + this.field.options[optionName] = optionValue; + //TODO: 是否重新构建组件??有些属性修改后必须重新构建组件才能生效,比如字段校验规则。 + } + }, + setReadonly(flag) { + this.field.options.readonly = flag; + }, + setDisabled(flag) { + this.field.options.disabled = flag; + }, + setAppendButtonVisible(flag) { + this.field.options.appendButton = flag; + }, + setAppendButtonDisabled(flag) { + this.field.options.appendButtonDisabled = flag; + }, + setHidden(flag) { + this.field.options.hidden = flag; + if (flag) { + //清除组件校验规则 + this.clearFieldRules(); + } else { + //重建组件校验规则 + this.buildFieldRules(); + } + }, + setRequired(flag) { + this.field.options.required = flag; + this.buildFieldRules(); + if (!this.designState && !flag) { + //清除必填校验提示 + this.clearValidate(); + } + }, + // 动态设置校验规则 + setValidation(ruleName) { + this.field.options.validation = ruleName; + this.buildFieldRules(); + if (!this.designState && !ruleName) { + //清除必填校验提示 + this.clearValidate(); + } + }, + /** + * 清除字段校验提示 + */ + clearValidate() { + if (this.designState) { + return; + } + console.log("validation", this.field.options.validation); + this.field.options.validation = ""; + this.getFormRef().getNativeForm().clearValidate(this.getPropName()); + }, + setLabel(newLabel) { + this.field.options.label = newLabel; + }, + focus() { + if (!!this.getFieldEditor() && !!this.getFieldEditor().focus) { + this.getFieldEditor().focus(); + } + }, + clearSelectedOptions() { + //清空已选选项 + if (this.field.type !== 'checkbox' && this.field.type !== 'radio' && this.field.type !== 'select') { + return; + } + if (this.field.type === 'checkbox' || this.field.type === 'select' && this.field.options.multiple) { + this.fieldModel = []; + } else { + this.fieldModel = ''; + } + }, + /** + * 加载选项,并清空字段值 + * @param options + */ + loadOptions(options) { + // this.field.options.optionItems = deepClone(options) + this.clearSelectedOptions(); //清空已选选项 + + this.field.options.optionItems = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* translateOptionItems */ "x"])(options, this.field.type, this.field.options.labelKey || 'label', this.field.options.valueKey || 'value'); + }, + /** + * 重新加载选项,不清空字段值 + * @param options + */ + reloadOptions(options) { + // this.field.options.optionItems = deepClone(options) + // this.clearSelectedOptions() //清空已选选项 + + this.field.options.optionItems = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* translateOptionItems */ "x"])(options, this.field.type, this.field.options.labelKey || 'label', this.field.options.valueKey || 'value'); + }, + /** + * 返回radio/checkbox/select/cascader的选项数据 + * @returns 选择项数组 + */ + getOptions() { + return this.field.options.optionItems; + }, + disableOption(optionValue) { + this.disableOptionOfList(this.field.options.optionItems, optionValue); + }, + enableOption(optionValue) { + this.enableOptionOfList(this.field.options.optionItems, optionValue); + }, + /** + * 返回选择项 + * @returns {*} + */ + getOptionItems() { + return this.field.options.optionItems; + }, + setUploadHeader(name, value) { + this.$set(this.uploadHeaders, name, value); + }, + setUploadData(name, value) { + this.$set(this.uploadData, name, value); + }, + setToolbar(customToolbar) { + this.customToolbar = customToolbar; + }, + /** + * 是否子表单内嵌的字段组件 + * @returns {boolean} + */ + isSubFormItem() { + return this.subFormItemFlag; + }, + /** + * 是否子表单内嵌的字段组件 + * @returns {boolean} + */ + isSubFormField() { + return this.subFormItemFlag; + }, + /** + * 设置或取消设置字段只读查看模式 + * @param readonlyFlag + */ + setReadMode(readonlyFlag = true) { + this.fieldReadonlyFlag = readonlyFlag; + }, + /** + * 动态增加自定义css样式 + * @param className + */ + addCssClass(className) { + if (!this.field.options.customClass) { + this.field.options.customClass = [className]; + } else { + this.field.options.customClass.push(className); + } + }, + /** + * 动态移除自定义css样式 + * @param className + */ + removeCssClass(className) { + if (!this.field.options.customClass) { + return; + } + let foundIdx = -1; + this.field.options.customClass.map((cc, idx) => { + if (cc === className) { + foundIdx = idx; + } + }); + if (foundIdx > -1) { + this.field.options.customClass.splice(foundIdx, 1); + } + }, + //--------------------- 以上为组件支持外部调用的API方法 end ------------------// + // wangzheng 20240819 input框增加千分位 + formatNumberWithCommasAndDecimal(value) { + if (!value) return value; + return Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* formatNumberWithCommasAndDecimal */ "e"])(value); + } + } +}); + +/***/ }), + +/***/ "2d83": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var enhanceError = __webpack_require__("387f"); + +/** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The created error. + */ +module.exports = function createError(message, config, code, request, response) { + var error = new Error(message); + return enhanceError(error, config, code, request, response); +}; + + +/***/ }), + +/***/ "2e67": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = function isCancel(value) { + return !!(value && value.__CANCEL__); +}; + + +/***/ }), + +/***/ "2faa": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=template&id=472c31c2&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-rate',{ref:"fieldEditor",attrs:{"disabled":_vm.field.options.disabled,"max":_vm.field.options.max,"low-threshold":_vm.field.options.lowThreshold,"high-threshold":_vm.field.options.highThreshold,"allow-half":_vm.field.options.allowHalf,"show-text":_vm.field.options.showText,"show-score":_vm.field.options.showScore},on:{"change":_vm.handleChangeEvent},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}})],1)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=template&id=472c31c2&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var rate_widgetvue_type_script_lang_js = ({ + name: "rate-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + FormItemWrapper: form_item_wrapper["default"] + }, + inject: ['refList', 'globalOptionData', 'globalModel'], + data() { + return { + oldFieldValue: null, + //field组件change之前的值 + fieldModel: null, + rules: [] + }; + }, + computed: {}, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initFieldModel(); + this.initEventHandler(); + this.buildFieldRules(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: {} +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_rate_widgetvue_type_script_lang_js = (rate_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=style&index=0&id=472c31c2&prod&lang=scss&scoped=true +var rate_widgetvue_type_style_index_0_id_472c31c2_prod_lang_scss_scoped_true = __webpack_require__("1da3"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/rate-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_rate_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "472c31c2", + null + +) + +/* harmony default export */ var rate_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "2fee": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_dynamic_drawer_vue_vue_type_style_index_0_id_4ae3d07d_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("905c"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_dynamic_drawer_vue_vue_type_style_index_0_id_4ae3d07d_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_dynamic_drawer_vue_vue_type_style_index_0_id_4ae3d07d_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "30ae": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/table-high-level-column.vue?vue&type=template&id=a5967992&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!!_vm.columnSchema.headerFlag && (!!_vm.columnSchema.children && _vm.columnSchema.children.length > 0))?_c('el-table-column',{attrs:{"label":_vm.columnSchema.label,"align":_vm.columnSchema.align ? _vm.columnSchema.align : 'center'}},[_vm._l((_vm.columnSchema.children),function(child,idx){return [_c('table-high-level-column',{attrs:{"column-schema":child,"data-table-ref":_vm.dataTableRef,"column-index":idx}})]})],2):(!_vm.columnSchema.headerFlag && (_vm.columnSchema.show !== false) && !_vm.columnSchema.children)?_c('el-table-column',{key:_vm.columnSchema.columnId,attrs:{"prop":_vm.columnSchema.prop,"label":_vm.columnSchema.label,"sortable":_vm.getSortable(_vm.columnSchema),"fixed":!_vm.columnSchema.fixed ? false : _vm.columnSchema.fixed,"align":_vm.columnSchema.align ? _vm.columnSchema.align:'center',"formatter":_vm.formatterValue,"format":_vm.columnSchema.format,"show-overflow-tooltip":true,"min-width":_vm.columnSchema.width},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [(_vm.columnSchema.formatS === 'render' && !!_vm.columnSchema.render)?[_c('table-column-custom-render',{attrs:{"row":scope.row,"column":_vm.columnSchema,"data-table-ref":_vm.dataTableRef,"row-index":scope.$index,"column-index":_vm.columnIndex,"renderFn":_vm.getColumnRender(scope.row, _vm.columnSchema)}})]:(!!_vm.columnSchema.formatS && (_vm.columnSchema.formatS !== 'renders'))?[_c('span',[_vm._v(_vm._s(_vm.formatterValue(scope.row, _vm.columnSchema, scope.row[_vm.columnSchema.prop])))])]:[_c('span',[_vm._v(_vm._s(scope.row[_vm.columnSchema.prop]))])]]}}])}):_vm._e()} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-render/table-high-level-column.vue?vue&type=template&id=a5967992&scoped=true + +// EXTERNAL MODULE: ./src/utils/format.js +var format = __webpack_require__("6be8"); + +// EXTERNAL MODULE: ./src/components/form-render/table-column-custom-render.js +var table_column_custom_render = __webpack_require__("eb47"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/table-high-level-column.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var table_high_level_columnvue_type_script_lang_js = ({ + name: "table-high-level-column", + props: { + columnSchema: { + type: Object + }, + dataTableRef: { + type: Object + }, + columnIndex: { + type: Number + } + }, + components: { + TableColumnCustomRender: table_column_custom_render["a" /* default */] + }, + methods: { + getSortable(column) { + return !column.sortable ? false : !!column.customSort ? 'custom' : true; + }, + formatterValue(row, column, cellValue) { + if (!cellValue) { + return ''; + } + if (!!column.formatS && !!column.show) { + switch (column.formatS) { + case 'd1': + return Object(format["a" /* formatDate1 */])(cellValue); + case 'd2': + return Object(format["b" /* formatDate2 */])(cellValue); + case 'd3': + return Object(format["c" /* formatDate3 */])(cellValue); + case 'd4': + return Object(format["d" /* formatDate4 */])(cellValue); + case 'd5': + return Object(format["e" /* formatDate5 */])(cellValue); + case 'n1': + return Object(format["f" /* formatNumber1 */])(cellValue); + case 'n2': + return Object(format["g" /* formatNumber2 */])(cellValue); + case 'n3': + return Object(format["h" /* formatNumber3 */])(cellValue); + case 'n4': + return Object(format["i" /* formatNumber4 */])(cellValue); + case 'n5': + return Object(format["j" /* formatNumber5 */])(cellValue); + case 'n6': + return Object(format["k" /* formatNumber6 */])(cellValue); + case 'n7': + return Object(format["l" /* formatNumber7 */])(cellValue); + case 'tableDic': + return Object(format["m" /* formatTableDic */])(cellValue, column.tableDic); + } + } + return cellValue; + }, + getColumnRender(row, column) { + /* TODO: 每个table-cell,render函数会执行2次,原因不明!!! */ + return new Function('h', 'params', 'components', column.render); + } + } +}); +// CONCATENATED MODULE: ./src/components/form-render/table-high-level-column.vue?vue&type=script&lang=js + /* harmony default export */ var form_render_table_high_level_columnvue_type_script_lang_js = (table_high_level_columnvue_type_script_lang_js); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-render/table-high-level-column.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + form_render_table_high_level_columnvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "a5967992", + null + +) + +/* harmony default export */ var table_high_level_column = __webpack_exports__["a"] = (component.exports); + +/***/ }), + +/***/ "30b5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); + +function encode(val) { + return encodeURIComponent(val). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @returns {string} The formatted url + */ +module.exports = function buildURL(url, params, paramsSerializer) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + var serializedParams; + if (paramsSerializer) { + serializedParams = paramsSerializer(params); + } else if (utils.isURLSearchParams(params)) { + serializedParams = params.toString(); + } else { + var parts = []; + + utils.forEach(params, function serialize(val, key) { + if (val === null || typeof val === 'undefined') { + return; + } + + if (utils.isArray(val)) { + key = key + '[]'; + } else { + val = [val]; + } + + utils.forEach(val, function parseValue(v) { + if (utils.isDate(v)) { + v = v.toISOString(); + } else if (utils.isObject(v)) { + v = JSON.stringify(v); + } + parts.push(encode(key) + '=' + encode(v)); + }); + }); + + serializedParams = parts.join('&'); + } + + if (serializedParams) { + var hashmarkIndex = url.indexOf('#'); + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; +}; + + +/***/ }), + +/***/ "34f0": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("14d9"); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("ca00"); + + +/* harmony default export */ __webpack_exports__["a"] = ({ + inject: ['getFormConfig', 'getGlobalDsv'], + computed: { + customClass() { + return this.widget.options.customClass || ''; + }, + formModel: { + cache: false, + get() { + return this.globalModel.formModel; + } + } + }, + mounted() { + this.callSetHidden(); + }, + methods: { + cloneWidgetSchema(widget) { + return Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(widget); + /** + * 注意:在v-for循环中,必须保证克隆对象与原对象完全一致,修改克隆对象任何属性, + * 都会触发组件的beforeDestroy事件钩子!!! + */ + + // let newWidgetSchema = deepClone(widget) + // newWidgetSchema.id = widget.type + generateId() + // return newWidgetSchema + }, + unregisterFromRefList() { + //销毁容器组件时注销组件ref + if (this.refList !== null && !!this.widget.options.name) { + let oldRefName = this.widget.options.name; + delete this.refList[oldRefName]; + } + }, + /* 主动触发setHidden()方法,以清空被隐藏容器内字段组件的校验规则!! */ + callSetHidden() { + if (this.widget.options.hidden === true) { + this.setHidden(true); + } + }, + //--------------------- 以下为组件支持外部调用的API方法 begin ------------------// + /* 提示:用户可自行扩充这些方法!!! */ + + setHidden(flag) { + this.widget.options.hidden = flag; + const fwHandler = fw => { + let fwName = fw.options.name; + let fwRef = this.getWidgetRef(fwName); + if (flag && !!fwRef && !!fwRef.clearFieldRules) { + fwRef.clearFieldRules(); + } + if (!flag && !!fwRef && !!fwRef.buildFieldRules) { + fwRef.buildFieldRules(); + } + }; + let sfArray = []; + const cwHandler = cw => { + if (cw.type === 'sub-form' || cw.type === 'grid-sub-form') { + sfArray.push(cw); + } + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseWidgetsOfContainer */ "B"])(this.widget, fwHandler, cwHandler); + sfArray.forEach(sf => { + const sfRef = this.getWidgetRef(sf.options.name); + if (!!sfRef) { + const rowIds = sfRef.getRowIdData(); + const sfwHandler = sfw => { + if (!!rowIds && rowIds.length > 0) { + rowIds.forEach(rid => { + const sfwName = sfw.options.name + '@row' + rid; + const sfwRef = this.getWidgetRef(sfwName); + if (flag && !!sfwRef && !!sfwRef.clearFieldRules) { + sfwRef.clearFieldRules(); + } + if (!flag && !!sfwRef && !!sfwRef.buildFieldRules) { + sfwRef.buildFieldRules(); + } + }); + } + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "A"])(sfRef.widget, sfwHandler); + } + }); + }, + /** + * 禁用或启用容器组件(包含容器内部的所有组件) + * @param flag + */ + setDisabled(flag) { + const fwHandler = fw => { + const fwName = fw.options.name; + const fwRef = this.getWidgetRef(fwName); + if (!!fwRef && !!fwRef.setDisabled) { + fwRef.setDisabled(flag); + } + }; + const cwHandler = cw => { + if (cw.id === this.widget.id) { + //避免死循环!!! + return; + } + const cwName = cw.options.name; + const cwRef = this.getWidgetRef(cwName); + if (!!cwRef && !!cwRef.setDisabled) { + cwRef.setDisabled(flag); + } + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseWidgetsOfContainer */ "B"])(this.widget, fwHandler, cwHandler); + + //注意:单行子表单、多行子表单容器的setDisabled方法由单行子表单、多行子表单组件自己实现!! + }, + activeTab(tabIndex) { + //tabIndex从0计数 + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs.forEach((tp, idx) => { + tp.options.active = idx === tabIndex; + if (idx === tabIndex) { + this.activeTabName = tp.options.name; + } + }); + } + }, + disableTab(tabIndex) { + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs[tabIndex].options.disabled = true; + } + }, + enableTab(tabIndex) { + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs[tabIndex].options.disabled = false; + } + }, + hideTab(tabIndex) { + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs[tabIndex].options.hidden = true; + } + }, + showTab(tabIndex) { + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs[tabIndex].options.hidden = false; + } + }, + setWidgetOption(optionName, optionValue) { + //通用组件选项修改API + if (this.widget.options.hasOwnProperty(optionName)) { + this.widget.options[optionName] = optionValue; + } + }, + /** + * 获取子表单的行数 + */ + getSubFormRowCount() { + return !this.rowIdData ? 0 : this.rowIdData.length; + }, + setGridSubFormRowDisabled(rowId, disabledFlag) { + const fwHandler = fw => { + const fwName = fw.options.name + '@row' + rowId; + const fwRef = this.getWidgetRef(fwName); + if (!!fwRef && !!fwRef.setDisabled) { + fwRef.setDisabled(disabledFlag); + } + }; + const cwHandler = cw => { + const cwName = cw.options.name + '@row' + rowId; + const cwRef = this.getWidgetRef(cwName); + if (!!cwRef && !!cwRef.setDisabled) { + cwRef.setDisabled(disabledFlag); + } + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseWidgetsOfContainer */ "B"])(this.widget, fwHandler, cwHandler); + }, + disableSubFormRow(rowIndex) { + if (this.widget.type === 'sub-form') { + this.widget.widgetList.forEach(subWidget => { + let swRefName = subWidget.options.name + '@row' + this.rowIdData[rowIndex]; + let foundSW = this.getWidgetRef(swRefName); + if (!!foundSW && !!foundSW.setDisabled) { + foundSW.setDisabled(true); + } + }); + } else if (this.widget.type === 'grid-sub-form') { + this.setGridSubFormRowDisabled(this.rowIdData[rowIndex], true); + } + }, + enableSubFormRow(rowIndex) { + if (this.widget.type === 'sub-form') { + this.widget.widgetList.forEach(subWidget => { + let swRefName = subWidget.options.name + '@row' + this.rowIdData[rowIndex]; + let foundSW = this.getWidgetRef(swRefName); + if (!!foundSW && !!foundSW.setDisabled) { + foundSW.setDisabled(false); + } + }); + } else if (this.widget.type === 'grid-sub-form') { + this.setGridSubFormRowDisabled(this.rowIdData[rowIndex], false); + } + }, + disableSubForm() { + this.widget.widgetList.forEach(subWidget => { + subWidget.options.disabled = true; + }); + if (this.rowIdData.length > 0) { + this.rowIdData.forEach((dataRow, rIdx) => { + this.disableSubFormRow(rIdx); + }); + } + + //禁用3个操作按钮 + this.actionDisabled = true; + }, + enableSubForm() { + this.widget.widgetList.forEach(subWidget => { + subWidget.options.disabled = false; + }); + if (this.rowIdData.length > 0) { + this.rowIdData.forEach((dataRow, rIdx) => { + this.enableSubFormRow(rIdx); + }); + } + + //启用3个操作按钮 + this.actionDisabled = false; + }, + disableGridSubFormRow(rowIndex) { + let gsfFWList = []; + let fieldListFn = fw => { + gsfFWList.push(fw); + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "A"])(this.widget, fieldListFn); + gsfFWList.forEach(fw => { + let swRefName = fw.options.name + '@row' + this.rowIdData[rowIndex]; + let foundSW = this.getWidgetRef(swRefName); + if (!!foundSW && !!foundSW.setDisabled) { + foundSW.setDisabled(true); + } + }); + }, + enableGridSubFormRow(rowIndex) { + let gsfFWList = []; + let fieldListFn = fw => { + gsfFWList.push(fw); + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "A"])(this.widget, fieldListFn); + gsfFWList.forEach(fw => { + let swRefName = fw.options.name + '@row' + this.rowIdData[rowIndex]; + let foundSW = this.getWidgetRef(swRefName); + if (!!foundSW && !!foundSW.setDisabled) { + foundSW.setDisabled(false); + } + }); + }, + disableGridSubForm() { + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "A"])(this.widget, fw => { + fw.options.disabled = true; + }); + if (this.rowIdData.length > 0) { + this.rowIdData.forEach((dataRow, rIdx) => { + this.disableGridSubFormRow(rIdx); + }); + } + + //禁用3个操作按钮 + this.actionDisabled = true; + }, + enableGridSubForm() { + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "A"])(this.widget, fw => { + fw.options.disabled = false; + }); + if (this.rowIdData.length > 0) { + this.rowIdData.forEach((dataRow, rIdx) => { + this.enableGridSubFormRow(rIdx); + }); + } + + //启用3个操作按钮 + this.actionDisabled = false; + }, + resetSubForm() { + //重置subForm数据为空 + if (this.widget.type === 'sub-form' || this.widget.type === 'grid-sub-form') { + let subFormModel = this.formModel[this.widget.options.name]; + if (!!subFormModel) { + subFormModel.splice(0, subFormModel.length); + this.rowIdData.splice(0, this.rowIdData.length); + } + if (this.widget.options.showBlankRow) { + this.addSubFormRow(); + } + } + }, + getSubFormValues(needValidation = true) { + if (this.widget.type === 'sub-form' || this.widget.type === 'grid-sub-form') { + //TODO: 逐行校验子表单!暂未实现!! + return this.formModel[this.widget.options.name]; + } else { + this.$message.error(this.i18nt('render.hint.nonSubFormType')); + } + }, + setSubFormValues(subFormValues) { + //在sub-form-item、grid-sub-form-item中实现!! + }, + // validateField(fieldName) { //逐行校验子表单字段 + // //TODO: + // }, + // + // validateSubForm() { //逐行校验子表单全部字段 + // //TODO: + // }, + + /** + * 动态增加自定义css样式 + * @param className + */ + addCssClass(className) { + if (!this.widget.options.customClass) { + this.widget.options.customClass = [className]; + } else { + this.widget.options.customClass.push(className); + } + }, + /** + * 动态移除自定义css样式 + * @param className + */ + removeCssClass(className) { + if (!this.widget.options.customClass) { + return; + } + let foundIdx = -1; + this.widget.options.customClass.map((cc, idx) => { + if (cc === className) { + foundIdx = idx; + } + }); + if (foundIdx > -1) { + this.widget.options.customClass.splice(foundIdx, 1); + } + } + + //--------------------- 以上为组件支持外部调用的API方法 end ------------------// + } +}); + +/***/ }), + +/***/ "3511": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $TypeError = TypeError; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991 + +module.exports = function (it) { + if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded'); + return it; +}; + + +/***/ }), + +/***/ "35bf": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_textarea_widget_vue_vue_type_style_index_0_id_c7c7c6e6_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("b32d"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_textarea_widget_vue_vue_type_style_index_0_id_c7c7c6e6_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_textarea_widget_vue_vue_type_style_index_0_id_c7c7c6e6_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "36f2": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var globalThis = __webpack_require__("cfe9"); +var getBuiltInNodeModule = __webpack_require__("2a07"); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__("dbe5"); + +var structuredClone = globalThis.structuredClone; +var $ArrayBuffer = globalThis.ArrayBuffer; +var $MessageChannel = globalThis.MessageChannel; +var detach = false; +var WorkerThreads, channel, buffer, $detach; + +if (PROPER_STRUCTURED_CLONE_TRANSFER) { + detach = function (transferable) { + structuredClone(transferable, { transfer: [transferable] }); + }; +} else if ($ArrayBuffer) try { + if (!$MessageChannel) { + WorkerThreads = getBuiltInNodeModule('worker_threads'); + if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel; + } + + if ($MessageChannel) { + channel = new $MessageChannel(); + buffer = new $ArrayBuffer(2); + + $detach = function (transferable) { + channel.port1.postMessage(null, [transferable]); + }; + + if (buffer.byteLength === 2) { + $detach(buffer); + if (buffer.byteLength === 0) detach = $detach; + } + } +} catch (error) { /* empty */ } + +module.exports = detach; + + +/***/ }), + +/***/ "382a": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "384f": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); +var iterateSimple = __webpack_require__("5388"); +var SetHelpers = __webpack_require__("cb27"); + +var Set = SetHelpers.Set; +var SetPrototype = SetHelpers.proto; +var forEach = uncurryThis(SetPrototype.forEach); +var keys = uncurryThis(SetPrototype.keys); +var next = keys(new Set()).next; + +module.exports = function (set, fn, interruptible) { + return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn); +}; + + +/***/ }), + +/***/ "387f": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +/** + * Update an Error with the specified config, error code, and response. + * + * @param {Error} error The error to update. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The error. + */ +module.exports = function enhanceError(error, config, code, request, response) { + error.config = config; + if (code) { + error.code = code; + } + + error.request = request; + error.response = response; + error.isAxiosError = true; + + error.toJSON = function toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: this.config, + code: this.code + }; + }; + return error; +}; + + +/***/ }), + +/***/ "3934": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); + +module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs have full support of the APIs needed to test + // whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + var msie = /(msie|trident)/i.test(navigator.userAgent); + var urlParsingNode = document.createElement('a'); + var originURL; + + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + var href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })() +); + + +/***/ }), + +/***/ "395e": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aSet = __webpack_require__("dc19"); +var has = __webpack_require__("cb27").has; +var size = __webpack_require__("8e16"); +var getSetRecord = __webpack_require__("7f65"); +var iterateSimple = __webpack_require__("5388"); +var iteratorClose = __webpack_require__("2a62"); + +// `Set.prototype.isSupersetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf +module.exports = function isSupersetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) < otherRec.size) return false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (!has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), + +/***/ "3a34": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__("83ab"); +var isArray = __webpack_require__("e8b5"); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Safari < 13 does not throw an error in this case +var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () { + // makes no sense without proper strict mode support + if (this !== undefined) return true; + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).length = 1; + } catch (error) { + return error instanceof TypeError; + } +}(); + +module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { + if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) { + throw new $TypeError('Cannot set read only .length'); + } return O.length = length; +} : function (O, length) { + return O.length = length; +}; + + +/***/ }), + +/***/ "3a9b": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); + +module.exports = uncurryThis({}.isPrototypeOf); + + +/***/ }), + +/***/ "3ad3": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=template&id=425439ae&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-color-picker',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],ref:"fieldEditor",attrs:{"disabled":_vm.field.options.disabled},on:{"change":_vm.handleChangeEvent},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}}),(_vm.isReadMode)?[_c('span',{staticClass:"readonly-mode-field"},[_vm._v(_vm._s(_vm.fieldModel))])]:_vm._e()],2)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=template&id=425439ae&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var color_widgetvue_type_script_lang_js = ({ + name: "color-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + FormItemWrapper: form_item_wrapper["default"] + }, + inject: ['refList', 'globalOptionData', 'globalModel'], + data() { + return { + oldFieldValue: null, + //field组件change之前的值 + fieldModel: null, + rules: [] + }; + }, + computed: {}, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initFieldModel(); + this.initEventHandler(); + this.buildFieldRules(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: {} +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_color_widgetvue_type_script_lang_js = (color_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=style&index=0&id=425439ae&prod&lang=scss&scoped=true +var color_widgetvue_type_style_index_0_id_425439ae_prod_lang_scss_scoped_true = __webpack_require__("8769"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/color-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_color_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "425439ae", + null + +) + +/* harmony default export */ var color_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "3bbe": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isPossiblePrototype = __webpack_require__("1787"); + +var $String = String; +var $TypeError = TypeError; + +module.exports = function (argument) { + if (isPossiblePrototype(argument)) return argument; + throw new $TypeError("Can't set " + $String(argument) + ' as a prototype'); +}; + + +/***/ }), + +/***/ "3c4e": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var isMergeableObject = function isMergeableObject(value) { + return isNonNullObject(value) + && !isSpecial(value) +}; + +function isNonNullObject(value) { + return !!value && typeof value === 'object' +} + +function isSpecial(value) { + var stringValue = Object.prototype.toString.call(value); + + return stringValue === '[object RegExp]' + || stringValue === '[object Date]' + || isReactElement(value) +} + +// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25 +var canUseSymbol = typeof Symbol === 'function' && Symbol.for; +var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7; + +function isReactElement(value) { + return value.$$typeof === REACT_ELEMENT_TYPE +} + +function emptyTarget(val) { + return Array.isArray(val) ? [] : {} +} + +function cloneIfNecessary(value, optionsArgument) { + var clone = optionsArgument && optionsArgument.clone === true; + return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value +} + +function defaultArrayMerge(target, source, optionsArgument) { + var destination = target.slice(); + source.forEach(function(e, i) { + if (typeof destination[i] === 'undefined') { + destination[i] = cloneIfNecessary(e, optionsArgument); + } else if (isMergeableObject(e)) { + destination[i] = deepmerge(target[i], e, optionsArgument); + } else if (target.indexOf(e) === -1) { + destination.push(cloneIfNecessary(e, optionsArgument)); + } + }); + return destination +} + +function mergeObject(target, source, optionsArgument) { + var destination = {}; + if (isMergeableObject(target)) { + Object.keys(target).forEach(function(key) { + destination[key] = cloneIfNecessary(target[key], optionsArgument); + }); + } + Object.keys(source).forEach(function(key) { + if (!isMergeableObject(source[key]) || !target[key]) { + destination[key] = cloneIfNecessary(source[key], optionsArgument); + } else { + destination[key] = deepmerge(target[key], source[key], optionsArgument); + } + }); + return destination +} + +function deepmerge(target, source, optionsArgument) { + var sourceIsArray = Array.isArray(source); + var targetIsArray = Array.isArray(target); + var options = optionsArgument || { arrayMerge: defaultArrayMerge }; + var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; + + if (!sourceAndTargetTypesMatch) { + return cloneIfNecessary(source, optionsArgument) + } else if (sourceIsArray) { + var arrayMerge = options.arrayMerge || defaultArrayMerge; + return arrayMerge(target, source, optionsArgument) + } else { + return mergeObject(target, source, optionsArgument) + } +} + +deepmerge.all = function deepmergeAll(array, optionsArgument) { + if (!Array.isArray(array) || array.length < 2) { + throw new Error('first argument should be an array with at least two elements') + } + + // we are sure there are at least 2 values, so it is safe to have no initial value + return array.reduce(function(prev, next) { + return deepmerge(prev, next, optionsArgument) + }) +}; + +var deepmerge_1 = deepmerge; + +module.exports = deepmerge_1; + + +/***/ }), + +/***/ "3c5d": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var globalThis = __webpack_require__("cfe9"); +var call = __webpack_require__("c65b"); +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var lengthOfArrayLike = __webpack_require__("07fa"); +var toOffset = __webpack_require__("182d"); +var toIndexedObject = __webpack_require__("7b0b"); +var fails = __webpack_require__("d039"); + +var RangeError = globalThis.RangeError; +var Int8Array = globalThis.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + var array = new Uint8ClampedArray(2); + call($set, array, { length: 1, 0: 3 }, 1); + return array[1] !== 3; +}); + +// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other +var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { + var array = new Int8Array(2); + array.set(1); + array.set('2', 1); + return array[0] !== 0 || array[1] !== 2; +}); + +// `%TypedArray%.prototype.set` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set +exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var src = toIndexedObject(arrayLike); + if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset); + var length = this.length; + var len = lengthOfArrayLike(src); + var index = 0; + if (len + offset > length) throw new RangeError('Wrong length'); + while (index < len) this[offset + index] = src[index++]; +}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + + +/***/ }), + +/***/ "40d5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__("d039"); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-function-prototype-bind -- safe + var test = (function () { /* empty */ }).bind(); + // eslint-disable-next-line no-prototype-builtins -- safe + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + + +/***/ }), + +/***/ "40d52": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_dic_widget_vue_vue_type_style_index_0_id_65f8a5ca_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("81d5"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_dic_widget_vue_vue_type_style_index_0_id_65f8a5ca_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_dic_widget_vue_vue_type_style_index_0_id_65f8a5ca_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "40e9": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var $transfer = __webpack_require__("41f6"); + +// `ArrayBuffer.prototype.transferToFixedLength` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transferToFixedLength: function transferToFixedLength() { + return $transfer(this, arguments.length ? arguments[0] : undefined, false); + } +}); + + +/***/ }), + +/***/ "417e": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_cascader_widget_vue_vue_type_style_index_0_id_922783c6_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("df8a"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_cascader_widget_vue_vue_type_style_index_0_id_922783c6_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_cascader_widget_vue_vue_type_style_index_0_id_922783c6_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "41f6": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var globalThis = __webpack_require__("cfe9"); +var uncurryThis = __webpack_require__("e330"); +var uncurryThisAccessor = __webpack_require__("7282"); +var toIndex = __webpack_require__("0b25"); +var notDetached = __webpack_require__("2005"); +var arrayBufferByteLength = __webpack_require__("b620"); +var detachTransferable = __webpack_require__("36f2"); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__("dbe5"); + +var structuredClone = globalThis.structuredClone; +var ArrayBuffer = globalThis.ArrayBuffer; +var DataView = globalThis.DataView; +var min = Math.min; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataViewPrototype = DataView.prototype; +var slice = uncurryThis(ArrayBufferPrototype.slice); +var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get'); +var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get'); +var getInt8 = uncurryThis(DataViewPrototype.getInt8); +var setInt8 = uncurryThis(DataViewPrototype.setInt8); + +module.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) { + var byteLength = arrayBufferByteLength(arrayBuffer); + var newByteLength = newLength === undefined ? byteLength : toIndex(newLength); + var fixedLength = !isResizable || !isResizable(arrayBuffer); + var newBuffer; + notDetached(arrayBuffer); + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] }); + if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer; + } + if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) { + newBuffer = slice(arrayBuffer, 0, newByteLength); + } else { + var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined; + newBuffer = new ArrayBuffer(newByteLength, options); + var a = new DataView(arrayBuffer); + var b = new DataView(newBuffer); + var copyLength = min(newByteLength, byteLength); + for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i)); + } + if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer); + return newBuffer; +}; + + +/***/ }), + +/***/ "4362": +/***/ (function(module, exports, __webpack_require__) { + +exports.nextTick = function nextTick(fn) { + var args = Array.prototype.slice.call(arguments); + args.shift(); + setTimeout(function () { + fn.apply(null, args); + }, 0); +}; + +exports.platform = exports.arch = +exports.execPath = exports.title = 'browser'; +exports.pid = 1; +exports.browser = true; +exports.env = {}; +exports.argv = []; + +exports.binding = function (name) { + throw new Error('No such module. (Possibly not yet loaded)') +}; + +(function () { + var cwd = '/'; + var path; + exports.cwd = function () { return cwd }; + exports.chdir = function (dir) { + if (!path) path = __webpack_require__("df7c"); + cwd = path.resolve(dir, cwd); + }; +})(); + +exports.exit = exports.kill = +exports.umask = exports.dlopen = +exports.uptime = exports.memoryUsage = +exports.uvCounters = function() {}; +exports.features = {}; + + +/***/ }), + +/***/ "4472": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_sub_form_item_vue_vue_type_style_index_0_id_c0598216_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e206"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_sub_form_item_vue_vue_type_style_index_0_id_c0598216_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_sub_form_item_vue_vue_type_style_index_0_id_c0598216_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "44ad": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); +var fails = __webpack_require__("d039"); +var classof = __webpack_require__("c6b6"); + +var $Object = Object; +var split = uncurryThis(''.split); + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !$Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) === 'String' ? split(it, '') : $Object(it); +} : $Object; + + +/***/ }), + +/***/ "4603": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultiDrag", function() { return MultiDragPlugin; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Sortable", function() { return Sortable; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Swap", function() { return SwapPlugin; }); +/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d9e2"); +/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("14d9"); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__); + + +/**! + * Sortable 1.10.2 + * @author RubaXa + * @author owenm + * @license MIT + */ +function _typeof(obj) { + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function (obj) { + return typeof obj; + }; + } else { + _typeof = function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + return _typeof(obj); +} +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; +} +function _extends() { + _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; + return _extends.apply(this, arguments); +} +function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + return target; +} +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + return target; +} +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = _objectWithoutPropertiesLoose(source, excluded); + var key, i; + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + return target; +} +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); +} +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; + return arr2; + } +} +function _iterableToArray(iter) { + if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); +} +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance"); +} +var version = "1.10.2"; +function userAgent(pattern) { + if (typeof window !== 'undefined' && window.navigator) { + return !! /*@__PURE__*/ + navigator.userAgent.match(pattern); + } +} +var IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i); +var Edge = userAgent(/Edge/i); +var FireFox = userAgent(/firefox/i); +var Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i); +var IOS = userAgent(/iP(ad|od|hone)/i); +var ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i); +var captureMode = { + capture: false, + passive: false +}; +function on(el, event, fn) { + el.addEventListener(event, fn, !IE11OrLess && captureMode); +} +function off(el, event, fn) { + el.removeEventListener(event, fn, !IE11OrLess && captureMode); +} +function matches( /**HTMLElement*/ +el, /**String*/ +selector) { + if (!selector) return; + selector[0] === '>' && (selector = selector.substring(1)); + if (el) { + try { + if (el.matches) { + return el.matches(selector); + } else if (el.msMatchesSelector) { + return el.msMatchesSelector(selector); + } else if (el.webkitMatchesSelector) { + return el.webkitMatchesSelector(selector); + } + } catch (_) { + return false; + } + } + return false; +} +function getParentOrHost(el) { + return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode; +} +function closest( /**HTMLElement*/ +el, /**String*/ +selector, /**HTMLElement*/ +ctx, includeCTX) { + if (el) { + ctx = ctx || document; + do { + if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) { + return el; + } + if (el === ctx) break; + /* jshint boss:true */ + } while (el = getParentOrHost(el)); + } + return null; +} +var R_SPACE = /\s+/g; +function toggleClass(el, name, state) { + if (el && name) { + if (el.classList) { + el.classList[state ? 'add' : 'remove'](name); + } else { + var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' '); + el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' '); + } + } +} +function css(el, prop, val) { + var style = el && el.style; + if (style) { + if (val === void 0) { + if (document.defaultView && document.defaultView.getComputedStyle) { + val = document.defaultView.getComputedStyle(el, ''); + } else if (el.currentStyle) { + val = el.currentStyle; + } + return prop === void 0 ? val : val[prop]; + } else { + if (!(prop in style) && prop.indexOf('webkit') === -1) { + prop = '-webkit-' + prop; + } + style[prop] = val + (typeof val === 'string' ? '' : 'px'); + } + } +} +function matrix(el, selfOnly) { + var appliedTransforms = ''; + if (typeof el === 'string') { + appliedTransforms = el; + } else { + do { + var transform = css(el, 'transform'); + if (transform && transform !== 'none') { + appliedTransforms = transform + ' ' + appliedTransforms; + } + /* jshint boss:true */ + } while (!selfOnly && (el = el.parentNode)); + } + var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix; + /*jshint -W056 */ + + return matrixFn && new matrixFn(appliedTransforms); +} +function find(ctx, tagName, iterator) { + if (ctx) { + var list = ctx.getElementsByTagName(tagName), + i = 0, + n = list.length; + if (iterator) { + for (; i < n; i++) { + iterator(list[i], i); + } + } + return list; + } + return []; +} +function getWindowScrollingElement() { + var scrollingElement = document.scrollingElement; + if (scrollingElement) { + return scrollingElement; + } else { + return document.documentElement; + } +} +/** + * Returns the "bounding client rect" of given element + * @param {HTMLElement} el The element whose boundingClientRect is wanted + * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container + * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr + * @param {[Boolean]} undoScale Whether the container's scale() should be undone + * @param {[HTMLElement]} container The parent the element will be placed in + * @return {Object} The boundingClientRect of el, with specified adjustments + */ + +function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) { + if (!el.getBoundingClientRect && el !== window) return; + var elRect, top, left, bottom, right, height, width; + if (el !== window && el !== getWindowScrollingElement()) { + elRect = el.getBoundingClientRect(); + top = elRect.top; + left = elRect.left; + bottom = elRect.bottom; + right = elRect.right; + height = elRect.height; + width = elRect.width; + } else { + top = 0; + left = 0; + bottom = window.innerHeight; + right = window.innerWidth; + height = window.innerHeight; + width = window.innerWidth; + } + if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) { + // Adjust for translate() + container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312) + // Not needed on <= IE11 + + if (!IE11OrLess) { + do { + if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) { + var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container + + top -= containerRect.top + parseInt(css(container, 'border-top-width')); + left -= containerRect.left + parseInt(css(container, 'border-left-width')); + bottom = top + elRect.height; + right = left + elRect.width; + break; + } + /* jshint boss:true */ + } while (container = container.parentNode); + } + } + if (undoScale && el !== window) { + // Adjust for scale() + var elMatrix = matrix(container || el), + scaleX = elMatrix && elMatrix.a, + scaleY = elMatrix && elMatrix.d; + if (elMatrix) { + top /= scaleY; + left /= scaleX; + width /= scaleX; + height /= scaleY; + bottom = top + height; + right = left + width; + } + } + return { + top: top, + left: left, + bottom: bottom, + right: right, + width: width, + height: height + }; +} +/** + * Checks if a side of an element is scrolled past a side of its parents + * @param {HTMLElement} el The element who's side being scrolled out of view is in question + * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom') + * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom') + * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element + */ + +function isScrolledPast(el, elSide, parentSide) { + var parent = getParentAutoScrollElement(el, true), + elSideVal = getRect(el)[elSide]; + /* jshint boss:true */ + + while (parent) { + var parentSideVal = getRect(parent)[parentSide], + visible = void 0; + if (parentSide === 'top' || parentSide === 'left') { + visible = elSideVal >= parentSideVal; + } else { + visible = elSideVal <= parentSideVal; + } + if (!visible) return parent; + if (parent === getWindowScrollingElement()) break; + parent = getParentAutoScrollElement(parent, false); + } + return false; +} +/** + * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible) + * and non-draggable elements + * @param {HTMLElement} el The parent element + * @param {Number} childNum The index of the child + * @param {Object} options Parent Sortable's options + * @return {HTMLElement} The child at index childNum, or null if not found + */ + +function getChild(el, childNum, options) { + var currentChild = 0, + i = 0, + children = el.children; + while (i < children.length) { + if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) { + if (currentChild === childNum) { + return children[i]; + } + currentChild++; + } + i++; + } + return null; +} +/** + * Gets the last child in the el, ignoring ghostEl or invisible elements (clones) + * @param {HTMLElement} el Parent element + * @param {selector} selector Any other elements that should be ignored + * @return {HTMLElement} The last child, ignoring ghostEl + */ + +function lastChild(el, selector) { + var last = el.lastElementChild; + while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) { + last = last.previousElementSibling; + } + return last || null; +} +/** + * Returns the index of an element within its parent for a selected set of + * elements + * @param {HTMLElement} el + * @param {selector} selector + * @return {number} + */ + +function index(el, selector) { + var index = 0; + if (!el || !el.parentNode) { + return -1; + } + /* jshint boss:true */ + + while (el = el.previousElementSibling) { + if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) { + index++; + } + } + return index; +} +/** + * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements. + * The value is returned in real pixels. + * @param {HTMLElement} el + * @return {Array} Offsets in the format of [left, top] + */ + +function getRelativeScrollOffset(el) { + var offsetLeft = 0, + offsetTop = 0, + winScroller = getWindowScrollingElement(); + if (el) { + do { + var elMatrix = matrix(el), + scaleX = elMatrix.a, + scaleY = elMatrix.d; + offsetLeft += el.scrollLeft * scaleX; + offsetTop += el.scrollTop * scaleY; + } while (el !== winScroller && (el = el.parentNode)); + } + return [offsetLeft, offsetTop]; +} +/** + * Returns the index of the object within the given array + * @param {Array} arr Array that may or may not hold the object + * @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 + * @return {Number} The index of the object in the array, or -1 + */ + +function indexOfObject(arr, obj) { + for (var i in arr) { + if (!arr.hasOwnProperty(i)) continue; + for (var key in obj) { + if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i); + } + } + return -1; +} +function getParentAutoScrollElement(el, includeSelf) { + // skip to window + if (!el || !el.getBoundingClientRect) return getWindowScrollingElement(); + var elem = el; + var gotSelf = false; + do { + // we don't need to get elem css if it isn't even overflowing in the first place (performance) + if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) { + var elemCSS = css(elem); + if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) { + if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement(); + if (gotSelf || includeSelf) return elem; + gotSelf = true; + } + } + /* jshint boss:true */ + } while (elem = elem.parentNode); + return getWindowScrollingElement(); +} +function extend(dst, src) { + if (dst && src) { + for (var key in src) { + if (src.hasOwnProperty(key)) { + dst[key] = src[key]; + } + } + } + return dst; +} +function isRectEqual(rect1, rect2) { + 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); +} +var _throttleTimeout; +function throttle(callback, ms) { + return function () { + if (!_throttleTimeout) { + var args = arguments, + _this = this; + if (args.length === 1) { + callback.call(_this, args[0]); + } else { + callback.apply(_this, args); + } + _throttleTimeout = setTimeout(function () { + _throttleTimeout = void 0; + }, ms); + } + }; +} +function cancelThrottle() { + clearTimeout(_throttleTimeout); + _throttleTimeout = void 0; +} +function scrollBy(el, x, y) { + el.scrollLeft += x; + el.scrollTop += y; +} +function clone(el) { + var Polymer = window.Polymer; + var $ = window.jQuery || window.Zepto; + if (Polymer && Polymer.dom) { + return Polymer.dom(el).cloneNode(true); + } else if ($) { + return $(el).clone(true)[0]; + } else { + return el.cloneNode(true); + } +} +function setRect(el, rect) { + css(el, 'position', 'absolute'); + css(el, 'top', rect.top); + css(el, 'left', rect.left); + css(el, 'width', rect.width); + css(el, 'height', rect.height); +} +function unsetRect(el) { + css(el, 'position', ''); + css(el, 'top', ''); + css(el, 'left', ''); + css(el, 'width', ''); + css(el, 'height', ''); +} +var expando = 'Sortable' + new Date().getTime(); +function AnimationStateManager() { + var animationStates = [], + animationCallbackId; + return { + captureAnimationState: function captureAnimationState() { + animationStates = []; + if (!this.options.animation) return; + var children = [].slice.call(this.el.children); + children.forEach(function (child) { + if (css(child, 'display') === 'none' || child === Sortable.ghost) return; + animationStates.push({ + target: child, + rect: getRect(child) + }); + var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation + + if (child.thisAnimationDuration) { + var childMatrix = matrix(child, true); + if (childMatrix) { + fromRect.top -= childMatrix.f; + fromRect.left -= childMatrix.e; + } + } + child.fromRect = fromRect; + }); + }, + addAnimationState: function addAnimationState(state) { + animationStates.push(state); + }, + removeAnimationState: function removeAnimationState(target) { + animationStates.splice(indexOfObject(animationStates, { + target: target + }), 1); + }, + animateAll: function animateAll(callback) { + var _this = this; + if (!this.options.animation) { + clearTimeout(animationCallbackId); + if (typeof callback === 'function') callback(); + return; + } + var animating = false, + animationTime = 0; + animationStates.forEach(function (state) { + var time = 0, + target = state.target, + fromRect = target.fromRect, + toRect = getRect(target), + prevFromRect = target.prevFromRect, + prevToRect = target.prevToRect, + animatingRect = state.rect, + targetMatrix = matrix(target, true); + if (targetMatrix) { + // Compensate for current animation + toRect.top -= targetMatrix.f; + toRect.left -= targetMatrix.e; + } + target.toRect = toRect; + if (target.thisAnimationDuration) { + // Could also check if animatingRect is between fromRect and toRect + if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && + // Make sure animatingRect is on line between toRect & fromRect + (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) { + // If returning to same place as started from animation and on same axis + time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options); + } + } // if fromRect != toRect: animate + + if (!isRectEqual(toRect, fromRect)) { + target.prevFromRect = fromRect; + target.prevToRect = toRect; + if (!time) { + time = _this.options.animation; + } + _this.animate(target, animatingRect, toRect, time); + } + if (time) { + animating = true; + animationTime = Math.max(animationTime, time); + clearTimeout(target.animationResetTimer); + target.animationResetTimer = setTimeout(function () { + target.animationTime = 0; + target.prevFromRect = null; + target.fromRect = null; + target.prevToRect = null; + target.thisAnimationDuration = null; + }, time); + target.thisAnimationDuration = time; + } + }); + clearTimeout(animationCallbackId); + if (!animating) { + if (typeof callback === 'function') callback(); + } else { + animationCallbackId = setTimeout(function () { + if (typeof callback === 'function') callback(); + }, animationTime); + } + animationStates = []; + }, + animate: function animate(target, currentRect, toRect, duration) { + if (duration) { + css(target, 'transition', ''); + css(target, 'transform', ''); + var elMatrix = matrix(this.el), + scaleX = elMatrix && elMatrix.a, + scaleY = elMatrix && elMatrix.d, + translateX = (currentRect.left - toRect.left) / (scaleX || 1), + translateY = (currentRect.top - toRect.top) / (scaleY || 1); + target.animatingX = !!translateX; + target.animatingY = !!translateY; + css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)'); + repaint(target); // repaint + + css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : '')); + css(target, 'transform', 'translate3d(0,0,0)'); + typeof target.animated === 'number' && clearTimeout(target.animated); + target.animated = setTimeout(function () { + css(target, 'transition', ''); + css(target, 'transform', ''); + target.animated = false; + target.animatingX = false; + target.animatingY = false; + }, duration); + } + } + }; +} +function repaint(target) { + return target.offsetWidth; +} +function calculateRealTime(animatingRect, fromRect, toRect, options) { + 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; +} +var plugins = []; +var defaults = { + initializeByDefault: true +}; +var PluginManager = { + mount: function mount(plugin) { + // Set default static properties + for (var option in defaults) { + if (defaults.hasOwnProperty(option) && !(option in plugin)) { + plugin[option] = defaults[option]; + } + } + plugins.push(plugin); + }, + pluginEvent: function pluginEvent(eventName, sortable, evt) { + var _this = this; + this.eventCanceled = false; + evt.cancel = function () { + _this.eventCanceled = true; + }; + var eventNameGlobal = eventName + 'Global'; + plugins.forEach(function (plugin) { + if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable + + if (sortable[plugin.pluginName][eventNameGlobal]) { + sortable[plugin.pluginName][eventNameGlobal](_objectSpread({ + sortable: sortable + }, evt)); + } // Only fire plugin event if plugin is enabled in this sortable, + // and plugin has event defined + + if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) { + sortable[plugin.pluginName][eventName](_objectSpread({ + sortable: sortable + }, evt)); + } + }); + }, + initializePlugins: function initializePlugins(sortable, el, defaults, options) { + plugins.forEach(function (plugin) { + var pluginName = plugin.pluginName; + if (!sortable.options[pluginName] && !plugin.initializeByDefault) return; + var initialized = new plugin(sortable, el, sortable.options); + initialized.sortable = sortable; + initialized.options = sortable.options; + sortable[pluginName] = initialized; // Add default options from plugin + + _extends(defaults, initialized.defaults); + }); + for (var option in sortable.options) { + if (!sortable.options.hasOwnProperty(option)) continue; + var modified = this.modifyOption(sortable, option, sortable.options[option]); + if (typeof modified !== 'undefined') { + sortable.options[option] = modified; + } + } + }, + getEventProperties: function getEventProperties(name, sortable) { + var eventProperties = {}; + plugins.forEach(function (plugin) { + if (typeof plugin.eventProperties !== 'function') return; + _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name)); + }); + return eventProperties; + }, + modifyOption: function modifyOption(sortable, name, value) { + var modifiedValue; + plugins.forEach(function (plugin) { + // Plugin must exist on the Sortable + if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin + + if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') { + modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value); + } + }); + return modifiedValue; + } +}; +function dispatchEvent(_ref) { + var sortable = _ref.sortable, + rootEl = _ref.rootEl, + name = _ref.name, + targetEl = _ref.targetEl, + cloneEl = _ref.cloneEl, + toEl = _ref.toEl, + fromEl = _ref.fromEl, + oldIndex = _ref.oldIndex, + newIndex = _ref.newIndex, + oldDraggableIndex = _ref.oldDraggableIndex, + newDraggableIndex = _ref.newDraggableIndex, + originalEvent = _ref.originalEvent, + putSortable = _ref.putSortable, + extraEventProperties = _ref.extraEventProperties; + sortable = sortable || rootEl && rootEl[expando]; + if (!sortable) return; + var evt, + options = sortable.options, + onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature + + if (window.CustomEvent && !IE11OrLess && !Edge) { + evt = new CustomEvent(name, { + bubbles: true, + cancelable: true + }); + } else { + evt = document.createEvent('Event'); + evt.initEvent(name, true, true); + } + evt.to = toEl || rootEl; + evt.from = fromEl || rootEl; + evt.item = targetEl || rootEl; + evt.clone = cloneEl; + evt.oldIndex = oldIndex; + evt.newIndex = newIndex; + evt.oldDraggableIndex = oldDraggableIndex; + evt.newDraggableIndex = newDraggableIndex; + evt.originalEvent = originalEvent; + evt.pullMode = putSortable ? putSortable.lastPutMode : undefined; + var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable)); + for (var option in allEventProperties) { + evt[option] = allEventProperties[option]; + } + if (rootEl) { + rootEl.dispatchEvent(evt); + } + if (options[onName]) { + options[onName].call(sortable, evt); + } +} +var pluginEvent = function pluginEvent(eventName, sortable) { + var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, + originalEvent = _ref.evt, + data = _objectWithoutProperties(_ref, ["evt"]); + PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({ + dragEl: dragEl, + parentEl: parentEl, + ghostEl: ghostEl, + rootEl: rootEl, + nextEl: nextEl, + lastDownEl: lastDownEl, + cloneEl: cloneEl, + cloneHidden: cloneHidden, + dragStarted: moved, + putSortable: putSortable, + activeSortable: Sortable.active, + originalEvent: originalEvent, + oldIndex: oldIndex, + oldDraggableIndex: oldDraggableIndex, + newIndex: newIndex, + newDraggableIndex: newDraggableIndex, + hideGhostForTarget: _hideGhostForTarget, + unhideGhostForTarget: _unhideGhostForTarget, + cloneNowHidden: function cloneNowHidden() { + cloneHidden = true; + }, + cloneNowShown: function cloneNowShown() { + cloneHidden = false; + }, + dispatchSortableEvent: function dispatchSortableEvent(name) { + _dispatchEvent({ + sortable: sortable, + name: name, + originalEvent: originalEvent + }); + } + }, data)); +}; +function _dispatchEvent(info) { + dispatchEvent(_objectSpread({ + putSortable: putSortable, + cloneEl: cloneEl, + targetEl: dragEl, + rootEl: rootEl, + oldIndex: oldIndex, + oldDraggableIndex: oldDraggableIndex, + newIndex: newIndex, + newDraggableIndex: newDraggableIndex + }, info)); +} +var dragEl, + parentEl, + ghostEl, + rootEl, + nextEl, + lastDownEl, + cloneEl, + cloneHidden, + oldIndex, + newIndex, + oldDraggableIndex, + newDraggableIndex, + activeGroup, + putSortable, + awaitingDragStarted = false, + ignoreNextClick = false, + sortables = [], + tapEvt, + touchEvt, + lastDx, + lastDy, + tapDistanceLeft, + tapDistanceTop, + moved, + lastTarget, + lastDirection, + pastFirstInvertThresh = false, + isCircumstantialInvert = false, + targetMoveDistance, + // For positioning ghost absolutely + ghostRelativeParent, + ghostRelativeParentInitialScroll = [], + // (left, top) + _silent = false, + savedInputChecked = []; +/** @const */ + +var documentExists = typeof document !== 'undefined', + PositionGhostAbsolutely = IOS, + CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float', + // This will not pass for IE9, because IE9 DnD only works on anchors + supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'), + supportCssPointerEvents = function () { + if (!documentExists) return; // false when <= IE11 + + if (IE11OrLess) { + return false; + } + var el = document.createElement('x'); + el.style.cssText = 'pointer-events:auto'; + return el.style.pointerEvents === 'auto'; + }(), + _detectDirection = function _detectDirection(el, options) { + var elCSS = css(el), + elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth), + child1 = getChild(el, 0, options), + child2 = getChild(el, 1, options), + firstChildCSS = child1 && css(child1), + secondChildCSS = child2 && css(child2), + firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width, + secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width; + if (elCSS.display === 'flex') { + return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal'; + } + if (elCSS.display === 'grid') { + return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal'; + } + if (child1 && firstChildCSS["float"] && firstChildCSS["float"] !== 'none') { + var touchingSideChild2 = firstChildCSS["float"] === 'left' ? 'left' : 'right'; + return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal'; + } + 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'; + }, + _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) { + var dragElS1Opp = vertical ? dragRect.left : dragRect.top, + dragElS2Opp = vertical ? dragRect.right : dragRect.bottom, + dragElOppLength = vertical ? dragRect.width : dragRect.height, + targetS1Opp = vertical ? targetRect.left : targetRect.top, + targetS2Opp = vertical ? targetRect.right : targetRect.bottom, + targetOppLength = vertical ? targetRect.width : targetRect.height; + return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2; + }, + /** + * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold. + * @param {Number} x X position + * @param {Number} y Y position + * @return {HTMLElement} Element of the first found nearest Sortable + */ + _detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) { + var ret; + sortables.some(function (sortable) { + if (lastChild(sortable)) return; + var rect = getRect(sortable), + threshold = sortable[expando].options.emptyInsertThreshold, + insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold, + insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold; + if (threshold && insideHorizontally && insideVertically) { + return ret = sortable; + } + }); + return ret; + }, + _prepareGroup = function _prepareGroup(options) { + function toFn(value, pull) { + return function (to, from, dragEl, evt) { + var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name; + if (value == null && (pull || sameGroup)) { + // Default pull value + // Default pull and put value if same group + return true; + } else if (value == null || value === false) { + return false; + } else if (pull && value === 'clone') { + return value; + } else if (typeof value === 'function') { + return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt); + } else { + var otherGroup = (pull ? to : from).options.group.name; + return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1; + } + }; + } + var group = {}; + var originalGroup = options.group; + if (!originalGroup || _typeof(originalGroup) != 'object') { + originalGroup = { + name: originalGroup + }; + } + group.name = originalGroup.name; + group.checkPull = toFn(originalGroup.pull, true); + group.checkPut = toFn(originalGroup.put); + group.revertClone = originalGroup.revertClone; + options.group = group; + }, + _hideGhostForTarget = function _hideGhostForTarget() { + if (!supportCssPointerEvents && ghostEl) { + css(ghostEl, 'display', 'none'); + } + }, + _unhideGhostForTarget = function _unhideGhostForTarget() { + if (!supportCssPointerEvents && ghostEl) { + css(ghostEl, 'display', ''); + } + }; // #1184 fix - Prevent click event on fallback if dragged but item not changed position + +if (documentExists) { + document.addEventListener('click', function (evt) { + if (ignoreNextClick) { + evt.preventDefault(); + evt.stopPropagation && evt.stopPropagation(); + evt.stopImmediatePropagation && evt.stopImmediatePropagation(); + ignoreNextClick = false; + return false; + } + }, true); +} +var nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) { + if (dragEl) { + evt = evt.touches ? evt.touches[0] : evt; + var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY); + if (nearest) { + // Create imitation event + var event = {}; + for (var i in evt) { + if (evt.hasOwnProperty(i)) { + event[i] = evt[i]; + } + } + event.target = event.rootEl = nearest; + event.preventDefault = void 0; + event.stopPropagation = void 0; + nearest[expando]._onDragOver(event); + } + } +}; +var _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) { + if (dragEl) { + dragEl.parentNode[expando]._isOutsideThisEl(evt.target); + } +}; +/** + * @class Sortable + * @param {HTMLElement} el + * @param {Object} [options] + */ + +function Sortable(el, options) { + if (!(el && el.nodeType && el.nodeType === 1)) { + throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(el)); + } + this.el = el; // root element + + this.options = options = _extends({}, options); // Export instance + + el[expando] = this; + var defaults = { + group: null, + sort: true, + disabled: false, + store: null, + handle: null, + draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*', + swapThreshold: 1, + // percentage; 0 <= x <= 1 + invertSwap: false, + // invert always + invertedSwapThreshold: null, + // will be set to same as swapThreshold if default + removeCloneOnHide: true, + direction: function direction() { + return _detectDirection(el, this.options); + }, + ghostClass: 'sortable-ghost', + chosenClass: 'sortable-chosen', + dragClass: 'sortable-drag', + ignore: 'a, img', + filter: null, + preventOnFilter: true, + animation: 0, + easing: null, + setData: function setData(dataTransfer, dragEl) { + dataTransfer.setData('Text', dragEl.textContent); + }, + dropBubble: false, + dragoverBubble: false, + dataIdAttr: 'data-id', + delay: 0, + delayOnTouchOnly: false, + touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1, + forceFallback: false, + fallbackClass: 'sortable-fallback', + fallbackOnBody: false, + fallbackTolerance: 0, + fallbackOffset: { + x: 0, + y: 0 + }, + supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window, + emptyInsertThreshold: 5 + }; + PluginManager.initializePlugins(this, el, defaults); // Set default options + + for (var name in defaults) { + !(name in options) && (options[name] = defaults[name]); + } + _prepareGroup(options); // Bind all private methods + + for (var fn in this) { + if (fn.charAt(0) === '_' && typeof this[fn] === 'function') { + this[fn] = this[fn].bind(this); + } + } // Setup drag mode + + this.nativeDraggable = options.forceFallback ? false : supportDraggable; + if (this.nativeDraggable) { + // Touch start threshold cannot be greater than the native dragstart threshold + this.options.touchStartThreshold = 1; + } // Bind events + + if (options.supportPointer) { + on(el, 'pointerdown', this._onTapStart); + } else { + on(el, 'mousedown', this._onTapStart); + on(el, 'touchstart', this._onTapStart); + } + if (this.nativeDraggable) { + on(el, 'dragover', this); + on(el, 'dragenter', this); + } + sortables.push(this.el); // Restore sorting + + options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager + + _extends(this, AnimationStateManager()); +} +Sortable.prototype = /** @lends Sortable.prototype */ +{ + constructor: Sortable, + _isOutsideThisEl: function _isOutsideThisEl(target) { + if (!this.el.contains(target) && target !== this.el) { + lastTarget = null; + } + }, + _getDirection: function _getDirection(evt, target) { + return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction; + }, + _onTapStart: function _onTapStart( /** Event|TouchEvent */ + evt) { + if (!evt.cancelable) return; + var _this = this, + el = this.el, + options = this.options, + preventOnFilter = options.preventOnFilter, + type = evt.type, + touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt, + target = (touch || evt).target, + originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target, + filter = options.filter; + _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group. + + if (dragEl) { + return; + } + if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) { + return; // only left button and enabled + } // cancel dnd if original target is content editable + + if (originalTarget.isContentEditable) { + return; + } + target = closest(target, options.draggable, el, false); + if (target && target.animated) { + return; + } + if (lastDownEl === target) { + // Ignoring duplicate `down` + return; + } // Get the index of the dragged element within its parent + + oldIndex = index(target); + oldDraggableIndex = index(target, options.draggable); // Check filter + + if (typeof filter === 'function') { + if (filter.call(this, evt, target, this)) { + _dispatchEvent({ + sortable: _this, + rootEl: originalTarget, + name: 'filter', + targetEl: target, + toEl: el, + fromEl: el + }); + pluginEvent('filter', _this, { + evt: evt + }); + preventOnFilter && evt.cancelable && evt.preventDefault(); + return; // cancel dnd + } + } else if (filter) { + filter = filter.split(',').some(function (criteria) { + criteria = closest(originalTarget, criteria.trim(), el, false); + if (criteria) { + _dispatchEvent({ + sortable: _this, + rootEl: criteria, + name: 'filter', + targetEl: target, + fromEl: el, + toEl: el + }); + pluginEvent('filter', _this, { + evt: evt + }); + return true; + } + }); + if (filter) { + preventOnFilter && evt.cancelable && evt.preventDefault(); + return; // cancel dnd + } + } + if (options.handle && !closest(originalTarget, options.handle, el, false)) { + return; + } // Prepare `dragstart` + + this._prepareDragStart(evt, touch, target); + }, + _prepareDragStart: function _prepareDragStart( /** Event */ + evt, /** Touch */ + touch, /** HTMLElement */ + target) { + var _this = this, + el = _this.el, + options = _this.options, + ownerDocument = el.ownerDocument, + dragStartFn; + if (target && !dragEl && target.parentNode === el) { + var dragRect = getRect(target); + rootEl = el; + dragEl = target; + parentEl = dragEl.parentNode; + nextEl = dragEl.nextSibling; + lastDownEl = target; + activeGroup = options.group; + Sortable.dragged = dragEl; + tapEvt = { + target: dragEl, + clientX: (touch || evt).clientX, + clientY: (touch || evt).clientY + }; + tapDistanceLeft = tapEvt.clientX - dragRect.left; + tapDistanceTop = tapEvt.clientY - dragRect.top; + this._lastX = (touch || evt).clientX; + this._lastY = (touch || evt).clientY; + dragEl.style['will-change'] = 'all'; + dragStartFn = function dragStartFn() { + pluginEvent('delayEnded', _this, { + evt: evt + }); + if (Sortable.eventCanceled) { + _this._onDrop(); + return; + } // Delayed drag has been triggered + // we can re-enable the events: touchmove/mousemove + + _this._disableDelayedDragEvents(); + if (!FireFox && _this.nativeDraggable) { + dragEl.draggable = true; + } // Bind the events: dragstart/dragend + + _this._triggerDragStart(evt, touch); // Drag start event + + _dispatchEvent({ + sortable: _this, + name: 'choose', + originalEvent: evt + }); // Chosen item + + toggleClass(dragEl, options.chosenClass, true); + }; // Disable "draggable" + + options.ignore.split(',').forEach(function (criteria) { + find(dragEl, criteria.trim(), _disableDraggable); + }); + on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent); + on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent); + on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent); + on(ownerDocument, 'mouseup', _this._onDrop); + on(ownerDocument, 'touchend', _this._onDrop); + on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox) + + if (FireFox && this.nativeDraggable) { + this.options.touchStartThreshold = 4; + dragEl.draggable = true; + } + pluginEvent('delayStart', this, { + evt: evt + }); // Delay is impossible for native DnD in Edge or IE + + if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) { + if (Sortable.eventCanceled) { + this._onDrop(); + return; + } // If the user moves the pointer or let go the click or touch + // before the delay has been reached: + // disable the delayed drag + + on(ownerDocument, 'mouseup', _this._disableDelayedDrag); + on(ownerDocument, 'touchend', _this._disableDelayedDrag); + on(ownerDocument, 'touchcancel', _this._disableDelayedDrag); + on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler); + on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler); + options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler); + _this._dragStartTimer = setTimeout(dragStartFn, options.delay); + } else { + dragStartFn(); + } + } + }, + _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler( /** TouchEvent|PointerEvent **/ + e) { + var touch = e.touches ? e.touches[0] : e; + 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))) { + this._disableDelayedDrag(); + } + }, + _disableDelayedDrag: function _disableDelayedDrag() { + dragEl && _disableDraggable(dragEl); + clearTimeout(this._dragStartTimer); + this._disableDelayedDragEvents(); + }, + _disableDelayedDragEvents: function _disableDelayedDragEvents() { + var ownerDocument = this.el.ownerDocument; + off(ownerDocument, 'mouseup', this._disableDelayedDrag); + off(ownerDocument, 'touchend', this._disableDelayedDrag); + off(ownerDocument, 'touchcancel', this._disableDelayedDrag); + off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler); + off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler); + off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler); + }, + _triggerDragStart: function _triggerDragStart( /** Event */ + evt, /** Touch */ + touch) { + touch = touch || evt.pointerType == 'touch' && evt; + if (!this.nativeDraggable || touch) { + if (this.options.supportPointer) { + on(document, 'pointermove', this._onTouchMove); + } else if (touch) { + on(document, 'touchmove', this._onTouchMove); + } else { + on(document, 'mousemove', this._onTouchMove); + } + } else { + on(dragEl, 'dragend', this); + on(rootEl, 'dragstart', this._onDragStart); + } + try { + if (document.selection) { + // Timeout neccessary for IE9 + _nextTick(function () { + document.selection.empty(); + }); + } else { + window.getSelection().removeAllRanges(); + } + } catch (err) {} + }, + _dragStarted: function _dragStarted(fallback, evt) { + awaitingDragStarted = false; + if (rootEl && dragEl) { + pluginEvent('dragStarted', this, { + evt: evt + }); + if (this.nativeDraggable) { + on(document, 'dragover', _checkOutsideTargetEl); + } + var options = this.options; // Apply effect + + !fallback && toggleClass(dragEl, options.dragClass, false); + toggleClass(dragEl, options.ghostClass, true); + Sortable.active = this; + fallback && this._appendGhost(); // Drag start event + + _dispatchEvent({ + sortable: this, + name: 'start', + originalEvent: evt + }); + } else { + this._nulling(); + } + }, + _emulateDragOver: function _emulateDragOver() { + if (touchEvt) { + this._lastX = touchEvt.clientX; + this._lastY = touchEvt.clientY; + _hideGhostForTarget(); + var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY); + var parent = target; + while (target && target.shadowRoot) { + target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY); + if (target === parent) break; + parent = target; + } + dragEl.parentNode[expando]._isOutsideThisEl(target); + if (parent) { + do { + if (parent[expando]) { + var inserted = void 0; + inserted = parent[expando]._onDragOver({ + clientX: touchEvt.clientX, + clientY: touchEvt.clientY, + target: target, + rootEl: parent + }); + if (inserted && !this.options.dragoverBubble) { + break; + } + } + target = parent; // store last element + } + /* jshint boss:true */ while (parent = parent.parentNode); + } + _unhideGhostForTarget(); + } + }, + _onTouchMove: function _onTouchMove( /**TouchEvent*/ + evt) { + if (tapEvt) { + var options = this.options, + fallbackTolerance = options.fallbackTolerance, + fallbackOffset = options.fallbackOffset, + touch = evt.touches ? evt.touches[0] : evt, + ghostMatrix = ghostEl && matrix(ghostEl, true), + scaleX = ghostEl && ghostMatrix && ghostMatrix.a, + scaleY = ghostEl && ghostMatrix && ghostMatrix.d, + relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent), + dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1), + dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging + + if (!Sortable.active && !awaitingDragStarted) { + if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) { + return; + } + this._onDragStart(evt, true); + } + if (ghostEl) { + if (ghostMatrix) { + ghostMatrix.e += dx - (lastDx || 0); + ghostMatrix.f += dy - (lastDy || 0); + } else { + ghostMatrix = { + a: 1, + b: 0, + c: 0, + d: 1, + e: dx, + f: dy + }; + } + var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")"); + css(ghostEl, 'webkitTransform', cssMatrix); + css(ghostEl, 'mozTransform', cssMatrix); + css(ghostEl, 'msTransform', cssMatrix); + css(ghostEl, 'transform', cssMatrix); + lastDx = dx; + lastDy = dy; + touchEvt = touch; + } + evt.cancelable && evt.preventDefault(); + } + }, + _appendGhost: function _appendGhost() { + // Bug if using scale(): https://stackoverflow.com/questions/2637058 + // Not being adjusted for + if (!ghostEl) { + var container = this.options.fallbackOnBody ? document.body : rootEl, + rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container), + options = this.options; // Position absolutely + + if (PositionGhostAbsolutely) { + // Get relatively positioned parent + ghostRelativeParent = container; + while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) { + ghostRelativeParent = ghostRelativeParent.parentNode; + } + if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) { + if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement(); + rect.top += ghostRelativeParent.scrollTop; + rect.left += ghostRelativeParent.scrollLeft; + } else { + ghostRelativeParent = getWindowScrollingElement(); + } + ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent); + } + ghostEl = dragEl.cloneNode(true); + toggleClass(ghostEl, options.ghostClass, false); + toggleClass(ghostEl, options.fallbackClass, true); + toggleClass(ghostEl, options.dragClass, true); + css(ghostEl, 'transition', ''); + css(ghostEl, 'transform', ''); + css(ghostEl, 'box-sizing', 'border-box'); + css(ghostEl, 'margin', 0); + css(ghostEl, 'top', rect.top); + css(ghostEl, 'left', rect.left); + css(ghostEl, 'width', rect.width); + css(ghostEl, 'height', rect.height); + css(ghostEl, 'opacity', '0.8'); + css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed'); + css(ghostEl, 'zIndex', '100000'); + css(ghostEl, 'pointerEvents', 'none'); + Sortable.ghost = ghostEl; + container.appendChild(ghostEl); // Set transform-origin + + css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%'); + } + }, + _onDragStart: function _onDragStart( /**Event*/ + evt, /**boolean*/ + fallback) { + var _this = this; + var dataTransfer = evt.dataTransfer; + var options = _this.options; + pluginEvent('dragStart', this, { + evt: evt + }); + if (Sortable.eventCanceled) { + this._onDrop(); + return; + } + pluginEvent('setupClone', this); + if (!Sortable.eventCanceled) { + cloneEl = clone(dragEl); + cloneEl.draggable = false; + cloneEl.style['will-change'] = ''; + this._hideClone(); + toggleClass(cloneEl, this.options.chosenClass, false); + Sortable.clone = cloneEl; + } // #1143: IFrame support workaround + + _this.cloneId = _nextTick(function () { + pluginEvent('clone', _this); + if (Sortable.eventCanceled) return; + if (!_this.options.removeCloneOnHide) { + rootEl.insertBefore(cloneEl, dragEl); + } + _this._hideClone(); + _dispatchEvent({ + sortable: _this, + name: 'clone' + }); + }); + !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events + + if (fallback) { + ignoreNextClick = true; + _this._loopId = setInterval(_this._emulateDragOver, 50); + } else { + // Undo what was set in _prepareDragStart before drag started + off(document, 'mouseup', _this._onDrop); + off(document, 'touchend', _this._onDrop); + off(document, 'touchcancel', _this._onDrop); + if (dataTransfer) { + dataTransfer.effectAllowed = 'move'; + options.setData && options.setData.call(_this, dataTransfer, dragEl); + } + on(document, 'drop', _this); // #1276 fix: + + css(dragEl, 'transform', 'translateZ(0)'); + } + awaitingDragStarted = true; + _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt)); + on(document, 'selectstart', _this); + moved = true; + if (Safari) { + css(document.body, 'user-select', 'none'); + } + }, + // Returns true - if no further action is needed (either inserted or another condition) + _onDragOver: function _onDragOver( /**Event*/ + evt) { + var el = this.el, + target = evt.target, + dragRect, + targetRect, + revert, + options = this.options, + group = options.group, + activeSortable = Sortable.active, + isOwner = activeGroup === group, + canSort = options.sort, + fromSortable = putSortable || activeSortable, + vertical, + _this = this, + completedFired = false; + if (_silent) return; + function dragOverEvent(name, extra) { + pluginEvent(name, _this, _objectSpread({ + evt: evt, + isOwner: isOwner, + axis: vertical ? 'vertical' : 'horizontal', + revert: revert, + dragRect: dragRect, + targetRect: targetRect, + canSort: canSort, + fromSortable: fromSortable, + target: target, + completed: completed, + onMove: function onMove(target, after) { + return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after); + }, + changed: changed + }, extra)); + } // Capture animation state + + function capture() { + dragOverEvent('dragOverAnimationCapture'); + _this.captureAnimationState(); + if (_this !== fromSortable) { + fromSortable.captureAnimationState(); + } + } // Return invocation when dragEl is inserted (or completed) + + function completed(insertion) { + dragOverEvent('dragOverCompleted', { + insertion: insertion + }); + if (insertion) { + // Clones must be hidden before folding animation to capture dragRectAbsolute properly + if (isOwner) { + activeSortable._hideClone(); + } else { + activeSortable._showClone(_this); + } + if (_this !== fromSortable) { + // Set ghost class to new sortable's ghost class + toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false); + toggleClass(dragEl, options.ghostClass, true); + } + if (putSortable !== _this && _this !== Sortable.active) { + putSortable = _this; + } else if (_this === Sortable.active && putSortable) { + putSortable = null; + } // Animation + + if (fromSortable === _this) { + _this._ignoreWhileAnimating = target; + } + _this.animateAll(function () { + dragOverEvent('dragOverAnimationComplete'); + _this._ignoreWhileAnimating = null; + }); + if (_this !== fromSortable) { + fromSortable.animateAll(); + fromSortable._ignoreWhileAnimating = null; + } + } // Null lastTarget if it is not inside a previously swapped element + + if (target === dragEl && !dragEl.animated || target === el && !target.animated) { + lastTarget = null; + } // no bubbling and not fallback + + if (!options.dragoverBubble && !evt.rootEl && target !== document) { + dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted + + !insertion && nearestEmptyInsertDetectEvent(evt); + } + !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation(); + return completedFired = true; + } // Call when dragEl has been inserted + + function changed() { + newIndex = index(dragEl); + newDraggableIndex = index(dragEl, options.draggable); + _dispatchEvent({ + sortable: _this, + name: 'change', + toEl: el, + newIndex: newIndex, + newDraggableIndex: newDraggableIndex, + originalEvent: evt + }); + } + if (evt.preventDefault !== void 0) { + evt.cancelable && evt.preventDefault(); + } + target = closest(target, options.draggable, el, true); + dragOverEvent('dragOver'); + if (Sortable.eventCanceled) return completedFired; + if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) { + return completed(false); + } + ignoreNextClick = false; + if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list + : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) { + vertical = this._getDirection(evt, target) === 'vertical'; + dragRect = getRect(dragEl); + dragOverEvent('dragOverValid'); + if (Sortable.eventCanceled) return completedFired; + if (revert) { + parentEl = rootEl; // actualization + + capture(); + this._hideClone(); + dragOverEvent('revert'); + if (!Sortable.eventCanceled) { + if (nextEl) { + rootEl.insertBefore(dragEl, nextEl); + } else { + rootEl.appendChild(dragEl); + } + } + return completed(true); + } + var elLastChild = lastChild(el, options.draggable); + if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) { + // If already at end of list: Do not insert + if (elLastChild === dragEl) { + return completed(false); + } // assign target only if condition is true + + if (elLastChild && el === evt.target) { + target = elLastChild; + } + if (target) { + targetRect = getRect(target); + } + if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) { + capture(); + el.appendChild(dragEl); + parentEl = el; // actualization + + changed(); + return completed(true); + } + } else if (target.parentNode === el) { + targetRect = getRect(target); + var direction = 0, + targetBeforeFirstSwap, + differentLevel = dragEl.parentNode !== el, + differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical), + side1 = vertical ? 'top' : 'left', + scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'), + scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0; + if (lastTarget !== target) { + targetBeforeFirstSwap = targetRect[side1]; + pastFirstInvertThresh = false; + isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel; + } + direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target); + var sibling; + if (direction !== 0) { + // Check if target is beside dragEl in respective direction (ignoring hidden elements) + var dragIndex = index(dragEl); + do { + dragIndex -= direction; + sibling = parentEl.children[dragIndex]; + } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl)); + } // If dragEl is already beside target: Do not insert + + if (direction === 0 || sibling === target) { + return completed(false); + } + lastTarget = target; + lastDirection = direction; + var nextSibling = target.nextElementSibling, + after = false; + after = direction === 1; + var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after); + if (moveVector !== false) { + if (moveVector === 1 || moveVector === -1) { + after = moveVector === 1; + } + _silent = true; + setTimeout(_unsilent, 30); + capture(); + if (after && !nextSibling) { + el.appendChild(dragEl); + } else { + target.parentNode.insertBefore(dragEl, after ? nextSibling : target); + } // Undo chrome's scroll adjustment (has no effect on other browsers) + + if (scrolledPastTop) { + scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop); + } + parentEl = dragEl.parentNode; // actualization + // must be done before animation + + if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) { + targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]); + } + changed(); + return completed(true); + } + } + if (el.contains(dragEl)) { + return completed(false); + } + } + return false; + }, + _ignoreWhileAnimating: null, + _offMoveEvents: function _offMoveEvents() { + off(document, 'mousemove', this._onTouchMove); + off(document, 'touchmove', this._onTouchMove); + off(document, 'pointermove', this._onTouchMove); + off(document, 'dragover', nearestEmptyInsertDetectEvent); + off(document, 'mousemove', nearestEmptyInsertDetectEvent); + off(document, 'touchmove', nearestEmptyInsertDetectEvent); + }, + _offUpEvents: function _offUpEvents() { + var ownerDocument = this.el.ownerDocument; + off(ownerDocument, 'mouseup', this._onDrop); + off(ownerDocument, 'touchend', this._onDrop); + off(ownerDocument, 'pointerup', this._onDrop); + off(ownerDocument, 'touchcancel', this._onDrop); + off(document, 'selectstart', this); + }, + _onDrop: function _onDrop( /**Event*/ + evt) { + var el = this.el, + options = this.options; // Get the index of the dragged element within its parent + + newIndex = index(dragEl); + newDraggableIndex = index(dragEl, options.draggable); + pluginEvent('drop', this, { + evt: evt + }); + parentEl = dragEl && dragEl.parentNode; // Get again after plugin event + + newIndex = index(dragEl); + newDraggableIndex = index(dragEl, options.draggable); + if (Sortable.eventCanceled) { + this._nulling(); + return; + } + awaitingDragStarted = false; + isCircumstantialInvert = false; + pastFirstInvertThresh = false; + clearInterval(this._loopId); + clearTimeout(this._dragStartTimer); + _cancelNextTick(this.cloneId); + _cancelNextTick(this._dragStartId); // Unbind events + + if (this.nativeDraggable) { + off(document, 'drop', this); + off(el, 'dragstart', this._onDragStart); + } + this._offMoveEvents(); + this._offUpEvents(); + if (Safari) { + css(document.body, 'user-select', ''); + } + css(dragEl, 'transform', ''); + if (evt) { + if (moved) { + evt.cancelable && evt.preventDefault(); + !options.dropBubble && evt.stopPropagation(); + } + ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl); + if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') { + // Remove clone(s) + cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl); + } + if (dragEl) { + if (this.nativeDraggable) { + off(dragEl, 'dragend', this); + } + _disableDraggable(dragEl); + dragEl.style['will-change'] = ''; // Remove classes + // ghostClass is added in dragStarted + + if (moved && !awaitingDragStarted) { + toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false); + } + toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event + + _dispatchEvent({ + sortable: this, + name: 'unchoose', + toEl: parentEl, + newIndex: null, + newDraggableIndex: null, + originalEvent: evt + }); + if (rootEl !== parentEl) { + if (newIndex >= 0) { + // Add event + _dispatchEvent({ + rootEl: parentEl, + name: 'add', + toEl: parentEl, + fromEl: rootEl, + originalEvent: evt + }); // Remove event + + _dispatchEvent({ + sortable: this, + name: 'remove', + toEl: parentEl, + originalEvent: evt + }); // drag from one list and drop into another + + _dispatchEvent({ + rootEl: parentEl, + name: 'sort', + toEl: parentEl, + fromEl: rootEl, + originalEvent: evt + }); + _dispatchEvent({ + sortable: this, + name: 'sort', + toEl: parentEl, + originalEvent: evt + }); + } + putSortable && putSortable.save(); + } else { + if (newIndex !== oldIndex) { + if (newIndex >= 0) { + // drag & drop within the same list + _dispatchEvent({ + sortable: this, + name: 'update', + toEl: parentEl, + originalEvent: evt + }); + _dispatchEvent({ + sortable: this, + name: 'sort', + toEl: parentEl, + originalEvent: evt + }); + } + } + } + if (Sortable.active) { + /* jshint eqnull:true */ + if (newIndex == null || newIndex === -1) { + newIndex = oldIndex; + newDraggableIndex = oldDraggableIndex; + } + _dispatchEvent({ + sortable: this, + name: 'end', + toEl: parentEl, + originalEvent: evt + }); // Save sorting + + this.save(); + } + } + } + this._nulling(); + }, + _nulling: function _nulling() { + pluginEvent('nulling', this); + 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; + savedInputChecked.forEach(function (el) { + el.checked = true; + }); + savedInputChecked.length = lastDx = lastDy = 0; + }, + handleEvent: function handleEvent( /**Event*/ + evt) { + switch (evt.type) { + case 'drop': + case 'dragend': + this._onDrop(evt); + break; + case 'dragenter': + case 'dragover': + if (dragEl) { + this._onDragOver(evt); + _globalDragOver(evt); + } + break; + case 'selectstart': + evt.preventDefault(); + break; + } + }, + /** + * Serializes the item into an array of string. + * @returns {String[]} + */ + toArray: function toArray() { + var order = [], + el, + children = this.el.children, + i = 0, + n = children.length, + options = this.options; + for (; i < n; i++) { + el = children[i]; + if (closest(el, options.draggable, this.el, false)) { + order.push(el.getAttribute(options.dataIdAttr) || _generateId(el)); + } + } + return order; + }, + /** + * Sorts the elements according to the array. + * @param {String[]} order order of the items + */ + sort: function sort(order) { + var items = {}, + rootEl = this.el; + this.toArray().forEach(function (id, i) { + var el = rootEl.children[i]; + if (closest(el, this.options.draggable, rootEl, false)) { + items[id] = el; + } + }, this); + order.forEach(function (id) { + if (items[id]) { + rootEl.removeChild(items[id]); + rootEl.appendChild(items[id]); + } + }); + }, + /** + * Save the current sorting + */ + save: function save() { + var store = this.options.store; + store && store.set && store.set(this); + }, + /** + * 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. + * @param {HTMLElement} el + * @param {String} [selector] default: `options.draggable` + * @returns {HTMLElement|null} + */ + closest: function closest$1(el, selector) { + return closest(el, selector || this.options.draggable, this.el, false); + }, + /** + * Set/get option + * @param {string} name + * @param {*} [value] + * @returns {*} + */ + option: function option(name, value) { + var options = this.options; + if (value === void 0) { + return options[name]; + } else { + var modifiedValue = PluginManager.modifyOption(this, name, value); + if (typeof modifiedValue !== 'undefined') { + options[name] = modifiedValue; + } else { + options[name] = value; + } + if (name === 'group') { + _prepareGroup(options); + } + } + }, + /** + * Destroy + */ + destroy: function destroy() { + pluginEvent('destroy', this); + var el = this.el; + el[expando] = null; + off(el, 'mousedown', this._onTapStart); + off(el, 'touchstart', this._onTapStart); + off(el, 'pointerdown', this._onTapStart); + if (this.nativeDraggable) { + off(el, 'dragover', this); + off(el, 'dragenter', this); + } // Remove draggable attributes + + Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) { + el.removeAttribute('draggable'); + }); + this._onDrop(); + this._disableDelayedDragEvents(); + sortables.splice(sortables.indexOf(this.el), 1); + this.el = el = null; + }, + _hideClone: function _hideClone() { + if (!cloneHidden) { + pluginEvent('hideClone', this); + if (Sortable.eventCanceled) return; + css(cloneEl, 'display', 'none'); + if (this.options.removeCloneOnHide && cloneEl.parentNode) { + cloneEl.parentNode.removeChild(cloneEl); + } + cloneHidden = true; + } + }, + _showClone: function _showClone(putSortable) { + if (putSortable.lastPutMode !== 'clone') { + this._hideClone(); + return; + } + if (cloneHidden) { + pluginEvent('showClone', this); + if (Sortable.eventCanceled) return; // show clone at dragEl or original position + + if (rootEl.contains(dragEl) && !this.options.group.revertClone) { + rootEl.insertBefore(cloneEl, dragEl); + } else if (nextEl) { + rootEl.insertBefore(cloneEl, nextEl); + } else { + rootEl.appendChild(cloneEl); + } + if (this.options.group.revertClone) { + this.animate(dragEl, cloneEl); + } + css(cloneEl, 'display', ''); + cloneHidden = false; + } + } +}; +function _globalDragOver( /**Event*/ +evt) { + if (evt.dataTransfer) { + evt.dataTransfer.dropEffect = 'move'; + } + evt.cancelable && evt.preventDefault(); +} +function _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) { + var evt, + sortable = fromEl[expando], + onMoveFn = sortable.options.onMove, + retVal; // Support for new CustomEvent feature + + if (window.CustomEvent && !IE11OrLess && !Edge) { + evt = new CustomEvent('move', { + bubbles: true, + cancelable: true + }); + } else { + evt = document.createEvent('Event'); + evt.initEvent('move', true, true); + } + evt.to = toEl; + evt.from = fromEl; + evt.dragged = dragEl; + evt.draggedRect = dragRect; + evt.related = targetEl || toEl; + evt.relatedRect = targetRect || getRect(toEl); + evt.willInsertAfter = willInsertAfter; + evt.originalEvent = originalEvent; + fromEl.dispatchEvent(evt); + if (onMoveFn) { + retVal = onMoveFn.call(sortable, evt, originalEvent); + } + return retVal; +} +function _disableDraggable(el) { + el.draggable = false; +} +function _unsilent() { + _silent = false; +} +function _ghostIsLast(evt, vertical, sortable) { + var rect = getRect(lastChild(sortable.el, sortable.options.draggable)); + var spacer = 10; + return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer; +} +function _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) { + var mouseOnAxis = vertical ? evt.clientY : evt.clientX, + targetLength = vertical ? targetRect.height : targetRect.width, + targetS1 = vertical ? targetRect.top : targetRect.left, + targetS2 = vertical ? targetRect.bottom : targetRect.right, + invert = false; + if (!invertSwap) { + // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold + if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) { + // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2 + // check if past first invert threshold on side opposite of lastDirection + if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) { + // past first invert threshold, do not restrict inverted threshold to dragEl shadow + pastFirstInvertThresh = true; + } + if (!pastFirstInvertThresh) { + // dragEl shadow (target move distance shadow) + if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow + : mouseOnAxis > targetS2 - targetMoveDistance) { + return -lastDirection; + } + } else { + invert = true; + } + } else { + // Regular + if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) { + return _getInsertDirection(target); + } + } + } + invert = invert || invertSwap; + if (invert) { + // Invert of regular + if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) { + return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1; + } + } + return 0; +} +/** + * Gets the direction dragEl must be swapped relative to target in order to make it + * seem that dragEl has been "inserted" into that element's position + * @param {HTMLElement} target The target whose position dragEl is being inserted at + * @return {Number} Direction dragEl must be swapped + */ + +function _getInsertDirection(target) { + if (index(dragEl) < index(target)) { + return 1; + } else { + return -1; + } +} +/** + * Generate id + * @param {HTMLElement} el + * @returns {String} + * @private + */ + +function _generateId(el) { + var str = el.tagName + el.className + el.src + el.href + el.textContent, + i = str.length, + sum = 0; + while (i--) { + sum += str.charCodeAt(i); + } + return sum.toString(36); +} +function _saveInputCheckedState(root) { + savedInputChecked.length = 0; + var inputs = root.getElementsByTagName('input'); + var idx = inputs.length; + while (idx--) { + var el = inputs[idx]; + el.checked && savedInputChecked.push(el); + } +} +function _nextTick(fn) { + return setTimeout(fn, 0); +} +function _cancelNextTick(id) { + return clearTimeout(id); +} // Fixed #973: + +if (documentExists) { + on(document, 'touchmove', function (evt) { + if ((Sortable.active || awaitingDragStarted) && evt.cancelable) { + evt.preventDefault(); + } + }); +} // Export utils + +Sortable.utils = { + on: on, + off: off, + css: css, + find: find, + is: function is(el, selector) { + return !!closest(el, selector, el, false); + }, + extend: extend, + throttle: throttle, + closest: closest, + toggleClass: toggleClass, + clone: clone, + index: index, + nextTick: _nextTick, + cancelNextTick: _cancelNextTick, + detectDirection: _detectDirection, + getChild: getChild +}; +/** + * Get the Sortable instance of an element + * @param {HTMLElement} element The element + * @return {Sortable|undefined} The instance of Sortable + */ + +Sortable.get = function (element) { + return element[expando]; +}; +/** + * Mount a plugin to Sortable + * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted + */ + +Sortable.mount = function () { + for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) { + plugins[_key] = arguments[_key]; + } + if (plugins[0].constructor === Array) plugins = plugins[0]; + plugins.forEach(function (plugin) { + if (!plugin.prototype || !plugin.prototype.constructor) { + throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(plugin)); + } + if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils); + PluginManager.mount(plugin); + }); +}; +/** + * Create sortable instance + * @param {HTMLElement} el + * @param {Object} [options] + */ + +Sortable.create = function (el, options) { + return new Sortable(el, options); +}; // Export + +Sortable.version = version; +var autoScrolls = [], + scrollEl, + scrollRootEl, + scrolling = false, + lastAutoScrollX, + lastAutoScrollY, + touchEvt$1, + pointerElemChangedInterval; +function AutoScrollPlugin() { + function AutoScroll() { + this.defaults = { + scroll: true, + scrollSensitivity: 30, + scrollSpeed: 10, + bubbleScroll: true + }; // Bind all private methods + + for (var fn in this) { + if (fn.charAt(0) === '_' && typeof this[fn] === 'function') { + this[fn] = this[fn].bind(this); + } + } + } + AutoScroll.prototype = { + dragStarted: function dragStarted(_ref) { + var originalEvent = _ref.originalEvent; + if (this.sortable.nativeDraggable) { + on(document, 'dragover', this._handleAutoScroll); + } else { + if (this.options.supportPointer) { + on(document, 'pointermove', this._handleFallbackAutoScroll); + } else if (originalEvent.touches) { + on(document, 'touchmove', this._handleFallbackAutoScroll); + } else { + on(document, 'mousemove', this._handleFallbackAutoScroll); + } + } + }, + dragOverCompleted: function dragOverCompleted(_ref2) { + var originalEvent = _ref2.originalEvent; + + // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached) + if (!this.options.dragOverBubble && !originalEvent.rootEl) { + this._handleAutoScroll(originalEvent); + } + }, + drop: function drop() { + if (this.sortable.nativeDraggable) { + off(document, 'dragover', this._handleAutoScroll); + } else { + off(document, 'pointermove', this._handleFallbackAutoScroll); + off(document, 'touchmove', this._handleFallbackAutoScroll); + off(document, 'mousemove', this._handleFallbackAutoScroll); + } + clearPointerElemChangedInterval(); + clearAutoScrolls(); + cancelThrottle(); + }, + nulling: function nulling() { + touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null; + autoScrolls.length = 0; + }, + _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) { + this._handleAutoScroll(evt, true); + }, + _handleAutoScroll: function _handleAutoScroll(evt, fallback) { + var _this = this; + var x = (evt.touches ? evt.touches[0] : evt).clientX, + y = (evt.touches ? evt.touches[0] : evt).clientY, + elem = document.elementFromPoint(x, y); + touchEvt$1 = evt; // IE does not seem to have native autoscroll, + // Edge's autoscroll seems too conditional, + // MACOS Safari does not have autoscroll, + // Firefox and Chrome are good + + if (fallback || Edge || IE11OrLess || Safari) { + autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change + + var ogElemScroller = getParentAutoScrollElement(elem, true); + if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) { + pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour + + pointerElemChangedInterval = setInterval(function () { + var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true); + if (newElem !== ogElemScroller) { + ogElemScroller = newElem; + clearAutoScrolls(); + } + autoScroll(evt, _this.options, newElem, fallback); + }, 10); + lastAutoScrollX = x; + lastAutoScrollY = y; + } + } else { + // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll + if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) { + clearAutoScrolls(); + return; + } + autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false); + } + } + }; + return _extends(AutoScroll, { + pluginName: 'scroll', + initializeByDefault: true + }); +} +function clearAutoScrolls() { + autoScrolls.forEach(function (autoScroll) { + clearInterval(autoScroll.pid); + }); + autoScrolls = []; +} +function clearPointerElemChangedInterval() { + clearInterval(pointerElemChangedInterval); +} +var autoScroll = throttle(function (evt, options, rootEl, isFallback) { + // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521 + if (!options.scroll) return; + var x = (evt.touches ? evt.touches[0] : evt).clientX, + y = (evt.touches ? evt.touches[0] : evt).clientY, + sens = options.scrollSensitivity, + speed = options.scrollSpeed, + winScroller = getWindowScrollingElement(); + var scrollThisInstance = false, + scrollCustomFn; // New scroll root, set scrollEl + + if (scrollRootEl !== rootEl) { + scrollRootEl = rootEl; + clearAutoScrolls(); + scrollEl = options.scroll; + scrollCustomFn = options.scrollFn; + if (scrollEl === true) { + scrollEl = getParentAutoScrollElement(rootEl, true); + } + } + var layersOut = 0; + var currentParent = scrollEl; + do { + var el = currentParent, + rect = getRect(el), + top = rect.top, + bottom = rect.bottom, + left = rect.left, + right = rect.right, + width = rect.width, + height = rect.height, + canScrollX = void 0, + canScrollY = void 0, + scrollWidth = el.scrollWidth, + scrollHeight = el.scrollHeight, + elCSS = css(el), + scrollPosX = el.scrollLeft, + scrollPosY = el.scrollTop; + if (el === winScroller) { + canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible'); + canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible'); + } else { + canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll'); + canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll'); + } + var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX); + var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY); + if (!autoScrolls[layersOut]) { + for (var i = 0; i <= layersOut; i++) { + if (!autoScrolls[i]) { + autoScrolls[i] = {}; + } + } + } + if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) { + autoScrolls[layersOut].el = el; + autoScrolls[layersOut].vx = vx; + autoScrolls[layersOut].vy = vy; + clearInterval(autoScrolls[layersOut].pid); + if (vx != 0 || vy != 0) { + scrollThisInstance = true; + /* jshint loopfunc:true */ + + autoScrolls[layersOut].pid = setInterval(function () { + // emulate drag over during autoscroll (fallback), emulating native DnD behaviour + if (isFallback && this.layer === 0) { + Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely + } + var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0; + var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0; + if (typeof scrollCustomFn === 'function') { + if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') { + return; + } + } + scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY); + }.bind({ + layer: layersOut + }), 24); + } + } + layersOut++; + } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false))); + scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not +}, 30); +var drop = function drop(_ref) { + var originalEvent = _ref.originalEvent, + putSortable = _ref.putSortable, + dragEl = _ref.dragEl, + activeSortable = _ref.activeSortable, + dispatchSortableEvent = _ref.dispatchSortableEvent, + hideGhostForTarget = _ref.hideGhostForTarget, + unhideGhostForTarget = _ref.unhideGhostForTarget; + if (!originalEvent) return; + var toSortable = putSortable || activeSortable; + hideGhostForTarget(); + var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent; + var target = document.elementFromPoint(touch.clientX, touch.clientY); + unhideGhostForTarget(); + if (toSortable && !toSortable.el.contains(target)) { + dispatchSortableEvent('spill'); + this.onSpill({ + dragEl: dragEl, + putSortable: putSortable + }); + } +}; +function Revert() {} +Revert.prototype = { + startIndex: null, + dragStart: function dragStart(_ref2) { + var oldDraggableIndex = _ref2.oldDraggableIndex; + this.startIndex = oldDraggableIndex; + }, + onSpill: function onSpill(_ref3) { + var dragEl = _ref3.dragEl, + putSortable = _ref3.putSortable; + this.sortable.captureAnimationState(); + if (putSortable) { + putSortable.captureAnimationState(); + } + var nextSibling = getChild(this.sortable.el, this.startIndex, this.options); + if (nextSibling) { + this.sortable.el.insertBefore(dragEl, nextSibling); + } else { + this.sortable.el.appendChild(dragEl); + } + this.sortable.animateAll(); + if (putSortable) { + putSortable.animateAll(); + } + }, + drop: drop +}; +_extends(Revert, { + pluginName: 'revertOnSpill' +}); +function Remove() {} +Remove.prototype = { + onSpill: function onSpill(_ref4) { + var dragEl = _ref4.dragEl, + putSortable = _ref4.putSortable; + var parentSortable = putSortable || this.sortable; + parentSortable.captureAnimationState(); + dragEl.parentNode && dragEl.parentNode.removeChild(dragEl); + parentSortable.animateAll(); + }, + drop: drop +}; +_extends(Remove, { + pluginName: 'removeOnSpill' +}); +var lastSwapEl; +function SwapPlugin() { + function Swap() { + this.defaults = { + swapClass: 'sortable-swap-highlight' + }; + } + Swap.prototype = { + dragStart: function dragStart(_ref) { + var dragEl = _ref.dragEl; + lastSwapEl = dragEl; + }, + dragOverValid: function dragOverValid(_ref2) { + var completed = _ref2.completed, + target = _ref2.target, + onMove = _ref2.onMove, + activeSortable = _ref2.activeSortable, + changed = _ref2.changed, + cancel = _ref2.cancel; + if (!activeSortable.options.swap) return; + var el = this.sortable.el, + options = this.options; + if (target && target !== el) { + var prevSwapEl = lastSwapEl; + if (onMove(target) !== false) { + toggleClass(target, options.swapClass, true); + lastSwapEl = target; + } else { + lastSwapEl = null; + } + if (prevSwapEl && prevSwapEl !== lastSwapEl) { + toggleClass(prevSwapEl, options.swapClass, false); + } + } + changed(); + completed(true); + cancel(); + }, + drop: function drop(_ref3) { + var activeSortable = _ref3.activeSortable, + putSortable = _ref3.putSortable, + dragEl = _ref3.dragEl; + var toSortable = putSortable || this.sortable; + var options = this.options; + lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false); + if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) { + if (dragEl !== lastSwapEl) { + toSortable.captureAnimationState(); + if (toSortable !== activeSortable) activeSortable.captureAnimationState(); + swapNodes(dragEl, lastSwapEl); + toSortable.animateAll(); + if (toSortable !== activeSortable) activeSortable.animateAll(); + } + } + }, + nulling: function nulling() { + lastSwapEl = null; + } + }; + return _extends(Swap, { + pluginName: 'swap', + eventProperties: function eventProperties() { + return { + swapItem: lastSwapEl + }; + } + }); +} +function swapNodes(n1, n2) { + var p1 = n1.parentNode, + p2 = n2.parentNode, + i1, + i2; + if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return; + i1 = index(n1); + i2 = index(n2); + if (p1.isEqualNode(p2) && i1 < i2) { + i2++; + } + p1.insertBefore(n2, p1.children[i1]); + p2.insertBefore(n1, p2.children[i2]); +} +var multiDragElements = [], + multiDragClones = [], + lastMultiDragSelect, + // for selection with modifier key down (SHIFT) + multiDragSortable, + initialFolding = false, + // Initial multi-drag fold when drag started + folding = false, + // Folding any other time + dragStarted = false, + dragEl$1, + clonesFromRect, + clonesHidden; +function MultiDragPlugin() { + function MultiDrag(sortable) { + // Bind all private methods + for (var fn in this) { + if (fn.charAt(0) === '_' && typeof this[fn] === 'function') { + this[fn] = this[fn].bind(this); + } + } + if (sortable.options.supportPointer) { + on(document, 'pointerup', this._deselectMultiDrag); + } else { + on(document, 'mouseup', this._deselectMultiDrag); + on(document, 'touchend', this._deselectMultiDrag); + } + on(document, 'keydown', this._checkKeyDown); + on(document, 'keyup', this._checkKeyUp); + this.defaults = { + selectedClass: 'sortable-selected', + multiDragKey: null, + setData: function setData(dataTransfer, dragEl) { + var data = ''; + if (multiDragElements.length && multiDragSortable === sortable) { + multiDragElements.forEach(function (multiDragElement, i) { + data += (!i ? '' : ', ') + multiDragElement.textContent; + }); + } else { + data = dragEl.textContent; + } + dataTransfer.setData('Text', data); + } + }; + } + MultiDrag.prototype = { + multiDragKeyDown: false, + isMultiDrag: false, + delayStartGlobal: function delayStartGlobal(_ref) { + var dragged = _ref.dragEl; + dragEl$1 = dragged; + }, + delayEnded: function delayEnded() { + this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1); + }, + setupClone: function setupClone(_ref2) { + var sortable = _ref2.sortable, + cancel = _ref2.cancel; + if (!this.isMultiDrag) return; + for (var i = 0; i < multiDragElements.length; i++) { + multiDragClones.push(clone(multiDragElements[i])); + multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex; + multiDragClones[i].draggable = false; + multiDragClones[i].style['will-change'] = ''; + toggleClass(multiDragClones[i], this.options.selectedClass, false); + multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false); + } + sortable._hideClone(); + cancel(); + }, + clone: function clone(_ref3) { + var sortable = _ref3.sortable, + rootEl = _ref3.rootEl, + dispatchSortableEvent = _ref3.dispatchSortableEvent, + cancel = _ref3.cancel; + if (!this.isMultiDrag) return; + if (!this.options.removeCloneOnHide) { + if (multiDragElements.length && multiDragSortable === sortable) { + insertMultiDragClones(true, rootEl); + dispatchSortableEvent('clone'); + cancel(); + } + } + }, + showClone: function showClone(_ref4) { + var cloneNowShown = _ref4.cloneNowShown, + rootEl = _ref4.rootEl, + cancel = _ref4.cancel; + if (!this.isMultiDrag) return; + insertMultiDragClones(false, rootEl); + multiDragClones.forEach(function (clone) { + css(clone, 'display', ''); + }); + cloneNowShown(); + clonesHidden = false; + cancel(); + }, + hideClone: function hideClone(_ref5) { + var _this = this; + var sortable = _ref5.sortable, + cloneNowHidden = _ref5.cloneNowHidden, + cancel = _ref5.cancel; + if (!this.isMultiDrag) return; + multiDragClones.forEach(function (clone) { + css(clone, 'display', 'none'); + if (_this.options.removeCloneOnHide && clone.parentNode) { + clone.parentNode.removeChild(clone); + } + }); + cloneNowHidden(); + clonesHidden = true; + cancel(); + }, + dragStartGlobal: function dragStartGlobal(_ref6) { + var sortable = _ref6.sortable; + if (!this.isMultiDrag && multiDragSortable) { + multiDragSortable.multiDrag._deselectMultiDrag(); + } + multiDragElements.forEach(function (multiDragElement) { + multiDragElement.sortableIndex = index(multiDragElement); + }); // Sort multi-drag elements + + multiDragElements = multiDragElements.sort(function (a, b) { + return a.sortableIndex - b.sortableIndex; + }); + dragStarted = true; + }, + dragStarted: function dragStarted(_ref7) { + var _this2 = this; + var sortable = _ref7.sortable; + if (!this.isMultiDrag) return; + if (this.options.sort) { + // Capture rects, + // hide multi drag elements (by positioning them absolute), + // set multi drag elements rects to dragRect, + // show multi drag elements, + // animate to rects, + // unset rects & remove from DOM + sortable.captureAnimationState(); + if (this.options.animation) { + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement === dragEl$1) return; + css(multiDragElement, 'position', 'absolute'); + }); + var dragRect = getRect(dragEl$1, false, true, true); + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement === dragEl$1) return; + setRect(multiDragElement, dragRect); + }); + folding = true; + initialFolding = true; + } + } + sortable.animateAll(function () { + folding = false; + initialFolding = false; + if (_this2.options.animation) { + multiDragElements.forEach(function (multiDragElement) { + unsetRect(multiDragElement); + }); + } // Remove all auxiliary multidrag items from el, if sorting enabled + + if (_this2.options.sort) { + removeMultiDragElements(); + } + }); + }, + dragOver: function dragOver(_ref8) { + var target = _ref8.target, + completed = _ref8.completed, + cancel = _ref8.cancel; + if (folding && ~multiDragElements.indexOf(target)) { + completed(false); + cancel(); + } + }, + revert: function revert(_ref9) { + var fromSortable = _ref9.fromSortable, + rootEl = _ref9.rootEl, + sortable = _ref9.sortable, + dragRect = _ref9.dragRect; + if (multiDragElements.length > 1) { + // Setup unfold animation + multiDragElements.forEach(function (multiDragElement) { + sortable.addAnimationState({ + target: multiDragElement, + rect: folding ? getRect(multiDragElement) : dragRect + }); + unsetRect(multiDragElement); + multiDragElement.fromRect = dragRect; + fromSortable.removeAnimationState(multiDragElement); + }); + folding = false; + insertMultiDragElements(!this.options.removeCloneOnHide, rootEl); + } + }, + dragOverCompleted: function dragOverCompleted(_ref10) { + var sortable = _ref10.sortable, + isOwner = _ref10.isOwner, + insertion = _ref10.insertion, + activeSortable = _ref10.activeSortable, + parentEl = _ref10.parentEl, + putSortable = _ref10.putSortable; + var options = this.options; + if (insertion) { + // Clones must be hidden before folding animation to capture dragRectAbsolute properly + if (isOwner) { + activeSortable._hideClone(); + } + initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location + + if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) { + // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible + var dragRectAbsolute = getRect(dragEl$1, false, true, true); + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement === dragEl$1) return; + setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted + // while folding, and so that we can capture them again because old sortable will no longer be fromSortable + + parentEl.appendChild(multiDragElement); + }); + folding = true; + } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out + + if (!isOwner) { + // Only remove if not folding (folding will remove them anyways) + if (!folding) { + removeMultiDragElements(); + } + if (multiDragElements.length > 1) { + var clonesHiddenBefore = clonesHidden; + activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden + + if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) { + multiDragClones.forEach(function (clone) { + activeSortable.addAnimationState({ + target: clone, + rect: clonesFromRect + }); + clone.fromRect = clonesFromRect; + clone.thisAnimationDuration = null; + }); + } + } else { + activeSortable._showClone(sortable); + } + } + } + }, + dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) { + var dragRect = _ref11.dragRect, + isOwner = _ref11.isOwner, + activeSortable = _ref11.activeSortable; + multiDragElements.forEach(function (multiDragElement) { + multiDragElement.thisAnimationDuration = null; + }); + if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) { + clonesFromRect = _extends({}, dragRect); + var dragMatrix = matrix(dragEl$1, true); + clonesFromRect.top -= dragMatrix.f; + clonesFromRect.left -= dragMatrix.e; + } + }, + dragOverAnimationComplete: function dragOverAnimationComplete() { + if (folding) { + folding = false; + removeMultiDragElements(); + } + }, + drop: function drop(_ref12) { + var evt = _ref12.originalEvent, + rootEl = _ref12.rootEl, + parentEl = _ref12.parentEl, + sortable = _ref12.sortable, + dispatchSortableEvent = _ref12.dispatchSortableEvent, + oldIndex = _ref12.oldIndex, + putSortable = _ref12.putSortable; + var toSortable = putSortable || this.sortable; + if (!evt) return; + var options = this.options, + children = parentEl.children; // Multi-drag selection + + if (!dragStarted) { + if (options.multiDragKey && !this.multiDragKeyDown) { + this._deselectMultiDrag(); + } + toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1)); + if (!~multiDragElements.indexOf(dragEl$1)) { + multiDragElements.push(dragEl$1); + dispatchEvent({ + sortable: sortable, + rootEl: rootEl, + name: 'select', + targetEl: dragEl$1, + originalEvt: evt + }); // Modifier activated, select from last to dragEl + + if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) { + var lastIndex = index(lastMultiDragSelect), + currentIndex = index(dragEl$1); + if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) { + // Must include lastMultiDragSelect (select it), in case modified selection from no selection + // (but previous selection existed) + var n, i; + if (currentIndex > lastIndex) { + i = lastIndex; + n = currentIndex; + } else { + i = currentIndex; + n = lastIndex + 1; + } + for (; i < n; i++) { + if (~multiDragElements.indexOf(children[i])) continue; + toggleClass(children[i], options.selectedClass, true); + multiDragElements.push(children[i]); + dispatchEvent({ + sortable: sortable, + rootEl: rootEl, + name: 'select', + targetEl: children[i], + originalEvt: evt + }); + } + } + } else { + lastMultiDragSelect = dragEl$1; + } + multiDragSortable = toSortable; + } else { + multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1); + lastMultiDragSelect = null; + dispatchEvent({ + sortable: sortable, + rootEl: rootEl, + name: 'deselect', + targetEl: dragEl$1, + originalEvt: evt + }); + } + } // Multi-drag drop + + if (dragStarted && this.isMultiDrag) { + // Do not "unfold" after around dragEl if reverted + if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) { + var dragRect = getRect(dragEl$1), + multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')'); + if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null; + toSortable.captureAnimationState(); + if (!initialFolding) { + if (options.animation) { + dragEl$1.fromRect = dragRect; + multiDragElements.forEach(function (multiDragElement) { + multiDragElement.thisAnimationDuration = null; + if (multiDragElement !== dragEl$1) { + var rect = folding ? getRect(multiDragElement) : dragRect; + multiDragElement.fromRect = rect; // Prepare unfold animation + + toSortable.addAnimationState({ + target: multiDragElement, + rect: rect + }); + } + }); + } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert + // properly they must all be removed + + removeMultiDragElements(); + multiDragElements.forEach(function (multiDragElement) { + if (children[multiDragIndex]) { + parentEl.insertBefore(multiDragElement, children[multiDragIndex]); + } else { + parentEl.appendChild(multiDragElement); + } + multiDragIndex++; + }); // If initial folding is done, the elements may have changed position because they are now + // unfolding around dragEl, even though dragEl may not have his index changed, so update event + // must be fired here as Sortable will not. + + if (oldIndex === index(dragEl$1)) { + var update = false; + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement.sortableIndex !== index(multiDragElement)) { + update = true; + return; + } + }); + if (update) { + dispatchSortableEvent('update'); + } + } + } // Must be done after capturing individual rects (scroll bar) + + multiDragElements.forEach(function (multiDragElement) { + unsetRect(multiDragElement); + }); + toSortable.animateAll(); + } + multiDragSortable = toSortable; + } // Remove clones if necessary + + if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') { + multiDragClones.forEach(function (clone) { + clone.parentNode && clone.parentNode.removeChild(clone); + }); + } + }, + nullingGlobal: function nullingGlobal() { + this.isMultiDrag = dragStarted = false; + multiDragClones.length = 0; + }, + destroyGlobal: function destroyGlobal() { + this._deselectMultiDrag(); + off(document, 'pointerup', this._deselectMultiDrag); + off(document, 'mouseup', this._deselectMultiDrag); + off(document, 'touchend', this._deselectMultiDrag); + off(document, 'keydown', this._checkKeyDown); + off(document, 'keyup', this._checkKeyUp); + }, + _deselectMultiDrag: function _deselectMultiDrag(evt) { + if (typeof dragStarted !== "undefined" && dragStarted) return; // Only deselect if selection is in this sortable + + if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable + + if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click + + if (evt && evt.button !== 0) return; + while (multiDragElements.length) { + var el = multiDragElements[0]; + toggleClass(el, this.options.selectedClass, false); + multiDragElements.shift(); + dispatchEvent({ + sortable: this.sortable, + rootEl: this.sortable.el, + name: 'deselect', + targetEl: el, + originalEvt: evt + }); + } + }, + _checkKeyDown: function _checkKeyDown(evt) { + if (evt.key === this.options.multiDragKey) { + this.multiDragKeyDown = true; + } + }, + _checkKeyUp: function _checkKeyUp(evt) { + if (evt.key === this.options.multiDragKey) { + this.multiDragKeyDown = false; + } + } + }; + return _extends(MultiDrag, { + // Static methods & properties + pluginName: 'multiDrag', + utils: { + /** + * Selects the provided multi-drag item + * @param {HTMLElement} el The element to be selected + */ + select: function select(el) { + var sortable = el.parentNode[expando]; + if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return; + if (multiDragSortable && multiDragSortable !== sortable) { + multiDragSortable.multiDrag._deselectMultiDrag(); + multiDragSortable = sortable; + } + toggleClass(el, sortable.options.selectedClass, true); + multiDragElements.push(el); + }, + /** + * Deselects the provided multi-drag item + * @param {HTMLElement} el The element to be deselected + */ + deselect: function deselect(el) { + var sortable = el.parentNode[expando], + index = multiDragElements.indexOf(el); + if (!sortable || !sortable.options.multiDrag || !~index) return; + toggleClass(el, sortable.options.selectedClass, false); + multiDragElements.splice(index, 1); + } + }, + eventProperties: function eventProperties() { + var _this3 = this; + var oldIndicies = [], + newIndicies = []; + multiDragElements.forEach(function (multiDragElement) { + oldIndicies.push({ + multiDragElement: multiDragElement, + index: multiDragElement.sortableIndex + }); // multiDragElements will already be sorted if folding + + var newIndex; + if (folding && multiDragElement !== dragEl$1) { + newIndex = -1; + } else if (folding) { + newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')'); + } else { + newIndex = index(multiDragElement); + } + newIndicies.push({ + multiDragElement: multiDragElement, + index: newIndex + }); + }); + return { + items: _toConsumableArray(multiDragElements), + clones: [].concat(multiDragClones), + oldIndicies: oldIndicies, + newIndicies: newIndicies + }; + }, + optionListeners: { + multiDragKey: function multiDragKey(key) { + key = key.toLowerCase(); + if (key === 'ctrl') { + key = 'Control'; + } else if (key.length > 1) { + key = key.charAt(0).toUpperCase() + key.substr(1); + } + return key; + } + } + }); +} +function insertMultiDragElements(clonesInserted, rootEl) { + multiDragElements.forEach(function (multiDragElement, i) { + var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)]; + if (target) { + rootEl.insertBefore(multiDragElement, target); + } else { + rootEl.appendChild(multiDragElement); + } + }); +} +/** + * Insert multi-drag clones + * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted + * @param {HTMLElement} rootEl + */ + +function insertMultiDragClones(elementsInserted, rootEl) { + multiDragClones.forEach(function (clone, i) { + var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)]; + if (target) { + rootEl.insertBefore(clone, target); + } else { + rootEl.appendChild(clone); + } + }); +} +function removeMultiDragElements() { + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement === dragEl$1) return; + multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement); + }); +} +Sortable.mount(new AutoScrollPlugin()); +Sortable.mount(Remove, Revert); +/* harmony default export */ __webpack_exports__["default"] = (Sortable); + + +/***/ }), + +/***/ "4625": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var classofRaw = __webpack_require__("c6b6"); +var uncurryThis = __webpack_require__("e330"); + +module.exports = function (fn) { + // Nashorn bug: + // https://github.com/zloirock/core-js/issues/1128 + // https://github.com/zloirock/core-js/issues/1130 + if (classofRaw(fn) === 'Function') return uncurryThis(fn); +}; + + +/***/ }), + +/***/ "467f": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var createError = __webpack_require__("2d83"); + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + */ +module.exports = function settle(resolve, reject, response) { + var validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(createError( + 'Request failed with status code ' + response.status, + response.config, + null, + response.request, + response + )); + } +}; + + +/***/ }), + +/***/ "46c4": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// `GetIteratorDirect(obj)` abstract operation +// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect +module.exports = function (obj) { + return { + iterator: obj, + next: obj.next, + done: false + }; +}; + + +/***/ }), + +/***/ "485a": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__("c65b"); +var isCallable = __webpack_require__("1626"); +var isObject = __webpack_require__("861d"); + +var $TypeError = TypeError; + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + throw new $TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), + +/***/ "4897": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; +exports.i18n = exports.use = exports.t = undefined; +var _zhCN = __webpack_require__("f0d9"); +var _zhCN2 = _interopRequireDefault(_zhCN); +var _vue = __webpack_require__("8bbf"); +var _vue2 = _interopRequireDefault(_vue); +var _deepmerge = __webpack_require__("3c4e"); +var _deepmerge2 = _interopRequireDefault(_deepmerge); +var _format = __webpack_require__("9d7e"); +var _format2 = _interopRequireDefault(_format); +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} +var format = (0, _format2.default)(_vue2.default); +var lang = _zhCN2.default; +var merged = false; +var i18nHandler = function i18nHandler() { + var vuei18n = Object.getPrototypeOf(this || _vue2.default).$t; + if (typeof vuei18n === 'function' && !!_vue2.default.locale) { + if (!merged) { + merged = true; + _vue2.default.locale(_vue2.default.config.lang, (0, _deepmerge2.default)(lang, _vue2.default.locale(_vue2.default.config.lang) || {}, { + clone: true + })); + } + return vuei18n.apply(this, arguments); + } +}; +var t = exports.t = function t(path, options) { + var value = i18nHandler.apply(this, arguments); + if (value !== null && value !== undefined) return value; + var array = path.split('.'); + var current = lang; + for (var i = 0, j = array.length; i < j; i++) { + var property = array[i]; + value = current[property]; + if (i === j - 1) return format(value, options); + if (!value) return ''; + current = value; + } + return ''; +}; +var use = exports.use = function use(l) { + lang = l || lang; +}; +var i18n = exports.i18n = function i18n(fn) { + i18nHandler = fn || i18nHandler; +}; +exports.default = { + use: use, + t: t, + i18n: i18n +}; + +/***/ }), + +/***/ "4a0c": +/***/ (function(module) { + +module.exports = JSON.parse("{\"_args\":[[\"axios@0.21.4\",\"D:\\\\work\\\\easy-form-pro\"]],\"_from\":\"axios@0.21.4\",\"_id\":\"axios@0.21.4\",\"_inBundle\":false,\"_integrity\":\"sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==\",\"_location\":\"/axios\",\"_phantomChildren\":{},\"_requested\":{\"type\":\"version\",\"registry\":true,\"raw\":\"axios@0.21.4\",\"name\":\"axios\",\"escapedName\":\"axios\",\"rawSpec\":\"0.21.4\",\"saveSpec\":null,\"fetchSpec\":\"0.21.4\"},\"_requiredBy\":[\"/\"],\"_resolved\":\"https://registry.npmmirror.com/axios/-/axios-0.21.4.tgz\",\"_spec\":\"0.21.4\",\"_where\":\"D:\\\\work\\\\easy-form-pro\",\"author\":{\"name\":\"Matt Zabriskie\"},\"browser\":{\"./lib/adapters/http.js\":\"./lib/adapters/xhr.js\"},\"bugs\":{\"url\":\"https://github.com/axios/axios/issues\"},\"bundlesize\":[{\"path\":\"./dist/axios.min.js\",\"threshold\":\"5kB\"}],\"dependencies\":{\"follow-redirects\":\"^1.14.0\"},\"description\":\"Promise based HTTP client for the browser and node.js\",\"devDependencies\":{\"coveralls\":\"^3.0.0\",\"es6-promise\":\"^4.2.4\",\"grunt\":\"^1.3.0\",\"grunt-banner\":\"^0.6.0\",\"grunt-cli\":\"^1.2.0\",\"grunt-contrib-clean\":\"^1.1.0\",\"grunt-contrib-watch\":\"^1.0.0\",\"grunt-eslint\":\"^23.0.0\",\"grunt-karma\":\"^4.0.0\",\"grunt-mocha-test\":\"^0.13.3\",\"grunt-ts\":\"^6.0.0-beta.19\",\"grunt-webpack\":\"^4.0.2\",\"istanbul-instrumenter-loader\":\"^1.0.0\",\"jasmine-core\":\"^2.4.1\",\"karma\":\"^6.3.2\",\"karma-chrome-launcher\":\"^3.1.0\",\"karma-firefox-launcher\":\"^2.1.0\",\"karma-jasmine\":\"^1.1.1\",\"karma-jasmine-ajax\":\"^0.1.13\",\"karma-safari-launcher\":\"^1.0.0\",\"karma-sauce-launcher\":\"^4.3.6\",\"karma-sinon\":\"^1.0.5\",\"karma-sourcemap-loader\":\"^0.3.8\",\"karma-webpack\":\"^4.0.2\",\"load-grunt-tasks\":\"^3.5.2\",\"minimist\":\"^1.2.0\",\"mocha\":\"^8.2.1\",\"sinon\":\"^4.5.0\",\"terser-webpack-plugin\":\"^4.2.3\",\"typescript\":\"^4.0.5\",\"url-search-params\":\"^0.10.0\",\"webpack\":\"^4.44.2\",\"webpack-dev-server\":\"^3.11.0\"},\"homepage\":\"https://axios-http.com\",\"jsdelivr\":\"dist/axios.min.js\",\"keywords\":[\"xhr\",\"http\",\"ajax\",\"promise\",\"node\"],\"license\":\"MIT\",\"main\":\"index.js\",\"name\":\"axios\",\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/axios/axios.git\"},\"scripts\":{\"build\":\"NODE_ENV=production grunt build\",\"coveralls\":\"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\",\"examples\":\"node ./examples/server.js\",\"fix\":\"eslint --fix lib/**/*.js\",\"postversion\":\"git push && git push --tags\",\"preversion\":\"npm test\",\"start\":\"node ./sandbox/server.js\",\"test\":\"grunt test\",\"version\":\"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\"},\"typings\":\"./index.d.ts\",\"unpkg\":\"dist/axios.min.js\",\"version\":\"0.21.4\"}"); + +/***/ }), + +/***/ "4a3a": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "4a70": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=template&id=1b0480e0&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-upload',{ref:"fieldEditor",staticClass:"dynamicPseudoAfter",class:{'hideUploadDiv': _vm.uploadBtnHidden || _vm.isReadMode},style:(_vm.styleVariables),attrs:{"disabled":_vm.field.options.disabled || _vm.isReadMode,"action":_vm.realUploadURL,"headers":_vm.uploadHeaders,"data":_vm.uploadData,"with-credentials":_vm.field.options.withCredentials,"multiple":_vm.field.options.multipleSelect,"file-list":_vm.fileList,"show-file-list":_vm.field.options.showFileList,"limit":_vm.field.options.limit,"on-exceed":_vm.handleFileExceed,"before-upload":_vm.beforeFileUpload,"on-success":_vm.handleFileUpload,"on-error":_vm.handleUploadError},scopedSlots:_vm._u([{key:"file",fn:function(ref){ +var file = ref.file; +return [_c('div',{staticClass:"upload-file-list"},[_c('span',{staticClass:"upload-file-name",attrs:{"title":file.name}},[_vm._v(_vm._s(file.name))]),_c('a',{attrs:{"href":file.url,"download":"","target":"_blank"}},[_c('i',{staticClass:"el-icon-download file-action",attrs:{"title":_vm.i18nt('render.hint.downloadFile')}})]),(!_vm.field.options.disabled && !_vm.isReadMode)?_c('i',{staticClass:"el-icon-delete file-action",attrs:{"title":_vm.i18nt('render.hint.removeFile')},on:{"click":function($event){return _vm.removeUploadFile(file.name, file.url, file.uid)}}}):_vm._e()])]}}])},[(!!_vm.field.options.uploadTip)?_c('div',{staticClass:"el-upload__tip",attrs:{"slot":"tip"},slot:"tip"},[_vm._v(_vm._s(_vm.field.options.uploadTip))]):_vm._e(),_c('i',{staticClass:"el-icon-plus avatar-uploader-icon",attrs:{"slot":"default"},slot:"default"})])],1)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=template&id=1b0480e0&scoped=true + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js +var es_array_push = __webpack_require__("14d9"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/utils/util.js +var util = __webpack_require__("ca00"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +let selectFileText = "'" + Object(i18n["c" /* translate */])('render.hint.selectFile') + "'"; +/* harmony default export */ var file_upload_widgetvue_type_script_lang_js = ({ + name: "file-upload-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + FormItemWrapper: form_item_wrapper["default"] + }, + inject: ['refList', 'globalOptionData', 'globalModel'], + data() { + return { + oldFieldValue: null, + //field组件change之前的值 + fieldModel: [], + rules: [], + uploadHeaders: {}, + uploadData: { + key: '' //七牛云上传文件名 + //token: '', //七牛云上传token + + //policy: '', //又拍云上传policy + //authorization: '', //又拍云上传签名 + }, + fileList: [], + //上传文件列表 + + styleVariables: { + '--select-file-action': selectFileText + } + }; + }, + computed: { + realUploadURL() { + let uploadURL = this.field.options.uploadURL; + if (!!uploadURL && (uploadURL.indexOf('DSV.') > -1 || uploadURL.indexOf('DSV[') > -1)) { + let DSV = this.getGlobalDsv(); + // console.log('test DSV: ', DSV) //防止DSV被打包工具优化!!! + return Object(util["d" /* evalFn */])(this.field.options.uploadURL, DSV); + } + return this.field.options.uploadURL; + }, + uploadBtnHidden() { + return !this.fileList || this.fileList.length >= this.field.options.limit; + } + }, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initFieldModel(); + this.initEventHandler(); + this.buildFieldRules(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + handleFileExceed() { + let uploadLimit = this.field.options.limit; + this.$message.warning(this.i18nt('render.hint.uploadExceed').replace('${uploadLimit}', uploadLimit)); + }, + beforeFileUpload(file) { + let fileTypeCheckResult = false; + let extFileName = file.name.substring(file.name.lastIndexOf('.') + 1); + if (!!this.field.options && !!this.field.options.fileTypes) { + let uploadFileTypes = this.field.options.fileTypes; + if (uploadFileTypes.length > 0) { + fileTypeCheckResult = uploadFileTypes.some(ft => { + return extFileName.toLowerCase() === ft.toLowerCase(); + }); + } + } + if (!fileTypeCheckResult) { + this.$message.error(this.i18nt('render.hint.unsupportedFileType') + extFileName); + return false; + } + let fileSizeCheckResult = false; + let uploadFileMaxSize = 5; //5MB + if (!!this.field.options && !!this.field.options.fileMaxSize) { + uploadFileMaxSize = this.field.options.fileMaxSize; + } + fileSizeCheckResult = file.size / 1024 / 1024 <= uploadFileMaxSize; + if (!fileSizeCheckResult) { + this.$message.error(this.i18nt('render.hint.fileSizeExceed') + uploadFileMaxSize + 'MB'); + return false; + } + this.uploadData.key = file.name; + return this.handleOnBeforeUpload(file); + }, + handleOnBeforeUpload(file) { + if (!!this.field.options.onBeforeUpload) { + let bfFunc = new Function('file', this.field.options.onBeforeUpload); + let result = bfFunc.call(this, file); + if (typeof result === 'boolean') { + return result; + } else { + return true; + } + } + return true; + }, + updateFieldModelAndEmitDataChangeForUpload(fileList, customResult, defaultResult) { + this.fieldModel = this.fieldModel || []; + let oldValue = Object(util["c" /* deepClone */])(this.fieldModel); + if (!!customResult && !!customResult.name && !!customResult.url) { + this.fieldModel.push({ + name: customResult.name, + url: customResult.url + }); + } else if (!!defaultResult && !!defaultResult.name && !!defaultResult.url) { + this.fieldModel.push({ + name: defaultResult.name, + url: defaultResult.url + }); + } else { + this.fieldModel = Object(util["c" /* deepClone */])(fileList); + } + this.syncUpdateFormModel(this.fieldModel); + this.emitFieldDataChange(this.fieldModel, oldValue); + }, + handleFileUpload(res, file, fileList) { + if (file.status === 'success') { + let customResult = null; + if (!!this.field.options.onUploadSuccess) { + let mountFunc = new Function('result', 'file', 'fileList', this.field.options.onUploadSuccess); + customResult = mountFunc.call(this, res, file, fileList); + } + this.updateFieldModelAndEmitDataChangeForUpload(fileList, customResult, res); + if (!!customResult && !!customResult.name) { + file.name = customResult.name; + } else { + file.name = file.name || res.name || res.fileName || res.filename; + } + if (!!customResult && !!customResult.url) { + file.url = customResult.url; + } else { + file.url = file.url || res.url; + } + this.fileList = Object(util["c" /* deepClone */])(fileList); + this.$nextTick(() => { + this.clearValidate(); + }); + } + }, + updateFieldModelAndEmitDataChangeForRemove(deletedFileIdx, fileList) { + let oldValue = Object(util["c" /* deepClone */])(this.fieldModel); + this.fieldModel.splice(deletedFileIdx, 1); + this.syncUpdateFormModel(this.fieldModel); + this.emitFieldDataChange(this.fieldModel, oldValue); + }, + removeUploadFile(fileName, fileUrl, fileUid) { + let foundIdx = -1; + let foundFile = null; + this.fileList.forEach((file, idx) => { + if (file.name === fileName && (file.url === fileUrl || !!fileUid && file.uid === fileUid)) { + foundIdx = idx; + foundFile = file; + } + }); + if (foundIdx >= 0) { + this.fileList.splice(foundIdx, 1); + this.updateFieldModelAndEmitDataChangeForRemove(foundIdx, this.fileList); + if (!!this.field.options.onFileRemove) { + let customFn = new Function('file', 'fileList', this.field.options.onFileRemove); + customFn.call(this, foundFile, this.fileList); + } + } + }, + handleUploadError(err, file, fileList) { + if (!!this.field.options.onUploadError) { + let customFn = new Function('error', 'file', 'fileList', this.field.options.onUploadError); + customFn.call(this, err, file, fileList); + } else { + this.$message({ + message: this.i18nt('render.hint.uploadError') + err, + duration: 3000, + type: 'error' + }); + } + } + } +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_file_upload_widgetvue_type_script_lang_js = (file_upload_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=style&index=0&id=1b0480e0&prod&lang=scss&scoped=true +var file_upload_widgetvue_type_style_index_0_id_1b0480e0_prod_lang_scss_scoped_true = __webpack_require__("ad5d"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_file_upload_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "1b0480e0", + null + +) + +/* harmony default export */ var file_upload_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "4a7b": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); + +/** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * @returns {Object} New object resulting from merging config2 to config1 + */ +module.exports = function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + var config = {}; + + var valueFromConfig2Keys = ['url', 'method', 'data']; + var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params']; + var defaultToConfig2Keys = [ + 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer', + 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', + 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress', + 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent', + 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding' + ]; + var directMergeKeys = ['validateStatus']; + + function getMergedValue(target, source) { + if (utils.isPlainObject(target) && utils.isPlainObject(source)) { + return utils.merge(target, source); + } else if (utils.isPlainObject(source)) { + return utils.merge({}, source); + } else if (utils.isArray(source)) { + return source.slice(); + } + return source; + } + + function mergeDeepProperties(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(config1[prop], config2[prop]); + } else if (!utils.isUndefined(config1[prop])) { + config[prop] = getMergedValue(undefined, config1[prop]); + } + } + + utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(undefined, config2[prop]); + } + }); + + utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties); + + utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(undefined, config2[prop]); + } else if (!utils.isUndefined(config1[prop])) { + config[prop] = getMergedValue(undefined, config1[prop]); + } + }); + + utils.forEach(directMergeKeys, function merge(prop) { + if (prop in config2) { + config[prop] = getMergedValue(config1[prop], config2[prop]); + } else if (prop in config1) { + config[prop] = getMergedValue(undefined, config1[prop]); + } + }); + + var axiosKeys = valueFromConfig2Keys + .concat(mergeDeepPropertiesKeys) + .concat(defaultToConfig2Keys) + .concat(directMergeKeys); + + var otherKeys = Object + .keys(config1) + .concat(Object.keys(config2)) + .filter(function filterAxiosKeys(key) { + return axiosKeys.indexOf(key) === -1; + }); + + utils.forEach(otherKeys, mergeDeepProperties); + + return config; +}; + + +/***/ }), + +/***/ "4b11": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// eslint-disable-next-line es/no-typed-arrays -- safe +module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; + + +/***/ }), + +/***/ "4d64": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIndexedObject = __webpack_require__("fc6a"); +var toAbsoluteIndex = __webpack_require__("23cb"); +var lengthOfArrayLike = __webpack_require__("07fa"); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + if (length === 0) return !IS_INCLUDES && -1; + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el !== el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value !== value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + + +/***/ }), + +/***/ "4ea1": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var arrayWith = __webpack_require__("d429"); +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var isBigIntArray = __webpack_require__("bcbf"); +var toIntegerOrInfinity = __webpack_require__("5926"); +var toBigInt = __webpack_require__("f495"); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var PROPER_ORDER = !!function () { + try { + // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing + new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } }); + } catch (error) { + // some early implementations, like WebKit, does not follow the final semantic + // https://github.com/tc39/proposal-change-array-by-copy/pull/86 + return error === 8; + } +}(); + +// `%TypedArray%.prototype.with` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with +exportTypedArrayMethod('with', { 'with': function (index, value) { + var O = aTypedArray(this); + var relativeIndex = toIntegerOrInfinity(index); + var actualValue = isBigIntArray(O) ? toBigInt(value) : +value; + return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue); +} }['with'], !PROPER_ORDER); + + +/***/ }), + +/***/ "50c4": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIntegerOrInfinity = __webpack_require__("5926"); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + var len = toIntegerOrInfinity(argument); + return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + + +/***/ }), + +/***/ "519e": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "51a5": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "5270": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); +var transformData = __webpack_require__("c401"); +var isCancel = __webpack_require__("2e67"); +var defaults = __webpack_require__("2444"); + +/** + * Throws a `Cancel` if cancellation has been requested. + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * @returns {Promise} The Promise to be fulfilled + */ +module.exports = function dispatchRequest(config) { + throwIfCancellationRequested(config); + + // Ensure headers exist + config.headers = config.headers || {}; + + // Transform request data + config.data = transformData.call( + config, + config.data, + config.headers, + config.transformRequest + ); + + // Flatten headers + config.headers = utils.merge( + config.headers.common || {}, + config.headers[config.method] || {}, + config.headers + ); + + utils.forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + function cleanHeaderConfig(method) { + delete config.headers[method]; + } + ); + + var adapter = config.adapter || defaults.adapter; + + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData.call( + config, + response.data, + response.headers, + config.transformResponse + ); + + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData.call( + config, + reason.response.data, + reason.response.headers, + config.transformResponse + ); + } + } + + return Promise.reject(reason); + }); +}; + + +/***/ }), + +/***/ "5388": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__("c65b"); + +module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) { + var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator; + var next = record.next; + var step, result; + while (!(step = call(next, iterator)).done) { + result = fn(step.value); + if (result !== undefined) return result; + } +}; + + +/***/ }), + +/***/ "541d": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_date_widget_vue_vue_type_style_index_0_id_e2fc9bbc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f5c5"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_date_widget_vue_vue_type_style_index_0_id_e2fc9bbc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_date_widget_vue_vue_type_style_index_0_id_e2fc9bbc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "5692": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var store = __webpack_require__("c6cd"); + +module.exports = function (key, value) { + return store[key] || (store[key] = value || {}); +}; + + +/***/ }), + +/***/ "56ef": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var getBuiltIn = __webpack_require__("d066"); +var uncurryThis = __webpack_require__("e330"); +var getOwnPropertyNamesModule = __webpack_require__("241c"); +var getOwnPropertySymbolsModule = __webpack_require__("7418"); +var anObject = __webpack_require__("825a"); + +var concat = uncurryThis([].concat); + +// all object keys, includes non-enumerable and symbols +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + + +/***/ }), + +/***/ "577e": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var classof = __webpack_require__("f5df"); + +var $String = String; + +module.exports = function (argument) { + if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); + return $String(argument); +}; + + +/***/ }), + +/***/ "5873": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return VueEditor; }); +/* unused harmony export install */ +/* harmony import */ var quill__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9339"); +/* harmony import */ var quill__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill__WEBPACK_IMPORTED_MODULE_0__); +/*! + * vue2-editor v2.10.3 + * (c) 2021 David Royer + * Released under the MIT License. + */ + + + +var defaultToolbar = [[{ + header: [false, 1, 2, 3, 4, 5, 6] +}], ["bold", "italic", "underline", "strike"], // toggled buttons +[{ + align: "" +}, { + align: "center" +}, { + align: "right" +}, { + align: "justify" +}], ["blockquote", "code-block"], [{ + list: "ordered" +}, { + list: "bullet" +}, { + list: "check" +}], [{ + indent: "-1" +}, { + indent: "+1" +}], // outdent/indent +[{ + color: [] +}, { + background: [] +}], // dropdown with defaults from theme +["link", "image", "video"], ["clean"] // remove formatting button +]; + +var oldApi = { + props: { + customModules: Array + }, + methods: { + registerCustomModules: function registerCustomModules(Quill) { + if (this.customModules !== undefined) { + this.customModules.forEach(function (customModule) { + Quill.register("modules/" + customModule.alias, customModule.module); + }); + } + } + } +}; + +function _typeof(obj) { + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function (obj) { + return typeof obj; + }; + } else { + _typeof = function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); +} + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) _setPrototypeOf(subClass, superClass); +} + +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} + +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); +} + +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} + +function _possibleConstructorReturn(self, call) { + if (call && (typeof call === "object" || typeof call === "function")) { + return call; + } + + return _assertThisInitialized(self); +} + +function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); +} + +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +function _iterableToArrayLimit(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} + +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); +} + +/** + * Performs a deep merge of `source` into `target`. + * Mutates `target` only but not its objects and arrays. + * + */ +function mergeDeep(target, source) { + var isObject = function isObject(obj) { + return obj && _typeof(obj) === "object"; + }; + + if (!isObject(target) || !isObject(source)) { + return source; + } + + Object.keys(source).forEach(function (key) { + var targetValue = target[key]; + var sourceValue = source[key]; + + if (Array.isArray(targetValue) && Array.isArray(sourceValue)) { + target[key] = targetValue.concat(sourceValue); + } else if (isObject(targetValue) && isObject(sourceValue)) { + target[key] = mergeDeep(Object.assign({}, targetValue), sourceValue); + } else { + target[key] = sourceValue; + } + }); + return target; +} + +var BlockEmbed = quill__WEBPACK_IMPORTED_MODULE_0___default.a.import("blots/block/embed"); + +var HorizontalRule = +/*#__PURE__*/ +function (_BlockEmbed) { + _inherits(HorizontalRule, _BlockEmbed); + + function HorizontalRule() { + _classCallCheck(this, HorizontalRule); + + return _possibleConstructorReturn(this, _getPrototypeOf(HorizontalRule).apply(this, arguments)); + } + + return HorizontalRule; +}(BlockEmbed); + +HorizontalRule.blotName = "hr"; +HorizontalRule.tagName = "hr"; +quill__WEBPACK_IMPORTED_MODULE_0___default.a.register("formats/horizontal", HorizontalRule); + +var MarkdownShortcuts = +/*#__PURE__*/ +function () { + function MarkdownShortcuts(quill, options) { + var _this = this; + + _classCallCheck(this, MarkdownShortcuts); + + this.quill = quill; + this.options = options; + this.ignoreTags = ["PRE"]; + this.matches = [{ + name: "header", + pattern: /^(#){1,6}\s/g, + action: function action(text, selection, pattern) { + var match = pattern.exec(text); + if (!match) return; + var size = match[0].length; // Need to defer this action https://github.com/quilljs/quill/issues/1134 + + setTimeout(function () { + _this.quill.formatLine(selection.index, 0, "header", size - 1); + + _this.quill.deleteText(selection.index - size, size); + }, 0); + } + }, { + name: "blockquote", + pattern: /^(>)\s/g, + action: function action(_text, selection) { + // Need to defer this action https://github.com/quilljs/quill/issues/1134 + setTimeout(function () { + _this.quill.formatLine(selection.index, 1, "blockquote", true); + + _this.quill.deleteText(selection.index - 2, 2); + }, 0); + } + }, { + name: "code-block", + pattern: /^`{3}(?:\s|\n)/g, + action: function action(_text, selection) { + // Need to defer this action https://github.com/quilljs/quill/issues/1134 + setTimeout(function () { + _this.quill.formatLine(selection.index, 1, "code-block", true); + + _this.quill.deleteText(selection.index - 4, 4); + }, 0); + } + }, { + name: "bolditalic", + pattern: /(?:\*|_){3}(.+?)(?:\*|_){3}/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + bold: true, + italic: true + }); + + _this.quill.format("bold", false); + }, 0); + } + }, { + name: "bold", + pattern: /(?:\*|_){2}(.+?)(?:\*|_){2}/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + bold: true + }); + + _this.quill.format("bold", false); + }, 0); + } + }, { + name: "italic", + pattern: /(?:\*|_){1}(.+?)(?:\*|_){1}/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + italic: true + }); + + _this.quill.format("italic", false); + }, 0); + } + }, { + name: "strikethrough", + pattern: /(?:~~)(.+?)(?:~~)/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + strike: true + }); + + _this.quill.format("strike", false); + }, 0); + } + }, { + name: "code", + pattern: /(?:`)(.+?)(?:`)/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + code: true + }); + + _this.quill.format("code", false); + + _this.quill.insertText(_this.quill.getSelection(), " "); + }, 0); + } + }, { + name: "hr", + pattern: /^([-*]\s?){3}/g, + action: function action(text, selection) { + var startIndex = selection.index - text.length; + setTimeout(function () { + _this.quill.deleteText(startIndex, text.length); + + _this.quill.insertEmbed(startIndex + 1, "hr", true, quill__WEBPACK_IMPORTED_MODULE_0___default.a.sources.USER); + + _this.quill.insertText(startIndex + 2, "\n", quill__WEBPACK_IMPORTED_MODULE_0___default.a.sources.SILENT); + + _this.quill.setSelection(startIndex + 2, quill__WEBPACK_IMPORTED_MODULE_0___default.a.sources.SILENT); + }, 0); + } + }, { + name: "asterisk-ul", + pattern: /^(\*|\+)\s$/g, + // eslint-disable-next-line no-unused-vars + action: function action(_text, selection, _pattern) { + setTimeout(function () { + _this.quill.formatLine(selection.index, 1, "list", "unordered"); + + _this.quill.deleteText(selection.index - 2, 2); + }, 0); + } + }, { + name: "image", + pattern: /(?:!\[(.+?)\])(?:\((.+?)\))/g, + action: function action(text, selection, pattern) { + var startIndex = text.search(pattern); + var matchedText = text.match(pattern)[0]; // const hrefText = text.match(/(?:!\[(.*?)\])/g)[0] + + var hrefLink = text.match(/(?:\((.*?)\))/g)[0]; + var start = selection.index - matchedText.length - 1; + + if (startIndex !== -1) { + setTimeout(function () { + _this.quill.deleteText(start, matchedText.length); + + _this.quill.insertEmbed(start, "image", hrefLink.slice(1, hrefLink.length - 1)); + }, 0); + } + } + }, { + name: "link", + pattern: /(?:\[(.+?)\])(?:\((.+?)\))/g, + action: function action(text, selection, pattern) { + var startIndex = text.search(pattern); + var matchedText = text.match(pattern)[0]; + var hrefText = text.match(/(?:\[(.*?)\])/g)[0]; + var hrefLink = text.match(/(?:\((.*?)\))/g)[0]; + var start = selection.index - matchedText.length - 1; + + if (startIndex !== -1) { + setTimeout(function () { + _this.quill.deleteText(start, matchedText.length); + + _this.quill.insertText(start, hrefText.slice(1, hrefText.length - 1), "link", hrefLink.slice(1, hrefLink.length - 1)); + }, 0); + } + } + }]; // Handler that looks for insert deltas that match specific characters + // eslint-disable-next-line no-unused-vars + + this.quill.on("text-change", function (delta, _oldContents, _source) { + for (var i = 0; i < delta.ops.length; i++) { + if (delta.ops[i].hasOwnProperty("insert")) { + if (delta.ops[i].insert === " ") { + _this.onSpace(); + } else if (delta.ops[i].insert === "\n") { + _this.onEnter(); + } + } + } + }); + } + + _createClass(MarkdownShortcuts, [{ + key: "isValid", + value: function isValid(text, tagName) { + return typeof text !== "undefined" && text && this.ignoreTags.indexOf(tagName) === -1; + } + }, { + key: "onSpace", + value: function onSpace() { + var selection = this.quill.getSelection(); + if (!selection) return; + + var _this$quill$getLine = this.quill.getLine(selection.index), + _this$quill$getLine2 = _slicedToArray(_this$quill$getLine, 2), + line = _this$quill$getLine2[0], + offset = _this$quill$getLine2[1]; + + var text = line.domNode.textContent; + var lineStart = selection.index - offset; + + if (this.isValid(text, line.domNode.tagName)) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = this.matches[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var match = _step.value; + var matchedText = text.match(match.pattern); + + if (matchedText) { + // We need to replace only matched text not the whole line + console.log("matched:", match.name, text); + match.action(text, selection, match.pattern, lineStart); + return; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + } + }, { + key: "onEnter", + value: function onEnter() { + var selection = this.quill.getSelection(); + if (!selection) return; + + var _this$quill$getLine3 = this.quill.getLine(selection.index), + _this$quill$getLine4 = _slicedToArray(_this$quill$getLine3, 2), + line = _this$quill$getLine4[0], + offset = _this$quill$getLine4[1]; + + var text = line.domNode.textContent + " "; + var lineStart = selection.index - offset; + selection.length = selection.index++; + + if (this.isValid(text, line.domNode.tagName)) { + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = this.matches[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var match = _step2.value; + var matchedText = text.match(match.pattern); + + if (matchedText) { + console.log("matched", match.name, text); + match.action(text, selection, match.pattern, lineStart); + return; + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } + } + }]); + + return MarkdownShortcuts; +}(); // module.exports = MarkdownShortcuts; + +// +var script = { + name: "VueEditor", + mixins: [oldApi], + props: { + id: { + type: String, + default: "quill-container" + }, + placeholder: { + type: String, + default: "" + }, + value: { + type: String, + default: "" + }, + disabled: { + type: Boolean + }, + editorToolbar: { + type: Array, + default: function _default() { + return []; + } + }, + editorOptions: { + type: Object, + required: false, + default: function _default() { + return {}; + } + }, + useCustomImageHandler: { + type: Boolean, + default: false + }, + useMarkdownShortcuts: { + type: Boolean, + default: false + } + }, + data: function data() { + return { + quill: null + }; + }, + watch: { + value: function value(val) { + if (val != this.quill.root.innerHTML && !this.quill.hasFocus()) { + this.quill.root.innerHTML = val; + } + }, + disabled: function disabled(status) { + this.quill.enable(!status); + } + }, + mounted: function mounted() { + this.registerCustomModules(quill__WEBPACK_IMPORTED_MODULE_0___default.a); + this.registerPrototypes(); + this.initializeEditor(); + }, + beforeDestroy: function beforeDestroy() { + this.quill = null; + delete this.quill; + }, + methods: { + initializeEditor: function initializeEditor() { + this.setupQuillEditor(); + this.checkForCustomImageHandler(); + this.handleInitialContent(); + this.registerEditorEventListeners(); + this.$emit("ready", this.quill); + }, + setupQuillEditor: function setupQuillEditor() { + var editorConfig = { + debug: false, + modules: this.setModules(), + theme: "snow", + placeholder: this.placeholder ? this.placeholder : "", + readOnly: this.disabled ? this.disabled : false + }; + this.prepareEditorConfig(editorConfig); + this.quill = new quill__WEBPACK_IMPORTED_MODULE_0___default.a(this.$refs.quillContainer, editorConfig); + }, + setModules: function setModules() { + var modules = { + toolbar: this.editorToolbar.length ? this.editorToolbar : defaultToolbar + }; + + if (this.useMarkdownShortcuts) { + quill__WEBPACK_IMPORTED_MODULE_0___default.a.register("modules/markdownShortcuts", MarkdownShortcuts, true); + modules["markdownShortcuts"] = {}; + } + + return modules; + }, + prepareEditorConfig: function prepareEditorConfig(editorConfig) { + if (Object.keys(this.editorOptions).length > 0 && this.editorOptions.constructor === Object) { + if (this.editorOptions.modules && typeof this.editorOptions.modules.toolbar !== "undefined") { + // We don't want to merge default toolbar with provided toolbar. + delete editorConfig.modules.toolbar; + } + + mergeDeep(editorConfig, this.editorOptions); + } + }, + registerPrototypes: function registerPrototypes() { + quill__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.getHTML = function () { + return this.container.querySelector(".ql-editor").innerHTML; + }; + + quill__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.getWordCount = function () { + return this.container.querySelector(".ql-editor").innerText.length; + }; + }, + registerEditorEventListeners: function registerEditorEventListeners() { + this.quill.on("text-change", this.handleTextChange); + this.quill.on("selection-change", this.handleSelectionChange); + this.listenForEditorEvent("text-change"); + this.listenForEditorEvent("selection-change"); + this.listenForEditorEvent("editor-change"); + }, + listenForEditorEvent: function listenForEditorEvent(type) { + var _this = this; + + this.quill.on(type, function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this.$emit.apply(_this, [type].concat(args)); + }); + }, + handleInitialContent: function handleInitialContent() { + if (this.value) this.quill.root.innerHTML = this.value; // Set initial editor content + }, + handleSelectionChange: function handleSelectionChange(range, oldRange) { + if (!range && oldRange) this.$emit("blur", this.quill);else if (range && !oldRange) this.$emit("focus", this.quill); + }, + handleTextChange: function handleTextChange(delta, oldContents) { + var editorContent = this.quill.getHTML() === "


" ? "" : this.quill.getHTML(); + this.$emit("input", editorContent); + if (this.useCustomImageHandler) this.handleImageRemoved(delta, oldContents); + }, + handleImageRemoved: function handleImageRemoved(delta, oldContents) { + var _this2 = this; + + var currrentContents = this.quill.getContents(); + var deletedContents = currrentContents.diff(oldContents); + var operations = deletedContents.ops; + operations.map(function (operation) { + if (operation.insert && operation.insert.hasOwnProperty("image")) { + var image = operation.insert.image; + + _this2.$emit("image-removed", image); + } + }); + }, + checkForCustomImageHandler: function checkForCustomImageHandler() { + this.useCustomImageHandler === true ? this.setupCustomImageHandler() : ""; + }, + setupCustomImageHandler: function setupCustomImageHandler() { + var toolbar = this.quill.getModule("toolbar"); + toolbar.addHandler("image", this.customImageHandler); + }, + customImageHandler: function customImageHandler() { + this.$refs.fileInput.click(); + }, + emitImageInfo: function emitImageInfo($event) { + var resetUploader = function resetUploader() { + var uploader = document.getElementById("file-upload"); + uploader.value = ""; + }; + + var file = $event.target.files[0]; + var Editor = this.quill; + var range = Editor.getSelection(); + var cursorLocation = range.index; + this.$emit("image-added", file, Editor, cursorLocation, resetUploader); + } + } +}; + +function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier +/* server only */ +, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) { + if (typeof shadowMode !== 'boolean') { + createInjectorSSR = createInjector; + createInjector = shadowMode; + shadowMode = false; + } // Vue.extend constructor export interop. + + + var options = typeof script === 'function' ? script.options : script; // render functions + + if (template && template.render) { + options.render = template.render; + options.staticRenderFns = template.staticRenderFns; + options._compiled = true; // functional template + + if (isFunctionalTemplate) { + options.functional = true; + } + } // scopedId + + + if (scopeId) { + options._scopeId = scopeId; + } + + var hook; + + if (moduleIdentifier) { + // server build + hook = function hook(context) { + // 2.3 injection + context = context || // cached call + this.$vnode && this.$vnode.ssrContext || // stateful + this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional + // 2.2 with runInNewContext: true + + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__; + } // inject component styles + + + if (style) { + style.call(this, createInjectorSSR(context)); + } // register component module identifier for async chunk inference + + + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier); + } + }; // used by ssr in case component is cached and beforeCreate + // never gets called + + + options._ssrRegister = hook; + } else if (style) { + hook = shadowMode ? function () { + style.call(this, createInjectorShadow(this.$root.$options.shadowRoot)); + } : function (context) { + style.call(this, createInjector(context)); + }; + } + + if (hook) { + if (options.functional) { + // register for functional component in vue file + var originalRender = options.render; + + options.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context); + }; + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate; + options.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + + return script; +} + +var normalizeComponent_1 = normalizeComponent; + +var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase()); + +function createInjector(context) { + return function (id, style) { + return addStyle(id, style); + }; +} + +var HEAD; +var styles = {}; + +function addStyle(id, css) { + var group = isOldIE ? css.media || 'default' : id; + var style = styles[group] || (styles[group] = { + ids: new Set(), + styles: [] + }); + + if (!style.ids.has(id)) { + style.ids.add(id); + var code = css.source; + + if (css.map) { + // https://developer.chrome.com/devtools/docs/javascript-debugging + // this makes source maps inside style tags work properly in Chrome + code += '\n/*# sourceURL=' + css.map.sources[0] + ' */'; // http://stackoverflow.com/a/26603875 + + code += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) + ' */'; + } + + if (!style.element) { + style.element = document.createElement('style'); + style.element.type = 'text/css'; + if (css.media) style.element.setAttribute('media', css.media); + + if (HEAD === undefined) { + HEAD = document.head || document.getElementsByTagName('head')[0]; + } + + HEAD.appendChild(style.element); + } + + if ('styleSheet' in style.element) { + style.styles.push(code); + style.element.styleSheet.cssText = style.styles.filter(Boolean).join('\n'); + } else { + var index = style.ids.size - 1; + var textNode = document.createTextNode(code); + var nodes = style.element.childNodes; + if (nodes[index]) style.element.removeChild(nodes[index]); + if (nodes.length) style.element.insertBefore(textNode, nodes[index]);else style.element.appendChild(textNode); + } + } +} + +var browser = createInjector; + +/* script */ +const __vue_script__ = script; + +/* template */ +var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"quillWrapper"},[_vm._t("toolbar"),_vm._v(" "),_c('div',{ref:"quillContainer",attrs:{"id":_vm.id}}),_vm._v(" "),(_vm.useCustomImageHandler)?_c('input',{ref:"fileInput",staticStyle:{"display":"none"},attrs:{"id":"file-upload","type":"file","accept":"image/*"},on:{"change":function($event){return _vm.emitImageInfo($event)}}}):_vm._e()],2)}; +var __vue_staticRenderFns__ = []; + + /* style */ + const __vue_inject_styles__ = function (inject) { + if (!inject) return + inject("data-v-776e788e_0", { source: "/*!\n * Quill Editor v1.3.6\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li::before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:0;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li::before{content:'\\2022'}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li::before,.ql-editor ul[data-checked=true]>li::before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li::before{content:'\\2611'}.ql-editor ul[data-checked=false]>li::before{content:'\\2610'}.ql-editor li::before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl)::before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl::before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) '. '}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) '. '}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) '. '}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) '. '}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) '. '}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) '. '}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) '. '}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) '. '}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) '. '}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) '. '}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank::before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:'';display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:0 0;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:0}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow{box-sizing:border-box}.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:'';display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label::before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item::before,.ql-snow .ql-picker.ql-header .ql-picker-label::before{content:'Normal'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]::before{content:'Heading 1'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]::before{content:'Heading 2'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]::before{content:'Heading 3'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]::before{content:'Heading 4'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]::before{content:'Heading 5'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]::before{content:'Heading 6'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item::before,.ql-snow .ql-picker.ql-font .ql-picker-label::before{content:'Sans Serif'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before{content:'Serif'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before{content:'Monospace'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item::before,.ql-snow .ql-picker.ql-size .ql-picker-label::before{content:'Normal'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before{content:'Small'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before{content:'Large'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before{content:'Huge'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:rgba(0,0,0,.2) 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:#ccc}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip::before{content:\"Visit URL:\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action::after{border-right:1px solid #ccc;content:'Edit';margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove::before{content:'Remove';margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action::after{border-right:0;content:'Save';padding-right:0}.ql-snow .ql-tooltip[data-mode=link]::before{content:\"Enter link:\"}.ql-snow .ql-tooltip[data-mode=formula]::before{content:\"Enter formula:\"}.ql-snow .ql-tooltip[data-mode=video]::before{content:\"Enter video:\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}", map: undefined, media: undefined }) +,inject("data-v-776e788e_1", { source: ".ql-editor{min-height:200px;font-size:16px}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1px!important}.quillWrapper .ql-snow.ql-toolbar{padding-top:8px;padding-bottom:4px}.quillWrapper .ql-snow.ql-toolbar .ql-formats{margin-bottom:10px}.ql-snow .ql-toolbar button svg,.quillWrapper .ql-snow.ql-toolbar button svg{width:22px;height:22px}.quillWrapper .ql-editor ul[data-checked=false]>li::before,.quillWrapper .ql-editor ul[data-checked=true]>li::before{font-size:1.35em;vertical-align:baseline;bottom:-.065em;font-weight:900;color:#222}.quillWrapper .ql-snow .ql-stroke{stroke:rgba(63,63,63,.95);stroke-linecap:square;stroke-linejoin:initial;stroke-width:1.7px}.quillWrapper .ql-picker-label{font-size:15px}.quillWrapper .ql-snow .ql-active .ql-stroke{stroke-width:2.25px}.quillWrapper .ql-toolbar.ql-snow .ql-formats{vertical-align:top}.ql-picker:not(.ql-background){position:relative;top:2px}.ql-picker.ql-color-picker svg{width:22px!important;height:22px!important}.quillWrapper .imageResizeActive img{display:block;cursor:pointer}.quillWrapper .imageResizeActive~div svg{cursor:pointer}", map: undefined, media: undefined }); + + }; + /* scoped */ + const __vue_scope_id__ = undefined; + /* module identifier */ + const __vue_module_identifier__ = undefined; + /* functional template */ + const __vue_is_functional_template__ = false; + /* style inject SSR */ + + + + var VueEditor = normalizeComponent_1( + { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ }, + __vue_inject_styles__, + __vue_script__, + __vue_scope_id__, + __vue_is_functional_template__, + __vue_module_identifier__, + browser, + undefined + ); + +var version = "2.10.3"; // Declare install function executed by Vue.use() + +function install(Vue) { + if (install.installed) return; + install.installed = true; + Vue.component("VueEditor", VueEditor); +} +var VPlugin = { + install: install, + version: version, + Quill: quill__WEBPACK_IMPORTED_MODULE_0___default.a, + VueEditor: VueEditor +}; // Auto-install when vue is found (eg. in browser via + + + + `; +}; +function genEuDialogTemplate(formConfig, widgetList, vue3Flag = false) { + // 看看你拖拽的表单里是不是又弹框的类型 + let index = widgetList.findIndex(item => item.type === 'vf-dialog'); + let dialogTemplate = []; + if (index === -1) return; + let edDialogTemplate = widgetList[index]; + let { + options: { + logic + } + } = edDialogTemplate; + if (logic && logic.length !== 0) { + logic.forEach(item => { + dialogTemplate.push({ + fileName: item, + tempalte: euDialogTemplate(item, formConfig) + }); + }); + } + return dialogTemplate; +} +let apiTempalte = { + 'add': function (url, method) { + return ` + export function addObj(obj) { + return request({ + url: '${url}', + method: 'post', + data: obj + }) + }\n`; + }, + 'edit': function (url, method) { + return ` + export function putObj(obj) { + return request({ + url: '${url}', + method: 'put', + data: obj + }) + } + + export function patchObj(obj) { + return request({ + url: '${url}', + method: 'patch', + data: obj + }) + } + + export function getObj(id) { + return request({ + url: '${url}/' + id, + method: 'get' + }) + } + `; + }, + 'view': function () { + return ''; + } +}; +// request的数据模板 +function requestApiTemplate(data, logic) { + const { + url, + method, + params + } = data; + return ` + import request from '@/utils/request.js' + export function queryList (data) { + return request({ + url:'${url}', + method:'${method.toLowerCase()}', + ${params ? 'params:data' : ''} + }) + } + ${logic && logic.length !== 0 ? logic.map(item => { + return apiTempalte[item](url, method); + }).join('') : ''} + `; +} +// 生成接口的js 文件 +function genApiJS(formConfig, widgetList) { + console.log("生成js", formConfig, widgetList); + let index = widgetList.findIndex(item => item.type === 'data-table'); + if (index === -1) return; + const { + options: { + yapiInterfaceInfo + } + } = widgetList[index]; + if (yapiInterfaceInfo.url) { + let index = widgetList.findIndex(item => item.type === 'vf-dialog'); + let logic = []; + if (index !== -1) { + const { + options + } = widgetList[index]; + logic = options.logic; + } + return requestApiTemplate(yapiInterfaceInfo, logic); + } +} + +// 生成表单里的form 文件 +function genDialogFormTemplate(formConfig, widgetList, beautifier) { + let index = widgetList.findIndex(item => item.type === 'vf-dialog'); + let vue3Flag = false; + if (index === -1) return ''; + const data = widgetList[index]; + if (data.options.logic && data.options.logic.length === 0) return ''; + if (data.widgetList.length === 0) return ''; + const html = beautifier.html(genTemplate(formConfig, data.widgetList, vue3Flag), beautifierOpts.html); + const js = beautifier.js(vue3Flag ? genVue3JS(formConfig, data.widgetList) : Object(vue2js_generator["f" /* genVue2JS */])(formConfig, data.widgetList, true), beautifierOpts.js); + const globalCss = beautifier.css(genGlobalCSS(formConfig), beautifierOpts.css); + const scopedCss = beautifier.css(genScopedCSS(formConfig, vue3Flag), beautifierOpts.css); + let vueTemplate = ` + + + + + + + `; + return vueTemplate; +} +const genGlobalCSS = function (formConfig) { + const globalCssTemplate = ` .el-input-number.full-width-input, .el-cascader.full-width-input { + width: 100% !important; + } + + .el-form-item--medium { + .el-radio { + line-height: 36px !important; + } + + .el-rate{ + margin-top: 8px; + } + } + + .el-form-item--small { + .el-radio { + line-height: 32px !important; + } + + .el-rate{ + margin-top: 6px; + } + } + + .el-form-item--mini { + .el-radio { + line-height: 28px !important; + } + + .el-rate{ + margin-top: 4px; + } + } + + .clear-fix:before, .clear-fix:after { + display: table; + content: ""; + } + + .clear-fix:after { + clear: both; + } + + .float-right { + float: right; + } + +${formConfig.cssCode}`; + return globalCssTemplate; +}; +const genScopedCSS = function (formConfig, vue3Flag = false) { + //const vDeep = !!vue3Flag ? `::v-deep` : `:deep` + const cssTemplate = ` div.table-container { + table.table-layout { + width: 100%; + table-layout: fixed; + border-collapse: collapse; + + td.table-cell { + display: table-cell; + height: 36px; + border: 1px solid #e1e2e3; + } + } + } + + div.tab-container { + } + + .label-left-align ${vue3Flag ? `:deep(.el-form-item__label)` : `::v-deep .el-form-item__label`} { + text-align: left; + } + + .label-center-align ${vue3Flag ? `:deep(.el-form-item__label)` : `::v-deep .el-form-item__label`} { + text-align: center; + } + + .label-right-align ${vue3Flag ? `:deep(.el-form-item__label)` : `::v-deep .el-form-item__label`} { + text-align: right; + } + + .custom-label { + } + + .static-content-item { + min-height: 20px; + display: flex; + align-items: center; + + ${vue3Flag ? `:deep(.el-divider--horizontal)` : `::v-deep .el-divider--horizontal`} { + margin: 0; + } + }`; + return cssTemplate; +}; + +/** + * 注册容器组件的代码生成器 + * @param containerType 容器类型,必须唯一 + * @param ctGenerator 代码生成器函数,接收两个参数(containerWidget, formConfig),返回生成的容器组件代码 + */ +const registerCWGenerator = function (containerType, ctGenerator) { + containerTemplates[containerType] = ctGenerator; +}; +/** + * 注册eu容器组件的代码生成器 + * @param containerType 容器类型,必须唯一 + * @param ctGenerator 代码生成器函数,接收两个参数(containerWidget, formConfig),返回生成的容器组件代码 + */ +const registerCWEUGenerator = function (containerType, ctGenerator) { + euContainerTemplates[containerType] = ctGenerator; +}; + +/** + * 注册字段组件的代码生成器 + * @param fieldType 字段类型,必须唯一 + * @param ftGenerator 代码生成器函数,接收两个参数(fieldWidget, formConfig),返回生成的字段组件代码 + */ +const registerFWGenerator = function (fieldType, ftGenerator, euTag = true) { + if (euTag) { + euTemplates[fieldType] = ftGenerator; + return; + } + elTemplates[fieldType] = ftGenerator; +}; +const genSFC = function (formConfig, widgetList, beautifier, vue3Flag = false) { + console.log('生成标签', formConfig, widgetList, beautifierOpts.html); + const html = beautifier.html(genTemplate(formConfig, widgetList, vue3Flag), beautifierOpts.html); + const js = beautifier.js(vue3Flag ? genVue3JS(formConfig, widgetList) : Object(vue2js_generator["f" /* genVue2JS */])(formConfig, widgetList), beautifierOpts.js); + const globalCss = beautifier.css(genGlobalCSS(formConfig), beautifierOpts.css); + const scopedCss = beautifier.css(genScopedCSS(formConfig, vue3Flag), beautifierOpts.css); + const vueTemplate = ` + + + + + + + + `; + //美化Vue模板vueTemplate + return beautifier.html(vueTemplate, beautifierOpts.html); +}; +// CONCATENATED MODULE: ./src/extension/samples/extension-sfc-generator.js + +const cardTemplateGenerator = function (cw, formConfig) { + const wop = cw.options; + //const headerAttr = `header="${wop.label}"` + const classAttr = buildClassAttr(cw); + const styleAttr = wop.cardWidth ? `style="{width: ${wop.cardWidth} !important}"` : ''; + const shadowAttr = `shadow="${wop.shadow}"`; + const vShowAttr = wop.hidden ? `v-show="false"` : ''; + const cardTemplate = `
+ +
+ ${wop.label} + ${wop.showFold ? `` : ''} +
+ ${cw.widgetList.map(wItem => { + if (wItem.category === 'container') { + return buildContainerWidget(wItem, formConfig); + } else { + return buildFieldWidget(wItem, formConfig); + } + }).join('')} +
+
`; + return cardTemplate; +}; +const alertTemplateGenerator = function (fw, formConfig) { + const wop = fw.options; + const titleAttr = `title="${wop.title}"`; + const typeAttr = `type=${wop.type}`; + const descriptionAttr = wop.description ? `description="${wop.description}"` : ''; + const closableAttr = `:closable="${wop.closable}"`; + const closeTextAttr = wop.closeText ? `close-text="${wop.closeText}"` : ''; + const centerAttr = `:center="${wop.center}"`; + const showIconAttr = `:show-icon="${wop.showIcon}"`; + const effectAttr = `effect="${wop.effect}"`; + const alertTemplate = ` +`; + return alertTemplate; +}; +const euSelectDicTemplateGenerator = function (fw, formConfig) { + const wop = fw.options; + // const titleAttr = `title="${wop.title}"` + // const typeAttr = `type=${wop.type}` + const dicname = wop.dicname; + const euSelectDicTemplate = ` +`; + return euSelectDicTemplate; +}; +const euMoneyInputTemplateGenerator = function (fw, formConfig) { + // const titleAttr = `title="${wop.title}"` + // const typeAttr = `type=${wop.type}` + + const euMoneyInputTemplate = ` +`; + return euMoneyInputTemplate; +}; +const TreeFormTemplateGenerator = function (fw, formConfig) { + const wop = fw.options; + const euMoneyInputTemplate = ` + + + + + + {{ node.label }} + + {{ node.label }} + + + + + + + + + + `; + return euMoneyInputTemplate; +}; +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/alert/alert-widget.vue?vue&type=template&id=b1f52dec&scoped=true +var alert_widgetvue_type_template_id_b1f52dec_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('static-content-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-alert',{ref:"fieldEditor",attrs:{"title":_vm.field.options.title,"type":_vm.field.options.type,"description":_vm.field.options.description,"closable":_vm.field.options.closable,"center":_vm.field.options.center,"close-text":_vm.field.options.closeText,"show-icon":_vm.field.options.showIcon,"effect":_vm.field.options.effect},on:{"close":_vm.handleCloseCustomEvent}})],1)} +var alert_widgetvue_type_template_id_b1f52dec_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/alert/alert-widget.vue?vue&type=template&id=b1f52dec&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue + 4 modules +var static_content_wrapper = __webpack_require__("828b"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/alert/alert-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var alert_widgetvue_type_script_lang_js = ({ + name: "alert-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + StaticContentWrapper: static_content_wrapper["default"] + }, + created() { + this.registerToRefList(); + this.initEventHandler(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + handleCloseCustomEvent() { + if (!!this.field.options.onClose) { + let changeFn = new Function(this.field.options.onClose); + changeFn.call(this); + } + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/alert/alert-widget.vue?vue&type=script&lang=js + /* harmony default export */ var alert_alert_widgetvue_type_script_lang_js = (alert_widgetvue_type_script_lang_js); +// CONCATENATED MODULE: ./src/extension/samples/alert/alert-widget.vue + + + + + +/* normalize component */ + +var alert_widget_component = Object(componentNormalizer["a" /* default */])( + alert_alert_widgetvue_type_script_lang_js, + alert_widgetvue_type_template_id_b1f52dec_scoped_true_render, + alert_widgetvue_type_template_id_b1f52dec_scoped_true_staticRenderFns, + false, + null, + "b1f52dec", + null + +) + +/* harmony default export */ var alert_widget = (alert_widget_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=template&id=65f8a5ca&scoped=true +var select_dic_widgetvue_type_template_id_65f8a5ca_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('eu-select-dic',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],ref:"fieldEditor",staticClass:"full-width-input",attrs:{"filter":_vm.field.options.useFilter,"efilter":_vm.field.options.useEfilter,"size":_vm.field.options.size,"disabled":_vm.field.options.disabled,"code":_vm.field.options.dicname,"placeholder":_vm.field.options.placeholder || _vm.i18nt('render.hint.selectPlaceholder')},on:{"focus":_vm.handleFocusCustomEvent,"input":_vm.handleChangeEvent},nativeOn:{"!blur":function($event){return _vm.handleBlurCustomEvent.apply(null, arguments)}},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}}),(_vm.isReadMode)?[_c('span',{staticClass:"readonly-mode-field"},[_vm._v(_vm._s(_vm.optionLabel))])]:_vm._e()],2)} +var select_dic_widgetvue_type_template_id_65f8a5ca_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=template&id=65f8a5ca&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/selectidc/index.vue?vue&type=template&id=28d29fb1 +var selectidcvue_type_template_id_28d29fb1_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"select-container"},[_c('el-select',{staticClass:"full-width-input",attrs:{"value":_vm.value,"filterable":_vm.filterable,"disabled":_vm.disabled,"placeholder":_vm.placeholder,"size":_vm.size,"clearable":""},on:{"change":_vm.change,"visible-change":_vm.visilbleChange}},_vm._l((_vm.slefOption),function(item){return _c('el-option',{key:item.value,attrs:{"label":item.text,"value":item.value}})}),1)],1)} +var selectidcvue_type_template_id_28d29fb1_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/selectidc/index.vue?vue&type=template&id=28d29fb1 + +// EXTERNAL MODULE: ./src/utils/setAllDic.js +var setAllDic = __webpack_require__("236e"); + +// EXTERNAL MODULE: ./node_modules/axios/index.js +var axios = __webpack_require__("bc3a"); +var axios_default = /*#__PURE__*/__webpack_require__.n(axios); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/selectidc/index.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// + +// import request from '@/utils/request' + + +/* harmony default export */ var selectidcvue_type_script_lang_js = ({ + props: { + // 公共 + size: { + type: String, + default: '' + }, + placeholder: { + type: String, + default: '' + }, + value: { + type: String, + default: '' + }, + disabled: { + type: Boolean, + default: false + }, + filterable: { + type: Boolean, + default: false + }, + // 当为select的时候需要传入 start + options: { + type: Array, + default() { + return []; + } + }, + code: { + type: String, + default: '' + }, + filter: { + type: Array, + default: Array + }, + efilter: { + type: Array, + default: Array + }, + dynamic: { + type: Object, + default: () => { + return {}; + } + }, + reqEvery: { + type: Boolean, + default: false + } + // 当为select的时候需要传入 end + }, + data() { + return { + // 当为select的时候需要用到变量 start + slefOption: [] + // 当为select的时候需要用到变量 end + }; + }, + watch: { + // 当为select的时候动态传入 需要监听的值 start + options(newval) { + this.slefOption = newval; + this.dicFilter(); + }, + dynamic(newval) { + this.slefOption.push(newval); + }, + code(newval, oldval) { + this.initCodeOption(); + }, + filter(newval, oldval) { + if (newval && newval != '') { + console.log(newval, oldval, '==dic'); + this.useFilter = newval.split(','); + setTimeout(() => { + this.$refs.fieldEditor.reloadCodeOption(); + this.$refs.fieldEditor.dicFilter(); + }, 0); + } else { + this.$refs.fieldEditor.reloadCodeOption(); + } + }, + efilter(newval, oldval) { + if (newval && newval != '') { + console.log(newval, oldval, '==dic'); + this.useEfilter = newval.split(','); + setTimeout(() => { + this.$refs.fieldEditor.reloadCodeOption(); + this.$refs.fieldEditor.dicFilter(); + }, 0); + } else { + this.$refs.fieldEditor.reloadCodeOption(); + } + } + // 当为select的时候动态传入 需要监听的值 end + }, + created() { + // 当只传入options 的动作 + this.initOption(); + // 当传入code 的时候动作 + this.initCodeOption(); + }, + methods: { + visilbleChange() { + if (this.reqEvery === true) { + this.reloadCodeOption(); + this.dicFilter(); + } + }, + change(value) { + this.$emit('input', value); + }, + // 当为select的时候需要用到方法 start + // 当只传入options 的动作 + initOption() { + if (this.options && this.options.length !== 0) { + this.slefOption = this.options; + this.dicFilter(); + } + }, + // 当传入code 的时候动作 + async initCodeOption() { + if (this.code && this.code !== '') { + if (Object(setAllDic["a" /* getAllDic */])() && Object(setAllDic["a" /* getAllDic */])()[this.code]) { + this.slefOption = Object(setAllDic["a" /* getAllDic */])()[this.code]; + this.dicFilter(); + } else { + const { + data + } = await axios_default()({ + url: window.GLOBAL_OBJ.DIC_URL + this.code, + method: 'get' + }); + this.slefOption = data; + this.dicFilter(); + } + } + }, + // 重新加载字典项 + reloadCodeOption() { + if (this.code && this.code !== '') { + if (Object(setAllDic["a" /* getAllDic */])() && Object(setAllDic["a" /* getAllDic */])()[this.code]) { + this.slefOption = Object(setAllDic["a" /* getAllDic */])()[this.code]; + } + } + }, + // 过滤的动作 + dicFilter() { + if (this.filter && this.filter.length !== 0) { + this.slefOption = this.slefOption.filter(item => { + if (this.filter.includes(item.value)) { + return true; + } + }); + } else if (this.efilter && this.efilter.length !== 0) { + this.slefOption = this.slefOption.filter(item => { + if (this.efilter.includes(item.value)) { + return false; + } else { + return true; + } + }); + } + } + // 当为select的时候需要用到方法 end + } +}); +// CONCATENATED MODULE: ./src/extension/samples/selectidc/index.vue?vue&type=script&lang=js + /* harmony default export */ var samples_selectidcvue_type_script_lang_js = (selectidcvue_type_script_lang_js); +// CONCATENATED MODULE: ./src/extension/samples/selectidc/index.vue + + + + + +/* normalize component */ + +var selectidc_component = Object(componentNormalizer["a" /* default */])( + samples_selectidcvue_type_script_lang_js, + selectidcvue_type_template_id_28d29fb1_render, + selectidcvue_type_template_id_28d29fb1_staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var selectidc = (selectidc_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var select_dic_widgetvue_type_script_lang_js = ({ + name: "eu-select-dic-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + data() { + return { + fieldModel: null, + rules: [], + oldFieldValue: null, + useFilter: [], + useEfilter: [] + }; + }, + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + watch: { + // 'field.options'(newval,oldval) { + // console.log(newval,oldval); + // }, + // 'field.options.disabled'(newval,oldval){ + // console.log(newval,oldval,'==dis'); + // }, + 'field.options.dicname'(newval, oldval) { + console.log(newval, oldval, '==dic'); + }, + 'field.options.useFilter'(newval, oldval) { + console.log(newval, oldval, 'useFilter is change!'); + if (newval && newval != '') { + console.log(newval, oldval, '==dic'); + this.useFilter = newval.split(','); + setTimeout(() => { + this.$refs.fieldEditor.reloadCodeOption(); + this.$refs.fieldEditor.dicFilter(); + }, 0); + } else { + this.$refs.fieldEditor.reloadCodeOption(); + } + }, + 'field.options.useEfilter'(newval, oldval) { + if (newval && newval != '') { + console.log(newval, oldval, '==dic'); + this.useEfilter = newval.split(','); + setTimeout(() => { + this.$refs.fieldEditor.reloadCodeOption(); + this.$refs.fieldEditor.dicFilter(); + }, 0); + } else { + this.$refs.fieldEditor.reloadCodeOption(); + } + } + }, + components: { + euSelectDic: selectidc, + FormItemWrapper: form_item_wrapper["default"] + }, + created() { + this.registerToRefList(); + this.initEventHandler(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + handleCloseCustomEvent() { + if (this.field.options.onClose) { + let changeFn = new Function(this.field.options.onClose); + changeFn.call(this); + } + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=script&lang=js + /* harmony default export */ var selectidc_select_dic_widgetvue_type_script_lang_js = (select_dic_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=style&index=0&id=65f8a5ca&prod&lang=scss&scoped=true +var select_dic_widgetvue_type_style_index_0_id_65f8a5ca_prod_lang_scss_scoped_true = __webpack_require__("40d52"); + +// CONCATENATED MODULE: ./src/extension/samples/selectidc/select-dic-widget.vue + + + + + + +/* normalize component */ + +var select_dic_widget_component = Object(componentNormalizer["a" /* default */])( + selectidc_select_dic_widgetvue_type_script_lang_js, + select_dic_widgetvue_type_template_id_65f8a5ca_scoped_true_render, + select_dic_widgetvue_type_template_id_65f8a5ca_scoped_true_staticRenderFns, + false, + null, + "65f8a5ca", + null + +) + +/* harmony default export */ var select_dic_widget = (select_dic_widget_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/moneyinput/money-input-widget.vue?vue&type=template&id=306803dd&scoped=true +var money_input_widgetvue_type_template_id_306803dd_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('eu-money-input',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],ref:"fieldEditor",staticClass:"full-width-input",attrs:{"size":_vm.field.options.size,"disabled":_vm.field.options.disabled,"suffix":_vm.field.options.suffix,"value":_vm.field.options.money},on:{"update:value":function($event){return _vm.$set(_vm.field.options, "money", $event)}},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}})],1)} +var money_input_widgetvue_type_template_id_306803dd_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/money-input-widget.vue?vue&type=template&id=306803dd&scoped=true + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/moneyinput/index.vue?vue&type=template&id=f47c3a9c&scoped=true +var moneyinputvue_type_template_id_f47c3a9c_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tooltip',{staticClass:"item",attrs:{"content":_vm.moneyVal,"effect":"dark","placement":"top"}},[_c('el-input',{attrs:{"disabled":_vm.disabled,"size":_vm.size,"clearable":""},on:{"input":_vm.inMoney,"blur":_vm.moneyThousand},model:{value:(_vm.money),callback:function ($$v) {_vm.money=$$v},expression:"money"}},[_c('template',{slot:"append"},[_vm._v(_vm._s(_vm.suffix))])],2)],1)} +var moneyinputvue_type_template_id_f47c3a9c_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/index.vue?vue&type=template&id=f47c3a9c&scoped=true + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/moneyinput/index.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// + +/* harmony default export */ var moneyinputvue_type_script_lang_js = ({ + props: { + // eslint-disable-next-line vue/require-prop-type-constructor + value: '', + disabled: { + type: Boolean, + isRequired: true, + default() { + return false; + } + }, + blurCall: { + type: Function, + isRequired: false, + default() { + return false; + } + }, + inputVal: { + type: Function, + isRequired: false, + default() { + return false; + } + }, + maxLength: { + type: Number, + isRequired: true, + default() { + return 15; + } + }, + suffix: { + type: String, + isRequired: true, + default() { + return '(元)'; + } + }, + size: { + type: String, + isRequired: true, + default() { + return 'mini'; + } + } + }, + data() { + return { + moneyVal: '', + money: this.value, + propVal: true + }; + }, + watch: { + 'value': { + handler(val) { + if (this.disabled && val) { + this.moneyThousand(val); + } + if (val && this.propVal) { + this.propVal = false; + this.moneyThousand(val); + this.moneyVal = this.moneyCapitalization(val); + } + if (val === 0) { + this.moneyVal = this.moneyThousand(val); + } + }, + immediate: true + } + }, + methods: { + moneyCapitalization(val) { + let n = Number(val); + if (!/^\d{1,12}(\.\d{1,2})?$/.test(n)) { + return ''; + } + let unit = '仟佰拾亿仟佰拾万仟佰拾圆角分'; + let str = ''; + n += '00'; + const p = n.indexOf('.'); + if (p >= 0) { + n = n.substring(0, p) + n.substr(p + 1, 2); + } + unit = unit.substr(unit.length - n.length); + for (let i = 0; i < n.length; i++) { + str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i); + } + return str.replace(/零(仟|佰|拾|角)/g, '零').replace(/(零)+/g, '零').replace(/零(万|亿|圆)/g, '$1').replace(/(亿)万|壹(拾)/g, '$1$2').replace(/^圆零?|零分/g, '').replace(/圆$/g, '圆整'); + }, + inMoney(val) { + const moneyLength = this.maxLength; + this.propVal = false; + // 金额正则匹配 + // eslint-disable-next-line no-useless-escape + this.money = val.replace(/[^\d.]/g, '').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^0{2}|^0[1-9]/g, ''); + if (this.money.indexOf('.') >= 0) { + this.money = this.money.slice(0, moneyLength + 3); + } else { + if (moneyLength > this.maxLength) { + this.money = this.money.slice(0, this.maxLength - 1); + } else { + this.money = this.money.slice(0, this.maxLength); + } + } + // 大写提示 + if (val !== '') { + this.moneyVal = this.moneyCapitalization(val); + this.$emit('update:value', Number(this.money)); + this.inputVal() && typeof this.inputVal === 'function'; + } else { + this.moneyVal = ''; + this.money = ''; + this.$emit('update:value', val); + } + }, + // 离开时千分位格式 + moneyThousand(val) { + const n = 2; + let s = val.target === undefined ? val : val.target.value; + if (s < 0 || s === '') { + this.money = ''; + return; + } + // eslint-disable-next-line no-useless-escape + s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + ''; + const l = s.split('.')[0].split('').reverse(); + const r = s.split('.')[1]; + let t = ''; + for (let i = 0; i < l.length; i++) { + t += l[i] + ((i + 1) % 3 === 0 && i + 1 !== l.length ? ',' : ''); + } + this.money = t.split('').reverse().join('') + '.' + r; + this.propVal = true; + this.blurCall() && typeof this.blurCall === 'function'; + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/index.vue?vue&type=script&lang=js + /* harmony default export */ var samples_moneyinputvue_type_script_lang_js = (moneyinputvue_type_script_lang_js); +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/index.vue + + + + + +/* normalize component */ + +var moneyinput_component = Object(componentNormalizer["a" /* default */])( + samples_moneyinputvue_type_script_lang_js, + moneyinputvue_type_template_id_f47c3a9c_scoped_true_render, + moneyinputvue_type_template_id_f47c3a9c_scoped_true_staticRenderFns, + false, + null, + "f47c3a9c", + null + +) + +/* harmony default export */ var moneyinput = (moneyinput_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/moneyinput/money-input-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var money_input_widgetvue_type_script_lang_js = ({ + name: "eu-money-input-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + data() { + return { + fieldModel: null, + rules: [], + oldFieldValue: null + }; + }, + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + watch: { + // 'field.options'(newval,oldval) { + // console.log(newval,oldval); + // }, + // 'field.options.disabled'(newval,oldval){ + // console.log(newval,oldval,'==dis'); + // }, + 'field.options.dicname'(newval, oldval) { + console.log(newval, oldval, '==dic'); + } + }, + components: { + euMoneyInput: moneyinput, + FormItemWrapper: form_item_wrapper["default"] + }, + created() { + this.registerToRefList(); + this.initEventHandler(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + handleCloseCustomEvent() { + if (this.field.options.onClose) { + let changeFn = new Function(this.field.options.onClose); + changeFn.call(this); + } + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/money-input-widget.vue?vue&type=script&lang=js + /* harmony default export */ var moneyinput_money_input_widgetvue_type_script_lang_js = (money_input_widgetvue_type_script_lang_js); +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/money-input-widget.vue + + + + + +/* normalize component */ + +var money_input_widget_component = Object(componentNormalizer["a" /* default */])( + moneyinput_money_input_widgetvue_type_script_lang_js, + money_input_widgetvue_type_template_id_306803dd_scoped_true_render, + money_input_widgetvue_type_template_id_306803dd_scoped_true_staticRenderFns, + false, + null, + "306803dd", + null + +) + +/* harmony default export */ var money_input_widget = (money_input_widget_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=template&id=838f7fb2&scoped=true +var tree_form_widgetvue_type_template_id_838f7fb2_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('container-wrapper',{attrs:{"designer":_vm.designer,"widget":_vm.widget,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList}},[_c('div',{key:_vm.widget.id,staticClass:"collapse-container",class:{'selected': _vm.selected},on:{"click":function($event){$event.stopPropagation();return _vm.selectWidget(_vm.widget)}}},[_c('tree-form',{ref:"treeForm",attrs:{"defaultProps":_vm.widget.options.defaultProps,"treeData":_vm.widget.options.treeData,"defaultNode":_vm.widget.options.defaultNode,"defaultPath":_vm.widget.options.defaultPath}})],1)])} +var tree_form_widgetvue_type_template_id_838f7fb2_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=template&id=838f7fb2&scoped=true + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/treeForm/index.vue?vue&type=template&id=e2fe9546&scoped=true +var treeFormvue_type_template_id_e2fe9546_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',[_c('el-aside',{staticStyle:{"margin-right":"20px"},attrs:{"width":"260px"}},[_c('el-tree',{ref:"treeItem",attrs:{"data":_vm.treeData,"default-expanded-keys":_vm.defaultNode,"props":_vm.defaultProps,"icon-class":"complete","node-key":"id"},on:{"node-click":_vm.handleNodeClick},scopedSlots:_vm._u([{key:"default",fn:function(ref){ +var node = ref.node; +var data = ref.data; +return _c('span',{staticClass:"custom-tree-node"},[(data.children)?_c('i',{class:!node.expanded?'el-icon-folder':'el-icon-folder-opened'}):_vm._e(),(node.label.length > 10)?_c('el-tooltip',{staticClass:"item",attrs:{"content":node.label,"effect":"dark","placement":"top-start"}},[_c('span',[_vm._v(_vm._s(node.label))])]):_c('span',[_vm._v(_vm._s(node.label))])],1)}}])})],1),_c('el-container',[_c('el-main',[_c('keep-alive',[_c('div',[_vm._v(_vm._s(_vm.pathUrl))])])],1)],1)],1)} +var treeFormvue_type_template_id_e2fe9546_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/treeForm/index.vue?vue&type=template&id=e2fe9546&scoped=true + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/treeForm/index.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var treeFormvue_type_script_lang_js = ({ + name: 'treeForm', + props: { + treeData: { + type: Array, + isRequired: true, + default: function () { + return []; + } + }, + defaultNode: { + type: Array, + isRequired: true, + default: function () { + return []; + } + }, + dirPath: { + type: String, + isRequired: true, + default: function () { + return ''; + } + }, + nodePath: { + type: String, + isRequired: true, + default: function () { + return ''; + } + }, + defaultProps: { + type: Object, + isRequired: true, + default: function () { + return { + children: 'children', + label: 'label', + value: 'value' + }; + } + } + }, + data() { + return { + pathUrl: this.dirPath, + nodeId: '', + tapNode: null + }; + }, + methods: { + handleNodeClick(data) { + //如果 节点或目录上配置了path则使用节点上的,没有则使用默认的 + console.log("节点被点击", data, this.pathUrl, this.defaultPath); + if (data.data) { + this.tapNode = data.data; + } + this.nodeId = data.id; + if (data.children) { + this.pathUrl = this.dirPath; + } else { + this.pathUrl = this.nodePath; + } + this.pathUrl = data.url ? data.url : this.pathUrl; + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/treeForm/index.vue?vue&type=script&lang=js + /* harmony default export */ var samples_treeFormvue_type_script_lang_js = (treeFormvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/extension/samples/treeForm/index.vue?vue&type=style&index=0&id=e2fe9546&prod&scoped=true&lang=scss +var treeFormvue_type_style_index_0_id_e2fe9546_prod_scoped_true_lang_scss = __webpack_require__("da4a"); + +// CONCATENATED MODULE: ./src/extension/samples/treeForm/index.vue + + + + + + +/* normalize component */ + +var treeForm_component = Object(componentNormalizer["a" /* default */])( + samples_treeFormvue_type_script_lang_js, + treeFormvue_type_template_id_e2fe9546_scoped_true_render, + treeFormvue_type_template_id_e2fe9546_scoped_true_staticRenderFns, + false, + null, + "e2fe9546", + null + +) + +/* harmony default export */ var treeForm = (treeForm_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var tree_form_widgetvue_type_script_lang_js = ({ + name: "tree-form-widget", + componentName: 'DataTableWidget', + mixins: [i18n["b" /* default */], containerMixin, refMixinDesign], + inject: ['refList'], + components: { + ContainerWrapper: container_wrapper, + TreeForm: treeForm + }, + data() { + return {}; + }, + props: { + widget: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + created() { + console.log('widget', this.widget); + }, + beforeDestroy() {}, + computed: { + selected() { + return this.widget.id === this.designer.selectedId; + } + }, + methods: { + selectWidget(widget) { + this.designer.setSelected(widget); + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=script&lang=js + /* harmony default export */ var treeForm_tree_form_widgetvue_type_script_lang_js = (tree_form_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=style&index=0&id=838f7fb2&prod&lang=scss&scoped=true +var tree_form_widgetvue_type_style_index_0_id_838f7fb2_prod_lang_scss_scoped_true = __webpack_require__("fd64"); + +// CONCATENATED MODULE: ./src/extension/samples/treeForm/tree-form-widget.vue + + + + + + +/* normalize component */ + +var tree_form_widget_component = Object(componentNormalizer["a" /* default */])( + treeForm_tree_form_widgetvue_type_script_lang_js, + tree_form_widgetvue_type_template_id_838f7fb2_scoped_true_render, + tree_form_widgetvue_type_template_id_838f7fb2_scoped_true_staticRenderFns, + false, + null, + "838f7fb2", + null + +) + +/* harmony default export */ var tree_form_widget = (tree_form_widget_component.exports); +// CONCATENATED MODULE: ./src/extension/extension-loader.js + + + + + + + + + + + + + +// 下拉字典组件 + + +// 单选字典组件 + + + +// 千分位组件 + + +// 树形容器组件 + +// import TreeFormCustomClassEditor from '@/extension/samples/treeForm/tree-form-customClass-editor.vue' + + + +const loadExtension = function () { + /** + * 加载容器组件步骤: + * 1. 加载组件Json Schema; + * 2. 全局注册容器组件,容器组件有两种状态——设计期和运行期,故需要注册两个组件; + * 3. 全局注册属性编辑器组件(基本属性、高级属性、事件属性); + * 4. 注册容器组件的代码生成器; + * 5. 加载完毕。 + */ + // 去widgetsConfig 添加了 拖拽用的数据模型 + addContainerWidgetSchema(cardSchema); //加载组件Json Schema + /* -------------------------------------------------- */ + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(card_widget.name, card_widget); //注册设计期的容器组件 + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(card_item.name, card_item); //注册运行期的容器组件 + /* -------------------------------------------------- */ + // 注册了属性面板 是否显示折叠按钮 + registerCPEditor('card-folded', 'card-folded-editor', createBooleanEditor('folded', 'extension.setting.cardFolded')); + // 注册了属性面板 是否显示阴影按钮 + registerCPEditor('card-showFold', 'card-showFold-editor', createBooleanEditor('showFold', 'extension.setting.cardShowFold')); + // 卡片宽度 + registerCPEditor('card-cardWidth', 'card-cardWidth-editor', createInputTextEditor('cardWidth', 'extension.setting.cardWidth')); + let shadowOptions = [{ + label: 'never', + value: 'never' + }, { + label: 'hover', + value: 'hover' + }, { + label: 'always', + value: 'always' + }]; + registerCPEditor('card-shadow', 'card-shadow-editor', createSelectEditor('shadow', 'extension.setting.cardShadow', { + optionItems: shadowOptions + })); + + // 注册右侧属性的组件 end + /* -------------------------------------------------- */ + // 添加了 新建组件的 代码生成 + registerCWEUGenerator('card', cardTemplateGenerator); //注册容器组件的代码生成器 + /* -------------------------------------------------- */ + /* 容器组件加载完毕 end */ + + /** + * 加载字段组件步骤: + * 1. 加载组件Json Schema; + * 2. 全局注册字段组件,字段组件设计期和运行期共用,故需要仅需注册一个组件; + * 3. 全局注册属性编辑器组件(基本属性、高级属性、事件属性); + * 4. 注册字段组件的代码生成器; + * 5. 加载完毕。 + */ + addCustomWidgetSchema(alertSchema); //加载组件Json Schema + /* -------------------------------------------------- */ + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(alert_widget.name, alert_widget); //注册组件 + /* -------------------------------------------------- */ + registerCPEditor('alert-title', 'alert-title-editor', createInputTextEditor('title', 'extension.setting.alertTitle')); + let typeOptions = [{ + label: 'success', + value: 'success' + }, { + label: 'warning', + value: 'warning' + }, { + label: 'info', + value: 'info' + }, { + label: 'error', + value: 'error' + }]; + // PERegister.registerCPEditor('alert-type', 'alert-type-editor', + // PEFactory.createSelectEditor('type', 'extension.setting.alertType', + // {optionItems: typeOptions})) + /* type属性映射已存在,无须再注册,故只需注册属性编辑器即可!! */ + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('alert-type-editor', createSelectEditor('type', 'extension.setting.alertType', { + optionItems: typeOptions + })); + registerCPEditor('alert-description', 'alert-description-editor', createInputTextEditor('description', 'extension.setting.description')); + registerCPEditor('alert-closable', 'alert-closable-editor', createBooleanEditor('closable', 'extension.setting.closable')); + registerCPEditor('alert-closeText', 'alert-closeText-editor', createInputTextEditor('closeText', 'extension.setting.closeText')); + registerCPEditor('alert-center', 'alert-center-editor', createBooleanEditor('center', 'extension.setting.center')); + registerCPEditor('alert-showIcon', 'alert-showIcon-editor', createBooleanEditor('showIcon', 'extension.setting.showIcon')); + let effectOptions = [{ + label: 'light', + value: 'light' + }, { + label: 'dark', + value: 'dark' + }]; + registerCPEditor('alert-effect', 'alert-effect-editor', createRadioButtonGroupEditor('effect', 'extension.setting.effect', { + optionItems: effectOptions + })); + registerEPEditor('alert-onClose', 'alert-onClose-editor', createEventHandlerEditor('onClose', [])); + /* -------------------------------------------------- */ + registerFWGenerator('alert', alertTemplateGenerator); //注册字段组件的代码生成器 + /* -------------------------------------------------- */ + /* 字段组件加载完毕 end */ + // // handleNodeClick + // PERegister.registerEPEditor('onHandleNodeClick', 'onHandleNodeClick-editor', + // PEFactory.createEventHandlerEditor('onHandleNodeClick', [])) + // // registerFWGenerator('alert', alertTemplateGenerator) //注册字段组件的代码生成器 + + // 注册下拉字典翻译组件 + // 把数据对象添加到 左侧的拖拽面板 + addCustomWidgetSchema(selectDicSchema); + // 然后全局注册你的 在中间显示的组件 + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(select_dic_widget.name, select_dic_widget); + // 注册右侧面板的属性 + registerCPEditor('dicname', 'select-dic-name-editor', createInputTextEditor('dicname', 'extension.setting.selectdicname')); + registerCPEditor('filter', 'eu-filter-dic', createInputTextEditor('filter', 'extension.setting.filter')); + registerCPEditor('efilter', 'eu-efilter-dic', createInputTextEditor('efilter', 'extension.setting.efilter')); + registerFWGenerator('select-dic', euSelectDicTemplateGenerator); //注册字段组件的代码生成器 + + //树形结构 + // treeData:[], + // defaultProps + // defaultNode-- + // dirPath + // nodePath + + // 注册输入千分位组件 + addCustomWidgetSchema(moneyInputSchema); + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(money_input_widget.name, money_input_widget); + registerFWGenerator('eu-money-input', euMoneyInputTemplateGenerator); + + // 注册树插件组件 + addCustomWidgetSchema(treeFormSchema); + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(tree_form_widget.name, tree_form_widget); + // PERegister.registerCPEditor('customClass', 'tree-form-customClass-editor',TreeFormCustomClassEditor) + registerCWGenerator('tree-form', TreeFormTemplateGenerator); //注册容器组件的代码生成器 +}; +// CONCATENATED MODULE: ./install-render.js + + + + +loadExtension(); +form_render.install = function (Vue) { + Vue.component(form_render.name, form_render); + Vue.component(table_high_level_column["a" /* default */].name, table_high_level_column["a" /* default */]); +}; +const components = [form_render, table_high_level_column["a" /* default */]]; +const install = Vue => { + window.axios = axios_default.a; + components.forEach(component => { + Vue.component(component.name, component); + }); +}; +if (typeof window !== 'undefined' && window.Vue) { + /* script方式引入时主动调用install方法!! */ + install(window.Vue); +} +/* harmony default export */ var install_render = ({ + install, + VFormRender: form_render +}); +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js + + +/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (install_render); + + + +/***/ }), + +/***/ "fc6a": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = __webpack_require__("44ad"); +var requireObjectCoercible = __webpack_require__("1d80"); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + + +/***/ }), + +/***/ "fd64": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tree_form_widget_vue_vue_type_style_index_0_id_838f7fb2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d0c5"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tree_form_widget_vue_vue_type_style_index_0_id_838f7fb2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tree_form_widget_vue_vue_type_style_index_0_id_838f7fb2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "fdbf": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = __webpack_require__("04f8"); + +module.exports = NATIVE_SYMBOL + && !Symbol.sham + && typeof Symbol.iterator == 'symbol'; + + +/***/ }) + +/******/ })["default"]; +}); +//# sourceMappingURL=VFormRender.umd.js.map \ No newline at end of file diff --git b/VFormRender.umd.min.js a/VFormRender.umd.min.js new file mode 100644 index 0000000..c0f9d69 --- /dev/null +++ a/VFormRender.umd.min.js @@ -0,0 +1,48231 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("vue")); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["VFormRender"] = factory(require("vue")); + else + root["VFormRender"] = factory(root["Vue"]); +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__8bbf__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = "fb15"); +/******/ }) +/************************************************************************/ +/******/ ({ + +/***/ "00ee": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var wellKnownSymbol = __webpack_require__("b622"); + +var TO_STRING_TAG = wellKnownSymbol('toStringTag'); +var test = {}; + +test[TO_STRING_TAG] = 'z'; + +module.exports = String(test) === '[object z]'; + + +/***/ }), + +/***/ "0366": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("4625"); +var aCallable = __webpack_require__("59ed"); +var NATIVE_BIND = __webpack_require__("40d5"); + +var bind = uncurryThis(uncurryThis.bind); + +// optional / simple context binding +module.exports = function (fn, that) { + aCallable(fn); + return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + + +/***/ }), + +/***/ "04f8": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-symbol -- required for testing */ +var V8_VERSION = __webpack_require__("1212"); +var fails = __webpack_require__("d039"); +var globalThis = __webpack_require__("cfe9"); + +var $String = globalThis.String; + +// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing +module.exports = !!Object.getOwnPropertySymbols && !fails(function () { + var symbol = Symbol('symbol detection'); + // Chrome 38 Symbol has incorrect toString conversion + // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances + // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will, + // of course, fail. + return !$String(symbol) || !(Object(symbol) instanceof Symbol) || + // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances + !Symbol.sham && V8_VERSION && V8_VERSION < 41; +}); + + +/***/ }), + +/***/ "053f": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=template&id=2134e79a&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('container-item-wrapper',{attrs:{"widget":_vm.widget}},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(!_vm.widget.options.hidden),expression:"!widget.options.hidden"}],staticClass:"sub-form-container"},[_c('el-row',{staticClass:"header-row"},[_c('div',{staticClass:"action-header-column"},[_c('span',{staticClass:"action-label"},[_vm._v(_vm._s(_vm.i18nt('render.hint.subFormAction')))]),(!_vm.isReadMode)?_c('el-button',{staticClass:"action-button",attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.insertDisabled,"round":"","type":"primary","size":"mini","title":_vm.i18nt('render.hint.subFormAddActionHint')},on:{"click":_vm.addSubFormRow}},[_vm._v(" "+_vm._s(_vm.i18nt('render.hint.subFormAddAction'))),_c('i',{staticClass:"el-icon-plus el-icon-right"})]):_vm._e()],1)]),_vm._l((_vm.rowIdData),function(subFormRowId,sfrIdx){return _c('div',{key:subFormRowId,staticClass:"sub-form-row"},[(_vm.leftActionColumn)?_c('div',{staticClass:"sub-form-action-column hide-label"},[_c('div',{staticClass:"action-button-column"},[_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.insertDisabled,"circle":"","type":"","icon":"el-icon-circle-plus-outline","title":_vm.i18nt('render.hint.insertSubFormRow')},on:{"click":function($event){return _vm.insertSubFormRow(sfrIdx)}}}),_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.deleteDisabled,"circle":"","type":"","icon":"el-icon-delete","title":_vm.i18nt('render.hint.deleteSubFormRow')},on:{"click":function($event){return _vm.deleteSubFormRow(sfrIdx)}}}),(_vm.widget.options.showRowNumber)?_c('span',{staticClass:"row-number-span"},[_vm._v("#"+_vm._s(sfrIdx+1))]):_vm._e()],1)]):_vm._e(),(!_vm.leftActionColumn && _vm.widget.options.showRowNumber)?_c('div',{staticClass:"row-no-column"},[(_vm.widget.options.showRowNumber)?_c('span',{staticClass:"row-number-span"},[_vm._v("#"+_vm._s(sfrIdx+1))]):_vm._e()]):_vm._e(),_c('div',{staticClass:"grid-sub-form-data-row"},[_vm._l((_vm.widget.widgetList),function(subWidget,swIdx){return [_c(_vm.getComponentByContainer(subWidget),{key:_vm.widgetSchemaData[sfrIdx][swIdx].id,tag:"component",attrs:{"widget":_vm.widgetSchemaData[sfrIdx][swIdx],"parent-list":_vm.widget.widgetList,"index-of-parent-list":swIdx,"parent-widget":_vm.widget,"sub-form-row-id":subFormRowId,"sub-form-row-index":sfrIdx,"sub-form-col-index":swIdx}})]})],2),(!_vm.leftActionColumn)?_c('div',{staticClass:"sub-form-action-column hide-label"},[_c('div',{staticClass:"action-button-column"},[_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.insertDisabled,"circle":"","type":"","icon":"el-icon-circle-plus-outline","title":_vm.i18nt('render.hint.insertSubFormRow')},on:{"click":function($event){return _vm.insertSubFormRow(sfrIdx)}}}),_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],attrs:{"disabled":_vm.widgetDisabled || _vm.actionDisabled || _vm.deleteDisabled,"circle":"","type":"","icon":"el-icon-delete","title":_vm.i18nt('render.hint.deleteSubFormRow')},on:{"click":function($event){return _vm.deleteSubFormRow(sfrIdx)}}})],1)]):_vm._e()])})],2)])} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=template&id=2134e79a&scoped=true + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js +var es_array_push = __webpack_require__("14d9"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/utils/util.js +var util = __webpack_require__("ca00"); + +// EXTERNAL MODULE: ./src/components/form-render/refMixin.js +var refMixin = __webpack_require__("d67f"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/container-item-wrapper.vue + 4 modules +var container_item_wrapper = __webpack_require__("90c2"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/containerItemMixin.js +var containerItemMixin = __webpack_require__("34f0"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/index.js +var field_widget = __webpack_require__("c029"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + +/* harmony default export */ var grid_sub_form_itemvue_type_script_lang_js = ({ + name: "grid-sub-form-item", + componentName: 'ContainerItem', + mixins: [emitter["a" /* default */], i18n["b" /* default */], refMixin["a" /* default */], containerItemMixin["a" /* default */]], + components: { + ContainerItemWrapper: container_item_wrapper["default"], + ...field_widget["a" /* default */] + }, + props: { + widget: Object + }, + provide() { + return { + getSubFormFieldFlag: () => true, + getSubFormName: () => this.widget.options.name + }; + }, + inject: ['refList', 'sfRefList', 'globalModel', 'getReadMode'], + data() { + return { + rowIdData: [], + widgetSchemaData: [], + actionDisabled: false, + insertDisabled: false, + //是否禁止新增、插入记录 + deleteDisabled: false, + //是否禁止删除记录 + + fieldWidgetList: [] + }; + }, + computed: { + isReadMode() { + return this.getReadMode(); + }, + leftActionColumn() { + return (this.widget.options.actionColumnPosition || 'left') === 'left'; + }, + widgetDisabled() { + return !!this.widget.options.disabled; + } + }, + created() { + this.initRefList(); + this.registerSubFormToRefList(); + this.initRowIdData(true); + this.initWidgetSchemaData(); + this.initEventHandler(); + }, + mounted() { + this.extractFieldWidgetList(); + this.handleSubFormFirstRowAdd(); //默认添加首行后,主动触发相关事件!! + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + extractFieldWidgetList() { + this.fieldWidgetList.splice(0, this.fieldWidgetList.length); + let fieldListFn = fw => { + this.fieldWidgetList.push(fw); + }; + Object(util["A" /* traverseFieldWidgetsOfContainer */])(this.widget, fieldListFn); + }, + getLabelAlign(widget, subWidget) { + return subWidget.options.labelAlign || widget.options.labelAlign; + }, + registerSubFormToRefList() { + if (this.widget.type === 'grid-sub-form') { + this.sfRefList[this.widget.options.name] = this; + } + }, + initRowIdData(initFlag) { + if (this.widget.type === 'grid-sub-form') { + this.rowIdData.splice(0, this.rowIdData.length); //清除数组必须用splice,length=0不会响应式更新!! + let subFormModel = this.formModel[this.widget.options.name]; + if (!!subFormModel && subFormModel.length > 0) { + subFormModel.forEach(() => { + this.rowIdData.push('id' + Object(util["f" /* generateId */])()); + }); + if (!!initFlag) { + //注意:事件触发需延期执行,SumFormDataChange事件处理代码中可能存在尚未创建完成的组件!! + setTimeout(() => { + this.handleSubFormRowChange(subFormModel); + }, 800); + } + } + } + }, + addToRowIdData() { + this.rowIdData.push('id' + Object(util["f" /* generateId */])()); + }, + insertToRowIdData(rowIndex) { + this.rowIdData.splice(rowIndex, 0, 'id' + Object(util["f" /* generateId */])()); + }, + deleteFromRowIdData(rowIndex) { + this.rowIdData.splice(rowIndex, 1); + }, + getRowIdData() { + return this.rowIdData; + }, + getWidgetRefOfSubForm(widgetName, rowIndex) { + let realWidgetName = widgetName + '@row' + this.rowIdData[rowIndex]; + return this.getWidgetRef(realWidgetName); + }, + initWidgetSchemaData() { + //初始化widgetSchemaData!!! + if (this.widget.type !== 'grid-sub-form') { + return; + } + let rowLength = this.rowIdData.length; + this.widgetSchemaData.splice(0, this.widgetSchemaData.length); //清除数组必须用splice,length=0不会响应式更新!! + if (rowLength > 0) { + for (let i = 0; i < rowLength; i++) { + let widgetSchemas = []; + this.widget.widgetList.forEach(swItem => { + widgetSchemas.push(this.cloneSchemaOfWidget(swItem)); + }); + this.widgetSchemaData.push(widgetSchemas); + } + } + }, + addToWidgetSchemaData(rowIndex) { + let widgetSchemas = []; + this.widget.widgetList.forEach(swItem => { + widgetSchemas.push(this.cloneSchemaOfWidget(swItem)); + }); + if (rowIndex === undefined) { + this.widgetSchemaData.push(widgetSchemas); + } else { + this.widgetSchemaData.splice(rowIndex, 0, widgetSchemas); + } + }, + deleteFromWidgetSchemaData(rowIndex) { + this.widgetSchemaData.splice(rowIndex, 1); + }, + cloneSchemaOfWidget(widget) { + let newWidgetSchema = Object(util["c" /* deepClone */])(widget); + newWidgetSchema.id = widget.type + Object(util["f" /* generateId */])(); + return newWidgetSchema; + }, + initEventHandler() { + if (this.widget.type !== 'grid-sub-form') { + return; + } + this.$on('setFormData', newFormData => { + this.initRowIdData(false); + this.initWidgetSchemaData(); + let subFormData = newFormData[this.widget.options.name] || []; + setTimeout(() => { + //延时触发SubFormRowChange事件, 便于更新计算字段!! + this.handleSubFormRowChange(subFormData); + }, 800); + }); + }, + handleSubFormFirstRowAdd() { + if (this.widget.type !== 'grid-sub-form') { + return; + } + if (!!this.widget.options.showBlankRow && this.rowIdData.length === 1) { + let oldSubFormData = this.formModel[this.widget.options.name] || []; + + //确认组件创建成功后触发事件!! + this.$nextTick(() => { + this.handleSubFormRowAdd(oldSubFormData, this.rowIdData[0]); + this.handleSubFormRowChange(oldSubFormData); + if (!!this.widget.options.disabled) { + this.disableSubForm(); + } + }); + } + }, + addSubFormRow() { + let newSubFormDataRow = {}; + this.fieldWidgetList.forEach(subFormItem => { + if (!!subFormItem.formItemFlag) { + newSubFormDataRow[subFormItem.options.name] = subFormItem.options.defaultValue; + } + }); + let oldSubFormData = this.formModel[this.widget.options.name] || []; + oldSubFormData.push(newSubFormDataRow); + this.addToRowIdData(); + this.addToWidgetSchemaData(); + + //确认组件创建成功后触发事件!! + this.$nextTick(() => { + this.handleSubFormRowAdd(oldSubFormData, this.rowIdData[oldSubFormData.length - 1]); + this.handleSubFormRowChange(oldSubFormData); + }); + }, + insertSubFormRow(beforeFormRowIndex) { + let newSubFormDataRow = {}; + this.fieldWidgetList.forEach(subFormItem => { + if (!!subFormItem.formItemFlag) { + newSubFormDataRow[subFormItem.options.name] = subFormItem.options.defaultValue; + } + }); + let oldSubFormData = this.formModel[this.widget.options.name] || []; + oldSubFormData.splice(beforeFormRowIndex, 0, newSubFormDataRow); + this.insertToRowIdData(beforeFormRowIndex); + this.addToWidgetSchemaData(beforeFormRowIndex); + + //确认组件创建成功后触发事件!! + this.$nextTick(() => { + this.handleSubFormRowInsert(oldSubFormData, this.rowIdData[beforeFormRowIndex]); + this.handleSubFormRowChange(oldSubFormData); + }); + }, + deleteSubFormRow(formRowIndex) { + this.$confirm(this.i18nt('render.hint.deleteSubFormRow') + '?', this.i18nt('render.hint.prompt'), { + confirmButtonText: this.i18nt('render.hint.confirm'), + cancelButtonText: this.i18nt('render.hint.cancel') + }).then(() => { + let oldSubFormData = this.formModel[this.widget.options.name] || []; + let deletedDataRow = Object(util["c" /* deepClone */])(oldSubFormData[formRowIndex]); + oldSubFormData.splice(formRowIndex, 1); + this.deleteFromRowIdData(formRowIndex); + this.deleteFromWidgetSchemaData(formRowIndex); + + //确认组件创建成功后触发事件!! + this.$nextTick(() => { + this.handleSubFormRowDelete(oldSubFormData, deletedDataRow); + this.handleSubFormRowChange(oldSubFormData); + }); + }).catch(() => { + // + }); + }, + handleSubFormRowChange(subFormData) { + if (!!this.widget.options.onSubFormRowChange) { + let customFunc = new Function('subFormData', this.widget.options.onSubFormRowChange); + customFunc.call(this, subFormData); + } + }, + handleSubFormRowAdd(subFormData, newRowId) { + if (!!this.widget.options.onSubFormRowAdd) { + let customFunc = new Function('subFormData', 'newRowId', this.widget.options.onSubFormRowAdd); + customFunc.call(this, subFormData, newRowId); + } + }, + handleSubFormRowInsert(subFormData, newRowId) { + if (!!this.widget.options.onSubFormRowInsert) { + let customFunc = new Function('subFormData', 'newRowId', this.widget.options.onSubFormRowInsert); + customFunc.call(this, subFormData, newRowId); + } + }, + handleSubFormRowDelete(subFormData, deletedDataRow) { + if (!!this.widget.options.onSubFormRowDelete) { + let customFunc = new Function('subFormData', 'deletedDataRow', this.widget.options.onSubFormRowDelete); + customFunc.call(this, subFormData, deletedDataRow); + } + }, + setDisabled(flag) { + this.widget.options.disabled = flag; + if (!!flag) { + this.disableGridSubForm(); + } else { + this.enableGridSubForm(); + } + }, + /** + * 设置单行子表单是否禁止新增、插入记录 + * @param flag + */ + setInsertDisabled(flag) { + this.insertDisabled = flag; + }, + /** + * 设置单行子表单是否禁止删除记录 + * @param flag + */ + setDeleteDisabled(flag) { + this.deleteDisabled = flag; + }, + /** + * 单独给子表单赋值 + * 注意:该方法仅触发组件的onChange事件以及子表单的onFormRowChange事件,不会触发表单的onFormDataChange等其他事件!! + * @param subFormValues + */ + setSubFormValues(subFormValues) { + this.$set(this.globalModel.formModel, this.widget.options.name, subFormValues); + this.initRowIdData(false); + this.initWidgetSchemaData(); + setTimeout(() => { + //延时触发SubFormRowChange事件, 便于更新计算字段!! + this.handleSubFormRowChange(subFormValues); + }, 800); + }, + /** + * 单独为子表单某行的字段组件赋值 + * @param fieldName + * @param fieldValue + * @param rowIndex + */ + setSubFormFieldValue(fieldName, fieldValue, rowIndex) { + const subFormData = this.globalModel.formModel[this.widget.options.name]; + subFormData[rowIndex][fieldName] = fieldValue; + this.handleSubFormRowChange(subFormData); + } + } +}); +// CONCATENATED MODULE: ./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=script&lang=js + /* harmony default export */ var container_item_grid_sub_form_itemvue_type_script_lang_js = (grid_sub_form_itemvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-render/container-item/grid-sub-form-item.vue?vue&type=style&index=0&id=2134e79a&prod&lang=scss&scoped=true +var grid_sub_form_itemvue_type_style_index_0_id_2134e79a_prod_lang_scss_scoped_true = __webpack_require__("6bb9"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-render/container-item/grid-sub-form-item.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + container_item_grid_sub_form_itemvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "2134e79a", + null + +) + +/* harmony default export */ var grid_sub_form_item = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "06cf": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__("83ab"); +var call = __webpack_require__("c65b"); +var propertyIsEnumerableModule = __webpack_require__("d1e7"); +var createPropertyDescriptor = __webpack_require__("5c6c"); +var toIndexedObject = __webpack_require__("fc6a"); +var toPropertyKey = __webpack_require__("a04b"); +var hasOwn = __webpack_require__("1a2d"); +var IE8_DOM_DEFINE = __webpack_require__("0cfb"); + +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// `Object.getOwnPropertyDescriptor` method +// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor +exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + O = toIndexedObject(O); + P = toPropertyKey(P); + if (IE8_DOM_DEFINE) try { + return $getOwnPropertyDescriptor(O, P); + } catch (error) { /* empty */ } + if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]); +}; + + +/***/ }), + +/***/ "0755": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "07fa": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toLength = __webpack_require__("50c4"); + +// `LengthOfArrayLike` abstract operation +// https://tc39.es/ecma262/#sec-lengthofarraylike +module.exports = function (obj) { + return toLength(obj.length); +}; + + +/***/ }), + +/***/ "090f": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=template&id=5b64c2ea&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('static-content-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('div',{ref:"fieldEditor",domProps:{"innerHTML":_vm._s(_vm.field.options.htmlContent)}})])} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=template&id=5b64c2ea&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue + 4 modules +var static_content_wrapper = __webpack_require__("828b"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var html_text_widgetvue_type_script_lang_js = ({ + name: "html-text-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + StaticContentWrapper: static_content_wrapper["default"] + }, + computed: {}, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initEventHandler(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: {} +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_html_text_widgetvue_type_script_lang_js = (html_text_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/html-text-widget.vue?vue&type=style&index=0&id=5b64c2ea&prod&lang=scss&scoped=true +var html_text_widgetvue_type_style_index_0_id_5b64c2ea_prod_lang_scss_scoped_true = __webpack_require__("207d"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/html-text-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_html_text_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "5b64c2ea", + null + +) + +/* harmony default export */ var html_text_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "0a06": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); +var buildURL = __webpack_require__("30b5"); +var InterceptorManager = __webpack_require__("f6b4"); +var dispatchRequest = __webpack_require__("5270"); +var mergeConfig = __webpack_require__("4a7b"); +var validator = __webpack_require__("848b"); + +var validators = validator.validators; +/** + * Create a new instance of Axios + * + * @param {Object} instanceConfig The default config for the instance + */ +function Axios(instanceConfig) { + this.defaults = instanceConfig; + this.interceptors = { + request: new InterceptorManager(), + response: new InterceptorManager() + }; +} + +/** + * Dispatch a request + * + * @param {Object} config The config specific for this request (merged with this.defaults) + */ +Axios.prototype.request = function request(config) { + /*eslint no-param-reassign:0*/ + // Allow for axios('example/url'[, config]) a la fetch API + if (typeof config === 'string') { + config = arguments[1] || {}; + config.url = arguments[0]; + } else { + config = config || {}; + } + + config = mergeConfig(this.defaults, config); + + // Set config.method + if (config.method) { + config.method = config.method.toLowerCase(); + } else if (this.defaults.method) { + config.method = this.defaults.method.toLowerCase(); + } else { + config.method = 'get'; + } + + var transitional = config.transitional; + + if (transitional !== undefined) { + validator.assertOptions(transitional, { + silentJSONParsing: validators.transitional(validators.boolean, '1.0.0'), + forcedJSONParsing: validators.transitional(validators.boolean, '1.0.0'), + clarifyTimeoutError: validators.transitional(validators.boolean, '1.0.0') + }, false); + } + + // filter out skipped interceptors + var requestInterceptorChain = []; + var synchronousRequestInterceptors = true; + this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { + if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { + return; + } + + synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; + + requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); + }); + + var responseInterceptorChain = []; + this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { + responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); + }); + + var promise; + + if (!synchronousRequestInterceptors) { + var chain = [dispatchRequest, undefined]; + + Array.prototype.unshift.apply(chain, requestInterceptorChain); + chain = chain.concat(responseInterceptorChain); + + promise = Promise.resolve(config); + while (chain.length) { + promise = promise.then(chain.shift(), chain.shift()); + } + + return promise; + } + + + var newConfig = config; + while (requestInterceptorChain.length) { + var onFulfilled = requestInterceptorChain.shift(); + var onRejected = requestInterceptorChain.shift(); + try { + newConfig = onFulfilled(newConfig); + } catch (error) { + onRejected(error); + break; + } + } + + try { + promise = dispatchRequest(newConfig); + } catch (error) { + return Promise.reject(error); + } + + while (responseInterceptorChain.length) { + promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift()); + } + + return promise; +}; + +Axios.prototype.getUri = function getUri(config) { + config = mergeConfig(this.defaults, config); + return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, ''); +}; + +// Provide aliases for supported request methods +utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, config) { + return this.request(mergeConfig(config || {}, { + method: method, + url: url, + data: (config || {}).data + })); + }; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + /*eslint func-names:0*/ + Axios.prototype[method] = function(url, data, config) { + return this.request(mergeConfig(config || {}, { + method: method, + url: url, + data: data + })); + }; +}); + +module.exports = Axios; + + +/***/ }), + +/***/ "0b25": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIntegerOrInfinity = __webpack_require__("5926"); +var toLength = __webpack_require__("50c4"); + +var $RangeError = RangeError; + +// `ToIndex` abstract operation +// https://tc39.es/ecma262/#sec-toindex +module.exports = function (it) { + if (it === undefined) return 0; + var number = toIntegerOrInfinity(it); + var length = toLength(number); + if (number !== length) throw new $RangeError('Wrong length or index'); + return length; +}; + + +/***/ }), + +/***/ "0c14": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_table_item_vue_vue_type_style_index_0_id_812c5cf0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("fad0"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_table_item_vue_vue_type_style_index_0_id_812c5cf0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_table_item_vue_vue_type_style_index_0_id_812c5cf0_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "0cfb": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__("83ab"); +var fails = __webpack_require__("d039"); +var createElement = __webpack_require__("cc12"); + +// Thanks to IE8 for its funny defineProperty +module.exports = !DESCRIPTORS && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing + return Object.defineProperty(createElement('div'), 'a', { + get: function () { return 7; } + }).a !== 7; +}); + + +/***/ }), + +/***/ "0d26": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); + +var $Error = Error; +var replace = uncurryThis(''.replace); + +var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd'); +// eslint-disable-next-line redos/no-vulnerable -- safe +var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/; +var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST); + +module.exports = function (stack, dropEntries) { + if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) { + while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, ''); + } return stack; +}; + + +/***/ }), + +/***/ "0d51": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $String = String; + +module.exports = function (argument) { + try { + return $String(argument); + } catch (error) { + return 'Object'; + } +}; + + +/***/ }), + +/***/ "0df6": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +/** + * Syntactic sugar for invoking a function and expanding an array for arguments. + * + * Common use case would be to use `Function.prototype.apply`. + * + * ```js + * function f(x, y, z) {} + * var args = [1, 2, 3]; + * f.apply(null, args); + * ``` + * + * With `spread` this example can be re-written. + * + * ```js + * spread(function(x, y, z) {})([1, 2, 3]); + * ``` + * + * @param {Function} callback + * @returns {Function} + */ +module.exports = function spread(callback) { + return function wrap(arr) { + return callback.apply(null, arr); + }; +}; + + +/***/ }), + +/***/ "10ae": +/***/ (function(module, exports, __webpack_require__) { + +var map = { + "./button-group-item.vue": "cdfd", + "./container-item-wrapper.vue": "90c2", + "./data-table-item.vue": "1d29", + "./grid-col-item.vue": "a93f", + "./grid-item.vue": "f746", + "./grid-sub-form-item.vue": "053f", + "./sub-form-item.vue": "efdc", + "./tab-item.vue": "c9d4", + "./table-cell-item.vue": "6a79", + "./table-item.vue": "8921", + "./tree-item.vue": "2890", + "./vf-dialog-item.vue": "9502", + "./vf-drawer-item.vue": "cf15" +}; + + +function webpackContext(req) { + var id = webpackContextResolve(req); + return __webpack_require__(id); +} +function webpackContextResolve(req) { + if(!__webpack_require__.o(map, req)) { + var e = new Error("Cannot find module '" + req + "'"); + e.code = 'MODULE_NOT_FOUND'; + throw e; + } + return map[req]; +} +webpackContext.keys = function webpackContextKeys() { + return Object.keys(map); +}; +webpackContext.resolve = webpackContextResolve; +module.exports = webpackContext; +webpackContext.id = "10ae"; + +/***/ }), + +/***/ "11b8": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_divider_widget_vue_vue_type_style_index_0_id_09b5f2fb_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8056"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_divider_widget_vue_vue_type_style_index_0_id_09b5f2fb_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_divider_widget_vue_vue_type_style_index_0_id_09b5f2fb_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "1212": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var globalThis = __webpack_require__("cfe9"); +var userAgent = __webpack_require__("b5db"); + +var process = globalThis.process; +var Deno = globalThis.Deno; +var versions = process && process.versions || Deno && Deno.version; +var v8 = versions && versions.v8; +var match, version; + +if (v8) { + match = v8.split('.'); + // in old Chrome, versions of V8 isn't V8 = Chrome / 10 + // but their correct versions are not interesting for us + version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]); +} + +// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0` +// so check `userAgent` even if `.v8` exists, but 0 +if (!version && userAgent) { + match = userAgent.match(/Edge\/(\d+)/); + if (!match || match[1] >= 74) { + match = userAgent.match(/Chrome\/(\d+)/); + if (match) version = +match[1]; + } +} + +module.exports = version; + + +/***/ }), + +/***/ "13d2": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); +var fails = __webpack_require__("d039"); +var isCallable = __webpack_require__("1626"); +var hasOwn = __webpack_require__("1a2d"); +var DESCRIPTORS = __webpack_require__("83ab"); +var CONFIGURABLE_FUNCTION_NAME = __webpack_require__("5e77").CONFIGURABLE; +var inspectSource = __webpack_require__("8925"); +var InternalStateModule = __webpack_require__("69f3"); + +var enforceInternalState = InternalStateModule.enforce; +var getInternalState = InternalStateModule.get; +var $String = String; +// eslint-disable-next-line es/no-object-defineproperty -- safe +var defineProperty = Object.defineProperty; +var stringSlice = uncurryThis(''.slice); +var replace = uncurryThis(''.replace); +var join = uncurryThis([].join); + +var CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () { + return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8; +}); + +var TEMPLATE = String(String).split('String'); + +var makeBuiltIn = module.exports = function (value, name, options) { + if (stringSlice($String(name), 0, 7) === 'Symbol(') { + name = '[' + replace($String(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']'; + } + if (options && options.getter) name = 'get ' + name; + if (options && options.setter) name = 'set ' + name; + if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) { + if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true }); + else value.name = name; + } + if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) { + defineProperty(value, 'length', { value: options.arity }); + } + try { + if (options && hasOwn(options, 'constructor') && options.constructor) { + if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false }); + // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable + } else if (value.prototype) value.prototype = undefined; + } catch (error) { /* empty */ } + var state = enforceInternalState(value); + if (!hasOwn(state, 'source')) { + state.source = join(TEMPLATE, typeof name == 'string' ? name : ''); + } return value; +}; + +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +// eslint-disable-next-line no-extend-native -- required +Function.prototype.toString = makeBuiltIn(function toString() { + return isCallable(this) && getInternalState(this).source || inspectSource(this); +}, 'toString'); + + +/***/ }), + +/***/ "13d5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var $reduce = __webpack_require__("d58f").left; +var arrayMethodIsStrict = __webpack_require__("a640"); +var CHROME_VERSION = __webpack_require__("1212"); +var IS_NODE = __webpack_require__("9adc"); + +// Chrome 80-82 has a critical bug +// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982 +var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83; +var FORCED = CHROME_BUG || !arrayMethodIsStrict('reduce'); + +// `Array.prototype.reduce` method +// https://tc39.es/ecma262/#sec-array.prototype.reduce +$({ target: 'Array', proto: true, forced: FORCED }, { + reduce: function reduce(callbackfn /* , initialValue */) { + var length = arguments.length; + return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined); + } +}); + + +/***/ }), + +/***/ "14d9": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var toObject = __webpack_require__("7b0b"); +var lengthOfArrayLike = __webpack_require__("07fa"); +var setArrayLength = __webpack_require__("3a34"); +var doesNotExceedSafeInteger = __webpack_require__("3511"); +var fails = __webpack_require__("d039"); + +var INCORRECT_TO_LENGTH = fails(function () { + return [].push.call({ length: 0x100000000 }, 1) !== 4294967297; +}); + +// V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError +// https://bugs.chromium.org/p/v8/issues/detail?id=12681 +var properErrorOnNonWritableLength = function () { + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).push(); + } catch (error) { + return error instanceof TypeError; + } +}; + +var FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength(); + +// `Array.prototype.push` method +// https://tc39.es/ecma262/#sec-array.prototype.push +$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, { + // eslint-disable-next-line no-unused-vars -- required for `.length` + push: function push(item) { + var O = toObject(this); + var len = lengthOfArrayLike(O); + var argCount = arguments.length; + doesNotExceedSafeInteger(len + argCount); + for (var i = 0; i < argCount; i++) { + O[len] = arguments[i]; + len++; + } + setArrayLength(O, len); + return len; + } +}); + + +/***/ }), + +/***/ "15f1": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "1626": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot +var documentAll = typeof document == 'object' && document.all; + +// `IsCallable` abstract operation +// https://tc39.es/ecma262/#sec-iscallable +// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing +module.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) { + return typeof argument == 'function' || argument === documentAll; +} : function (argument) { + return typeof argument == 'function'; +}; + + +/***/ }), + +/***/ "16f6": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "1787": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isObject = __webpack_require__("861d"); + +module.exports = function (argument) { + return isObject(argument) || argument === null; +}; + + +/***/ }), + +/***/ "182d": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toPositiveInteger = __webpack_require__("f8cd"); + +var $RangeError = RangeError; + +module.exports = function (it, BYTES) { + var offset = toPositiveInteger(it); + if (offset % BYTES) throw new $RangeError('Wrong offset'); + return offset; +}; + + +/***/ }), + +/***/ "1a2d": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); +var toObject = __webpack_require__("7b0b"); + +var hasOwnProperty = uncurryThis({}.hasOwnProperty); + +// `HasOwnProperty` abstract operation +// https://tc39.es/ecma262/#sec-hasownproperty +// eslint-disable-next-line es/no-object-hasown -- safe +module.exports = Object.hasOwn || function hasOwn(it, key) { + return hasOwnProperty(toObject(it), key); +}; + + +/***/ }), + +/***/ "1d02": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var $findLastIndex = __webpack_require__("a258").findLastIndex; + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +// `%TypedArray%.prototype.findLastIndex` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findlastindex +exportTypedArrayMethod('findLastIndex', function findLastIndex(predicate /* , thisArg */) { + return $findLastIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); +}); + + +/***/ }), + +/***/ "1d29": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/data-table-item.vue?vue&type=template&id=16cbe2b4&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('container-item-wrapper',{directives:[{name:"show",rawName:"v-show",value:(!_vm.widget.options.hidden),expression:"!widget.options.hidden"}],attrs:{"widget":_vm.widget}},[_c('el-table',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loadingFlag),expression:"loadingFlag"}],ref:"dataTable",class:[_vm.customClass],style:({'width': _vm.widget.options.tableWidth}),attrs:{"data":_vm.widget.options.tableData,"height":_vm.tableHeight,"border":_vm.widget.options.border,"show-summary":_vm.widget.options.showSummary,"row-key":_vm.tableRowKey,"tree-props":{ children: _vm.widget.options.childrenKey },"size":_vm.widget.options.tableSize,"stripe":_vm.widget.options.stripe,"highlight-current-row":_vm.singleRowSelectFlag,"row-class-name":_vm.getRowClassName,"span-method":_vm.getSpanMethod,"cell-style":{padding: _vm.widget.options.rowSpacing + 'px 0'}},on:{"current-change":_vm.handleCurrentChange,"sort-change":_vm.handleSortChange,"header-click":_vm.handleHeaderClick,"row-click":_vm.handleRowClick,"row-dblclick":_vm.handleRowDoubleClick,"cell-click":_vm.handleCellClick,"cell-dblclick":_vm.handleCellDoubleClick,"select":_vm.handleRowSelect,"select-all":_vm.handleAllSelect}},[(_vm.widget.options.showIndex)?_c('el-table-column',{attrs:{"type":"index","width":"60","fixed":"left","label":_vm.i18nt('designer.setting.lineNumber')}}):_vm._e(),(_vm.widget.options.showCheckBox)?_c('el-table-column',{attrs:{"type":"selection","width":_vm.selectionWidth,"fixed":"left"}}):_vm._e(),_vm._l((_vm.widget.options.tableColumns),function(item,index){return [_c('table-high-level-column',{attrs:{"column-schema":item,"data-table-ref":_vm.getDataTableRef,"column-index":index}})]}),(!!_vm.widget.options.showButtonsColumn)?[_c('el-table-column',{attrs:{"fixed":_vm.buttonsColumnFixed,"class-name":"data-table-buttons-column","align":'center',"label":_vm.widget.options.buttonsColumnTitle,"width":_vm.widget.options.buttonsColumnWidth},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_vm._l((_vm.widget.options.operationButtons),function(ob){return [_c('el-button',{directives:[{name:"show",rawName:"v-show",value:(_vm.showOperationButton(ob, scope.$index, scope.row)),expression:"showOperationButton(ob, scope.$index, scope.row)"}],class:['data-table-' + ob.name + '-button'],attrs:{"type":ob.type,"size":ob.size,"round":ob.round,"disabled":_vm.disableOperationButton(ob, scope.$index, scope.row)},on:{"click":function($event){return _vm.handleOperationButtonClick(ob.name, scope.$index, scope.row)}}},[_vm._v(_vm._s(_vm.getOperationButtonLabel(ob, scope.$index, scope.row)))])]})]}}],null,false,1636580772)})]:_vm._e()],2),(_vm.widget.options.showPagination)?_c('el-pagination',{attrs:{"small":_vm.widget.options.smallPagination,"current-page":_vm.currentPage,"page-sizes":_vm.pageSizes,"page-size":_vm.pageSize,"layout":_vm.paginationLayout,"total":_vm.total},on:{"size-change":_vm.handlePageSizeChange,"current-change":_vm.handleCurrentPageChange}}):_vm._e()],1)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-render/container-item/data-table-item.vue?vue&type=template&id=16cbe2b4&scoped=true + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js +var es_array_push = __webpack_require__("14d9"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/container-item-wrapper.vue + 4 modules +var container_item_wrapper = __webpack_require__("90c2"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/utils/format.js +var format = __webpack_require__("6be8"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/index.js +var field_widget = __webpack_require__("c029"); + +// EXTERNAL MODULE: ./src/components/form-render/refMixin.js +var refMixin = __webpack_require__("d67f"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/containerItemMixin.js +var containerItemMixin = __webpack_require__("34f0"); + +// EXTERNAL MODULE: ./src/components/form-render/table-column-custom-render.js +var table_column_custom_render = __webpack_require__("eb47"); + +// EXTERNAL MODULE: ./src/utils/util.js +var util = __webpack_require__("ca00"); + +// EXTERNAL MODULE: ./src/components/form-render/table-high-level-column.vue + 4 modules +var table_high_level_column = __webpack_require__("30ae"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/data-table-item.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + + + + +/* harmony default export */ var data_table_itemvue_type_script_lang_js = ({ + name: "DataTableItem", + componentName: 'ContainerItem', + //必须固定为ContainerItem,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], i18n["b" /* default */], refMixin["a" /* default */], containerItemMixin["a" /* default */]], + components: { + TableHighLevelColumn: table_high_level_column["a" /* default */], + ContainerItemWrapper: container_item_wrapper["default"], + TableColumnCustomRender: table_column_custom_render["a" /* default */], + ...field_widget["a" /* default */] + }, + props: { + widget: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + inject: ['refList', 'sfRefList', 'globalModel', 'getFormConfig', 'getGlobalDsv'], + data() { + return { + selectAllFlag: false, + selectedIndices: [], + selectedRows: [], + pageSize: this.widget.options.pagination.pageSize, + pageSizes: this.widget.options.pagination.pageSizes, + currentPage: this.widget.options.pagination.currentPage, + total: this.widget.options.pagination.total, + //是否跳过selectionChange事件 + skipSelectionChangeEvent: false, + loadingFlag: false + }; + }, + computed: { + formConfig() { + return this.getFormConfig(); + }, + paginationLayout() { + return !!this.widget.options.smallPagination ? 'prev, pager, next' : 'total, sizes, prev, pager, next, jumper'; + }, + customClass() { + return this.widget.options.customClass || ''; + }, + singleRowSelectFlag() { + return !this.widget.options.showCheckBox; + }, + buttonsColumnFixed() { + if (this.widget.options.buttonsColumnFixed === undefined) { + return 'right'; + } + return !this.widget.options.buttonsColumnFixed ? false : this.widget.options.buttonsColumnFixed; + }, + tableHeight() { + return this.widget.options.tableHeight || undefined; + }, + selectionWidth() { + return !this.widget.options.showSummary ? !this.widget.options.treeDataEnabled ? 50 : 70 : 55; + }, + getDataTableRef() { + return this; + }, + tableRowKey() { + return !this.widget.options.rowKey ? null : this.widget.options.rowKey; + } + }, + created() { + this.initRefList(); + this.handleOnCreated(); + }, + mounted() { + if (!!this.widget.options.dsEnabled) { + this.loadDataFromDS({}); + } + this.$nextTick(() => { + this.handleOnMounted(); + }); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + updated() { + this.$nextTick(() => { + this.$refs.dataTable.doLayout(); //解决合计行有时不显示的问题!! + }); + }, + methods: { + selectWidget(widget) { + this.designer.setSelected(widget); + }, + renderHeader(h, { + column, + $index + }) { + //debugger + let colCount = 0; + if (this.widget.options.showIndex) { + colCount++; + } + if (this.widget.options.showCheckBox) { + colCount++; + } + this.$set(column, "formatS", this.widget.options.tableColumns[$index - colCount].formatS); + return column.label; + }, + formatter(row, column, cellValue) { + return cellValue; + }, + formatterValue(row, column, cellValue) { + if (!cellValue) { + return ''; + } + if (!!column.formatS && !!column.show) { + switch (column.formatS) { + case 'd1': + return Object(format["a" /* formatDate1 */])(cellValue); + case 'd2': + return Object(format["b" /* formatDate2 */])(cellValue); + case 'd3': + return Object(format["c" /* formatDate3 */])(cellValue); + case 'd4': + return Object(format["d" /* formatDate4 */])(cellValue); + case 'd5': + return Object(format["e" /* formatDate5 */])(cellValue); + case 'n1': + return Object(format["f" /* formatNumber1 */])(cellValue); + case 'n2': + return Object(format["g" /* formatNumber2 */])(cellValue); + case 'n3': + return Object(format["h" /* formatNumber3 */])(cellValue); + case 'n4': + return Object(format["i" /* formatNumber4 */])(cellValue); + case 'n5': + return Object(format["j" /* formatNumber5 */])(cellValue); + case 'n6': + return Object(format["k" /* formatNumber6 */])(cellValue); + case 'n7': + return Object(format["l" /* formatNumber7 */])(cellValue); + } + } + return cellValue; + }, + getColumnRender(row, column) { + /* TODO: 每个table-cell,render函数会执行3次,原因不明!!! */ + return new Function('h', 'params', column.render); + }, + getRowIndex(row) { + return this.widget.options.tableData.lastIndexOf(row); + }, + findColumnAndSetHidden(columnName, hiddenFlag) { + this.widget.options.tableColumns.forEach(tc => { + if (tc.prop === columnName) { + tc.show = !hiddenFlag; + } + }); + }, + handleOnCreated() { + if (!!this.widget.options.onCreated) { + let customFunc = new Function(this.widget.options.onCreated); + customFunc.call(this); + } + }, + handleOnMounted() { + if (!!this.widget.options.onMounted) { + let customFunc = new Function(this.widget.options.onMounted); + customFunc.call(this); + } + }, + /** + * 单选时触发该事件 + * @param currentRow + * @param oldCurrentRow + */ + handleCurrentChange(currentRow, oldCurrentRow) { + if (!!this.skipSelectionChangeEvent) { + return; + } + if (!!this.widget.options.showCheckBox) { + return; + } + this.selectedIndices.length = 0; + this.selectedRows.length = 0; + let rowIndex = this.getRowIndex(currentRow); + this.selectedIndices.push(rowIndex); + this.selectedRows.push(currentRow); + if (!!this.widget.options.onSelectionChange) { + let customFn = new Function('selection', 'selectedIndices', this.widget.options.onSelectionChange); + customFn.call(this, [currentRow], this.selectedIndices); + } else { + /* 必须调用mixins中的dispatch方法逐级向父组件发送消息!! */ + this.dispatch('VFormRender', 'dataTableSelectionChange', [this, [currentRow], this.selectedIndices]); + } + }, + /** + * 注意:加载树形数据后,选中行如包含子节点则会触发两次该事件!! + * @param selection + */ + handleSelectionChange(selection) { + if (!!this.skipSelectionChangeEvent) { + return; + } + this.selectedIndices.length = 0; + this.selectedRows.length = 0; + selection.map(row => { + let rowIndex = this.getRowIndex(row); + this.selectedIndices.push(rowIndex); + this.selectedRows.push(row); + }); + if (!!this.widget.options.onSelectionChange) { + let customFn = new Function('selection', 'selectedIndices', this.widget.options.onSelectionChange); + customFn.call(this, selection, this.selectedIndices); + } else { + /* 必须调用mixins中的dispatch方法逐级向父组件发送消息!! */ + this.dispatch('VFormRender', 'dataTableSelectionChange', [this, selection, this.selectedIndices]); + } + }, + handleSortChange({ + column, + prop, + order + }) { + if (!!this.widget.options.onSortChange) { + let customFn = new Function('column', 'prop', 'order', 'pageSize', 'currentPage', this.widget.options.onSortChange); + customFn.call(this, column, prop, order, this.pageSize, this.currentPage); + } else { + /* 必须调用mixins中的dispatch方法逐级向父组件发送消息!! */ + this.dispatch('VFormRender', 'dataTableSortChange', [this, column, prop, order, this.pageSize, this.currentPage]); + } + }, + handlePageSizeChange(pageSize) { + this.pageSize = pageSize; + if (!!this.widget.options.dsEnabled && !!this.widget.options.dsName) { + this.loadDataFromDS(); + } + if (!!this.widget.options.onPageSizeChange) { + let customFn = new Function('pageSize', 'currentPage', this.widget.options.onPageSizeChange); + customFn.call(this, pageSize, this.currentPage); + } else { + this.dispatch('VFormRender', 'dataTablePageSizeChange', [this, pageSize, this.currentPage]); + } + }, + handleCurrentPageChange(currentPage) { + this.currentPage = currentPage; + if (!!this.widget.options.dsEnabled && !!this.widget.options.dsName) { + this.loadDataFromDS(); + } + if (!!this.widget.options.onCurrentPageChange) { + let customFn = new Function('pageSize', 'currentPage', this.widget.options.onCurrentPageChange); + customFn.call(this, this.pageSize, currentPage); + } else { + this.dispatch('VFormRender', 'dataTablePageChange', [this, this.pageSize, currentPage]); + } + }, + handleOperationButtonClick(btnName, rowIndex, row) { + if (!!this.widget.options.onOperationButtonClick) { + let customFn = new Function('buttonName', 'rowIndex', 'row', this.widget.options.onOperationButtonClick); + customFn.call(this, btnName, rowIndex, row); + } else { + this.dispatch('VFormRender', 'operationButtonClick', [this, btnName, rowIndex, row]); + } + }, + showOperationButton(buttonConfig, rowIndex, row) { + if (!!this.widget.options.onHideOperationButton) { + let customFn = new Function('buttonConfig', 'rowIndex', 'row', this.widget.options.onHideOperationButton); + return !customFn.call(this, buttonConfig, rowIndex, row); + } else { + return !buttonConfig.hidden; + } + }, + disableOperationButton(buttonConfig, rowIndex, row) { + if (!!this.widget.options.onDisableOperationButton) { + let customFn = new Function('buttonConfig', 'rowIndex', 'row', this.widget.options.onDisableOperationButton); + return customFn.call(this, buttonConfig, rowIndex, row); + } else { + return buttonConfig.disabled; + } + }, + getOperationButtonLabel(buttonConfig, rowIndex, row) { + if (!!this.widget.options.onGetOperationButtonLabel) { + let customFn = new Function('buttonConfig', 'rowIndex', 'row', this.widget.options.onGetOperationButtonLabel); + //return customFn.call(this, buttonConfig, rowIndex, row) || buttonConfig.label + return customFn.call(this, buttonConfig, rowIndex, row); + } else { + return buttonConfig.label; + } + }, + getRowClassName({ + row, + rowIndex + }) { + if (!!this.widget.options.onGetRowClassName) { + let customFn = new Function('rowIndex', 'row', this.widget.options.onGetRowClassName); + return customFn.call(this, rowIndex, row); + } else { + return ''; + } + }, + getSpanMethod({ + row, + column, + rowIndex, + columnIndex + }) { + if (!!this.widget.options.onGetSpanMethod) { + let customFn = new Function('row', 'column', 'rowIndex', 'columnIndex', this.widget.options.onGetSpanMethod); + return customFn.call(this, row, column, rowIndex, columnIndex); + } + }, + handleHeaderClick(column, event) { + if (!!this.widget.options.onHeaderClick) { + let customFn = new Function('column', 'event', this.widget.options.onHeaderClick); + return customFn.call(this, column, event); + } + }, + handleRowClick(row, column, event) { + if (!!this.widget.options.onRowClick) { + let customFn = new Function('row', 'column', 'event', this.widget.options.onRowClick); + return customFn.call(this, row, column, event); + } + }, + handleRowDoubleClick(row, column, event) { + if (!!this.widget.options.onRowDoubleClick) { + let customFn = new Function('row', 'column', 'event', this.widget.options.onRowDoubleClick); + return customFn.call(this, row, column, event); + } + }, + handleCellClick(row, column, cell, event) { + if (!!this.widget.options.onCellClick) { + let customFn = new Function('row', 'column', 'cell', 'event', this.widget.options.onCellClick); + return customFn.call(this, row, column, cell, event); + } + }, + handleCellDoubleClick(row, column, cell, event) { + if (!!this.widget.options.onCellDoubleClick) { + let customFn = new Function('row', 'column', 'cell', 'event', this.widget.options.onCellDoubleClick); + return customFn.call(this, row, column, cell, event); + } + }, + toggleSelection(row, flag, selectedRows) { + if (row) { + this.$refs.dataTable.toggleRowSelection(row, flag); + if (flag) { + selectedRows.push(row); + return; + } + let foundRowIdx = -1; + let rowKey = this.widget.options.rowKey || 'id'; + selectedRows.forEach((sr, idx) => { + if (sr[rowKey] === row[rowKey]) { + foundRowIdx = idx; + } + }); + if (foundRowIdx > -1) { + selectedRows.splice(foundRowIdx, 1); + } + } + }, + setChildrenSelected(children, flag, selectedRows) { + let childrenKey = this.widget.options.childrenKey || 'children'; + children.map(child => { + this.toggleSelection(child, flag, selectedRows); + if (child[childrenKey]) { + this.setChildrenSelected(child[childrenKey], flag, selectedRows); + } + }); + }, + /** + * 注意: + * element ui的el-table存在一个严重bug:加载树形数据后,选择父节点时不会同步选中下属子节点。 + * 为解决这个问题,用select事件和select-all事件替换selection-change处理节点的选中!! + */ + handleRowSelect(selection, row) { + this.skipSelectionChangeEvent = true; + let selectedRows = Object(util["c" /* deepClone */])(selection); + let rowKey = this.widget.options.rowKey || 'id'; + let childrenKey = this.widget.options.childrenKey || 'children'; + if (selection.some(el => { + return row[rowKey] === el[rowKey]; + })) { + if (row[childrenKey]) { + this.setChildrenSelected(row[childrenKey], true, selectedRows); + } + } else { + if (row[childrenKey]) { + this.setChildrenSelected(row[childrenKey], false, selectedRows); + } + } + this.skipSelectionChangeEvent = false; + // 一次性处理多行选中或取消选中,只触发一次事件!!! + this.$nextTick(() => { + this.handleSelectionChange(selectedRows); + }); + }, + setSelectedFlag(data, flag) { + let childrenKey = this.widget.options.childrenKey || 'children'; + data.forEach(row => { + this.$refs.dataTable.toggleRowSelection(row, flag); + if (row[childrenKey]) { + this.setSelectedFlag(row[childrenKey], flag); + } + }); + }, + /** + * 注意: + * element ui的el-table存在一个严重bug:加载树形数据后,选择父节点时不会同步选中下属子节点。 + * 为解决这个问题,用select事件和select-all事件替换selection-change处理节点的选中!! + */ + handleAllSelect(selection) { + this.skipSelectionChangeEvent = true; + this.selectAllFlag = !this.selectAllFlag; + this.setSelectedFlag(this.widget.options.tableData, this.selectAllFlag); + this.skipSelectionChangeEvent = false; + // 一次性处理多行选中或取消选中,只触发一次事件!!! + this.$nextTick(() => { + this.handleSelectionChange(selection); + }); + }, + //--------------------- 以下为组件支持外部调用的API方法 begin ------------------// + /* 提示:用户可自行扩充这些方法!!! */ + + refreshLayout() { + // 刷新表格显示,防止行列显示错位!! + this.$refs.dataTable.doLayout(); + }, + getTableColumns() { + return this.widget.options.tableColumns; + }, + /** + * 设置表格列 + * @param tableColumns + */ + setTableColumns(tableColumns) { + this.widget.options.tableColumns = tableColumns; + this.$nextTick(() => { + this.$refs.dataTable.doLayout(); //防止行列显示错位!! + }); + }, + /** + * 设置表格列(为了兼容文档错误,setTableColumn应为setTableColumns) + * @param tableColumns + */ + setTableColumn(tableColumns) { + this.setTableColumns(tableColumns); + }, + /** + * 从数据源加载表格列 + * @param localDsv 本地数据源变量DSV + * @param dsName 数据源名称 + */ + loadColumnsFromDS(localDsv = {}, dsName) { + let curDS = Object(util["j" /* getDSByName */])(this.formConfig, dsName); + if (!!curDS) { + let gDsv = this.getGlobalDsv() || {}; + let newDsv = new Object({}); + Object(util["q" /* overwriteObj */])(newDsv, gDsv); + Object(util["q" /* overwriteObj */])(newDsv, localDsv); + newDsv.widgetName = this.widget.options.name; + this.loadingFlag = true; + Object(util["w" /* runDataSourceRequest */])(curDS, newDsv, this.getFormRef(), false, this.$message).then(res => { + this.setTableColumns(res); + this.loadingFlag = false; + }).catch(err => { + this.$message.error(err.message); + this.loadingFlag = false; + }); + } + }, + /** + * 动态设置表格列的隐藏或显示 + * @param columnNames + * @param hiddenFlag + */ + setTableColumnsHidden(columnNames, hiddenFlag) { + if (!!columnNames) { + if (typeof columnNames === 'string') { + this.findColumnAndSetHidden(columnNames, hiddenFlag); + } else if (Array.isArray(columnNames)) { + columnNames.forEach(cn => { + this.findColumnAndSetHidden(cn, hiddenFlag); + }); + } + this.$nextTick(() => { + this.$refs.dataTable.doLayout(); //防止行列显示错位!! + }); + } + }, + /** + * 获取表格数据 + */ + getTableData() { + return this.widget.options.tableData; + }, + /** + * 设置表格数据 + * @param tableData + */ + setTableData(tableData) { + this.loadingFlag = true; + this.widget.options.tableData = tableData; + this.loadingFlag = false; + }, + /** + * 从数据源加载表格数据 + * @param localDsv 本地数据源变量DSV + * @param dsName 数据源名称,不传此值,则使用dsName属性绑定的数据源 + */ + loadDataFromDS(localDsv = {}, dsName = '') { + let curDSName = dsName || this.widget.options.dsName; + let curDSetName = this.widget.options.dataSetName; + let curDS = Object(util["j" /* getDSByName */])(this.formConfig, curDSName); + if (!!curDS) { + let gDsv = this.getGlobalDsv() || {}; + let newDsv = new Object({}); + Object(util["q" /* overwriteObj */])(newDsv, gDsv); + Object(util["q" /* overwriteObj */])(newDsv, localDsv); + newDsv.widgetName = this.widget.options.name; + newDsv.pageSize = this.pageSize; + newDsv.currentPage = this.currentPage; + this.loadingFlag = true; + Object(util["w" /* runDataSourceRequest */])(curDS, newDsv, this.getFormRef(), false, this.$message).then(res => { + if (!!curDSetName && res.hasOwnProperty(curDSetName)) { + this.setTableData(res[curDSetName]); + } else { + this.setTableData(res); + } + this.loadingFlag = false; + }).catch(err => { + this.$message.error(err.message); + this.loadingFlag = false; + }); + } + }, + /** + * 设置表格分页 + * @param pagination + */ + setPagination(pagination) { + if (pagination.currentPage !== undefined) { + this.currentPage = pagination.currentPage; + this.widget.options.pagination.currentPage = pagination.currentPage; + } + if (pagination.pageSize !== undefined) { + this.pageSize = pagination.pageSize; + this.widget.options.pagination.pageSize = pagination.pageSize; + } + if (pagination.pageSizes !== undefined) { + this.pageSizes = pagination.pageSizes; + this.widget.options.pagination.pageSizes = pagination.pageSizes; + } + if (pagination.total !== undefined) { + this.total = pagination.total; + this.widget.options.pagination.total = pagination.total; + } + }, + getPagination() { + return { + currentPage: this.widget.options.pagination.currentPage, + pageSize: this.widget.options.pagination.pageSize, + total: this.widget.options.pagination.total + }; + }, + /** + * 获取选中行数据,格式为对象数组 + * @returns {[]} + */ + getSelectedRow() { + //return this.$refs.dataTable.selection + return this.selectedRows; + }, + /** + * 获取选中行索引,格式为数组 + * @returns {[]} + */ + getSelectedIndex() { + return this.selectedIndices; + }, + getNativeTable() { + return this.$refs.dataTable; + } + + //--------------------- 以上为组件支持外部调用的API方法 end ------------------// + } +}); +// CONCATENATED MODULE: ./src/components/form-render/container-item/data-table-item.vue?vue&type=script&lang=js + /* harmony default export */ var container_item_data_table_itemvue_type_script_lang_js = (data_table_itemvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-render/container-item/data-table-item.vue?vue&type=style&index=0&id=16cbe2b4&prod&lang=scss&scoped=true +var data_table_itemvue_type_style_index_0_id_16cbe2b4_prod_lang_scss_scoped_true = __webpack_require__("8ef5"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-render/container-item/data-table-item.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + container_item_data_table_itemvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "16cbe2b4", + null + +) + +/* harmony default export */ var data_table_item = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "1d2b": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = function bind(fn, thisArg) { + return function wrap() { + var args = new Array(arguments.length); + for (var i = 0; i < args.length; i++) { + args[i] = arguments[i]; + } + return fn.apply(thisArg, args); + }; +}; + + +/***/ }), + +/***/ "1d80": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isNullOrUndefined = __webpack_require__("7234"); + +var $TypeError = TypeError; + +// `RequireObjectCoercible` abstract operation +// https://tc39.es/ecma262/#sec-requireobjectcoercible +module.exports = function (it) { + if (isNullOrUndefined(it)) throw new $TypeError("Can't call method on " + it); + return it; +}; + + +/***/ }), + +/***/ "1da3": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_rate_widget_vue_vue_type_style_index_0_id_472c31c2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ab9e"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_rate_widget_vue_vue_type_style_index_0_id_472c31c2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_rate_widget_vue_vue_type_style_index_0_id_472c31c2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "1e5a": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var symmetricDifference = __webpack_require__("9961"); +var setMethodAcceptSetLike = __webpack_require__("dad2"); + +// `Set.prototype.symmetricDifference` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('symmetricDifference') }, { + symmetricDifference: symmetricDifference +}); + + +/***/ }), + +/***/ "1e70": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var difference = __webpack_require__("a5f7"); +var setMethodAcceptSetLike = __webpack_require__("dad2"); + +// `Set.prototype.difference` method +// https://github.com/tc39/proposal-set-methods +$({ target: 'Set', proto: true, real: true, forced: !setMethodAcceptSetLike('difference') }, { + difference: difference +}); + + +/***/ }), + +/***/ "1fb5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.byteLength = byteLength +exports.toByteArray = toByteArray +exports.fromByteArray = fromByteArray + +var lookup = [] +var revLookup = [] +var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array + +var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' +for (var i = 0, len = code.length; i < len; ++i) { + lookup[i] = code[i] + revLookup[code.charCodeAt(i)] = i +} + +// Support decoding URL-safe base64 strings, as Node.js does. +// See: https://en.wikipedia.org/wiki/Base64#URL_applications +revLookup['-'.charCodeAt(0)] = 62 +revLookup['_'.charCodeAt(0)] = 63 + +function getLens (b64) { + var len = b64.length + + if (len % 4 > 0) { + throw new Error('Invalid string. Length must be a multiple of 4') + } + + // Trim off extra bytes after placeholder bytes are found + // See: https://github.com/beatgammit/base64-js/issues/42 + var validLen = b64.indexOf('=') + if (validLen === -1) validLen = len + + var placeHoldersLen = validLen === len + ? 0 + : 4 - (validLen % 4) + + return [validLen, placeHoldersLen] +} + +// base64 is 4/3 + up to two characters of the original data +function byteLength (b64) { + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen +} + +function _byteLength (b64, validLen, placeHoldersLen) { + return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen +} + +function toByteArray (b64) { + var tmp + var lens = getLens(b64) + var validLen = lens[0] + var placeHoldersLen = lens[1] + + var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen)) + + var curByte = 0 + + // if there are placeholders, only get up to the last complete 4 chars + var len = placeHoldersLen > 0 + ? validLen - 4 + : validLen + + var i + for (i = 0; i < len; i += 4) { + tmp = + (revLookup[b64.charCodeAt(i)] << 18) | + (revLookup[b64.charCodeAt(i + 1)] << 12) | + (revLookup[b64.charCodeAt(i + 2)] << 6) | + revLookup[b64.charCodeAt(i + 3)] + arr[curByte++] = (tmp >> 16) & 0xFF + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } + + if (placeHoldersLen === 2) { + tmp = + (revLookup[b64.charCodeAt(i)] << 2) | + (revLookup[b64.charCodeAt(i + 1)] >> 4) + arr[curByte++] = tmp & 0xFF + } + + if (placeHoldersLen === 1) { + tmp = + (revLookup[b64.charCodeAt(i)] << 10) | + (revLookup[b64.charCodeAt(i + 1)] << 4) | + (revLookup[b64.charCodeAt(i + 2)] >> 2) + arr[curByte++] = (tmp >> 8) & 0xFF + arr[curByte++] = tmp & 0xFF + } + + return arr +} + +function tripletToBase64 (num) { + return lookup[num >> 18 & 0x3F] + + lookup[num >> 12 & 0x3F] + + lookup[num >> 6 & 0x3F] + + lookup[num & 0x3F] +} + +function encodeChunk (uint8, start, end) { + var tmp + var output = [] + for (var i = start; i < end; i += 3) { + tmp = + ((uint8[i] << 16) & 0xFF0000) + + ((uint8[i + 1] << 8) & 0xFF00) + + (uint8[i + 2] & 0xFF) + output.push(tripletToBase64(tmp)) + } + return output.join('') +} + +function fromByteArray (uint8) { + var tmp + var len = uint8.length + var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes + var parts = [] + var maxChunkLength = 16383 // must be multiple of 3 + + // go through the array every three bytes, we'll deal with trailing stuff later + for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) { + parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength))) + } + + // pad the end with zeros, but make sure to not forget the extra bytes + if (extraBytes === 1) { + tmp = uint8[len - 1] + parts.push( + lookup[tmp >> 2] + + lookup[(tmp << 4) & 0x3F] + + '==' + ) + } else if (extraBytes === 2) { + tmp = (uint8[len - 2] << 8) + uint8[len - 1] + parts.push( + lookup[tmp >> 10] + + lookup[(tmp >> 4) & 0x3F] + + lookup[(tmp << 2) & 0x3F] + + '=' + ) + } + + return parts.join('') +} + + +/***/ }), + +/***/ "2005": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isDetached = __webpack_require__("75bd"); + +var $TypeError = TypeError; + +module.exports = function (it) { + if (isDetached(it)) throw new $TypeError('ArrayBuffer is detached'); + return it; +}; + + +/***/ }), + +/***/ "207d": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_html_text_widget_vue_vue_type_style_index_0_id_5b64c2ea_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d1fe"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_html_text_widget_vue_vue_type_style_index_0_id_5b64c2ea_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_html_text_widget_vue_vue_type_style_index_0_id_5b64c2ea_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "20c0": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=template&id=33b9a164&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-time-picker',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],ref:"fieldEditor",staticClass:"full-width-input",attrs:{"disabled":_vm.field.options.disabled,"readonly":_vm.field.options.readonly,"clearable":_vm.field.options.clearable,"editable":_vm.field.options.editable,"format":_vm.field.options.format,"value-format":"HH:mm:ss","placeholder":_vm.field.options.placeholder || _vm.i18nt('render.hint.timePlaceholder')},on:{"focus":_vm.handleFocusCustomEvent,"blur":_vm.handleBlurCustomEvent,"change":_vm.handleChangeEvent},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}}),(_vm.isReadMode)?[_c('span',{staticClass:"readonly-mode-field"},[_vm._v(_vm._s(_vm.fieldModel))])]:_vm._e()],2)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=template&id=33b9a164&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var time_widgetvue_type_script_lang_js = ({ + name: "time-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + FormItemWrapper: form_item_wrapper["default"] + }, + inject: ['refList', 'globalOptionData', 'globalModel'], + data() { + return { + oldFieldValue: null, + //field组件change之前的值 + fieldModel: null, + rules: [] + }; + }, + computed: {}, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initFieldModel(); + this.initEventHandler(); + this.buildFieldRules(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: {} +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_time_widgetvue_type_script_lang_js = (time_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/time-widget.vue?vue&type=style&index=0&id=33b9a164&prod&lang=scss&scoped=true +var time_widgetvue_type_style_index_0_id_33b9a164_prod_lang_scss_scoped_true = __webpack_require__("5bf1"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/time-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_time_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "33b9a164", + null + +) + +/* harmony default export */ var time_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "2338": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "236e": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* unused harmony export removeAllDic */ +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return getAllDic; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return loadOptionItemFromDict; }); +/* unused harmony export filterDic */ +// import { reqDic } from '@/api/login' + +// export function SetAllDic() { +// reqDic() +// .then(res => { +// if (res) { +// localStorage.setItem('LOCALSTORAGE_GLOBLE_DIC_KEY_FROM_AVUE', JSON.stringify(res)) +// } +// }) +// } + +function removeAllDic() { + if (JSON.parse(localStorage.getItem('LOCALSTORAGE_GLOBLE_DIC_KEY_FROM_AVUE'))) { + localStorage.removeItem('LOCALSTORAGE_GLOBLE_DIC_KEY_FROM_AVUE'); + } +} +function getAllDic() { + return JSON.parse(localStorage.getItem('LOCALSTORAGE_GLOBLE_DIC_KEY_FROM_AVUE')); +} + +// 根据字典编号获取字典 +function loadOptionItemFromDict(dicname, filter, efilter) { + var options = filterDic(getAllDic()[dicname], filter, efilter); + // console.log('options---->',options) + if (!options || options.length == 0) { + console.error('字典配置过滤项和保留项冲突,请检查配置信息!', filter, efilter); + } + return options; +} + +// 过滤字典项 +function filterDic(options, filter, efilter) { + // console.log('options--1111-->',options) + // console.log(filter,'---->filter') + var filterLst = filter && filter != '' ? filter.split(',') : ''; + var efilterLst = efilter && efilter != '' ? efilter.split(',') : ''; + // console.log('filterLst.length---->',filterLst) + // console.log('efilterLst.length---->',efilterLst) + if (filterLst && filterLst.length !== 0) { + options = options.filter(item => { + // console.log(item,filter,'---->filter-item') + if (filterLst.includes(item.value)) { + return false; + } else { + return true; + } + }); + } + // console.log(efilter,'---->efilter') + if (efilterLst && efilterLst.length !== 0) { + options = options.filter(item => { + // console.log(item,efilter,'---->efilter-item') + if (efilterLst.includes(item.value)) { + return true; + } else { + return false; + } + }); + } + return options; +} + +/***/ }), + +/***/ "23cb": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIntegerOrInfinity = __webpack_require__("5926"); + +var max = Math.max; +var min = Math.min; + +// Helper for a popular repeating case of the spec: +// Let integer be ? ToInteger(index). +// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). +module.exports = function (index, length) { + var integer = toIntegerOrInfinity(index); + return integer < 0 ? max(integer + length, 0) : min(integer, length); +}; + + +/***/ }), + +/***/ "23e7": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var globalThis = __webpack_require__("cfe9"); +var getOwnPropertyDescriptor = __webpack_require__("06cf").f; +var createNonEnumerableProperty = __webpack_require__("9112"); +var defineBuiltIn = __webpack_require__("cb2d"); +var defineGlobalProperty = __webpack_require__("6374"); +var copyConstructorProperties = __webpack_require__("e893"); +var isForced = __webpack_require__("94ca"); + +/* + options.target - name of the target object + options.global - target is the global object + options.stat - export as static methods of target + options.proto - export as prototype methods of target + options.real - real prototype method for the `pure` version + options.forced - export even if the native feature is available + options.bind - bind methods to the target, required for the `pure` version + options.wrap - wrap constructors to preventing global pollution, required for the `pure` version + options.unsafe - use the simple assignment of property instead of delete + defineProperty + options.sham - add a flag to not completely full polyfills + options.enumerable - export as enumerable property + options.dontCallGetSet - prevent calling a getter on target + options.name - the .name of the function if it does not match the key +*/ +module.exports = function (options, source) { + var TARGET = options.target; + var GLOBAL = options.global; + var STATIC = options.stat; + var FORCED, target, key, targetProperty, sourceProperty, descriptor; + if (GLOBAL) { + target = globalThis; + } else if (STATIC) { + target = globalThis[TARGET] || defineGlobalProperty(TARGET, {}); + } else { + target = globalThis[TARGET] && globalThis[TARGET].prototype; + } + if (target) for (key in source) { + sourceProperty = source[key]; + if (options.dontCallGetSet) { + descriptor = getOwnPropertyDescriptor(target, key); + targetProperty = descriptor && descriptor.value; + } else targetProperty = target[key]; + FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); + // contained in target + if (!FORCED && targetProperty !== undefined) { + if (typeof sourceProperty == typeof targetProperty) continue; + copyConstructorProperties(sourceProperty, targetProperty); + } + // add a flag to not completely full polyfills + if (options.sham || (targetProperty && targetProperty.sham)) { + createNonEnumerableProperty(sourceProperty, 'sham', true); + } + defineBuiltIn(target, key, sourceProperty, options); + } +}; + + +/***/ }), + +/***/ "241c": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var internalObjectKeys = __webpack_require__("ca84"); +var enumBugKeys = __webpack_require__("7839"); + +var hiddenKeys = enumBugKeys.concat('length', 'prototype'); + +// `Object.getOwnPropertyNames` method +// https://tc39.es/ecma262/#sec-object.getownpropertynames +// eslint-disable-next-line es/no-object-getownpropertynames -- safe +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return internalObjectKeys(O, hiddenKeys); +}; + + +/***/ }), + +/***/ "2444": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(process) { + +var utils = __webpack_require__("c532"); +var normalizeHeaderName = __webpack_require__("c8af"); +var enhanceError = __webpack_require__("387f"); + +var DEFAULT_CONTENT_TYPE = { + 'Content-Type': 'application/x-www-form-urlencoded' +}; + +function setContentTypeIfUnset(headers, value) { + if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) { + headers['Content-Type'] = value; + } +} + +function getDefaultAdapter() { + var adapter; + if (typeof XMLHttpRequest !== 'undefined') { + // For browsers use XHR adapter + adapter = __webpack_require__("b50d"); + } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') { + // For node use HTTP adapter + adapter = __webpack_require__("b50d"); + } + return adapter; +} + +function stringifySafely(rawValue, parser, encoder) { + if (utils.isString(rawValue)) { + try { + (parser || JSON.parse)(rawValue); + return utils.trim(rawValue); + } catch (e) { + if (e.name !== 'SyntaxError') { + throw e; + } + } + } + + return (encoder || JSON.stringify)(rawValue); +} + +var defaults = { + + transitional: { + silentJSONParsing: true, + forcedJSONParsing: true, + clarifyTimeoutError: false + }, + + adapter: getDefaultAdapter(), + + transformRequest: [function transformRequest(data, headers) { + normalizeHeaderName(headers, 'Accept'); + normalizeHeaderName(headers, 'Content-Type'); + + if (utils.isFormData(data) || + utils.isArrayBuffer(data) || + utils.isBuffer(data) || + utils.isStream(data) || + utils.isFile(data) || + utils.isBlob(data) + ) { + return data; + } + if (utils.isArrayBufferView(data)) { + return data.buffer; + } + if (utils.isURLSearchParams(data)) { + setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8'); + return data.toString(); + } + if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) { + setContentTypeIfUnset(headers, 'application/json'); + return stringifySafely(data); + } + return data; + }], + + transformResponse: [function transformResponse(data) { + var transitional = this.transitional; + var silentJSONParsing = transitional && transitional.silentJSONParsing; + var forcedJSONParsing = transitional && transitional.forcedJSONParsing; + var strictJSONParsing = !silentJSONParsing && this.responseType === 'json'; + + if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) { + try { + return JSON.parse(data); + } catch (e) { + if (strictJSONParsing) { + if (e.name === 'SyntaxError') { + throw enhanceError(e, this, 'E_JSON_PARSE'); + } + throw e; + } + } + } + + return data; + }], + + /** + * A timeout in milliseconds to abort a request. If set to 0 (default) a + * timeout is not created. + */ + timeout: 0, + + xsrfCookieName: 'XSRF-TOKEN', + xsrfHeaderName: 'X-XSRF-TOKEN', + + maxContentLength: -1, + maxBodyLength: -1, + + validateStatus: function validateStatus(status) { + return status >= 200 && status < 300; + } +}; + +defaults.headers = { + common: { + 'Accept': 'application/json, text/plain, */*' + } +}; + +utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { + defaults.headers[method] = {}; +}); + +utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { + defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); +}); + +module.exports = defaults; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("4362"))) + +/***/ }), + +/***/ "249d": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var $transfer = __webpack_require__("41f6"); + +// `ArrayBuffer.prototype.transfer` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfer +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transfer: function transfer() { + return $transfer(this, arguments.length ? arguments[0] : undefined, true); + } +}); + + +/***/ }), + +/***/ "2635": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_form_item_wrapper_vue_vue_type_style_index_0_id_14028d04_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f0c6"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_form_item_wrapper_vue_vue_type_style_index_0_id_14028d04_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_form_item_wrapper_vue_vue_type_style_index_0_id_14028d04_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "2834": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var uncurryThis = __webpack_require__("e330"); +var aCallable = __webpack_require__("59ed"); +var arrayFromConstructorAndList = __webpack_require__("dfb9"); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; +var sort = uncurryThis(ArrayBufferViewCore.TypedArrayPrototype.sort); + +// `%TypedArray%.prototype.toSorted` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tosorted +exportTypedArrayMethod('toSorted', function toSorted(compareFn) { + if (compareFn !== undefined) aCallable(compareFn); + var O = aTypedArray(this); + var A = arrayFromConstructorAndList(getTypedArrayConstructor(O), O); + return sort(A, compareFn); +}); + + +/***/ }), + +/***/ "2877": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return normalizeComponent; }); +/* globals __VUE_SSR_CONTEXT__ */ + +// IMPORTANT: Do NOT use ES2015 features in this file (except for modules). +// This module is a runtime utility for cleaner component module output and will +// be included in the final webpack user bundle. + +function normalizeComponent( + scriptExports, + render, + staticRenderFns, + functionalTemplate, + injectStyles, + scopeId, + moduleIdentifier /* server only */, + shadowMode /* vue-cli only */ +) { + // Vue.extend constructor export interop + var options = + typeof scriptExports === 'function' ? scriptExports.options : scriptExports + + // render functions + if (render) { + options.render = render + options.staticRenderFns = staticRenderFns + options._compiled = true + } + + // functional template + if (functionalTemplate) { + options.functional = true + } + + // scopedId + if (scopeId) { + options._scopeId = 'data-v-' + scopeId + } + + var hook + if (moduleIdentifier) { + // server build + hook = function (context) { + // 2.3 injection + context = + context || // cached call + (this.$vnode && this.$vnode.ssrContext) || // stateful + (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional + // 2.2 with runInNewContext: true + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__ + } + // inject component styles + if (injectStyles) { + injectStyles.call(this, context) + } + // register component module identifier for async chunk inferrence + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier) + } + } + // used by ssr in case component is cached and beforeCreate + // never gets called + options._ssrRegister = hook + } else if (injectStyles) { + hook = shadowMode + ? function () { + injectStyles.call( + this, + (options.functional ? this.parent : this).$root.$options.shadowRoot + ) + } + : injectStyles + } + + if (hook) { + if (options.functional) { + // for template-only hot-reload because in that case the render fn doesn't + // go through the normalizer + options._injectStyles = hook + // register for functional component in vue file + var originalRender = options.render + options.render = function renderWithStyleInjection(h, context) { + hook.call(context) + return originalRender(h, context) + } + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate + options.beforeCreate = existing ? [].concat(existing, hook) : [hook] + } + } + + return { + exports: scriptExports, + options: options + } +} + + +/***/ }), + +/***/ "2890": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/tree-item.vue?vue&type=template&id=f0f74652&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('container-item-wrapper',{attrs:{"widget":_vm.widget}},[_c('el-container',[_c('el-main',{staticStyle:{"align-items":"baseline"}},[(_vm.widget.options.filter)?_c('el-input',{attrs:{"size":_vm.widget.options.size,"placeholder":_vm.i18nt('designer.setting.enterForQuery')},model:{value:(_vm.filterText),callback:function ($$v) {_vm.filterText=$$v},expression:"filterText"}}):_vm._e(),_c('el-button-group',[(_vm.widget.options.expandRetractAllNode)?_c('el-button',{attrs:{"type":"primary","round":"","plain":"","size":_vm.widget.options.size},on:{"click":function($event){return _vm.expandAllNodes()}}},[_vm._v(" "+_vm._s(_vm.i18nt('designer.setting.expandRetractAllNode'))+" ")]):_vm._e(),(_vm.widget.options.selectClearAllNode && _vm.widget.options.showCheckBox)?_c('el-button',{attrs:{"type":"primary","round":"","plain":"","size":_vm.widget.options.size},on:{"click":function($event){return _vm.checkAllNodes()}}},[_vm._v(" "+_vm._s(_vm.i18nt('designer.setting.selectClearAllNode'))+" ")]):_vm._e()],1),_c('el-tree',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loadingFlag),expression:"loadingFlag"}],ref:"tree",attrs:{"data":_vm.widget.options.treeData,"props":_vm.defaultProps,"border":"","lazy":_vm.widget.options.lazy,"node-key":"id","highlight-current":"","current-node-key":_vm.currentKey,"show-checkbox":_vm.widget.options.showCheckBox,"expand-on-click-node":_vm.widget.options.expandOnClickNode,"default-expand-all":_vm.widget.options.defaultExpandAllNode,"draggable":_vm.widget.options.draggable,"check-strictly":_vm.widget.options.checkStrictly,"filter-node-method":_vm.filterNode},on:{"node-click":_vm.handleTreeNodeClick,"node-contextmenu":_vm.handleTreeNodeContextmenu,"check":_vm.handleTreeNodeCheck,"check-change":_vm.handleCheckChange},scopedSlots:_vm._u([{key:"default",fn:function(ref){ +var node = ref.node; +var data = ref.data; +return _c('span',{staticClass:"custom-tree-node"},[_c('span',[_vm._v(_vm._s(node.label))]),(_vm.widget.options.nodeEdit)?_c('span',[_c('el-button',{attrs:{"type":"text","size":_vm.widget.options.size},on:{"click":function($event){return _vm.append(data)}}},[_vm._v(" "+_vm._s(_vm.i18nt('designer.setting.add'))+" ")]),_c('el-button',{attrs:{"type":"text","size":_vm.widget.options.size},on:{"click":function($event){return _vm.remove(node, data)}}},[_vm._v(" "+_vm._s(_vm.i18nt('designer.setting.delete'))+" ")])],1):_vm._e()])}}])})],1)],1)],1)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-render/container-item/tree-item.vue?vue&type=template&id=f0f74652&scoped=true + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js +var es_array_push = __webpack_require__("14d9"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/container-item-wrapper.vue + 4 modules +var container_item_wrapper = __webpack_require__("90c2"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/index.js +var field_widget = __webpack_require__("c029"); + +// EXTERNAL MODULE: ./src/components/form-render/refMixin.js +var refMixin = __webpack_require__("d67f"); + +// EXTERNAL MODULE: ./src/components/form-render/container-item/containerItemMixin.js +var containerItemMixin = __webpack_require__("34f0"); + +// EXTERNAL MODULE: ./src/utils/util.js +var util = __webpack_require__("ca00"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/container-item/tree-item.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + + + +let id = 1000; +/* harmony default export */ var tree_itemvue_type_script_lang_js = ({ + name: "TreeItem", + componentName: 'ContainerItem', + //必须固定为ContainerItem,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], i18n["b" /* default */], refMixin["a" /* default */], containerItemMixin["a" /* default */]], + inject: ['refList', 'sfRefList', 'globalModel', 'getFormConfig', 'getGlobalDsv'], + components: { + ContainerItemWrapper: container_item_wrapper["default"], + ...field_widget["a" /* default */] + }, + props: { + widget: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + data() { + return { + isExpanded: true, + isChecked: false, + currentKey: '', + filterText: '', + loadingFlag: false, + defaultProps: { + children: 'children', + label: 'label' + } + }; + }, + computed: { + formConfig() { + return this.getFormConfig(); + } + }, + watch: { + filterText(val) { + this.$refs.tree.filter(val); + } + }, + created() { + this.initRefList(); + this.handleOnCreated(); + }, + mounted() { + if (!!this.widget.options.dsEnabled) { + this.loadDataFromDS({}); + } + this.$nextTick(() => { + this.handleOnMounted(); + }); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + // 给当前节点添加下级节点 + append(data) { + this.$prompt(this.i18nt('designer.setting.inputNodeName'), this.i18nt('designer.setting.tips'), { + confirmButtonText: this.i18nt('designer.hint.confirm'), + cancelButtonText: this.i18nt('designer.hint.cancel') + }).then(({ + value + }) => { + const newChild = { + id: id++, + label: value, + children: [] + }; + if (!data.children) { + this.$set(data, 'children', []); + } + data.children.push(newChild); + }).catch(err => { + console.error(err); + }); + }, + // 删除节点 + remove(node, data) { + this.$confirm(this.i18nt('designer.setting.deleteNode'), this.i18nt('designer.setting.tips'), { + confirmButtonText: this.i18nt('designer.hint.confirm'), + cancelButtonText: this.i18nt('designer.hint.cancel'), + type: 'warning' + }).then(() => { + const parent = node.parent; + const children = parent.data.children || parent.data; + const index = children.findIndex(d => d.id === data.id); + children.splice(index, 1); + this.$message({ + type: 'success', + message: this.i18nt('designer.setting.nodeDeleted') + }); + }).catch(err => { + console.error(err); + }); + }, + filterNode(value, data) { + if (!value) return true; + return data.label.indexOf(value) !== -1; + }, + handleOnCreated() { + if (!!this.widget.options.onCreated) { + let customFunc = new Function(this.widget.options.onCreated); + customFunc.call(this); + } + }, + handleOnMounted() { + if (!!this.widget.options.onMounted) { + let customFunc = new Function(this.widget.options.onMounted); + customFunc.call(this); + } + }, + /** 树节点点击事件 + * @param {Object} data 传递给 data 属性的数组中该节点所对应的对象 + * @param {Object} node 节点对应的 Node + * @param {Object} el 节点组件本身 + */ + handleTreeNodeClick(data, node, el) { + if (!!this.widget.options.onNodeClick) { + let customFn = new Function('data', 'node', 'el', this.widget.options.onNodeClick); + customFn.call(this, data, node, el); + } + }, + /** 树节点右键事件 + * @param {Object} event 事件句柄 + * @param {Object} data 传递给 data 属性的数组中该节点所对应的对象 + * @param {Object} node 节点对应的 Node + * @param {Object} el 节点组件本身 + */ + handleTreeNodeContextmenu(event, data, node, el) { + if (!!this.widget.options.onNodeContextmenu) { + let customFn = new Function('event', 'data', 'node', 'el', this.widget.options.onNodeContextmenu); + customFn.call(this, event, data, node, el); + } + }, + /** 树组件当复选框被点击的时候触发 + * @param {Object} data + * @param {Object} treeState + */ + handleTreeNodeCheck(data, treeState) { + if (!!this.widget.options.onNodeCheck) { + let customFn = new Function('data', 'treeState', this.widget.options.onNodeCheck); + customFn.call(this, data, treeState); + } + }, + handleCheckChange(data, checked, indeterminate) { + if (!!this.widget.options.onCheckChange) { + let customFn = new Function('data', 'checked', 'indeterminate', this.widget.options.onCheckChange); + customFn.call(this, data, checked, indeterminate); + } + }, + //改变节点的展开/收缩状态 + setNodeExpanded(node, flag) { + node.expanded = flag; + for (let i = 0; i < node.childNodes.length; i++) { + //改变节点的自身expanded状态 + node.childNodes[i].expanded = flag; + //看看他孩子的长度,有的话就调用自己往下找 + if (node.childNodes[i].childNodes.length > 0) { + this.setNodeExpanded(node.childNodes[i], flag); + } + } + }, + //改变节点的勾选状态 + setNodeChecked(node, flag) { + node.checked = flag; + for (let i = 0; i < node.childNodes.length; i++) { + //改变节点的自身checked状态 + node.childNodes[i].checked = flag; + //看看他孩子的长度,有的话就调用自己往下找 + if (node.childNodes[i].childNodes.length > 0) { + this.setNodeChecked(node.childNodes[i], flag); + } + } + }, + //--------------------- 以下为组件支持外部调用的API方法 begin ------------------// + /* 提示:用户可自行扩充这些方法!!! */ + + getNativeTree() { + return this.$refs.tree; + }, + setTreeData(data) { + this.widget.options.treeData = data; + this.currentKey = data[0].id; + }, + getTreeData() { + return this.widget.options.treeData; + }, + expandAllNodes(flag) { + this.isExpanded = flag || !this.isExpanded; + this.setNodeExpanded(this.$refs.tree.store.root, this.isExpanded); + }, + checkAllNodes(flag) { + //debugger + this.isChecked = flag || !this.isChecked; + this.setNodeChecked(this.$refs.tree.store.root, this.isChecked); + }, + setCheckedNodes(nodes) { + this.$refs.tree.setCheckedNodes(nodes); + }, + getCheckedNodes(leafOnly, includeHalfChecked) { + return this.$refs.tree.getCheckedNodes(leafOnly, includeHalfChecked); + }, + getCurrentNode() { + return this.$refs.tree.getCurrentNode(); + }, + setCurrentNode(node) { + return this.$refs.tree.setCurrentNode(node); + }, + /** + * 从数据源加载数据 + * @param localDsv 本地数据源变量DSV + * @param dsName 数据源名称,不传此值,则使用dsName属性绑定的数据源 + */ + loadDataFromDS(localDsv = {}, dsName = '') { + let curDSName = dsName || this.widget.options.dsName; + let curDSetName = this.widget.options.dataSetName; + let curDS = Object(util["j" /* getDSByName */])(this.formConfig, curDSName); + if (!!curDS) { + let gDsv = this.getGlobalDsv() || {}; + let newDsv = new Object({}); + Object(util["q" /* overwriteObj */])(newDsv, gDsv); + Object(util["q" /* overwriteObj */])(newDsv, localDsv); + newDsv.widgetName = this.widget.options.name; + this.loadingFlag = true; + Object(util["w" /* runDataSourceRequest */])(curDS, newDsv, this.getFormRef(), false, this.$message).then(res => { + if (!!curDSetName && res.hasOwnProperty(curDSetName)) { + this.setTreeData(res[curDSetName]); + } else { + this.setTreeData(res); + } + this.loadingFlag = false; + }).catch(err => { + this.$message.error(err.message); + this.loadingFlag = false; + }); + } + } + + //--------------------- 以上为组件支持外部调用的API方法 end ------------------// + } +}); +// CONCATENATED MODULE: ./src/components/form-render/container-item/tree-item.vue?vue&type=script&lang=js + /* harmony default export */ var container_item_tree_itemvue_type_script_lang_js = (tree_itemvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-render/container-item/tree-item.vue?vue&type=style&index=0&id=f0f74652&prod&lang=scss&scoped=true +var tree_itemvue_type_style_index_0_id_f0f74652_prod_lang_scss_scoped_true = __webpack_require__("c8fe"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-render/container-item/tree-item.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + container_item_tree_itemvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "f0f74652", + null + +) + +/* harmony default export */ var tree_item = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "2a07": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var globalThis = __webpack_require__("cfe9"); +var IS_NODE = __webpack_require__("9adc"); + +module.exports = function (name) { + if (IS_NODE) { + try { + return globalThis.process.getBuiltinModule(name); + } catch (error) { /* empty */ } + try { + // eslint-disable-next-line no-new-func -- safe + return Function('return require("' + name + '")')(); + } catch (error) { /* empty */ } + } +}; + + +/***/ }), + +/***/ "2a62": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__("c65b"); +var anObject = __webpack_require__("825a"); +var getMethod = __webpack_require__("dc4a"); + +module.exports = function (iterator, kind, value) { + var innerResult, innerError; + anObject(iterator); + try { + innerResult = getMethod(iterator, 'return'); + if (!innerResult) { + if (kind === 'throw') throw value; + return value; + } + innerResult = call(innerResult, iterator); + } catch (error) { + innerError = true; + innerResult = error; + } + if (kind === 'throw') throw value; + if (innerError) throw innerResult; + anObject(innerResult); + return value; +}; + + +/***/ }), + +/***/ "2ba4": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var NATIVE_BIND = __webpack_require__("40d5"); + +var FunctionPrototype = Function.prototype; +var apply = FunctionPrototype.apply; +var call = FunctionPrototype.call; + +// eslint-disable-next-line es/no-reflect -- safe +module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () { + return call.apply(apply, arguments); +}); + + +/***/ }), + +/***/ "2c66": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__("83ab"); +var defineBuiltInAccessor = __webpack_require__("edd0"); +var isDetached = __webpack_require__("75bd"); + +var ArrayBufferPrototype = ArrayBuffer.prototype; + +if (DESCRIPTORS && !('detached' in ArrayBufferPrototype)) { + defineBuiltInAccessor(ArrayBufferPrototype, 'detached', { + configurable: true, + get: function detached() { + return isDetached(this); + } + }); +} + + +/***/ }), + +/***/ "2d11": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("14d9"); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("ca00"); +/* harmony import */ var _utils_validators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("a00a"); +/* harmony import */ var _utils_setAllDic__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("236e"); + + + + +/* harmony default export */ __webpack_exports__["a"] = ({ + inject: ['refList', 'getFormConfig', 'globalOptionData', 'globalModel', 'getOptionData', 'getGlobalDsv', 'getReadMode', 'getSubFormFieldFlag', 'getSubFormName', 'getDSResultCache', 'getIdentiFication'], + data() { + return { + fieldReadonlyFlag: false, + dataSetLoadedFlag: false, + // 防抖函数 + timer: null + }; + }, + computed: { + formConfig() { + return this.getFormConfig(); + }, + subFormName() { + return this.getSubFormName ? this.getSubFormName() : ''; + }, + subFormItemFlag() { + return this.getSubFormFieldFlag ? this.getSubFormFieldFlag() : false; + }, + formModel: { + cache: false, + get() { + return this.globalModel.formModel; + } + }, + isReadMode() { + //return this.getReadMode() || this.fieldReadonlyFlag + return this.getReadMode() ? true : this.fieldReadonlyFlag; + }, + optionLabel() { + if (this.fieldModel === null) { + return '--'; + } else { + let resultContent = '--'; + this.field.options.optionItems.forEach(oItem => { + if (oItem.value === this.fieldModel || this.findInArray(this.fieldModel, oItem.value) !== -1) { + resultContent = resultContent === '--' ? oItem.label : resultContent + ' ' + oItem.label; + } + }); + return resultContent; + } + } + }, + methods: { + findInArray(arrayObject, element) { + if (!Array.isArray(arrayObject)) { + return -1; + } + let foundIdx = -1; + arrayObject.forEach((aItem, aIdx) => { + if (aItem === element) { + foundIdx = aIdx; + } + }); + return foundIdx; + }, + //--------------------- 组件内部方法 begin ------------------// + getPropName() { + if (this.subFormItemFlag && !this.designState) { + return this.subFormName + "." + this.subFormRowIndex + "." + this.field.options.name + ""; + } else { + return this.field.options.name; + } + }, + initFieldModel() { + if (!this.field.formItemFlag) { + return; + } + if (!!this.subFormItemFlag && !this.designState) { + //SubForm子表单组件需要特殊处理!! + let subFormData = this.formModel[this.subFormName]; + if ((subFormData === undefined || subFormData[this.subFormRowIndex] === undefined || subFormData[this.subFormRowIndex][this.field.options.name] === undefined) && this.field.options.defaultValue !== undefined) { + this.fieldModel = this.field.options.defaultValue; + subFormData[this.subFormRowIndex][this.field.options.name] = this.field.options.defaultValue; + } else if (subFormData[this.subFormRowIndex][this.field.options.name] === undefined) { + this.fieldModel = null; + subFormData[this.subFormRowIndex][this.field.options.name] = null; + } else { + this.fieldModel = subFormData[this.subFormRowIndex][this.field.options.name]; + } + + /* 主动触发子表单内field-widget的onChange事件!! */ + setTimeout(() => { + //延时触发onChange事件, 便于更新计算字段!! + this.handleOnChangeForSubForm(this.fieldModel, this.oldFieldValue, subFormData, this.subFormRowId); + }, 800); + this.oldFieldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); + this.initFileList(); //处理图片上传、文件上传字段 + + return; + } + // 多选的框的时候如果保存到后台 那么会把 [] 数组 变成 空字符串 这里在转换回来 + if (this.field.type === 'checkbox' && this.field.options.defaultValue === '') { + this.field.options.defaultValue = []; + } + if (this.formModel[this.field.options.name] === undefined && this.field.options.defaultValue !== undefined) { + this.fieldModel = this.field.options.defaultValue; + } else if (this.formModel[this.field.options.name] === undefined) { + //如果formModel为空对象,则初始化字段值为null!! + this.formModel[this.field.options.name] = null; + } else { + this.fieldModel = this.formModel[this.field.options.name]; + } + this.oldFieldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); + this.initFileList(); //处理图片上传、文件上传字段 + }, + initFileList() { + //初始化上传组件的已上传文件列表 + if (this.field.type !== 'picture-upload' && this.field.type !== 'file-upload' || this.designState === true) { + return; + } + if (this.fieldModel) { + if (Array.isArray(this.fieldModel)) { + this.fileList = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); + } else { + this.fileList.splice(0, 0, Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel)); + } + } + }, + initEventHandler() { + this.$on('setFormData', newFormData => { + //console.log('formModel of globalModel----------', this.globalModel.formModel) + if (!this.subFormItemFlag) { + this.setValue(newFormData[this.field.options.name]); + } + }); + this.$on('field-value-changed', values => { + if (this.subFormItemFlag) { + let subFormData = this.formModel[this.subFormName]; + this.handleOnChangeForSubForm(values[0], values[1], subFormData, this.subFormRowId); + } else { + this.handleOnChange(values[0], values[1]); + } + }); + + /* 监听从数据集加载选项事件 */ + this.$on('loadOptionItemsFromDataSet', dsName => { + this.loadOptionItemsFromDataSet(dsName); + this.dataSetLoadedFlag = true; + }); + + /* 监听重新加载选项事件 */ + this.$on('reloadOptionItems', widgetNames => { + if (widgetNames.length === 0 || widgetNames.indexOf(this.field.options.name) > -1) { + this.initOptionItems(true); + } + }); + }, + handleOnCreated() { + if (this.designState) { + //设计状态不触发事件 + return; + } + if (this.field.options.onCreated) { + let customFunc = new Function(this.field.options.onCreated); + customFunc.call(this); + } + }, + handleOnMounted() { + if (this.designState) { + //设计状态不触发事件 + return; + } + if (this.field.options.onMounted) { + let mountFunc = new Function(this.field.options.onMounted); + mountFunc.call(this); + } + }, + registerToRefList(oldRefName) { + if (this.refList !== null && !!this.field.options.name) { + if (this.subFormItemFlag && !this.designState) { + //处理子表单元素(且非设计状态) + if (oldRefName) { + delete this.refList[oldRefName + '@row' + this.subFormRowId]; + } + this.refList[this.field.options.name + '@row' + this.subFormRowId] = this; + } else { + if (oldRefName) { + delete this.refList[oldRefName]; + } + this.refList[this.field.options.name] = this; + } + } + }, + unregisterFromRefList() { + //销毁组件时注销组件ref + if (this.refList !== null && !!this.field.options.name) { + let oldRefName = this.field.options.name; + if (this.subFormItemFlag && !this.designState) { + //处理子表单元素(且非设计状态) + delete this.refList[oldRefName + '@row' + this.subFormRowId]; + } else { + delete this.refList[oldRefName]; + } + } + }, + async initOptionItems(keepSelected) { + if (this.field.type === 'radio' || this.field.type === 'checkbox' || this.field.type === 'select' || this.field.type === 'cascader') { + // console.log('optionsType---->',this.field.options.optionType == 2) + /* 首先处理数据源选项加载 */ + if (this.field.options.optionType == 2) { + if (this.designState) { + return; + } + console.log('designState---->', this.designState); + this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项 + let curDSName = this.field.options.dsName; + let curDSetName = this.field.options.dataSetName; + let curDS = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* getDSByName */ "j"])(this.formConfig, curDSName); + if (!!curDS && !curDSetName) { + let gDsv = this.getGlobalDsv() || {}; + //console.log('Global DSV is: ', gDsv) + let localDsv = new Object({}); + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* overwriteObj */ "q"])(localDsv, gDsv); + localDsv['widgetName'] = this.field.options.name; + let dsResult = null; + let identiFication; + if (this.identiFication) { + identiFication = this.identiFication; + } else { + identiFication = this.getIdentiFication(); + } + try { + dsResult = await Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* runDataSourceRequest */ "w"])(curDS, localDsv, this.getFormRef(), false, this.$message, null, identiFication); + // 这里级联动组件数据结构会多一层 所以要取下一层数据 + if (identiFication === "PC") { + dsResult = dsResult.data[0].children; + } else if (identiFication === "PAD") { + if (curDS.channelType && curDS.channelType === "MultiEnded") { + dsResult = dsResult.data.retObj[0].children; + } + } + this.loadOptions(dsResult); + } catch (err) { + this.$message.error(err.message); + } + } else if (!!curDS && !!curDSetName && !this.dataSetLoadedFlag) { + this.loadOptionItemsFromDataSet(curDSName); + } + return; + } + if (this.field.options.optionType == 1 && !(this.field.type === 'cascader')) { + const optionItems = Object(_utils_setAllDic__WEBPACK_IMPORTED_MODULE_3__[/* loadOptionItemFromDict */ "b"])(this.field.options.dicname, this.field.options.filter, this.field.options.efilter); + + // 根据字典加载选项 + this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项 + // console.log(this.field.options.defaultValue,'---->defaultValue') + this.field.options.defaultValue = ''; + this.loadOptions(optionItems); + } + + /* 异步更新option-data之后globalOptionData不能获取到最新值,改用provide的getOptionData()方法 */ + const newOptionItems = this.getOptionData(); + if (!!newOptionItems && newOptionItems.hasOwnProperty(this.field.options.name)) { + if (keepSelected) { + this.reloadOptions(newOptionItems[this.field.options.name]); + } else { + this.loadOptions(newOptionItems[this.field.options.name]); + } + } + } + }, + loadOptionItemsFromDataSet(dsName) { + if (this.designState) { + return; + } + if (this.field.type !== 'radio' && this.field.type !== 'checkbox' && this.field.type !== 'select' && this.field.type !== 'cascader') { + return; + } + if (!this.field.options.dsEnabled || !this.field.options.dsName || !this.field.options.dataSetName || this.field.options.dsName !== dsName) { + return; + } + const dataCache = this.getDSResultCache(); + const dSetName = this.field.options.dataSetName; + if (!!dataCache && !!dataCache[dsName] && !!dataCache[dsName][dSetName]) { + this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项 + this.loadOptions(dataCache[dsName][dSetName]); + } + }, + refreshDefaultValue() { + if (this.designState === true && this.field.options.defaultValue !== undefined) { + console.log(this.field.options.defaultValue, this.fieldModel, '---->this.field.options.defaultValue'); + this.fieldModel = this.field.options.defaultValue; + } + }, + clearFieldRules() { + if (!this.field.formItemFlag) { + return; + } + this.rules.splice(0, this.rules.length); //清空已有 + }, + buildFieldRules() { + if (!this.field.formItemFlag || this.field.options.hidden) { + return; + } + this.rules.splice(0, this.rules.length); //清空已有 + if (this.field.options.required) { + this.rules.push({ + required: true, + //trigger: ['blur', 'change'], + trigger: ['blur'], + /* 去掉change事件触发校验,change事件触发时formModel数据尚未更新,导致radio/checkbox必填校验出错!! */ + message: this.field.options.requiredHint || this.i18nt('render.hint.fieldRequired') + }); + } + if (this.field.options.validation) { + let vldName = this.field.options.validation; + if (_utils_validators__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"][vldName]) { + this.rules.push({ + validator: _utils_validators__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"][vldName], + trigger: ['blur', 'change'], + label: this.field.options.label, + errorMsg: this.field.options.validationHint + }); + } else { + this.rules.push({ + validator: _utils_validators__WEBPACK_IMPORTED_MODULE_2__[/* default */ "a"]['regExp'], + trigger: ['blur', 'change'], + regExp: vldName, + label: this.field.options.label, + errorMsg: this.field.options.validationHint + }); + } + } + if (this.field.options.onValidate) { + //let customFn = new Function('rule', 'value', 'callback', this.field.options.onValidate) + let customFn = (rule, value, callback) => { + let tmpFunc = new Function('rule', 'value', 'callback', this.field.options.onValidate); + return tmpFunc.call(this, rule, value, callback); + }; + this.rules.push({ + validator: customFn, + trigger: ['blur', 'change'], + label: this.field.options.label + }); + } + }, + /** + * 禁用字段值变动触发表单校验 + */ + disableChangeValidate() { + if (!this.rules) { + return; + } + this.rules.forEach(rule => { + if (rule.trigger) { + rule.trigger.splice(0, rule.trigger.length); + } + }); + }, + /** + * 启用字段值变动触发表单校验 + */ + enableChangeValidate() { + if (!this.rules) { + return; + } + this.rules.forEach(rule => { + if (rule.trigger) { + rule.trigger.push('blur'); + rule.trigger.push('change'); + } + }); + }, + disableOptionOfList(optionList, optionValue) { + if (!!optionList && optionList.length > 0) { + optionList.forEach(opt => { + if (opt.value === optionValue) { + opt.disabled = true; + } + }); + } + }, + enableOptionOfList(optionList, optionValue) { + if (!!optionList && optionList.length > 0) { + optionList.forEach(opt => { + if (opt.value === optionValue) { + opt.disabled = false; + } + }); + } + }, + // 设置字典过滤项 + setFilter(filterValue) { + this.field.options.efilter = ''; + this.field.options.filter = filterValue; + const optionItems = Object(_utils_setAllDic__WEBPACK_IMPORTED_MODULE_3__[/* loadOptionItemFromDict */ "b"])(this.field.options.dicname, this.field.options.filter, this.field.options.efilter); + // 根据字典加载选项 + this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项 + this.field.options.defaultValue = ''; + this.reloadOptions(optionItems); + }, + // 设置字典保留项 + setEfilter(eFilterValue) { + this.field.options.filter = ''; + this.field.options.efilter = eFilterValue; + const optionItems = Object(_utils_setAllDic__WEBPACK_IMPORTED_MODULE_3__[/* loadOptionItemFromDict */ "b"])(this.field.options.dicname, this.field.options.filter, this.field.options.efilter); + // 根据字典加载选项 + this.field.options.optionItems.splice(0, this.field.options.optionItems.length); // 清空原有选项 + this.field.options.defaultValue = ''; + this.reloadOptions(optionItems); + }, + //--------------------- 组件内部方法 end ------------------// + + //--------------------- 事件处理 begin ------------------// + emitFieldDataChange(newValue, oldValue) { + this.$emit('field-value-changed', [newValue, oldValue]); + + /* 必须用dispatch向指定父组件派发消息!! */ + this.dispatch('VFormRender', 'fieldChange', [this.field.options.name, newValue, oldValue, this.subFormName, this.subFormRowIndex]); + }, + syncUpdateFormModel(value) { + if (this.designState) { + return; + } + if (this.subFormItemFlag) { + let subFormData = this.formModel[this.subFormName] || [{}]; + let subFormDataRow = subFormData[this.subFormRowIndex]; + subFormDataRow[this.field.options.name] = value; + } else { + this.formModel[this.field.options.name] = value; + } + }, + handleChangeEvent(value) { + /* input的清除输入小按钮会同时触发handleChangeEvent、handleInputCustomEvent!! */ + if (this.designState) { + //设计状态不触发事件 + return; + } + this.syncUpdateFormModel(value); + this.emitFieldDataChange(value, this.oldFieldValue); + + //number组件一般不会触发focus事件,故此处需要手工赋值oldFieldValue!! + this.oldFieldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(value); /* oldFieldValue需要在initFieldModel()方法中赋初值!! */ + + /* 主动触发表单的单个字段校验,用于清除字段可能存在的校验错误提示 */ + this.dispatch('VFormRender', 'fieldValidation', [this.getPropName()]); + }, + handleFocusCustomEvent(event) { + if (this.designState) { + //设计状态不触发事件 + return; + } + this.moneyInput = this.fieldModel; + //保存修改change之前的值 + if (this.field.type !== 'select') { + this.oldFieldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); + } + if (this.field.options.onFocus) { + let customFn = new Function('event', this.field.options.onFocus); + customFn.call(this, event); + } + }, + handleBlurCustomEvent(event) { + // 失去焦点的时候千分位 + this.fieldModel = event.target.value; + this.moneyInput = this.formatNumberWithCommasAndDecimal(event.target.value); + if (this.designState) { + //设计状态不触发事件 + return; + } + if (this.field.options.onBlur) { + let customFn = new Function('event', this.field.options.onBlur); + customFn.call(this, event); + } + }, + handleInputCustomEvent(value) { + // 如果选择的是千分位 就左提示 + if (this.field.options.type === 'money') { + if (isNaN(Number(value))) return; + if (value.length > 15) return; + this.moneyInput = value; + } + if (this.designState) { + //设计状态不触发事件 + return; + } + this.syncUpdateFormModel(value); + + /* 主动触发表单的单个字段校验,用于清除字段可能存在的校验错误提示 */ + this.dispatch('VFormRender', 'fieldValidation', [this.getPropName()]); + if (this.field.options.onInput) { + let customFn = new Function('value', this.field.options.onInput); + customFn.call(this, value); + } + }, + emitAppendButtonClick() { + if (this.designState) { + //设计状态不触发点击事件 + return; + } + if (this.field.options.onAppendButtonClick) { + let customFn = new Function(this.field.options.onAppendButtonClick); + customFn.call(this); + } else { + /* 必须调用mixins中的dispatch方法逐级向父组件发送消息!! */ + this.dispatch('VFormRender', 'appendButtonClick', [this]); + } + }, + handleOnChange(val, oldVal) { + //自定义onChange事件 + if (this.designState) { + //设计状态不触发事件 + return; + } + if (this.field.options.onChange) { + let changeFn = new Function('value', 'oldValue', this.field.options.onChange); + changeFn.call(this, val, oldVal); + } + }, + handleOnChangeForSubForm(val, oldVal, subFormData, rowId) { + //子表单自定义onChange事件 + if (this.designState) { + //设计状态不触发事件 + return; + } + if (this.field.options.onChange) { + let changeFn = new Function('value', 'oldValue', 'subFormData', 'rowId', this.field.options.onChange); + changeFn.call(this, val, oldVal, subFormData, rowId); + } + }, + handleButtonWidgetClick() { + if (this.designState) { + //设计状态不触发点击事件 + return; + } + if (this.field.options.onClick) { + let customFn = new Function(this.field.options.onClick); + customFn.call(this); + } else { + this.dispatch('VFormRender', 'buttonClick', [this]); + } + }, + remoteQuery(keyword) { + if (this.designState) { + //设计状态不触发事件 + return; + } + if (this.field.options.onRemoteQuery) { + let remoteFn = new Function('keyword', this.field.options.onRemoteQuery); + remoteFn.call(this, keyword); + } + }, + //--------------------- 事件处理 end ------------------// + + //--------------------- 以下为组件支持外部调用的API方法 begin ------------------// + /* 提示:用户可自行扩充这些方法!!! */ + + getFormRef() { + /* 获取VFrom引用,必须在VForm组件created之后方可调用 */ + return this.refList['v_form_ref']; + }, + getWidgetRef(widgetName, showError) { + let foundRef = this.refList[widgetName]; + if (!foundRef && !!showError) { + this.$message.error(this.i18nt('render.hint.refNotFound') + widgetName); + } + return foundRef; + }, + getFieldEditor() { + //获取内置的el表单组件 + return this.$refs['fieldEditor']; + }, + /* + 注意:VFormRender的setFormData方法不会触发子表单内field-widget的setValue方法, + 因为setFormData方法调用后,子表单内所有field-widget组件已被清空,接收不到setFormData事件!! + */ + setValue(newValue, disableChangeEvent = false) { + /* if ((this.field.type === 'picture-upload') || (this.field.type === 'file-upload')) { + this.fileList = newValue + } else */ + if (this.field.formItemFlag) { + let oldValue = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(this.fieldModel); + this.fieldModel = newValue; + // 初始化赋值的时候防止切换的时候拿不到oldvalue + if (!oldValue && this.field.type === 'select') { + oldValue = newValue; + this.oldFieldValue = newValue; + } + this.initFileList(); + this.syncUpdateFormModel(newValue); + if (!disableChangeEvent) { + this.emitFieldDataChange(newValue, oldValue); + } + } + }, + getValue() { + return this.fieldModel; + }, + /** + * 返回选项类字段的当前选中项的label值 + */ + getSelectedLabel() { + //TODO: 待实现!! + }, + resetField(disableChangeEvent = false) { + if (this.subFormItemFlag) { + //跳过子表单组件 + return; + } + let defaultValue = this.field.options.defaultValue; + this.setValue(defaultValue, disableChangeEvent); + + //清空上传组件文件列表 + if (this.field.type === 'picture-upload' || this.field.type === 'file-upload') { + if (this.$refs['fieldEditor']) { + //如果组件未隐藏 + this.$refs['fieldEditor'].clearFiles(); + } + this.fileList.splice(0, this.fileList.length); + } + }, + setWidgetOption(optionName, optionValue) { + //通用组件选项修改API + if (this.field.options.hasOwnProperty(optionName)) { + this.field.options[optionName] = optionValue; + //TODO: 是否重新构建组件??有些属性修改后必须重新构建组件才能生效,比如字段校验规则。 + } + }, + setReadonly(flag) { + this.field.options.readonly = flag; + }, + setDisabled(flag) { + this.field.options.disabled = flag; + }, + setAppendButtonVisible(flag) { + this.field.options.appendButton = flag; + }, + setAppendButtonDisabled(flag) { + this.field.options.appendButtonDisabled = flag; + }, + setHidden(flag) { + this.field.options.hidden = flag; + if (flag) { + //清除组件校验规则 + this.clearFieldRules(); + } else { + //重建组件校验规则 + this.buildFieldRules(); + } + }, + setRequired(flag) { + this.field.options.required = flag; + this.buildFieldRules(); + if (!this.designState && !flag) { + //清除必填校验提示 + this.clearValidate(); + } + }, + // 动态设置校验规则 + setValidation(ruleName) { + this.field.options.validation = ruleName; + this.buildFieldRules(); + if (!this.designState && !ruleName) { + //清除必填校验提示 + this.clearValidate(); + } + }, + /** + * 清除字段校验提示 + */ + clearValidate() { + if (this.designState) { + return; + } + console.log("validation", this.field.options.validation); + this.field.options.validation = ""; + this.getFormRef().getNativeForm().clearValidate(this.getPropName()); + }, + setLabel(newLabel) { + this.field.options.label = newLabel; + }, + focus() { + if (!!this.getFieldEditor() && !!this.getFieldEditor().focus) { + this.getFieldEditor().focus(); + } + }, + clearSelectedOptions() { + //清空已选选项 + if (this.field.type !== 'checkbox' && this.field.type !== 'radio' && this.field.type !== 'select') { + return; + } + if (this.field.type === 'checkbox' || this.field.type === 'select' && this.field.options.multiple) { + this.fieldModel = []; + } else { + this.fieldModel = ''; + } + }, + /** + * 加载选项,并清空字段值 + * @param options + */ + loadOptions(options) { + // this.field.options.optionItems = deepClone(options) + this.clearSelectedOptions(); //清空已选选项 + + this.field.options.optionItems = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* translateOptionItems */ "x"])(options, this.field.type, this.field.options.labelKey || 'label', this.field.options.valueKey || 'value'); + }, + /** + * 重新加载选项,不清空字段值 + * @param options + */ + reloadOptions(options) { + // this.field.options.optionItems = deepClone(options) + // this.clearSelectedOptions() //清空已选选项 + + this.field.options.optionItems = Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* translateOptionItems */ "x"])(options, this.field.type, this.field.options.labelKey || 'label', this.field.options.valueKey || 'value'); + }, + /** + * 返回radio/checkbox/select/cascader的选项数据 + * @returns 选择项数组 + */ + getOptions() { + return this.field.options.optionItems; + }, + disableOption(optionValue) { + this.disableOptionOfList(this.field.options.optionItems, optionValue); + }, + enableOption(optionValue) { + this.enableOptionOfList(this.field.options.optionItems, optionValue); + }, + /** + * 返回选择项 + * @returns {*} + */ + getOptionItems() { + return this.field.options.optionItems; + }, + setUploadHeader(name, value) { + this.$set(this.uploadHeaders, name, value); + }, + setUploadData(name, value) { + this.$set(this.uploadData, name, value); + }, + setToolbar(customToolbar) { + this.customToolbar = customToolbar; + }, + /** + * 是否子表单内嵌的字段组件 + * @returns {boolean} + */ + isSubFormItem() { + return this.subFormItemFlag; + }, + /** + * 是否子表单内嵌的字段组件 + * @returns {boolean} + */ + isSubFormField() { + return this.subFormItemFlag; + }, + /** + * 设置或取消设置字段只读查看模式 + * @param readonlyFlag + */ + setReadMode(readonlyFlag = true) { + this.fieldReadonlyFlag = readonlyFlag; + }, + /** + * 动态增加自定义css样式 + * @param className + */ + addCssClass(className) { + if (!this.field.options.customClass) { + this.field.options.customClass = [className]; + } else { + this.field.options.customClass.push(className); + } + }, + /** + * 动态移除自定义css样式 + * @param className + */ + removeCssClass(className) { + if (!this.field.options.customClass) { + return; + } + let foundIdx = -1; + this.field.options.customClass.map((cc, idx) => { + if (cc === className) { + foundIdx = idx; + } + }); + if (foundIdx > -1) { + this.field.options.customClass.splice(foundIdx, 1); + } + }, + //--------------------- 以上为组件支持外部调用的API方法 end ------------------// + // wangzheng 20240819 input框增加千分位 + formatNumberWithCommasAndDecimal(value) { + if (!value) return value; + return Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* formatNumberWithCommasAndDecimal */ "e"])(value); + } + } +}); + +/***/ }), + +/***/ "2d83": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var enhanceError = __webpack_require__("387f"); + +/** + * Create an Error with the specified message, config, error code, request and response. + * + * @param {string} message The error message. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The created error. + */ +module.exports = function createError(message, config, code, request, response) { + var error = new Error(message); + return enhanceError(error, config, code, request, response); +}; + + +/***/ }), + +/***/ "2e67": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = function isCancel(value) { + return !!(value && value.__CANCEL__); +}; + + +/***/ }), + +/***/ "2faa": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=template&id=472c31c2&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-rate',{ref:"fieldEditor",attrs:{"disabled":_vm.field.options.disabled,"max":_vm.field.options.max,"low-threshold":_vm.field.options.lowThreshold,"high-threshold":_vm.field.options.highThreshold,"allow-half":_vm.field.options.allowHalf,"show-text":_vm.field.options.showText,"show-score":_vm.field.options.showScore},on:{"change":_vm.handleChangeEvent},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}})],1)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=template&id=472c31c2&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var rate_widgetvue_type_script_lang_js = ({ + name: "rate-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + FormItemWrapper: form_item_wrapper["default"] + }, + inject: ['refList', 'globalOptionData', 'globalModel'], + data() { + return { + oldFieldValue: null, + //field组件change之前的值 + fieldModel: null, + rules: [] + }; + }, + computed: {}, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initFieldModel(); + this.initEventHandler(); + this.buildFieldRules(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: {} +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_rate_widgetvue_type_script_lang_js = (rate_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/rate-widget.vue?vue&type=style&index=0&id=472c31c2&prod&lang=scss&scoped=true +var rate_widgetvue_type_style_index_0_id_472c31c2_prod_lang_scss_scoped_true = __webpack_require__("1da3"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/rate-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_rate_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "472c31c2", + null + +) + +/* harmony default export */ var rate_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "2fee": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_dynamic_drawer_vue_vue_type_style_index_0_id_4ae3d07d_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("905c"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_dynamic_drawer_vue_vue_type_style_index_0_id_4ae3d07d_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_dynamic_drawer_vue_vue_type_style_index_0_id_4ae3d07d_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "30ae": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/table-high-level-column.vue?vue&type=template&id=a5967992&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!!_vm.columnSchema.headerFlag && (!!_vm.columnSchema.children && _vm.columnSchema.children.length > 0))?_c('el-table-column',{attrs:{"label":_vm.columnSchema.label,"align":_vm.columnSchema.align ? _vm.columnSchema.align : 'center'}},[_vm._l((_vm.columnSchema.children),function(child,idx){return [_c('table-high-level-column',{attrs:{"column-schema":child,"data-table-ref":_vm.dataTableRef,"column-index":idx}})]})],2):(!_vm.columnSchema.headerFlag && (_vm.columnSchema.show !== false) && !_vm.columnSchema.children)?_c('el-table-column',{key:_vm.columnSchema.columnId,attrs:{"prop":_vm.columnSchema.prop,"label":_vm.columnSchema.label,"sortable":_vm.getSortable(_vm.columnSchema),"fixed":!_vm.columnSchema.fixed ? false : _vm.columnSchema.fixed,"align":_vm.columnSchema.align ? _vm.columnSchema.align:'center',"formatter":_vm.formatterValue,"format":_vm.columnSchema.format,"show-overflow-tooltip":true,"min-width":_vm.columnSchema.width},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [(_vm.columnSchema.formatS === 'render' && !!_vm.columnSchema.render)?[_c('table-column-custom-render',{attrs:{"row":scope.row,"column":_vm.columnSchema,"data-table-ref":_vm.dataTableRef,"row-index":scope.$index,"column-index":_vm.columnIndex,"renderFn":_vm.getColumnRender(scope.row, _vm.columnSchema)}})]:(!!_vm.columnSchema.formatS && (_vm.columnSchema.formatS !== 'renders'))?[_c('span',[_vm._v(_vm._s(_vm.formatterValue(scope.row, _vm.columnSchema, scope.row[_vm.columnSchema.prop])))])]:[_c('span',[_vm._v(_vm._s(scope.row[_vm.columnSchema.prop]))])]]}}])}):_vm._e()} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-render/table-high-level-column.vue?vue&type=template&id=a5967992&scoped=true + +// EXTERNAL MODULE: ./src/utils/format.js +var format = __webpack_require__("6be8"); + +// EXTERNAL MODULE: ./src/components/form-render/table-column-custom-render.js +var table_column_custom_render = __webpack_require__("eb47"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-render/table-high-level-column.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + +/* harmony default export */ var table_high_level_columnvue_type_script_lang_js = ({ + name: "table-high-level-column", + props: { + columnSchema: { + type: Object + }, + dataTableRef: { + type: Object + }, + columnIndex: { + type: Number + } + }, + components: { + TableColumnCustomRender: table_column_custom_render["a" /* default */] + }, + methods: { + getSortable(column) { + return !column.sortable ? false : !!column.customSort ? 'custom' : true; + }, + formatterValue(row, column, cellValue) { + if (!cellValue) { + return ''; + } + if (!!column.formatS && !!column.show) { + switch (column.formatS) { + case 'd1': + return Object(format["a" /* formatDate1 */])(cellValue); + case 'd2': + return Object(format["b" /* formatDate2 */])(cellValue); + case 'd3': + return Object(format["c" /* formatDate3 */])(cellValue); + case 'd4': + return Object(format["d" /* formatDate4 */])(cellValue); + case 'd5': + return Object(format["e" /* formatDate5 */])(cellValue); + case 'n1': + return Object(format["f" /* formatNumber1 */])(cellValue); + case 'n2': + return Object(format["g" /* formatNumber2 */])(cellValue); + case 'n3': + return Object(format["h" /* formatNumber3 */])(cellValue); + case 'n4': + return Object(format["i" /* formatNumber4 */])(cellValue); + case 'n5': + return Object(format["j" /* formatNumber5 */])(cellValue); + case 'n6': + return Object(format["k" /* formatNumber6 */])(cellValue); + case 'n7': + return Object(format["l" /* formatNumber7 */])(cellValue); + case 'tableDic': + return Object(format["m" /* formatTableDic */])(cellValue, column.tableDic); + } + } + return cellValue; + }, + getColumnRender(row, column) { + /* TODO: 每个table-cell,render函数会执行2次,原因不明!!! */ + return new Function('h', 'params', 'components', column.render); + } + } +}); +// CONCATENATED MODULE: ./src/components/form-render/table-high-level-column.vue?vue&type=script&lang=js + /* harmony default export */ var form_render_table_high_level_columnvue_type_script_lang_js = (table_high_level_columnvue_type_script_lang_js); +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-render/table-high-level-column.vue + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + form_render_table_high_level_columnvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "a5967992", + null + +) + +/* harmony default export */ var table_high_level_column = __webpack_exports__["a"] = (component.exports); + +/***/ }), + +/***/ "30b5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); + +function encode(val) { + return encodeURIComponent(val). + replace(/%3A/gi, ':'). + replace(/%24/g, '$'). + replace(/%2C/gi, ','). + replace(/%20/g, '+'). + replace(/%5B/gi, '['). + replace(/%5D/gi, ']'); +} + +/** + * Build a URL by appending params to the end + * + * @param {string} url The base of the url (e.g., http://www.google.com) + * @param {object} [params] The params to be appended + * @returns {string} The formatted url + */ +module.exports = function buildURL(url, params, paramsSerializer) { + /*eslint no-param-reassign:0*/ + if (!params) { + return url; + } + + var serializedParams; + if (paramsSerializer) { + serializedParams = paramsSerializer(params); + } else if (utils.isURLSearchParams(params)) { + serializedParams = params.toString(); + } else { + var parts = []; + + utils.forEach(params, function serialize(val, key) { + if (val === null || typeof val === 'undefined') { + return; + } + + if (utils.isArray(val)) { + key = key + '[]'; + } else { + val = [val]; + } + + utils.forEach(val, function parseValue(v) { + if (utils.isDate(v)) { + v = v.toISOString(); + } else if (utils.isObject(v)) { + v = JSON.stringify(v); + } + parts.push(encode(key) + '=' + encode(v)); + }); + }); + + serializedParams = parts.join('&'); + } + + if (serializedParams) { + var hashmarkIndex = url.indexOf('#'); + if (hashmarkIndex !== -1) { + url = url.slice(0, hashmarkIndex); + } + + url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; + } + + return url; +}; + + +/***/ }), + +/***/ "34f0": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("14d9"); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _utils_util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("ca00"); + + +/* harmony default export */ __webpack_exports__["a"] = ({ + inject: ['getFormConfig', 'getGlobalDsv'], + computed: { + customClass() { + return this.widget.options.customClass || ''; + }, + formModel: { + cache: false, + get() { + return this.globalModel.formModel; + } + } + }, + mounted() { + this.callSetHidden(); + }, + methods: { + cloneWidgetSchema(widget) { + return Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* deepClone */ "c"])(widget); + /** + * 注意:在v-for循环中,必须保证克隆对象与原对象完全一致,修改克隆对象任何属性, + * 都会触发组件的beforeDestroy事件钩子!!! + */ + + // let newWidgetSchema = deepClone(widget) + // newWidgetSchema.id = widget.type + generateId() + // return newWidgetSchema + }, + unregisterFromRefList() { + //销毁容器组件时注销组件ref + if (this.refList !== null && !!this.widget.options.name) { + let oldRefName = this.widget.options.name; + delete this.refList[oldRefName]; + } + }, + /* 主动触发setHidden()方法,以清空被隐藏容器内字段组件的校验规则!! */ + callSetHidden() { + if (this.widget.options.hidden === true) { + this.setHidden(true); + } + }, + //--------------------- 以下为组件支持外部调用的API方法 begin ------------------// + /* 提示:用户可自行扩充这些方法!!! */ + + setHidden(flag) { + this.widget.options.hidden = flag; + const fwHandler = fw => { + let fwName = fw.options.name; + let fwRef = this.getWidgetRef(fwName); + if (flag && !!fwRef && !!fwRef.clearFieldRules) { + fwRef.clearFieldRules(); + } + if (!flag && !!fwRef && !!fwRef.buildFieldRules) { + fwRef.buildFieldRules(); + } + }; + let sfArray = []; + const cwHandler = cw => { + if (cw.type === 'sub-form' || cw.type === 'grid-sub-form') { + sfArray.push(cw); + } + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseWidgetsOfContainer */ "B"])(this.widget, fwHandler, cwHandler); + sfArray.forEach(sf => { + const sfRef = this.getWidgetRef(sf.options.name); + if (!!sfRef) { + const rowIds = sfRef.getRowIdData(); + const sfwHandler = sfw => { + if (!!rowIds && rowIds.length > 0) { + rowIds.forEach(rid => { + const sfwName = sfw.options.name + '@row' + rid; + const sfwRef = this.getWidgetRef(sfwName); + if (flag && !!sfwRef && !!sfwRef.clearFieldRules) { + sfwRef.clearFieldRules(); + } + if (!flag && !!sfwRef && !!sfwRef.buildFieldRules) { + sfwRef.buildFieldRules(); + } + }); + } + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "A"])(sfRef.widget, sfwHandler); + } + }); + }, + /** + * 禁用或启用容器组件(包含容器内部的所有组件) + * @param flag + */ + setDisabled(flag) { + const fwHandler = fw => { + const fwName = fw.options.name; + const fwRef = this.getWidgetRef(fwName); + if (!!fwRef && !!fwRef.setDisabled) { + fwRef.setDisabled(flag); + } + }; + const cwHandler = cw => { + if (cw.id === this.widget.id) { + //避免死循环!!! + return; + } + const cwName = cw.options.name; + const cwRef = this.getWidgetRef(cwName); + if (!!cwRef && !!cwRef.setDisabled) { + cwRef.setDisabled(flag); + } + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseWidgetsOfContainer */ "B"])(this.widget, fwHandler, cwHandler); + + //注意:单行子表单、多行子表单容器的setDisabled方法由单行子表单、多行子表单组件自己实现!! + }, + activeTab(tabIndex) { + //tabIndex从0计数 + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs.forEach((tp, idx) => { + tp.options.active = idx === tabIndex; + if (idx === tabIndex) { + this.activeTabName = tp.options.name; + } + }); + } + }, + disableTab(tabIndex) { + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs[tabIndex].options.disabled = true; + } + }, + enableTab(tabIndex) { + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs[tabIndex].options.disabled = false; + } + }, + hideTab(tabIndex) { + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs[tabIndex].options.hidden = true; + } + }, + showTab(tabIndex) { + if (tabIndex >= 0 && tabIndex < this.widget.tabs.length) { + this.widget.tabs[tabIndex].options.hidden = false; + } + }, + setWidgetOption(optionName, optionValue) { + //通用组件选项修改API + if (this.widget.options.hasOwnProperty(optionName)) { + this.widget.options[optionName] = optionValue; + } + }, + /** + * 获取子表单的行数 + */ + getSubFormRowCount() { + return !this.rowIdData ? 0 : this.rowIdData.length; + }, + setGridSubFormRowDisabled(rowId, disabledFlag) { + const fwHandler = fw => { + const fwName = fw.options.name + '@row' + rowId; + const fwRef = this.getWidgetRef(fwName); + if (!!fwRef && !!fwRef.setDisabled) { + fwRef.setDisabled(disabledFlag); + } + }; + const cwHandler = cw => { + const cwName = cw.options.name + '@row' + rowId; + const cwRef = this.getWidgetRef(cwName); + if (!!cwRef && !!cwRef.setDisabled) { + cwRef.setDisabled(disabledFlag); + } + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseWidgetsOfContainer */ "B"])(this.widget, fwHandler, cwHandler); + }, + disableSubFormRow(rowIndex) { + if (this.widget.type === 'sub-form') { + this.widget.widgetList.forEach(subWidget => { + let swRefName = subWidget.options.name + '@row' + this.rowIdData[rowIndex]; + let foundSW = this.getWidgetRef(swRefName); + if (!!foundSW && !!foundSW.setDisabled) { + foundSW.setDisabled(true); + } + }); + } else if (this.widget.type === 'grid-sub-form') { + this.setGridSubFormRowDisabled(this.rowIdData[rowIndex], true); + } + }, + enableSubFormRow(rowIndex) { + if (this.widget.type === 'sub-form') { + this.widget.widgetList.forEach(subWidget => { + let swRefName = subWidget.options.name + '@row' + this.rowIdData[rowIndex]; + let foundSW = this.getWidgetRef(swRefName); + if (!!foundSW && !!foundSW.setDisabled) { + foundSW.setDisabled(false); + } + }); + } else if (this.widget.type === 'grid-sub-form') { + this.setGridSubFormRowDisabled(this.rowIdData[rowIndex], false); + } + }, + disableSubForm() { + this.widget.widgetList.forEach(subWidget => { + subWidget.options.disabled = true; + }); + if (this.rowIdData.length > 0) { + this.rowIdData.forEach((dataRow, rIdx) => { + this.disableSubFormRow(rIdx); + }); + } + + //禁用3个操作按钮 + this.actionDisabled = true; + }, + enableSubForm() { + this.widget.widgetList.forEach(subWidget => { + subWidget.options.disabled = false; + }); + if (this.rowIdData.length > 0) { + this.rowIdData.forEach((dataRow, rIdx) => { + this.enableSubFormRow(rIdx); + }); + } + + //启用3个操作按钮 + this.actionDisabled = false; + }, + disableGridSubFormRow(rowIndex) { + let gsfFWList = []; + let fieldListFn = fw => { + gsfFWList.push(fw); + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "A"])(this.widget, fieldListFn); + gsfFWList.forEach(fw => { + let swRefName = fw.options.name + '@row' + this.rowIdData[rowIndex]; + let foundSW = this.getWidgetRef(swRefName); + if (!!foundSW && !!foundSW.setDisabled) { + foundSW.setDisabled(true); + } + }); + }, + enableGridSubFormRow(rowIndex) { + let gsfFWList = []; + let fieldListFn = fw => { + gsfFWList.push(fw); + }; + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "A"])(this.widget, fieldListFn); + gsfFWList.forEach(fw => { + let swRefName = fw.options.name + '@row' + this.rowIdData[rowIndex]; + let foundSW = this.getWidgetRef(swRefName); + if (!!foundSW && !!foundSW.setDisabled) { + foundSW.setDisabled(false); + } + }); + }, + disableGridSubForm() { + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "A"])(this.widget, fw => { + fw.options.disabled = true; + }); + if (this.rowIdData.length > 0) { + this.rowIdData.forEach((dataRow, rIdx) => { + this.disableGridSubFormRow(rIdx); + }); + } + + //禁用3个操作按钮 + this.actionDisabled = true; + }, + enableGridSubForm() { + Object(_utils_util__WEBPACK_IMPORTED_MODULE_1__[/* traverseFieldWidgetsOfContainer */ "A"])(this.widget, fw => { + fw.options.disabled = false; + }); + if (this.rowIdData.length > 0) { + this.rowIdData.forEach((dataRow, rIdx) => { + this.enableGridSubFormRow(rIdx); + }); + } + + //启用3个操作按钮 + this.actionDisabled = false; + }, + resetSubForm() { + //重置subForm数据为空 + if (this.widget.type === 'sub-form' || this.widget.type === 'grid-sub-form') { + let subFormModel = this.formModel[this.widget.options.name]; + if (!!subFormModel) { + subFormModel.splice(0, subFormModel.length); + this.rowIdData.splice(0, this.rowIdData.length); + } + if (this.widget.options.showBlankRow) { + this.addSubFormRow(); + } + } + }, + getSubFormValues(needValidation = true) { + if (this.widget.type === 'sub-form' || this.widget.type === 'grid-sub-form') { + //TODO: 逐行校验子表单!暂未实现!! + return this.formModel[this.widget.options.name]; + } else { + this.$message.error(this.i18nt('render.hint.nonSubFormType')); + } + }, + setSubFormValues(subFormValues) { + //在sub-form-item、grid-sub-form-item中实现!! + }, + // validateField(fieldName) { //逐行校验子表单字段 + // //TODO: + // }, + // + // validateSubForm() { //逐行校验子表单全部字段 + // //TODO: + // }, + + /** + * 动态增加自定义css样式 + * @param className + */ + addCssClass(className) { + if (!this.widget.options.customClass) { + this.widget.options.customClass = [className]; + } else { + this.widget.options.customClass.push(className); + } + }, + /** + * 动态移除自定义css样式 + * @param className + */ + removeCssClass(className) { + if (!this.widget.options.customClass) { + return; + } + let foundIdx = -1; + this.widget.options.customClass.map((cc, idx) => { + if (cc === className) { + foundIdx = idx; + } + }); + if (foundIdx > -1) { + this.widget.options.customClass.splice(foundIdx, 1); + } + } + + //--------------------- 以上为组件支持外部调用的API方法 end ------------------// + } +}); + +/***/ }), + +/***/ "3511": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $TypeError = TypeError; +var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991 + +module.exports = function (it) { + if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded'); + return it; +}; + + +/***/ }), + +/***/ "35bf": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_textarea_widget_vue_vue_type_style_index_0_id_c7c7c6e6_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("b32d"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_textarea_widget_vue_vue_type_style_index_0_id_c7c7c6e6_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_textarea_widget_vue_vue_type_style_index_0_id_c7c7c6e6_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "36f2": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var globalThis = __webpack_require__("cfe9"); +var getBuiltInNodeModule = __webpack_require__("2a07"); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__("dbe5"); + +var structuredClone = globalThis.structuredClone; +var $ArrayBuffer = globalThis.ArrayBuffer; +var $MessageChannel = globalThis.MessageChannel; +var detach = false; +var WorkerThreads, channel, buffer, $detach; + +if (PROPER_STRUCTURED_CLONE_TRANSFER) { + detach = function (transferable) { + structuredClone(transferable, { transfer: [transferable] }); + }; +} else if ($ArrayBuffer) try { + if (!$MessageChannel) { + WorkerThreads = getBuiltInNodeModule('worker_threads'); + if (WorkerThreads) $MessageChannel = WorkerThreads.MessageChannel; + } + + if ($MessageChannel) { + channel = new $MessageChannel(); + buffer = new $ArrayBuffer(2); + + $detach = function (transferable) { + channel.port1.postMessage(null, [transferable]); + }; + + if (buffer.byteLength === 2) { + $detach(buffer); + if (buffer.byteLength === 0) detach = $detach; + } + } +} catch (error) { /* empty */ } + +module.exports = detach; + + +/***/ }), + +/***/ "382a": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "384f": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); +var iterateSimple = __webpack_require__("5388"); +var SetHelpers = __webpack_require__("cb27"); + +var Set = SetHelpers.Set; +var SetPrototype = SetHelpers.proto; +var forEach = uncurryThis(SetPrototype.forEach); +var keys = uncurryThis(SetPrototype.keys); +var next = keys(new Set()).next; + +module.exports = function (set, fn, interruptible) { + return interruptible ? iterateSimple({ iterator: keys(set), next: next }, fn) : forEach(set, fn); +}; + + +/***/ }), + +/***/ "387f": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +/** + * Update an Error with the specified config, error code, and response. + * + * @param {Error} error The error to update. + * @param {Object} config The config. + * @param {string} [code] The error code (for example, 'ECONNABORTED'). + * @param {Object} [request] The request. + * @param {Object} [response] The response. + * @returns {Error} The error. + */ +module.exports = function enhanceError(error, config, code, request, response) { + error.config = config; + if (code) { + error.code = code; + } + + error.request = request; + error.response = response; + error.isAxiosError = true; + + error.toJSON = function toJSON() { + return { + // Standard + message: this.message, + name: this.name, + // Microsoft + description: this.description, + number: this.number, + // Mozilla + fileName: this.fileName, + lineNumber: this.lineNumber, + columnNumber: this.columnNumber, + stack: this.stack, + // Axios + config: this.config, + code: this.code + }; + }; + return error; +}; + + +/***/ }), + +/***/ "3934": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); + +module.exports = ( + utils.isStandardBrowserEnv() ? + + // Standard browser envs have full support of the APIs needed to test + // whether the request URL is of the same origin as current location. + (function standardBrowserEnv() { + var msie = /(msie|trident)/i.test(navigator.userAgent); + var urlParsingNode = document.createElement('a'); + var originURL; + + /** + * Parse a URL to discover it's components + * + * @param {String} url The URL to be parsed + * @returns {Object} + */ + function resolveURL(url) { + var href = url; + + if (msie) { + // IE needs attribute set twice to normalize properties + urlParsingNode.setAttribute('href', href); + href = urlParsingNode.href; + } + + urlParsingNode.setAttribute('href', href); + + // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils + return { + href: urlParsingNode.href, + protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', + host: urlParsingNode.host, + search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', + hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', + hostname: urlParsingNode.hostname, + port: urlParsingNode.port, + pathname: (urlParsingNode.pathname.charAt(0) === '/') ? + urlParsingNode.pathname : + '/' + urlParsingNode.pathname + }; + } + + originURL = resolveURL(window.location.href); + + /** + * Determine if a URL shares the same origin as the current location + * + * @param {String} requestURL The URL to test + * @returns {boolean} True if URL shares the same origin, otherwise false + */ + return function isURLSameOrigin(requestURL) { + var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL; + return (parsed.protocol === originURL.protocol && + parsed.host === originURL.host); + }; + })() : + + // Non standard browser envs (web workers, react-native) lack needed support. + (function nonStandardBrowserEnv() { + return function isURLSameOrigin() { + return true; + }; + })() +); + + +/***/ }), + +/***/ "395e": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var aSet = __webpack_require__("dc19"); +var has = __webpack_require__("cb27").has; +var size = __webpack_require__("8e16"); +var getSetRecord = __webpack_require__("7f65"); +var iterateSimple = __webpack_require__("5388"); +var iteratorClose = __webpack_require__("2a62"); + +// `Set.prototype.isSupersetOf` method +// https://tc39.github.io/proposal-set-methods/#Set.prototype.isSupersetOf +module.exports = function isSupersetOf(other) { + var O = aSet(this); + var otherRec = getSetRecord(other); + if (size(O) < otherRec.size) return false; + var iterator = otherRec.getIterator(); + return iterateSimple(iterator, function (e) { + if (!has(O, e)) return iteratorClose(iterator, 'normal', false); + }) !== false; +}; + + +/***/ }), + +/***/ "3a34": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var DESCRIPTORS = __webpack_require__("83ab"); +var isArray = __webpack_require__("e8b5"); + +var $TypeError = TypeError; +// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe +var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + +// Safari < 13 does not throw an error in this case +var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () { + // makes no sense without proper strict mode support + if (this !== undefined) return true; + try { + // eslint-disable-next-line es/no-object-defineproperty -- safe + Object.defineProperty([], 'length', { writable: false }).length = 1; + } catch (error) { + return error instanceof TypeError; + } +}(); + +module.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) { + if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) { + throw new $TypeError('Cannot set read only .length'); + } return O.length = length; +} : function (O, length) { + return O.length = length; +}; + + +/***/ }), + +/***/ "3a9b": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); + +module.exports = uncurryThis({}.isPrototypeOf); + + +/***/ }), + +/***/ "3ad3": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=template&id=425439ae&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-color-picker',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],ref:"fieldEditor",attrs:{"disabled":_vm.field.options.disabled},on:{"change":_vm.handleChangeEvent},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}}),(_vm.isReadMode)?[_c('span',{staticClass:"readonly-mode-field"},[_vm._v(_vm._s(_vm.fieldModel))])]:_vm._e()],2)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=template&id=425439ae&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var color_widgetvue_type_script_lang_js = ({ + name: "color-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + FormItemWrapper: form_item_wrapper["default"] + }, + inject: ['refList', 'globalOptionData', 'globalModel'], + data() { + return { + oldFieldValue: null, + //field组件change之前的值 + fieldModel: null, + rules: [] + }; + }, + computed: {}, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initFieldModel(); + this.initEventHandler(); + this.buildFieldRules(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: {} +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_color_widgetvue_type_script_lang_js = (color_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/color-widget.vue?vue&type=style&index=0&id=425439ae&prod&lang=scss&scoped=true +var color_widgetvue_type_style_index_0_id_425439ae_prod_lang_scss_scoped_true = __webpack_require__("8769"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/color-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_color_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "425439ae", + null + +) + +/* harmony default export */ var color_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "3bbe": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var isPossiblePrototype = __webpack_require__("1787"); + +var $String = String; +var $TypeError = TypeError; + +module.exports = function (argument) { + if (isPossiblePrototype(argument)) return argument; + throw new $TypeError("Can't set " + $String(argument) + ' as a prototype'); +}; + + +/***/ }), + +/***/ "3c4e": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var isMergeableObject = function isMergeableObject(value) { + return isNonNullObject(value) + && !isSpecial(value) +}; + +function isNonNullObject(value) { + return !!value && typeof value === 'object' +} + +function isSpecial(value) { + var stringValue = Object.prototype.toString.call(value); + + return stringValue === '[object RegExp]' + || stringValue === '[object Date]' + || isReactElement(value) +} + +// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25 +var canUseSymbol = typeof Symbol === 'function' && Symbol.for; +var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7; + +function isReactElement(value) { + return value.$$typeof === REACT_ELEMENT_TYPE +} + +function emptyTarget(val) { + return Array.isArray(val) ? [] : {} +} + +function cloneIfNecessary(value, optionsArgument) { + var clone = optionsArgument && optionsArgument.clone === true; + return (clone && isMergeableObject(value)) ? deepmerge(emptyTarget(value), value, optionsArgument) : value +} + +function defaultArrayMerge(target, source, optionsArgument) { + var destination = target.slice(); + source.forEach(function(e, i) { + if (typeof destination[i] === 'undefined') { + destination[i] = cloneIfNecessary(e, optionsArgument); + } else if (isMergeableObject(e)) { + destination[i] = deepmerge(target[i], e, optionsArgument); + } else if (target.indexOf(e) === -1) { + destination.push(cloneIfNecessary(e, optionsArgument)); + } + }); + return destination +} + +function mergeObject(target, source, optionsArgument) { + var destination = {}; + if (isMergeableObject(target)) { + Object.keys(target).forEach(function(key) { + destination[key] = cloneIfNecessary(target[key], optionsArgument); + }); + } + Object.keys(source).forEach(function(key) { + if (!isMergeableObject(source[key]) || !target[key]) { + destination[key] = cloneIfNecessary(source[key], optionsArgument); + } else { + destination[key] = deepmerge(target[key], source[key], optionsArgument); + } + }); + return destination +} + +function deepmerge(target, source, optionsArgument) { + var sourceIsArray = Array.isArray(source); + var targetIsArray = Array.isArray(target); + var options = optionsArgument || { arrayMerge: defaultArrayMerge }; + var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray; + + if (!sourceAndTargetTypesMatch) { + return cloneIfNecessary(source, optionsArgument) + } else if (sourceIsArray) { + var arrayMerge = options.arrayMerge || defaultArrayMerge; + return arrayMerge(target, source, optionsArgument) + } else { + return mergeObject(target, source, optionsArgument) + } +} + +deepmerge.all = function deepmergeAll(array, optionsArgument) { + if (!Array.isArray(array) || array.length < 2) { + throw new Error('first argument should be an array with at least two elements') + } + + // we are sure there are at least 2 values, so it is safe to have no initial value + return array.reduce(function(prev, next) { + return deepmerge(prev, next, optionsArgument) + }) +}; + +var deepmerge_1 = deepmerge; + +module.exports = deepmerge_1; + + +/***/ }), + +/***/ "3c5d": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var globalThis = __webpack_require__("cfe9"); +var call = __webpack_require__("c65b"); +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var lengthOfArrayLike = __webpack_require__("07fa"); +var toOffset = __webpack_require__("182d"); +var toIndexedObject = __webpack_require__("7b0b"); +var fails = __webpack_require__("d039"); + +var RangeError = globalThis.RangeError; +var Int8Array = globalThis.Int8Array; +var Int8ArrayPrototype = Int8Array && Int8Array.prototype; +var $set = Int8ArrayPrototype && Int8ArrayPrototype.set; +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () { + // eslint-disable-next-line es/no-typed-arrays -- required for testing + var array = new Uint8ClampedArray(2); + call($set, array, { length: 1, 0: 3 }, 1); + return array[1] !== 3; +}); + +// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other +var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () { + var array = new Int8Array(2); + array.set(1); + array.set('2', 1); + return array[0] !== 0 || array[1] !== 2; +}); + +// `%TypedArray%.prototype.set` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set +exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { + aTypedArray(this); + var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); + var src = toIndexedObject(arrayLike); + if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset); + var length = this.length; + var len = lengthOfArrayLike(src); + var index = 0; + if (len + offset > length) throw new RangeError('Wrong length'); + while (index < len) this[offset + index] = src[index++]; +}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG); + + +/***/ }), + +/***/ "40d5": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var fails = __webpack_require__("d039"); + +module.exports = !fails(function () { + // eslint-disable-next-line es/no-function-prototype-bind -- safe + var test = (function () { /* empty */ }).bind(); + // eslint-disable-next-line no-prototype-builtins -- safe + return typeof test != 'function' || test.hasOwnProperty('prototype'); +}); + + +/***/ }), + +/***/ "40d52": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_dic_widget_vue_vue_type_style_index_0_id_65f8a5ca_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("81d5"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_dic_widget_vue_vue_type_style_index_0_id_65f8a5ca_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select_dic_widget_vue_vue_type_style_index_0_id_65f8a5ca_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "40e9": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var $ = __webpack_require__("23e7"); +var $transfer = __webpack_require__("41f6"); + +// `ArrayBuffer.prototype.transferToFixedLength` method +// https://tc39.es/proposal-arraybuffer-transfer/#sec-arraybuffer.prototype.transfertofixedlength +if ($transfer) $({ target: 'ArrayBuffer', proto: true }, { + transferToFixedLength: function transferToFixedLength() { + return $transfer(this, arguments.length ? arguments[0] : undefined, false); + } +}); + + +/***/ }), + +/***/ "417e": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_cascader_widget_vue_vue_type_style_index_0_id_922783c6_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("df8a"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_cascader_widget_vue_vue_type_style_index_0_id_922783c6_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_cascader_widget_vue_vue_type_style_index_0_id_922783c6_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "41f6": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var globalThis = __webpack_require__("cfe9"); +var uncurryThis = __webpack_require__("e330"); +var uncurryThisAccessor = __webpack_require__("7282"); +var toIndex = __webpack_require__("0b25"); +var notDetached = __webpack_require__("2005"); +var arrayBufferByteLength = __webpack_require__("b620"); +var detachTransferable = __webpack_require__("36f2"); +var PROPER_STRUCTURED_CLONE_TRANSFER = __webpack_require__("dbe5"); + +var structuredClone = globalThis.structuredClone; +var ArrayBuffer = globalThis.ArrayBuffer; +var DataView = globalThis.DataView; +var min = Math.min; +var ArrayBufferPrototype = ArrayBuffer.prototype; +var DataViewPrototype = DataView.prototype; +var slice = uncurryThis(ArrayBufferPrototype.slice); +var isResizable = uncurryThisAccessor(ArrayBufferPrototype, 'resizable', 'get'); +var maxByteLength = uncurryThisAccessor(ArrayBufferPrototype, 'maxByteLength', 'get'); +var getInt8 = uncurryThis(DataViewPrototype.getInt8); +var setInt8 = uncurryThis(DataViewPrototype.setInt8); + +module.exports = (PROPER_STRUCTURED_CLONE_TRANSFER || detachTransferable) && function (arrayBuffer, newLength, preserveResizability) { + var byteLength = arrayBufferByteLength(arrayBuffer); + var newByteLength = newLength === undefined ? byteLength : toIndex(newLength); + var fixedLength = !isResizable || !isResizable(arrayBuffer); + var newBuffer; + notDetached(arrayBuffer); + if (PROPER_STRUCTURED_CLONE_TRANSFER) { + arrayBuffer = structuredClone(arrayBuffer, { transfer: [arrayBuffer] }); + if (byteLength === newByteLength && (preserveResizability || fixedLength)) return arrayBuffer; + } + if (byteLength >= newByteLength && (!preserveResizability || fixedLength)) { + newBuffer = slice(arrayBuffer, 0, newByteLength); + } else { + var options = preserveResizability && !fixedLength && maxByteLength ? { maxByteLength: maxByteLength(arrayBuffer) } : undefined; + newBuffer = new ArrayBuffer(newByteLength, options); + var a = new DataView(arrayBuffer); + var b = new DataView(newBuffer); + var copyLength = min(newByteLength, byteLength); + for (var i = 0; i < copyLength; i++) setInt8(b, i, getInt8(a, i)); + } + if (!PROPER_STRUCTURED_CLONE_TRANSFER) detachTransferable(arrayBuffer); + return newBuffer; +}; + + +/***/ }), + +/***/ "4362": +/***/ (function(module, exports, __webpack_require__) { + +exports.nextTick = function nextTick(fn) { + var args = Array.prototype.slice.call(arguments); + args.shift(); + setTimeout(function () { + fn.apply(null, args); + }, 0); +}; + +exports.platform = exports.arch = +exports.execPath = exports.title = 'browser'; +exports.pid = 1; +exports.browser = true; +exports.env = {}; +exports.argv = []; + +exports.binding = function (name) { + throw new Error('No such module. (Possibly not yet loaded)') +}; + +(function () { + var cwd = '/'; + var path; + exports.cwd = function () { return cwd }; + exports.chdir = function (dir) { + if (!path) path = __webpack_require__("df7c"); + cwd = path.resolve(dir, cwd); + }; +})(); + +exports.exit = exports.kill = +exports.umask = exports.dlopen = +exports.uptime = exports.memoryUsage = +exports.uvCounters = function() {}; +exports.features = {}; + + +/***/ }), + +/***/ "4472": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_sub_form_item_vue_vue_type_style_index_0_id_c0598216_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e206"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_sub_form_item_vue_vue_type_style_index_0_id_c0598216_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_sub_form_item_vue_vue_type_style_index_0_id_c0598216_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "44ad": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var uncurryThis = __webpack_require__("e330"); +var fails = __webpack_require__("d039"); +var classof = __webpack_require__("c6b6"); + +var $Object = Object; +var split = uncurryThis(''.split); + +// fallback for non-array-like ES3 and non-enumerable old V8 strings +module.exports = fails(function () { + // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 + // eslint-disable-next-line no-prototype-builtins -- safe + return !$Object('z').propertyIsEnumerable(0); +}) ? function (it) { + return classof(it) === 'String' ? split(it, '') : $Object(it); +} : $Object; + + +/***/ }), + +/***/ "4603": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MultiDrag", function() { return MultiDragPlugin; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Sortable", function() { return Sortable; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Swap", function() { return SwapPlugin; }); +/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d9e2"); +/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("14d9"); +/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__); + + +/**! + * Sortable 1.10.2 + * @author RubaXa + * @author owenm + * @license MIT + */ +function _typeof(obj) { + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function (obj) { + return typeof obj; + }; + } else { + _typeof = function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + return _typeof(obj); +} +function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; +} +function _extends() { + _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; + }; + return _extends.apply(this, arguments); +} +function _objectSpread(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + var ownKeys = Object.keys(source); + if (typeof Object.getOwnPropertySymbols === 'function') { + ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { + return Object.getOwnPropertyDescriptor(source, sym).enumerable; + })); + } + ownKeys.forEach(function (key) { + _defineProperty(target, key, source[key]); + }); + } + return target; +} +function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + return target; +} +function _objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = _objectWithoutPropertiesLoose(source, excluded); + var key, i; + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + return target; +} +function _toConsumableArray(arr) { + return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); +} +function _arrayWithoutHoles(arr) { + if (Array.isArray(arr)) { + for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i]; + return arr2; + } +} +function _iterableToArray(iter) { + if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); +} +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance"); +} +var version = "1.10.2"; +function userAgent(pattern) { + if (typeof window !== 'undefined' && window.navigator) { + return !! /*@__PURE__*/ + navigator.userAgent.match(pattern); + } +} +var IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i); +var Edge = userAgent(/Edge/i); +var FireFox = userAgent(/firefox/i); +var Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i); +var IOS = userAgent(/iP(ad|od|hone)/i); +var ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i); +var captureMode = { + capture: false, + passive: false +}; +function on(el, event, fn) { + el.addEventListener(event, fn, !IE11OrLess && captureMode); +} +function off(el, event, fn) { + el.removeEventListener(event, fn, !IE11OrLess && captureMode); +} +function matches( /**HTMLElement*/ +el, /**String*/ +selector) { + if (!selector) return; + selector[0] === '>' && (selector = selector.substring(1)); + if (el) { + try { + if (el.matches) { + return el.matches(selector); + } else if (el.msMatchesSelector) { + return el.msMatchesSelector(selector); + } else if (el.webkitMatchesSelector) { + return el.webkitMatchesSelector(selector); + } + } catch (_) { + return false; + } + } + return false; +} +function getParentOrHost(el) { + return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode; +} +function closest( /**HTMLElement*/ +el, /**String*/ +selector, /**HTMLElement*/ +ctx, includeCTX) { + if (el) { + ctx = ctx || document; + do { + if (selector != null && (selector[0] === '>' ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) { + return el; + } + if (el === ctx) break; + /* jshint boss:true */ + } while (el = getParentOrHost(el)); + } + return null; +} +var R_SPACE = /\s+/g; +function toggleClass(el, name, state) { + if (el && name) { + if (el.classList) { + el.classList[state ? 'add' : 'remove'](name); + } else { + var className = (' ' + el.className + ' ').replace(R_SPACE, ' ').replace(' ' + name + ' ', ' '); + el.className = (className + (state ? ' ' + name : '')).replace(R_SPACE, ' '); + } + } +} +function css(el, prop, val) { + var style = el && el.style; + if (style) { + if (val === void 0) { + if (document.defaultView && document.defaultView.getComputedStyle) { + val = document.defaultView.getComputedStyle(el, ''); + } else if (el.currentStyle) { + val = el.currentStyle; + } + return prop === void 0 ? val : val[prop]; + } else { + if (!(prop in style) && prop.indexOf('webkit') === -1) { + prop = '-webkit-' + prop; + } + style[prop] = val + (typeof val === 'string' ? '' : 'px'); + } + } +} +function matrix(el, selfOnly) { + var appliedTransforms = ''; + if (typeof el === 'string') { + appliedTransforms = el; + } else { + do { + var transform = css(el, 'transform'); + if (transform && transform !== 'none') { + appliedTransforms = transform + ' ' + appliedTransforms; + } + /* jshint boss:true */ + } while (!selfOnly && (el = el.parentNode)); + } + var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix; + /*jshint -W056 */ + + return matrixFn && new matrixFn(appliedTransforms); +} +function find(ctx, tagName, iterator) { + if (ctx) { + var list = ctx.getElementsByTagName(tagName), + i = 0, + n = list.length; + if (iterator) { + for (; i < n; i++) { + iterator(list[i], i); + } + } + return list; + } + return []; +} +function getWindowScrollingElement() { + var scrollingElement = document.scrollingElement; + if (scrollingElement) { + return scrollingElement; + } else { + return document.documentElement; + } +} +/** + * Returns the "bounding client rect" of given element + * @param {HTMLElement} el The element whose boundingClientRect is wanted + * @param {[Boolean]} relativeToContainingBlock Whether the rect should be relative to the containing block of (including) the container + * @param {[Boolean]} relativeToNonStaticParent Whether the rect should be relative to the relative parent of (including) the contaienr + * @param {[Boolean]} undoScale Whether the container's scale() should be undone + * @param {[HTMLElement]} container The parent the element will be placed in + * @return {Object} The boundingClientRect of el, with specified adjustments + */ + +function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) { + if (!el.getBoundingClientRect && el !== window) return; + var elRect, top, left, bottom, right, height, width; + if (el !== window && el !== getWindowScrollingElement()) { + elRect = el.getBoundingClientRect(); + top = elRect.top; + left = elRect.left; + bottom = elRect.bottom; + right = elRect.right; + height = elRect.height; + width = elRect.width; + } else { + top = 0; + left = 0; + bottom = window.innerHeight; + right = window.innerWidth; + height = window.innerHeight; + width = window.innerWidth; + } + if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) { + // Adjust for translate() + container = container || el.parentNode; // solves #1123 (see: https://stackoverflow.com/a/37953806/6088312) + // Not needed on <= IE11 + + if (!IE11OrLess) { + do { + if (container && container.getBoundingClientRect && (css(container, 'transform') !== 'none' || relativeToNonStaticParent && css(container, 'position') !== 'static')) { + var containerRect = container.getBoundingClientRect(); // Set relative to edges of padding box of container + + top -= containerRect.top + parseInt(css(container, 'border-top-width')); + left -= containerRect.left + parseInt(css(container, 'border-left-width')); + bottom = top + elRect.height; + right = left + elRect.width; + break; + } + /* jshint boss:true */ + } while (container = container.parentNode); + } + } + if (undoScale && el !== window) { + // Adjust for scale() + var elMatrix = matrix(container || el), + scaleX = elMatrix && elMatrix.a, + scaleY = elMatrix && elMatrix.d; + if (elMatrix) { + top /= scaleY; + left /= scaleX; + width /= scaleX; + height /= scaleY; + bottom = top + height; + right = left + width; + } + } + return { + top: top, + left: left, + bottom: bottom, + right: right, + width: width, + height: height + }; +} +/** + * Checks if a side of an element is scrolled past a side of its parents + * @param {HTMLElement} el The element who's side being scrolled out of view is in question + * @param {String} elSide Side of the element in question ('top', 'left', 'right', 'bottom') + * @param {String} parentSide Side of the parent in question ('top', 'left', 'right', 'bottom') + * @return {HTMLElement} The parent scroll element that the el's side is scrolled past, or null if there is no such element + */ + +function isScrolledPast(el, elSide, parentSide) { + var parent = getParentAutoScrollElement(el, true), + elSideVal = getRect(el)[elSide]; + /* jshint boss:true */ + + while (parent) { + var parentSideVal = getRect(parent)[parentSide], + visible = void 0; + if (parentSide === 'top' || parentSide === 'left') { + visible = elSideVal >= parentSideVal; + } else { + visible = elSideVal <= parentSideVal; + } + if (!visible) return parent; + if (parent === getWindowScrollingElement()) break; + parent = getParentAutoScrollElement(parent, false); + } + return false; +} +/** + * Gets nth child of el, ignoring hidden children, sortable's elements (does not ignore clone if it's visible) + * and non-draggable elements + * @param {HTMLElement} el The parent element + * @param {Number} childNum The index of the child + * @param {Object} options Parent Sortable's options + * @return {HTMLElement} The child at index childNum, or null if not found + */ + +function getChild(el, childNum, options) { + var currentChild = 0, + i = 0, + children = el.children; + while (i < children.length) { + if (children[i].style.display !== 'none' && children[i] !== Sortable.ghost && children[i] !== Sortable.dragged && closest(children[i], options.draggable, el, false)) { + if (currentChild === childNum) { + return children[i]; + } + currentChild++; + } + i++; + } + return null; +} +/** + * Gets the last child in the el, ignoring ghostEl or invisible elements (clones) + * @param {HTMLElement} el Parent element + * @param {selector} selector Any other elements that should be ignored + * @return {HTMLElement} The last child, ignoring ghostEl + */ + +function lastChild(el, selector) { + var last = el.lastElementChild; + while (last && (last === Sortable.ghost || css(last, 'display') === 'none' || selector && !matches(last, selector))) { + last = last.previousElementSibling; + } + return last || null; +} +/** + * Returns the index of an element within its parent for a selected set of + * elements + * @param {HTMLElement} el + * @param {selector} selector + * @return {number} + */ + +function index(el, selector) { + var index = 0; + if (!el || !el.parentNode) { + return -1; + } + /* jshint boss:true */ + + while (el = el.previousElementSibling) { + if (el.nodeName.toUpperCase() !== 'TEMPLATE' && el !== Sortable.clone && (!selector || matches(el, selector))) { + index++; + } + } + return index; +} +/** + * Returns the scroll offset of the given element, added with all the scroll offsets of parent elements. + * The value is returned in real pixels. + * @param {HTMLElement} el + * @return {Array} Offsets in the format of [left, top] + */ + +function getRelativeScrollOffset(el) { + var offsetLeft = 0, + offsetTop = 0, + winScroller = getWindowScrollingElement(); + if (el) { + do { + var elMatrix = matrix(el), + scaleX = elMatrix.a, + scaleY = elMatrix.d; + offsetLeft += el.scrollLeft * scaleX; + offsetTop += el.scrollTop * scaleY; + } while (el !== winScroller && (el = el.parentNode)); + } + return [offsetLeft, offsetTop]; +} +/** + * Returns the index of the object within the given array + * @param {Array} arr Array that may or may not hold the object + * @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 + * @return {Number} The index of the object in the array, or -1 + */ + +function indexOfObject(arr, obj) { + for (var i in arr) { + if (!arr.hasOwnProperty(i)) continue; + for (var key in obj) { + if (obj.hasOwnProperty(key) && obj[key] === arr[i][key]) return Number(i); + } + } + return -1; +} +function getParentAutoScrollElement(el, includeSelf) { + // skip to window + if (!el || !el.getBoundingClientRect) return getWindowScrollingElement(); + var elem = el; + var gotSelf = false; + do { + // we don't need to get elem css if it isn't even overflowing in the first place (performance) + if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) { + var elemCSS = css(elem); + if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == 'auto' || elemCSS.overflowX == 'scroll') || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == 'auto' || elemCSS.overflowY == 'scroll')) { + if (!elem.getBoundingClientRect || elem === document.body) return getWindowScrollingElement(); + if (gotSelf || includeSelf) return elem; + gotSelf = true; + } + } + /* jshint boss:true */ + } while (elem = elem.parentNode); + return getWindowScrollingElement(); +} +function extend(dst, src) { + if (dst && src) { + for (var key in src) { + if (src.hasOwnProperty(key)) { + dst[key] = src[key]; + } + } + } + return dst; +} +function isRectEqual(rect1, rect2) { + 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); +} +var _throttleTimeout; +function throttle(callback, ms) { + return function () { + if (!_throttleTimeout) { + var args = arguments, + _this = this; + if (args.length === 1) { + callback.call(_this, args[0]); + } else { + callback.apply(_this, args); + } + _throttleTimeout = setTimeout(function () { + _throttleTimeout = void 0; + }, ms); + } + }; +} +function cancelThrottle() { + clearTimeout(_throttleTimeout); + _throttleTimeout = void 0; +} +function scrollBy(el, x, y) { + el.scrollLeft += x; + el.scrollTop += y; +} +function clone(el) { + var Polymer = window.Polymer; + var $ = window.jQuery || window.Zepto; + if (Polymer && Polymer.dom) { + return Polymer.dom(el).cloneNode(true); + } else if ($) { + return $(el).clone(true)[0]; + } else { + return el.cloneNode(true); + } +} +function setRect(el, rect) { + css(el, 'position', 'absolute'); + css(el, 'top', rect.top); + css(el, 'left', rect.left); + css(el, 'width', rect.width); + css(el, 'height', rect.height); +} +function unsetRect(el) { + css(el, 'position', ''); + css(el, 'top', ''); + css(el, 'left', ''); + css(el, 'width', ''); + css(el, 'height', ''); +} +var expando = 'Sortable' + new Date().getTime(); +function AnimationStateManager() { + var animationStates = [], + animationCallbackId; + return { + captureAnimationState: function captureAnimationState() { + animationStates = []; + if (!this.options.animation) return; + var children = [].slice.call(this.el.children); + children.forEach(function (child) { + if (css(child, 'display') === 'none' || child === Sortable.ghost) return; + animationStates.push({ + target: child, + rect: getRect(child) + }); + var fromRect = _objectSpread({}, animationStates[animationStates.length - 1].rect); // If animating: compensate for current animation + + if (child.thisAnimationDuration) { + var childMatrix = matrix(child, true); + if (childMatrix) { + fromRect.top -= childMatrix.f; + fromRect.left -= childMatrix.e; + } + } + child.fromRect = fromRect; + }); + }, + addAnimationState: function addAnimationState(state) { + animationStates.push(state); + }, + removeAnimationState: function removeAnimationState(target) { + animationStates.splice(indexOfObject(animationStates, { + target: target + }), 1); + }, + animateAll: function animateAll(callback) { + var _this = this; + if (!this.options.animation) { + clearTimeout(animationCallbackId); + if (typeof callback === 'function') callback(); + return; + } + var animating = false, + animationTime = 0; + animationStates.forEach(function (state) { + var time = 0, + target = state.target, + fromRect = target.fromRect, + toRect = getRect(target), + prevFromRect = target.prevFromRect, + prevToRect = target.prevToRect, + animatingRect = state.rect, + targetMatrix = matrix(target, true); + if (targetMatrix) { + // Compensate for current animation + toRect.top -= targetMatrix.f; + toRect.left -= targetMatrix.e; + } + target.toRect = toRect; + if (target.thisAnimationDuration) { + // Could also check if animatingRect is between fromRect and toRect + if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && + // Make sure animatingRect is on line between toRect & fromRect + (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) { + // If returning to same place as started from animation and on same axis + time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options); + } + } // if fromRect != toRect: animate + + if (!isRectEqual(toRect, fromRect)) { + target.prevFromRect = fromRect; + target.prevToRect = toRect; + if (!time) { + time = _this.options.animation; + } + _this.animate(target, animatingRect, toRect, time); + } + if (time) { + animating = true; + animationTime = Math.max(animationTime, time); + clearTimeout(target.animationResetTimer); + target.animationResetTimer = setTimeout(function () { + target.animationTime = 0; + target.prevFromRect = null; + target.fromRect = null; + target.prevToRect = null; + target.thisAnimationDuration = null; + }, time); + target.thisAnimationDuration = time; + } + }); + clearTimeout(animationCallbackId); + if (!animating) { + if (typeof callback === 'function') callback(); + } else { + animationCallbackId = setTimeout(function () { + if (typeof callback === 'function') callback(); + }, animationTime); + } + animationStates = []; + }, + animate: function animate(target, currentRect, toRect, duration) { + if (duration) { + css(target, 'transition', ''); + css(target, 'transform', ''); + var elMatrix = matrix(this.el), + scaleX = elMatrix && elMatrix.a, + scaleY = elMatrix && elMatrix.d, + translateX = (currentRect.left - toRect.left) / (scaleX || 1), + translateY = (currentRect.top - toRect.top) / (scaleY || 1); + target.animatingX = !!translateX; + target.animatingY = !!translateY; + css(target, 'transform', 'translate3d(' + translateX + 'px,' + translateY + 'px,0)'); + repaint(target); // repaint + + css(target, 'transition', 'transform ' + duration + 'ms' + (this.options.easing ? ' ' + this.options.easing : '')); + css(target, 'transform', 'translate3d(0,0,0)'); + typeof target.animated === 'number' && clearTimeout(target.animated); + target.animated = setTimeout(function () { + css(target, 'transition', ''); + css(target, 'transform', ''); + target.animated = false; + target.animatingX = false; + target.animatingY = false; + }, duration); + } + } + }; +} +function repaint(target) { + return target.offsetWidth; +} +function calculateRealTime(animatingRect, fromRect, toRect, options) { + 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; +} +var plugins = []; +var defaults = { + initializeByDefault: true +}; +var PluginManager = { + mount: function mount(plugin) { + // Set default static properties + for (var option in defaults) { + if (defaults.hasOwnProperty(option) && !(option in plugin)) { + plugin[option] = defaults[option]; + } + } + plugins.push(plugin); + }, + pluginEvent: function pluginEvent(eventName, sortable, evt) { + var _this = this; + this.eventCanceled = false; + evt.cancel = function () { + _this.eventCanceled = true; + }; + var eventNameGlobal = eventName + 'Global'; + plugins.forEach(function (plugin) { + if (!sortable[plugin.pluginName]) return; // Fire global events if it exists in this sortable + + if (sortable[plugin.pluginName][eventNameGlobal]) { + sortable[plugin.pluginName][eventNameGlobal](_objectSpread({ + sortable: sortable + }, evt)); + } // Only fire plugin event if plugin is enabled in this sortable, + // and plugin has event defined + + if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) { + sortable[plugin.pluginName][eventName](_objectSpread({ + sortable: sortable + }, evt)); + } + }); + }, + initializePlugins: function initializePlugins(sortable, el, defaults, options) { + plugins.forEach(function (plugin) { + var pluginName = plugin.pluginName; + if (!sortable.options[pluginName] && !plugin.initializeByDefault) return; + var initialized = new plugin(sortable, el, sortable.options); + initialized.sortable = sortable; + initialized.options = sortable.options; + sortable[pluginName] = initialized; // Add default options from plugin + + _extends(defaults, initialized.defaults); + }); + for (var option in sortable.options) { + if (!sortable.options.hasOwnProperty(option)) continue; + var modified = this.modifyOption(sortable, option, sortable.options[option]); + if (typeof modified !== 'undefined') { + sortable.options[option] = modified; + } + } + }, + getEventProperties: function getEventProperties(name, sortable) { + var eventProperties = {}; + plugins.forEach(function (plugin) { + if (typeof plugin.eventProperties !== 'function') return; + _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name)); + }); + return eventProperties; + }, + modifyOption: function modifyOption(sortable, name, value) { + var modifiedValue; + plugins.forEach(function (plugin) { + // Plugin must exist on the Sortable + if (!sortable[plugin.pluginName]) return; // If static option listener exists for this option, call in the context of the Sortable's instance of this plugin + + if (plugin.optionListeners && typeof plugin.optionListeners[name] === 'function') { + modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value); + } + }); + return modifiedValue; + } +}; +function dispatchEvent(_ref) { + var sortable = _ref.sortable, + rootEl = _ref.rootEl, + name = _ref.name, + targetEl = _ref.targetEl, + cloneEl = _ref.cloneEl, + toEl = _ref.toEl, + fromEl = _ref.fromEl, + oldIndex = _ref.oldIndex, + newIndex = _ref.newIndex, + oldDraggableIndex = _ref.oldDraggableIndex, + newDraggableIndex = _ref.newDraggableIndex, + originalEvent = _ref.originalEvent, + putSortable = _ref.putSortable, + extraEventProperties = _ref.extraEventProperties; + sortable = sortable || rootEl && rootEl[expando]; + if (!sortable) return; + var evt, + options = sortable.options, + onName = 'on' + name.charAt(0).toUpperCase() + name.substr(1); // Support for new CustomEvent feature + + if (window.CustomEvent && !IE11OrLess && !Edge) { + evt = new CustomEvent(name, { + bubbles: true, + cancelable: true + }); + } else { + evt = document.createEvent('Event'); + evt.initEvent(name, true, true); + } + evt.to = toEl || rootEl; + evt.from = fromEl || rootEl; + evt.item = targetEl || rootEl; + evt.clone = cloneEl; + evt.oldIndex = oldIndex; + evt.newIndex = newIndex; + evt.oldDraggableIndex = oldDraggableIndex; + evt.newDraggableIndex = newDraggableIndex; + evt.originalEvent = originalEvent; + evt.pullMode = putSortable ? putSortable.lastPutMode : undefined; + var allEventProperties = _objectSpread({}, extraEventProperties, PluginManager.getEventProperties(name, sortable)); + for (var option in allEventProperties) { + evt[option] = allEventProperties[option]; + } + if (rootEl) { + rootEl.dispatchEvent(evt); + } + if (options[onName]) { + options[onName].call(sortable, evt); + } +} +var pluginEvent = function pluginEvent(eventName, sortable) { + var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, + originalEvent = _ref.evt, + data = _objectWithoutProperties(_ref, ["evt"]); + PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread({ + dragEl: dragEl, + parentEl: parentEl, + ghostEl: ghostEl, + rootEl: rootEl, + nextEl: nextEl, + lastDownEl: lastDownEl, + cloneEl: cloneEl, + cloneHidden: cloneHidden, + dragStarted: moved, + putSortable: putSortable, + activeSortable: Sortable.active, + originalEvent: originalEvent, + oldIndex: oldIndex, + oldDraggableIndex: oldDraggableIndex, + newIndex: newIndex, + newDraggableIndex: newDraggableIndex, + hideGhostForTarget: _hideGhostForTarget, + unhideGhostForTarget: _unhideGhostForTarget, + cloneNowHidden: function cloneNowHidden() { + cloneHidden = true; + }, + cloneNowShown: function cloneNowShown() { + cloneHidden = false; + }, + dispatchSortableEvent: function dispatchSortableEvent(name) { + _dispatchEvent({ + sortable: sortable, + name: name, + originalEvent: originalEvent + }); + } + }, data)); +}; +function _dispatchEvent(info) { + dispatchEvent(_objectSpread({ + putSortable: putSortable, + cloneEl: cloneEl, + targetEl: dragEl, + rootEl: rootEl, + oldIndex: oldIndex, + oldDraggableIndex: oldDraggableIndex, + newIndex: newIndex, + newDraggableIndex: newDraggableIndex + }, info)); +} +var dragEl, + parentEl, + ghostEl, + rootEl, + nextEl, + lastDownEl, + cloneEl, + cloneHidden, + oldIndex, + newIndex, + oldDraggableIndex, + newDraggableIndex, + activeGroup, + putSortable, + awaitingDragStarted = false, + ignoreNextClick = false, + sortables = [], + tapEvt, + touchEvt, + lastDx, + lastDy, + tapDistanceLeft, + tapDistanceTop, + moved, + lastTarget, + lastDirection, + pastFirstInvertThresh = false, + isCircumstantialInvert = false, + targetMoveDistance, + // For positioning ghost absolutely + ghostRelativeParent, + ghostRelativeParentInitialScroll = [], + // (left, top) + _silent = false, + savedInputChecked = []; +/** @const */ + +var documentExists = typeof document !== 'undefined', + PositionGhostAbsolutely = IOS, + CSSFloatProperty = Edge || IE11OrLess ? 'cssFloat' : 'float', + // This will not pass for IE9, because IE9 DnD only works on anchors + supportDraggable = documentExists && !ChromeForAndroid && !IOS && 'draggable' in document.createElement('div'), + supportCssPointerEvents = function () { + if (!documentExists) return; // false when <= IE11 + + if (IE11OrLess) { + return false; + } + var el = document.createElement('x'); + el.style.cssText = 'pointer-events:auto'; + return el.style.pointerEvents === 'auto'; + }(), + _detectDirection = function _detectDirection(el, options) { + var elCSS = css(el), + elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth), + child1 = getChild(el, 0, options), + child2 = getChild(el, 1, options), + firstChildCSS = child1 && css(child1), + secondChildCSS = child2 && css(child2), + firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width, + secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width; + if (elCSS.display === 'flex') { + return elCSS.flexDirection === 'column' || elCSS.flexDirection === 'column-reverse' ? 'vertical' : 'horizontal'; + } + if (elCSS.display === 'grid') { + return elCSS.gridTemplateColumns.split(' ').length <= 1 ? 'vertical' : 'horizontal'; + } + if (child1 && firstChildCSS["float"] && firstChildCSS["float"] !== 'none') { + var touchingSideChild2 = firstChildCSS["float"] === 'left' ? 'left' : 'right'; + return child2 && (secondChildCSS.clear === 'both' || secondChildCSS.clear === touchingSideChild2) ? 'vertical' : 'horizontal'; + } + 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'; + }, + _dragElInRowColumn = function _dragElInRowColumn(dragRect, targetRect, vertical) { + var dragElS1Opp = vertical ? dragRect.left : dragRect.top, + dragElS2Opp = vertical ? dragRect.right : dragRect.bottom, + dragElOppLength = vertical ? dragRect.width : dragRect.height, + targetS1Opp = vertical ? targetRect.left : targetRect.top, + targetS2Opp = vertical ? targetRect.right : targetRect.bottom, + targetOppLength = vertical ? targetRect.width : targetRect.height; + return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2; + }, + /** + * Detects first nearest empty sortable to X and Y position using emptyInsertThreshold. + * @param {Number} x X position + * @param {Number} y Y position + * @return {HTMLElement} Element of the first found nearest Sortable + */ + _detectNearestEmptySortable = function _detectNearestEmptySortable(x, y) { + var ret; + sortables.some(function (sortable) { + if (lastChild(sortable)) return; + var rect = getRect(sortable), + threshold = sortable[expando].options.emptyInsertThreshold, + insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold, + insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold; + if (threshold && insideHorizontally && insideVertically) { + return ret = sortable; + } + }); + return ret; + }, + _prepareGroup = function _prepareGroup(options) { + function toFn(value, pull) { + return function (to, from, dragEl, evt) { + var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name; + if (value == null && (pull || sameGroup)) { + // Default pull value + // Default pull and put value if same group + return true; + } else if (value == null || value === false) { + return false; + } else if (pull && value === 'clone') { + return value; + } else if (typeof value === 'function') { + return toFn(value(to, from, dragEl, evt), pull)(to, from, dragEl, evt); + } else { + var otherGroup = (pull ? to : from).options.group.name; + return value === true || typeof value === 'string' && value === otherGroup || value.join && value.indexOf(otherGroup) > -1; + } + }; + } + var group = {}; + var originalGroup = options.group; + if (!originalGroup || _typeof(originalGroup) != 'object') { + originalGroup = { + name: originalGroup + }; + } + group.name = originalGroup.name; + group.checkPull = toFn(originalGroup.pull, true); + group.checkPut = toFn(originalGroup.put); + group.revertClone = originalGroup.revertClone; + options.group = group; + }, + _hideGhostForTarget = function _hideGhostForTarget() { + if (!supportCssPointerEvents && ghostEl) { + css(ghostEl, 'display', 'none'); + } + }, + _unhideGhostForTarget = function _unhideGhostForTarget() { + if (!supportCssPointerEvents && ghostEl) { + css(ghostEl, 'display', ''); + } + }; // #1184 fix - Prevent click event on fallback if dragged but item not changed position + +if (documentExists) { + document.addEventListener('click', function (evt) { + if (ignoreNextClick) { + evt.preventDefault(); + evt.stopPropagation && evt.stopPropagation(); + evt.stopImmediatePropagation && evt.stopImmediatePropagation(); + ignoreNextClick = false; + return false; + } + }, true); +} +var nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent(evt) { + if (dragEl) { + evt = evt.touches ? evt.touches[0] : evt; + var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY); + if (nearest) { + // Create imitation event + var event = {}; + for (var i in evt) { + if (evt.hasOwnProperty(i)) { + event[i] = evt[i]; + } + } + event.target = event.rootEl = nearest; + event.preventDefault = void 0; + event.stopPropagation = void 0; + nearest[expando]._onDragOver(event); + } + } +}; +var _checkOutsideTargetEl = function _checkOutsideTargetEl(evt) { + if (dragEl) { + dragEl.parentNode[expando]._isOutsideThisEl(evt.target); + } +}; +/** + * @class Sortable + * @param {HTMLElement} el + * @param {Object} [options] + */ + +function Sortable(el, options) { + if (!(el && el.nodeType && el.nodeType === 1)) { + throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(el)); + } + this.el = el; // root element + + this.options = options = _extends({}, options); // Export instance + + el[expando] = this; + var defaults = { + group: null, + sort: true, + disabled: false, + store: null, + handle: null, + draggable: /^[uo]l$/i.test(el.nodeName) ? '>li' : '>*', + swapThreshold: 1, + // percentage; 0 <= x <= 1 + invertSwap: false, + // invert always + invertedSwapThreshold: null, + // will be set to same as swapThreshold if default + removeCloneOnHide: true, + direction: function direction() { + return _detectDirection(el, this.options); + }, + ghostClass: 'sortable-ghost', + chosenClass: 'sortable-chosen', + dragClass: 'sortable-drag', + ignore: 'a, img', + filter: null, + preventOnFilter: true, + animation: 0, + easing: null, + setData: function setData(dataTransfer, dragEl) { + dataTransfer.setData('Text', dragEl.textContent); + }, + dropBubble: false, + dragoverBubble: false, + dataIdAttr: 'data-id', + delay: 0, + delayOnTouchOnly: false, + touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1, + forceFallback: false, + fallbackClass: 'sortable-fallback', + fallbackOnBody: false, + fallbackTolerance: 0, + fallbackOffset: { + x: 0, + y: 0 + }, + supportPointer: Sortable.supportPointer !== false && 'PointerEvent' in window, + emptyInsertThreshold: 5 + }; + PluginManager.initializePlugins(this, el, defaults); // Set default options + + for (var name in defaults) { + !(name in options) && (options[name] = defaults[name]); + } + _prepareGroup(options); // Bind all private methods + + for (var fn in this) { + if (fn.charAt(0) === '_' && typeof this[fn] === 'function') { + this[fn] = this[fn].bind(this); + } + } // Setup drag mode + + this.nativeDraggable = options.forceFallback ? false : supportDraggable; + if (this.nativeDraggable) { + // Touch start threshold cannot be greater than the native dragstart threshold + this.options.touchStartThreshold = 1; + } // Bind events + + if (options.supportPointer) { + on(el, 'pointerdown', this._onTapStart); + } else { + on(el, 'mousedown', this._onTapStart); + on(el, 'touchstart', this._onTapStart); + } + if (this.nativeDraggable) { + on(el, 'dragover', this); + on(el, 'dragenter', this); + } + sortables.push(this.el); // Restore sorting + + options.store && options.store.get && this.sort(options.store.get(this) || []); // Add animation state manager + + _extends(this, AnimationStateManager()); +} +Sortable.prototype = /** @lends Sortable.prototype */ +{ + constructor: Sortable, + _isOutsideThisEl: function _isOutsideThisEl(target) { + if (!this.el.contains(target) && target !== this.el) { + lastTarget = null; + } + }, + _getDirection: function _getDirection(evt, target) { + return typeof this.options.direction === 'function' ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction; + }, + _onTapStart: function _onTapStart( /** Event|TouchEvent */ + evt) { + if (!evt.cancelable) return; + var _this = this, + el = this.el, + options = this.options, + preventOnFilter = options.preventOnFilter, + type = evt.type, + touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === 'touch' && evt, + target = (touch || evt).target, + originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target, + filter = options.filter; + _saveInputCheckedState(el); // Don't trigger start event when an element is been dragged, otherwise the evt.oldindex always wrong when set option.group. + + if (dragEl) { + return; + } + if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) { + return; // only left button and enabled + } // cancel dnd if original target is content editable + + if (originalTarget.isContentEditable) { + return; + } + target = closest(target, options.draggable, el, false); + if (target && target.animated) { + return; + } + if (lastDownEl === target) { + // Ignoring duplicate `down` + return; + } // Get the index of the dragged element within its parent + + oldIndex = index(target); + oldDraggableIndex = index(target, options.draggable); // Check filter + + if (typeof filter === 'function') { + if (filter.call(this, evt, target, this)) { + _dispatchEvent({ + sortable: _this, + rootEl: originalTarget, + name: 'filter', + targetEl: target, + toEl: el, + fromEl: el + }); + pluginEvent('filter', _this, { + evt: evt + }); + preventOnFilter && evt.cancelable && evt.preventDefault(); + return; // cancel dnd + } + } else if (filter) { + filter = filter.split(',').some(function (criteria) { + criteria = closest(originalTarget, criteria.trim(), el, false); + if (criteria) { + _dispatchEvent({ + sortable: _this, + rootEl: criteria, + name: 'filter', + targetEl: target, + fromEl: el, + toEl: el + }); + pluginEvent('filter', _this, { + evt: evt + }); + return true; + } + }); + if (filter) { + preventOnFilter && evt.cancelable && evt.preventDefault(); + return; // cancel dnd + } + } + if (options.handle && !closest(originalTarget, options.handle, el, false)) { + return; + } // Prepare `dragstart` + + this._prepareDragStart(evt, touch, target); + }, + _prepareDragStart: function _prepareDragStart( /** Event */ + evt, /** Touch */ + touch, /** HTMLElement */ + target) { + var _this = this, + el = _this.el, + options = _this.options, + ownerDocument = el.ownerDocument, + dragStartFn; + if (target && !dragEl && target.parentNode === el) { + var dragRect = getRect(target); + rootEl = el; + dragEl = target; + parentEl = dragEl.parentNode; + nextEl = dragEl.nextSibling; + lastDownEl = target; + activeGroup = options.group; + Sortable.dragged = dragEl; + tapEvt = { + target: dragEl, + clientX: (touch || evt).clientX, + clientY: (touch || evt).clientY + }; + tapDistanceLeft = tapEvt.clientX - dragRect.left; + tapDistanceTop = tapEvt.clientY - dragRect.top; + this._lastX = (touch || evt).clientX; + this._lastY = (touch || evt).clientY; + dragEl.style['will-change'] = 'all'; + dragStartFn = function dragStartFn() { + pluginEvent('delayEnded', _this, { + evt: evt + }); + if (Sortable.eventCanceled) { + _this._onDrop(); + return; + } // Delayed drag has been triggered + // we can re-enable the events: touchmove/mousemove + + _this._disableDelayedDragEvents(); + if (!FireFox && _this.nativeDraggable) { + dragEl.draggable = true; + } // Bind the events: dragstart/dragend + + _this._triggerDragStart(evt, touch); // Drag start event + + _dispatchEvent({ + sortable: _this, + name: 'choose', + originalEvent: evt + }); // Chosen item + + toggleClass(dragEl, options.chosenClass, true); + }; // Disable "draggable" + + options.ignore.split(',').forEach(function (criteria) { + find(dragEl, criteria.trim(), _disableDraggable); + }); + on(ownerDocument, 'dragover', nearestEmptyInsertDetectEvent); + on(ownerDocument, 'mousemove', nearestEmptyInsertDetectEvent); + on(ownerDocument, 'touchmove', nearestEmptyInsertDetectEvent); + on(ownerDocument, 'mouseup', _this._onDrop); + on(ownerDocument, 'touchend', _this._onDrop); + on(ownerDocument, 'touchcancel', _this._onDrop); // Make dragEl draggable (must be before delay for FireFox) + + if (FireFox && this.nativeDraggable) { + this.options.touchStartThreshold = 4; + dragEl.draggable = true; + } + pluginEvent('delayStart', this, { + evt: evt + }); // Delay is impossible for native DnD in Edge or IE + + if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) { + if (Sortable.eventCanceled) { + this._onDrop(); + return; + } // If the user moves the pointer or let go the click or touch + // before the delay has been reached: + // disable the delayed drag + + on(ownerDocument, 'mouseup', _this._disableDelayedDrag); + on(ownerDocument, 'touchend', _this._disableDelayedDrag); + on(ownerDocument, 'touchcancel', _this._disableDelayedDrag); + on(ownerDocument, 'mousemove', _this._delayedDragTouchMoveHandler); + on(ownerDocument, 'touchmove', _this._delayedDragTouchMoveHandler); + options.supportPointer && on(ownerDocument, 'pointermove', _this._delayedDragTouchMoveHandler); + _this._dragStartTimer = setTimeout(dragStartFn, options.delay); + } else { + dragStartFn(); + } + } + }, + _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler( /** TouchEvent|PointerEvent **/ + e) { + var touch = e.touches ? e.touches[0] : e; + 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))) { + this._disableDelayedDrag(); + } + }, + _disableDelayedDrag: function _disableDelayedDrag() { + dragEl && _disableDraggable(dragEl); + clearTimeout(this._dragStartTimer); + this._disableDelayedDragEvents(); + }, + _disableDelayedDragEvents: function _disableDelayedDragEvents() { + var ownerDocument = this.el.ownerDocument; + off(ownerDocument, 'mouseup', this._disableDelayedDrag); + off(ownerDocument, 'touchend', this._disableDelayedDrag); + off(ownerDocument, 'touchcancel', this._disableDelayedDrag); + off(ownerDocument, 'mousemove', this._delayedDragTouchMoveHandler); + off(ownerDocument, 'touchmove', this._delayedDragTouchMoveHandler); + off(ownerDocument, 'pointermove', this._delayedDragTouchMoveHandler); + }, + _triggerDragStart: function _triggerDragStart( /** Event */ + evt, /** Touch */ + touch) { + touch = touch || evt.pointerType == 'touch' && evt; + if (!this.nativeDraggable || touch) { + if (this.options.supportPointer) { + on(document, 'pointermove', this._onTouchMove); + } else if (touch) { + on(document, 'touchmove', this._onTouchMove); + } else { + on(document, 'mousemove', this._onTouchMove); + } + } else { + on(dragEl, 'dragend', this); + on(rootEl, 'dragstart', this._onDragStart); + } + try { + if (document.selection) { + // Timeout neccessary for IE9 + _nextTick(function () { + document.selection.empty(); + }); + } else { + window.getSelection().removeAllRanges(); + } + } catch (err) {} + }, + _dragStarted: function _dragStarted(fallback, evt) { + awaitingDragStarted = false; + if (rootEl && dragEl) { + pluginEvent('dragStarted', this, { + evt: evt + }); + if (this.nativeDraggable) { + on(document, 'dragover', _checkOutsideTargetEl); + } + var options = this.options; // Apply effect + + !fallback && toggleClass(dragEl, options.dragClass, false); + toggleClass(dragEl, options.ghostClass, true); + Sortable.active = this; + fallback && this._appendGhost(); // Drag start event + + _dispatchEvent({ + sortable: this, + name: 'start', + originalEvent: evt + }); + } else { + this._nulling(); + } + }, + _emulateDragOver: function _emulateDragOver() { + if (touchEvt) { + this._lastX = touchEvt.clientX; + this._lastY = touchEvt.clientY; + _hideGhostForTarget(); + var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY); + var parent = target; + while (target && target.shadowRoot) { + target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY); + if (target === parent) break; + parent = target; + } + dragEl.parentNode[expando]._isOutsideThisEl(target); + if (parent) { + do { + if (parent[expando]) { + var inserted = void 0; + inserted = parent[expando]._onDragOver({ + clientX: touchEvt.clientX, + clientY: touchEvt.clientY, + target: target, + rootEl: parent + }); + if (inserted && !this.options.dragoverBubble) { + break; + } + } + target = parent; // store last element + } + /* jshint boss:true */ while (parent = parent.parentNode); + } + _unhideGhostForTarget(); + } + }, + _onTouchMove: function _onTouchMove( /**TouchEvent*/ + evt) { + if (tapEvt) { + var options = this.options, + fallbackTolerance = options.fallbackTolerance, + fallbackOffset = options.fallbackOffset, + touch = evt.touches ? evt.touches[0] : evt, + ghostMatrix = ghostEl && matrix(ghostEl, true), + scaleX = ghostEl && ghostMatrix && ghostMatrix.a, + scaleY = ghostEl && ghostMatrix && ghostMatrix.d, + relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent), + dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1), + dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1); // only set the status to dragging, when we are actually dragging + + if (!Sortable.active && !awaitingDragStarted) { + if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) { + return; + } + this._onDragStart(evt, true); + } + if (ghostEl) { + if (ghostMatrix) { + ghostMatrix.e += dx - (lastDx || 0); + ghostMatrix.f += dy - (lastDy || 0); + } else { + ghostMatrix = { + a: 1, + b: 0, + c: 0, + d: 1, + e: dx, + f: dy + }; + } + var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")"); + css(ghostEl, 'webkitTransform', cssMatrix); + css(ghostEl, 'mozTransform', cssMatrix); + css(ghostEl, 'msTransform', cssMatrix); + css(ghostEl, 'transform', cssMatrix); + lastDx = dx; + lastDy = dy; + touchEvt = touch; + } + evt.cancelable && evt.preventDefault(); + } + }, + _appendGhost: function _appendGhost() { + // Bug if using scale(): https://stackoverflow.com/questions/2637058 + // Not being adjusted for + if (!ghostEl) { + var container = this.options.fallbackOnBody ? document.body : rootEl, + rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container), + options = this.options; // Position absolutely + + if (PositionGhostAbsolutely) { + // Get relatively positioned parent + ghostRelativeParent = container; + while (css(ghostRelativeParent, 'position') === 'static' && css(ghostRelativeParent, 'transform') === 'none' && ghostRelativeParent !== document) { + ghostRelativeParent = ghostRelativeParent.parentNode; + } + if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) { + if (ghostRelativeParent === document) ghostRelativeParent = getWindowScrollingElement(); + rect.top += ghostRelativeParent.scrollTop; + rect.left += ghostRelativeParent.scrollLeft; + } else { + ghostRelativeParent = getWindowScrollingElement(); + } + ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent); + } + ghostEl = dragEl.cloneNode(true); + toggleClass(ghostEl, options.ghostClass, false); + toggleClass(ghostEl, options.fallbackClass, true); + toggleClass(ghostEl, options.dragClass, true); + css(ghostEl, 'transition', ''); + css(ghostEl, 'transform', ''); + css(ghostEl, 'box-sizing', 'border-box'); + css(ghostEl, 'margin', 0); + css(ghostEl, 'top', rect.top); + css(ghostEl, 'left', rect.left); + css(ghostEl, 'width', rect.width); + css(ghostEl, 'height', rect.height); + css(ghostEl, 'opacity', '0.8'); + css(ghostEl, 'position', PositionGhostAbsolutely ? 'absolute' : 'fixed'); + css(ghostEl, 'zIndex', '100000'); + css(ghostEl, 'pointerEvents', 'none'); + Sortable.ghost = ghostEl; + container.appendChild(ghostEl); // Set transform-origin + + css(ghostEl, 'transform-origin', tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + '% ' + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + '%'); + } + }, + _onDragStart: function _onDragStart( /**Event*/ + evt, /**boolean*/ + fallback) { + var _this = this; + var dataTransfer = evt.dataTransfer; + var options = _this.options; + pluginEvent('dragStart', this, { + evt: evt + }); + if (Sortable.eventCanceled) { + this._onDrop(); + return; + } + pluginEvent('setupClone', this); + if (!Sortable.eventCanceled) { + cloneEl = clone(dragEl); + cloneEl.draggable = false; + cloneEl.style['will-change'] = ''; + this._hideClone(); + toggleClass(cloneEl, this.options.chosenClass, false); + Sortable.clone = cloneEl; + } // #1143: IFrame support workaround + + _this.cloneId = _nextTick(function () { + pluginEvent('clone', _this); + if (Sortable.eventCanceled) return; + if (!_this.options.removeCloneOnHide) { + rootEl.insertBefore(cloneEl, dragEl); + } + _this._hideClone(); + _dispatchEvent({ + sortable: _this, + name: 'clone' + }); + }); + !fallback && toggleClass(dragEl, options.dragClass, true); // Set proper drop events + + if (fallback) { + ignoreNextClick = true; + _this._loopId = setInterval(_this._emulateDragOver, 50); + } else { + // Undo what was set in _prepareDragStart before drag started + off(document, 'mouseup', _this._onDrop); + off(document, 'touchend', _this._onDrop); + off(document, 'touchcancel', _this._onDrop); + if (dataTransfer) { + dataTransfer.effectAllowed = 'move'; + options.setData && options.setData.call(_this, dataTransfer, dragEl); + } + on(document, 'drop', _this); // #1276 fix: + + css(dragEl, 'transform', 'translateZ(0)'); + } + awaitingDragStarted = true; + _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt)); + on(document, 'selectstart', _this); + moved = true; + if (Safari) { + css(document.body, 'user-select', 'none'); + } + }, + // Returns true - if no further action is needed (either inserted or another condition) + _onDragOver: function _onDragOver( /**Event*/ + evt) { + var el = this.el, + target = evt.target, + dragRect, + targetRect, + revert, + options = this.options, + group = options.group, + activeSortable = Sortable.active, + isOwner = activeGroup === group, + canSort = options.sort, + fromSortable = putSortable || activeSortable, + vertical, + _this = this, + completedFired = false; + if (_silent) return; + function dragOverEvent(name, extra) { + pluginEvent(name, _this, _objectSpread({ + evt: evt, + isOwner: isOwner, + axis: vertical ? 'vertical' : 'horizontal', + revert: revert, + dragRect: dragRect, + targetRect: targetRect, + canSort: canSort, + fromSortable: fromSortable, + target: target, + completed: completed, + onMove: function onMove(target, after) { + return _onMove(rootEl, el, dragEl, dragRect, target, getRect(target), evt, after); + }, + changed: changed + }, extra)); + } // Capture animation state + + function capture() { + dragOverEvent('dragOverAnimationCapture'); + _this.captureAnimationState(); + if (_this !== fromSortable) { + fromSortable.captureAnimationState(); + } + } // Return invocation when dragEl is inserted (or completed) + + function completed(insertion) { + dragOverEvent('dragOverCompleted', { + insertion: insertion + }); + if (insertion) { + // Clones must be hidden before folding animation to capture dragRectAbsolute properly + if (isOwner) { + activeSortable._hideClone(); + } else { + activeSortable._showClone(_this); + } + if (_this !== fromSortable) { + // Set ghost class to new sortable's ghost class + toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false); + toggleClass(dragEl, options.ghostClass, true); + } + if (putSortable !== _this && _this !== Sortable.active) { + putSortable = _this; + } else if (_this === Sortable.active && putSortable) { + putSortable = null; + } // Animation + + if (fromSortable === _this) { + _this._ignoreWhileAnimating = target; + } + _this.animateAll(function () { + dragOverEvent('dragOverAnimationComplete'); + _this._ignoreWhileAnimating = null; + }); + if (_this !== fromSortable) { + fromSortable.animateAll(); + fromSortable._ignoreWhileAnimating = null; + } + } // Null lastTarget if it is not inside a previously swapped element + + if (target === dragEl && !dragEl.animated || target === el && !target.animated) { + lastTarget = null; + } // no bubbling and not fallback + + if (!options.dragoverBubble && !evt.rootEl && target !== document) { + dragEl.parentNode[expando]._isOutsideThisEl(evt.target); // Do not detect for empty insert if already inserted + + !insertion && nearestEmptyInsertDetectEvent(evt); + } + !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation(); + return completedFired = true; + } // Call when dragEl has been inserted + + function changed() { + newIndex = index(dragEl); + newDraggableIndex = index(dragEl, options.draggable); + _dispatchEvent({ + sortable: _this, + name: 'change', + toEl: el, + newIndex: newIndex, + newDraggableIndex: newDraggableIndex, + originalEvent: evt + }); + } + if (evt.preventDefault !== void 0) { + evt.cancelable && evt.preventDefault(); + } + target = closest(target, options.draggable, el, true); + dragOverEvent('dragOver'); + if (Sortable.eventCanceled) return completedFired; + if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) { + return completed(false); + } + ignoreNextClick = false; + if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = !rootEl.contains(dragEl)) // Reverting item into the original list + : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) { + vertical = this._getDirection(evt, target) === 'vertical'; + dragRect = getRect(dragEl); + dragOverEvent('dragOverValid'); + if (Sortable.eventCanceled) return completedFired; + if (revert) { + parentEl = rootEl; // actualization + + capture(); + this._hideClone(); + dragOverEvent('revert'); + if (!Sortable.eventCanceled) { + if (nextEl) { + rootEl.insertBefore(dragEl, nextEl); + } else { + rootEl.appendChild(dragEl); + } + } + return completed(true); + } + var elLastChild = lastChild(el, options.draggable); + if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) { + // If already at end of list: Do not insert + if (elLastChild === dragEl) { + return completed(false); + } // assign target only if condition is true + + if (elLastChild && el === evt.target) { + target = elLastChild; + } + if (target) { + targetRect = getRect(target); + } + if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) { + capture(); + el.appendChild(dragEl); + parentEl = el; // actualization + + changed(); + return completed(true); + } + } else if (target.parentNode === el) { + targetRect = getRect(target); + var direction = 0, + targetBeforeFirstSwap, + differentLevel = dragEl.parentNode !== el, + differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical), + side1 = vertical ? 'top' : 'left', + scrolledPastTop = isScrolledPast(target, 'top', 'top') || isScrolledPast(dragEl, 'top', 'top'), + scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0; + if (lastTarget !== target) { + targetBeforeFirstSwap = targetRect[side1]; + pastFirstInvertThresh = false; + isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel; + } + direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target); + var sibling; + if (direction !== 0) { + // Check if target is beside dragEl in respective direction (ignoring hidden elements) + var dragIndex = index(dragEl); + do { + dragIndex -= direction; + sibling = parentEl.children[dragIndex]; + } while (sibling && (css(sibling, 'display') === 'none' || sibling === ghostEl)); + } // If dragEl is already beside target: Do not insert + + if (direction === 0 || sibling === target) { + return completed(false); + } + lastTarget = target; + lastDirection = direction; + var nextSibling = target.nextElementSibling, + after = false; + after = direction === 1; + var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after); + if (moveVector !== false) { + if (moveVector === 1 || moveVector === -1) { + after = moveVector === 1; + } + _silent = true; + setTimeout(_unsilent, 30); + capture(); + if (after && !nextSibling) { + el.appendChild(dragEl); + } else { + target.parentNode.insertBefore(dragEl, after ? nextSibling : target); + } // Undo chrome's scroll adjustment (has no effect on other browsers) + + if (scrolledPastTop) { + scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop); + } + parentEl = dragEl.parentNode; // actualization + // must be done before animation + + if (targetBeforeFirstSwap !== undefined && !isCircumstantialInvert) { + targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]); + } + changed(); + return completed(true); + } + } + if (el.contains(dragEl)) { + return completed(false); + } + } + return false; + }, + _ignoreWhileAnimating: null, + _offMoveEvents: function _offMoveEvents() { + off(document, 'mousemove', this._onTouchMove); + off(document, 'touchmove', this._onTouchMove); + off(document, 'pointermove', this._onTouchMove); + off(document, 'dragover', nearestEmptyInsertDetectEvent); + off(document, 'mousemove', nearestEmptyInsertDetectEvent); + off(document, 'touchmove', nearestEmptyInsertDetectEvent); + }, + _offUpEvents: function _offUpEvents() { + var ownerDocument = this.el.ownerDocument; + off(ownerDocument, 'mouseup', this._onDrop); + off(ownerDocument, 'touchend', this._onDrop); + off(ownerDocument, 'pointerup', this._onDrop); + off(ownerDocument, 'touchcancel', this._onDrop); + off(document, 'selectstart', this); + }, + _onDrop: function _onDrop( /**Event*/ + evt) { + var el = this.el, + options = this.options; // Get the index of the dragged element within its parent + + newIndex = index(dragEl); + newDraggableIndex = index(dragEl, options.draggable); + pluginEvent('drop', this, { + evt: evt + }); + parentEl = dragEl && dragEl.parentNode; // Get again after plugin event + + newIndex = index(dragEl); + newDraggableIndex = index(dragEl, options.draggable); + if (Sortable.eventCanceled) { + this._nulling(); + return; + } + awaitingDragStarted = false; + isCircumstantialInvert = false; + pastFirstInvertThresh = false; + clearInterval(this._loopId); + clearTimeout(this._dragStartTimer); + _cancelNextTick(this.cloneId); + _cancelNextTick(this._dragStartId); // Unbind events + + if (this.nativeDraggable) { + off(document, 'drop', this); + off(el, 'dragstart', this._onDragStart); + } + this._offMoveEvents(); + this._offUpEvents(); + if (Safari) { + css(document.body, 'user-select', ''); + } + css(dragEl, 'transform', ''); + if (evt) { + if (moved) { + evt.cancelable && evt.preventDefault(); + !options.dropBubble && evt.stopPropagation(); + } + ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl); + if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') { + // Remove clone(s) + cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl); + } + if (dragEl) { + if (this.nativeDraggable) { + off(dragEl, 'dragend', this); + } + _disableDraggable(dragEl); + dragEl.style['will-change'] = ''; // Remove classes + // ghostClass is added in dragStarted + + if (moved && !awaitingDragStarted) { + toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false); + } + toggleClass(dragEl, this.options.chosenClass, false); // Drag stop event + + _dispatchEvent({ + sortable: this, + name: 'unchoose', + toEl: parentEl, + newIndex: null, + newDraggableIndex: null, + originalEvent: evt + }); + if (rootEl !== parentEl) { + if (newIndex >= 0) { + // Add event + _dispatchEvent({ + rootEl: parentEl, + name: 'add', + toEl: parentEl, + fromEl: rootEl, + originalEvent: evt + }); // Remove event + + _dispatchEvent({ + sortable: this, + name: 'remove', + toEl: parentEl, + originalEvent: evt + }); // drag from one list and drop into another + + _dispatchEvent({ + rootEl: parentEl, + name: 'sort', + toEl: parentEl, + fromEl: rootEl, + originalEvent: evt + }); + _dispatchEvent({ + sortable: this, + name: 'sort', + toEl: parentEl, + originalEvent: evt + }); + } + putSortable && putSortable.save(); + } else { + if (newIndex !== oldIndex) { + if (newIndex >= 0) { + // drag & drop within the same list + _dispatchEvent({ + sortable: this, + name: 'update', + toEl: parentEl, + originalEvent: evt + }); + _dispatchEvent({ + sortable: this, + name: 'sort', + toEl: parentEl, + originalEvent: evt + }); + } + } + } + if (Sortable.active) { + /* jshint eqnull:true */ + if (newIndex == null || newIndex === -1) { + newIndex = oldIndex; + newDraggableIndex = oldDraggableIndex; + } + _dispatchEvent({ + sortable: this, + name: 'end', + toEl: parentEl, + originalEvent: evt + }); // Save sorting + + this.save(); + } + } + } + this._nulling(); + }, + _nulling: function _nulling() { + pluginEvent('nulling', this); + 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; + savedInputChecked.forEach(function (el) { + el.checked = true; + }); + savedInputChecked.length = lastDx = lastDy = 0; + }, + handleEvent: function handleEvent( /**Event*/ + evt) { + switch (evt.type) { + case 'drop': + case 'dragend': + this._onDrop(evt); + break; + case 'dragenter': + case 'dragover': + if (dragEl) { + this._onDragOver(evt); + _globalDragOver(evt); + } + break; + case 'selectstart': + evt.preventDefault(); + break; + } + }, + /** + * Serializes the item into an array of string. + * @returns {String[]} + */ + toArray: function toArray() { + var order = [], + el, + children = this.el.children, + i = 0, + n = children.length, + options = this.options; + for (; i < n; i++) { + el = children[i]; + if (closest(el, options.draggable, this.el, false)) { + order.push(el.getAttribute(options.dataIdAttr) || _generateId(el)); + } + } + return order; + }, + /** + * Sorts the elements according to the array. + * @param {String[]} order order of the items + */ + sort: function sort(order) { + var items = {}, + rootEl = this.el; + this.toArray().forEach(function (id, i) { + var el = rootEl.children[i]; + if (closest(el, this.options.draggable, rootEl, false)) { + items[id] = el; + } + }, this); + order.forEach(function (id) { + if (items[id]) { + rootEl.removeChild(items[id]); + rootEl.appendChild(items[id]); + } + }); + }, + /** + * Save the current sorting + */ + save: function save() { + var store = this.options.store; + store && store.set && store.set(this); + }, + /** + * 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. + * @param {HTMLElement} el + * @param {String} [selector] default: `options.draggable` + * @returns {HTMLElement|null} + */ + closest: function closest$1(el, selector) { + return closest(el, selector || this.options.draggable, this.el, false); + }, + /** + * Set/get option + * @param {string} name + * @param {*} [value] + * @returns {*} + */ + option: function option(name, value) { + var options = this.options; + if (value === void 0) { + return options[name]; + } else { + var modifiedValue = PluginManager.modifyOption(this, name, value); + if (typeof modifiedValue !== 'undefined') { + options[name] = modifiedValue; + } else { + options[name] = value; + } + if (name === 'group') { + _prepareGroup(options); + } + } + }, + /** + * Destroy + */ + destroy: function destroy() { + pluginEvent('destroy', this); + var el = this.el; + el[expando] = null; + off(el, 'mousedown', this._onTapStart); + off(el, 'touchstart', this._onTapStart); + off(el, 'pointerdown', this._onTapStart); + if (this.nativeDraggable) { + off(el, 'dragover', this); + off(el, 'dragenter', this); + } // Remove draggable attributes + + Array.prototype.forEach.call(el.querySelectorAll('[draggable]'), function (el) { + el.removeAttribute('draggable'); + }); + this._onDrop(); + this._disableDelayedDragEvents(); + sortables.splice(sortables.indexOf(this.el), 1); + this.el = el = null; + }, + _hideClone: function _hideClone() { + if (!cloneHidden) { + pluginEvent('hideClone', this); + if (Sortable.eventCanceled) return; + css(cloneEl, 'display', 'none'); + if (this.options.removeCloneOnHide && cloneEl.parentNode) { + cloneEl.parentNode.removeChild(cloneEl); + } + cloneHidden = true; + } + }, + _showClone: function _showClone(putSortable) { + if (putSortable.lastPutMode !== 'clone') { + this._hideClone(); + return; + } + if (cloneHidden) { + pluginEvent('showClone', this); + if (Sortable.eventCanceled) return; // show clone at dragEl or original position + + if (rootEl.contains(dragEl) && !this.options.group.revertClone) { + rootEl.insertBefore(cloneEl, dragEl); + } else if (nextEl) { + rootEl.insertBefore(cloneEl, nextEl); + } else { + rootEl.appendChild(cloneEl); + } + if (this.options.group.revertClone) { + this.animate(dragEl, cloneEl); + } + css(cloneEl, 'display', ''); + cloneHidden = false; + } + } +}; +function _globalDragOver( /**Event*/ +evt) { + if (evt.dataTransfer) { + evt.dataTransfer.dropEffect = 'move'; + } + evt.cancelable && evt.preventDefault(); +} +function _onMove(fromEl, toEl, dragEl, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) { + var evt, + sortable = fromEl[expando], + onMoveFn = sortable.options.onMove, + retVal; // Support for new CustomEvent feature + + if (window.CustomEvent && !IE11OrLess && !Edge) { + evt = new CustomEvent('move', { + bubbles: true, + cancelable: true + }); + } else { + evt = document.createEvent('Event'); + evt.initEvent('move', true, true); + } + evt.to = toEl; + evt.from = fromEl; + evt.dragged = dragEl; + evt.draggedRect = dragRect; + evt.related = targetEl || toEl; + evt.relatedRect = targetRect || getRect(toEl); + evt.willInsertAfter = willInsertAfter; + evt.originalEvent = originalEvent; + fromEl.dispatchEvent(evt); + if (onMoveFn) { + retVal = onMoveFn.call(sortable, evt, originalEvent); + } + return retVal; +} +function _disableDraggable(el) { + el.draggable = false; +} +function _unsilent() { + _silent = false; +} +function _ghostIsLast(evt, vertical, sortable) { + var rect = getRect(lastChild(sortable.el, sortable.options.draggable)); + var spacer = 10; + return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer; +} +function _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) { + var mouseOnAxis = vertical ? evt.clientY : evt.clientX, + targetLength = vertical ? targetRect.height : targetRect.width, + targetS1 = vertical ? targetRect.top : targetRect.left, + targetS2 = vertical ? targetRect.bottom : targetRect.right, + invert = false; + if (!invertSwap) { + // Never invert or create dragEl shadow when target movemenet causes mouse to move past the end of regular swapThreshold + if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) { + // multiplied only by swapThreshold because mouse will already be inside target by (1 - threshold) * targetLength / 2 + // check if past first invert threshold on side opposite of lastDirection + if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) { + // past first invert threshold, do not restrict inverted threshold to dragEl shadow + pastFirstInvertThresh = true; + } + if (!pastFirstInvertThresh) { + // dragEl shadow (target move distance shadow) + if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance // over dragEl shadow + : mouseOnAxis > targetS2 - targetMoveDistance) { + return -lastDirection; + } + } else { + invert = true; + } + } else { + // Regular + if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) { + return _getInsertDirection(target); + } + } + } + invert = invert || invertSwap; + if (invert) { + // Invert of regular + if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) { + return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1; + } + } + return 0; +} +/** + * Gets the direction dragEl must be swapped relative to target in order to make it + * seem that dragEl has been "inserted" into that element's position + * @param {HTMLElement} target The target whose position dragEl is being inserted at + * @return {Number} Direction dragEl must be swapped + */ + +function _getInsertDirection(target) { + if (index(dragEl) < index(target)) { + return 1; + } else { + return -1; + } +} +/** + * Generate id + * @param {HTMLElement} el + * @returns {String} + * @private + */ + +function _generateId(el) { + var str = el.tagName + el.className + el.src + el.href + el.textContent, + i = str.length, + sum = 0; + while (i--) { + sum += str.charCodeAt(i); + } + return sum.toString(36); +} +function _saveInputCheckedState(root) { + savedInputChecked.length = 0; + var inputs = root.getElementsByTagName('input'); + var idx = inputs.length; + while (idx--) { + var el = inputs[idx]; + el.checked && savedInputChecked.push(el); + } +} +function _nextTick(fn) { + return setTimeout(fn, 0); +} +function _cancelNextTick(id) { + return clearTimeout(id); +} // Fixed #973: + +if (documentExists) { + on(document, 'touchmove', function (evt) { + if ((Sortable.active || awaitingDragStarted) && evt.cancelable) { + evt.preventDefault(); + } + }); +} // Export utils + +Sortable.utils = { + on: on, + off: off, + css: css, + find: find, + is: function is(el, selector) { + return !!closest(el, selector, el, false); + }, + extend: extend, + throttle: throttle, + closest: closest, + toggleClass: toggleClass, + clone: clone, + index: index, + nextTick: _nextTick, + cancelNextTick: _cancelNextTick, + detectDirection: _detectDirection, + getChild: getChild +}; +/** + * Get the Sortable instance of an element + * @param {HTMLElement} element The element + * @return {Sortable|undefined} The instance of Sortable + */ + +Sortable.get = function (element) { + return element[expando]; +}; +/** + * Mount a plugin to Sortable + * @param {...SortablePlugin|SortablePlugin[]} plugins Plugins being mounted + */ + +Sortable.mount = function () { + for (var _len = arguments.length, plugins = new Array(_len), _key = 0; _key < _len; _key++) { + plugins[_key] = arguments[_key]; + } + if (plugins[0].constructor === Array) plugins = plugins[0]; + plugins.forEach(function (plugin) { + if (!plugin.prototype || !plugin.prototype.constructor) { + throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(plugin)); + } + if (plugin.utils) Sortable.utils = _objectSpread({}, Sortable.utils, plugin.utils); + PluginManager.mount(plugin); + }); +}; +/** + * Create sortable instance + * @param {HTMLElement} el + * @param {Object} [options] + */ + +Sortable.create = function (el, options) { + return new Sortable(el, options); +}; // Export + +Sortable.version = version; +var autoScrolls = [], + scrollEl, + scrollRootEl, + scrolling = false, + lastAutoScrollX, + lastAutoScrollY, + touchEvt$1, + pointerElemChangedInterval; +function AutoScrollPlugin() { + function AutoScroll() { + this.defaults = { + scroll: true, + scrollSensitivity: 30, + scrollSpeed: 10, + bubbleScroll: true + }; // Bind all private methods + + for (var fn in this) { + if (fn.charAt(0) === '_' && typeof this[fn] === 'function') { + this[fn] = this[fn].bind(this); + } + } + } + AutoScroll.prototype = { + dragStarted: function dragStarted(_ref) { + var originalEvent = _ref.originalEvent; + if (this.sortable.nativeDraggable) { + on(document, 'dragover', this._handleAutoScroll); + } else { + if (this.options.supportPointer) { + on(document, 'pointermove', this._handleFallbackAutoScroll); + } else if (originalEvent.touches) { + on(document, 'touchmove', this._handleFallbackAutoScroll); + } else { + on(document, 'mousemove', this._handleFallbackAutoScroll); + } + } + }, + dragOverCompleted: function dragOverCompleted(_ref2) { + var originalEvent = _ref2.originalEvent; + + // For when bubbling is canceled and using fallback (fallback 'touchmove' always reached) + if (!this.options.dragOverBubble && !originalEvent.rootEl) { + this._handleAutoScroll(originalEvent); + } + }, + drop: function drop() { + if (this.sortable.nativeDraggable) { + off(document, 'dragover', this._handleAutoScroll); + } else { + off(document, 'pointermove', this._handleFallbackAutoScroll); + off(document, 'touchmove', this._handleFallbackAutoScroll); + off(document, 'mousemove', this._handleFallbackAutoScroll); + } + clearPointerElemChangedInterval(); + clearAutoScrolls(); + cancelThrottle(); + }, + nulling: function nulling() { + touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null; + autoScrolls.length = 0; + }, + _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) { + this._handleAutoScroll(evt, true); + }, + _handleAutoScroll: function _handleAutoScroll(evt, fallback) { + var _this = this; + var x = (evt.touches ? evt.touches[0] : evt).clientX, + y = (evt.touches ? evt.touches[0] : evt).clientY, + elem = document.elementFromPoint(x, y); + touchEvt$1 = evt; // IE does not seem to have native autoscroll, + // Edge's autoscroll seems too conditional, + // MACOS Safari does not have autoscroll, + // Firefox and Chrome are good + + if (fallback || Edge || IE11OrLess || Safari) { + autoScroll(evt, this.options, elem, fallback); // Listener for pointer element change + + var ogElemScroller = getParentAutoScrollElement(elem, true); + if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) { + pointerElemChangedInterval && clearPointerElemChangedInterval(); // Detect for pointer elem change, emulating native DnD behaviour + + pointerElemChangedInterval = setInterval(function () { + var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true); + if (newElem !== ogElemScroller) { + ogElemScroller = newElem; + clearAutoScrolls(); + } + autoScroll(evt, _this.options, newElem, fallback); + }, 10); + lastAutoScrollX = x; + lastAutoScrollY = y; + } + } else { + // if DnD is enabled (and browser has good autoscrolling), first autoscroll will already scroll, so get parent autoscroll of first autoscroll + if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) { + clearAutoScrolls(); + return; + } + autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false); + } + } + }; + return _extends(AutoScroll, { + pluginName: 'scroll', + initializeByDefault: true + }); +} +function clearAutoScrolls() { + autoScrolls.forEach(function (autoScroll) { + clearInterval(autoScroll.pid); + }); + autoScrolls = []; +} +function clearPointerElemChangedInterval() { + clearInterval(pointerElemChangedInterval); +} +var autoScroll = throttle(function (evt, options, rootEl, isFallback) { + // Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=505521 + if (!options.scroll) return; + var x = (evt.touches ? evt.touches[0] : evt).clientX, + y = (evt.touches ? evt.touches[0] : evt).clientY, + sens = options.scrollSensitivity, + speed = options.scrollSpeed, + winScroller = getWindowScrollingElement(); + var scrollThisInstance = false, + scrollCustomFn; // New scroll root, set scrollEl + + if (scrollRootEl !== rootEl) { + scrollRootEl = rootEl; + clearAutoScrolls(); + scrollEl = options.scroll; + scrollCustomFn = options.scrollFn; + if (scrollEl === true) { + scrollEl = getParentAutoScrollElement(rootEl, true); + } + } + var layersOut = 0; + var currentParent = scrollEl; + do { + var el = currentParent, + rect = getRect(el), + top = rect.top, + bottom = rect.bottom, + left = rect.left, + right = rect.right, + width = rect.width, + height = rect.height, + canScrollX = void 0, + canScrollY = void 0, + scrollWidth = el.scrollWidth, + scrollHeight = el.scrollHeight, + elCSS = css(el), + scrollPosX = el.scrollLeft, + scrollPosY = el.scrollTop; + if (el === winScroller) { + canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll' || elCSS.overflowX === 'visible'); + canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll' || elCSS.overflowY === 'visible'); + } else { + canScrollX = width < scrollWidth && (elCSS.overflowX === 'auto' || elCSS.overflowX === 'scroll'); + canScrollY = height < scrollHeight && (elCSS.overflowY === 'auto' || elCSS.overflowY === 'scroll'); + } + var vx = canScrollX && (Math.abs(right - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left - x) <= sens && !!scrollPosX); + var vy = canScrollY && (Math.abs(bottom - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top - y) <= sens && !!scrollPosY); + if (!autoScrolls[layersOut]) { + for (var i = 0; i <= layersOut; i++) { + if (!autoScrolls[i]) { + autoScrolls[i] = {}; + } + } + } + if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) { + autoScrolls[layersOut].el = el; + autoScrolls[layersOut].vx = vx; + autoScrolls[layersOut].vy = vy; + clearInterval(autoScrolls[layersOut].pid); + if (vx != 0 || vy != 0) { + scrollThisInstance = true; + /* jshint loopfunc:true */ + + autoScrolls[layersOut].pid = setInterval(function () { + // emulate drag over during autoscroll (fallback), emulating native DnD behaviour + if (isFallback && this.layer === 0) { + Sortable.active._onTouchMove(touchEvt$1); // To move ghost if it is positioned absolutely + } + var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0; + var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0; + if (typeof scrollCustomFn === 'function') { + if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== 'continue') { + return; + } + } + scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY); + }.bind({ + layer: layersOut + }), 24); + } + } + layersOut++; + } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false))); + scrolling = scrollThisInstance; // in case another function catches scrolling as false in between when it is not +}, 30); +var drop = function drop(_ref) { + var originalEvent = _ref.originalEvent, + putSortable = _ref.putSortable, + dragEl = _ref.dragEl, + activeSortable = _ref.activeSortable, + dispatchSortableEvent = _ref.dispatchSortableEvent, + hideGhostForTarget = _ref.hideGhostForTarget, + unhideGhostForTarget = _ref.unhideGhostForTarget; + if (!originalEvent) return; + var toSortable = putSortable || activeSortable; + hideGhostForTarget(); + var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent; + var target = document.elementFromPoint(touch.clientX, touch.clientY); + unhideGhostForTarget(); + if (toSortable && !toSortable.el.contains(target)) { + dispatchSortableEvent('spill'); + this.onSpill({ + dragEl: dragEl, + putSortable: putSortable + }); + } +}; +function Revert() {} +Revert.prototype = { + startIndex: null, + dragStart: function dragStart(_ref2) { + var oldDraggableIndex = _ref2.oldDraggableIndex; + this.startIndex = oldDraggableIndex; + }, + onSpill: function onSpill(_ref3) { + var dragEl = _ref3.dragEl, + putSortable = _ref3.putSortable; + this.sortable.captureAnimationState(); + if (putSortable) { + putSortable.captureAnimationState(); + } + var nextSibling = getChild(this.sortable.el, this.startIndex, this.options); + if (nextSibling) { + this.sortable.el.insertBefore(dragEl, nextSibling); + } else { + this.sortable.el.appendChild(dragEl); + } + this.sortable.animateAll(); + if (putSortable) { + putSortable.animateAll(); + } + }, + drop: drop +}; +_extends(Revert, { + pluginName: 'revertOnSpill' +}); +function Remove() {} +Remove.prototype = { + onSpill: function onSpill(_ref4) { + var dragEl = _ref4.dragEl, + putSortable = _ref4.putSortable; + var parentSortable = putSortable || this.sortable; + parentSortable.captureAnimationState(); + dragEl.parentNode && dragEl.parentNode.removeChild(dragEl); + parentSortable.animateAll(); + }, + drop: drop +}; +_extends(Remove, { + pluginName: 'removeOnSpill' +}); +var lastSwapEl; +function SwapPlugin() { + function Swap() { + this.defaults = { + swapClass: 'sortable-swap-highlight' + }; + } + Swap.prototype = { + dragStart: function dragStart(_ref) { + var dragEl = _ref.dragEl; + lastSwapEl = dragEl; + }, + dragOverValid: function dragOverValid(_ref2) { + var completed = _ref2.completed, + target = _ref2.target, + onMove = _ref2.onMove, + activeSortable = _ref2.activeSortable, + changed = _ref2.changed, + cancel = _ref2.cancel; + if (!activeSortable.options.swap) return; + var el = this.sortable.el, + options = this.options; + if (target && target !== el) { + var prevSwapEl = lastSwapEl; + if (onMove(target) !== false) { + toggleClass(target, options.swapClass, true); + lastSwapEl = target; + } else { + lastSwapEl = null; + } + if (prevSwapEl && prevSwapEl !== lastSwapEl) { + toggleClass(prevSwapEl, options.swapClass, false); + } + } + changed(); + completed(true); + cancel(); + }, + drop: function drop(_ref3) { + var activeSortable = _ref3.activeSortable, + putSortable = _ref3.putSortable, + dragEl = _ref3.dragEl; + var toSortable = putSortable || this.sortable; + var options = this.options; + lastSwapEl && toggleClass(lastSwapEl, options.swapClass, false); + if (lastSwapEl && (options.swap || putSortable && putSortable.options.swap)) { + if (dragEl !== lastSwapEl) { + toSortable.captureAnimationState(); + if (toSortable !== activeSortable) activeSortable.captureAnimationState(); + swapNodes(dragEl, lastSwapEl); + toSortable.animateAll(); + if (toSortable !== activeSortable) activeSortable.animateAll(); + } + } + }, + nulling: function nulling() { + lastSwapEl = null; + } + }; + return _extends(Swap, { + pluginName: 'swap', + eventProperties: function eventProperties() { + return { + swapItem: lastSwapEl + }; + } + }); +} +function swapNodes(n1, n2) { + var p1 = n1.parentNode, + p2 = n2.parentNode, + i1, + i2; + if (!p1 || !p2 || p1.isEqualNode(n2) || p2.isEqualNode(n1)) return; + i1 = index(n1); + i2 = index(n2); + if (p1.isEqualNode(p2) && i1 < i2) { + i2++; + } + p1.insertBefore(n2, p1.children[i1]); + p2.insertBefore(n1, p2.children[i2]); +} +var multiDragElements = [], + multiDragClones = [], + lastMultiDragSelect, + // for selection with modifier key down (SHIFT) + multiDragSortable, + initialFolding = false, + // Initial multi-drag fold when drag started + folding = false, + // Folding any other time + dragStarted = false, + dragEl$1, + clonesFromRect, + clonesHidden; +function MultiDragPlugin() { + function MultiDrag(sortable) { + // Bind all private methods + for (var fn in this) { + if (fn.charAt(0) === '_' && typeof this[fn] === 'function') { + this[fn] = this[fn].bind(this); + } + } + if (sortable.options.supportPointer) { + on(document, 'pointerup', this._deselectMultiDrag); + } else { + on(document, 'mouseup', this._deselectMultiDrag); + on(document, 'touchend', this._deselectMultiDrag); + } + on(document, 'keydown', this._checkKeyDown); + on(document, 'keyup', this._checkKeyUp); + this.defaults = { + selectedClass: 'sortable-selected', + multiDragKey: null, + setData: function setData(dataTransfer, dragEl) { + var data = ''; + if (multiDragElements.length && multiDragSortable === sortable) { + multiDragElements.forEach(function (multiDragElement, i) { + data += (!i ? '' : ', ') + multiDragElement.textContent; + }); + } else { + data = dragEl.textContent; + } + dataTransfer.setData('Text', data); + } + }; + } + MultiDrag.prototype = { + multiDragKeyDown: false, + isMultiDrag: false, + delayStartGlobal: function delayStartGlobal(_ref) { + var dragged = _ref.dragEl; + dragEl$1 = dragged; + }, + delayEnded: function delayEnded() { + this.isMultiDrag = ~multiDragElements.indexOf(dragEl$1); + }, + setupClone: function setupClone(_ref2) { + var sortable = _ref2.sortable, + cancel = _ref2.cancel; + if (!this.isMultiDrag) return; + for (var i = 0; i < multiDragElements.length; i++) { + multiDragClones.push(clone(multiDragElements[i])); + multiDragClones[i].sortableIndex = multiDragElements[i].sortableIndex; + multiDragClones[i].draggable = false; + multiDragClones[i].style['will-change'] = ''; + toggleClass(multiDragClones[i], this.options.selectedClass, false); + multiDragElements[i] === dragEl$1 && toggleClass(multiDragClones[i], this.options.chosenClass, false); + } + sortable._hideClone(); + cancel(); + }, + clone: function clone(_ref3) { + var sortable = _ref3.sortable, + rootEl = _ref3.rootEl, + dispatchSortableEvent = _ref3.dispatchSortableEvent, + cancel = _ref3.cancel; + if (!this.isMultiDrag) return; + if (!this.options.removeCloneOnHide) { + if (multiDragElements.length && multiDragSortable === sortable) { + insertMultiDragClones(true, rootEl); + dispatchSortableEvent('clone'); + cancel(); + } + } + }, + showClone: function showClone(_ref4) { + var cloneNowShown = _ref4.cloneNowShown, + rootEl = _ref4.rootEl, + cancel = _ref4.cancel; + if (!this.isMultiDrag) return; + insertMultiDragClones(false, rootEl); + multiDragClones.forEach(function (clone) { + css(clone, 'display', ''); + }); + cloneNowShown(); + clonesHidden = false; + cancel(); + }, + hideClone: function hideClone(_ref5) { + var _this = this; + var sortable = _ref5.sortable, + cloneNowHidden = _ref5.cloneNowHidden, + cancel = _ref5.cancel; + if (!this.isMultiDrag) return; + multiDragClones.forEach(function (clone) { + css(clone, 'display', 'none'); + if (_this.options.removeCloneOnHide && clone.parentNode) { + clone.parentNode.removeChild(clone); + } + }); + cloneNowHidden(); + clonesHidden = true; + cancel(); + }, + dragStartGlobal: function dragStartGlobal(_ref6) { + var sortable = _ref6.sortable; + if (!this.isMultiDrag && multiDragSortable) { + multiDragSortable.multiDrag._deselectMultiDrag(); + } + multiDragElements.forEach(function (multiDragElement) { + multiDragElement.sortableIndex = index(multiDragElement); + }); // Sort multi-drag elements + + multiDragElements = multiDragElements.sort(function (a, b) { + return a.sortableIndex - b.sortableIndex; + }); + dragStarted = true; + }, + dragStarted: function dragStarted(_ref7) { + var _this2 = this; + var sortable = _ref7.sortable; + if (!this.isMultiDrag) return; + if (this.options.sort) { + // Capture rects, + // hide multi drag elements (by positioning them absolute), + // set multi drag elements rects to dragRect, + // show multi drag elements, + // animate to rects, + // unset rects & remove from DOM + sortable.captureAnimationState(); + if (this.options.animation) { + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement === dragEl$1) return; + css(multiDragElement, 'position', 'absolute'); + }); + var dragRect = getRect(dragEl$1, false, true, true); + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement === dragEl$1) return; + setRect(multiDragElement, dragRect); + }); + folding = true; + initialFolding = true; + } + } + sortable.animateAll(function () { + folding = false; + initialFolding = false; + if (_this2.options.animation) { + multiDragElements.forEach(function (multiDragElement) { + unsetRect(multiDragElement); + }); + } // Remove all auxiliary multidrag items from el, if sorting enabled + + if (_this2.options.sort) { + removeMultiDragElements(); + } + }); + }, + dragOver: function dragOver(_ref8) { + var target = _ref8.target, + completed = _ref8.completed, + cancel = _ref8.cancel; + if (folding && ~multiDragElements.indexOf(target)) { + completed(false); + cancel(); + } + }, + revert: function revert(_ref9) { + var fromSortable = _ref9.fromSortable, + rootEl = _ref9.rootEl, + sortable = _ref9.sortable, + dragRect = _ref9.dragRect; + if (multiDragElements.length > 1) { + // Setup unfold animation + multiDragElements.forEach(function (multiDragElement) { + sortable.addAnimationState({ + target: multiDragElement, + rect: folding ? getRect(multiDragElement) : dragRect + }); + unsetRect(multiDragElement); + multiDragElement.fromRect = dragRect; + fromSortable.removeAnimationState(multiDragElement); + }); + folding = false; + insertMultiDragElements(!this.options.removeCloneOnHide, rootEl); + } + }, + dragOverCompleted: function dragOverCompleted(_ref10) { + var sortable = _ref10.sortable, + isOwner = _ref10.isOwner, + insertion = _ref10.insertion, + activeSortable = _ref10.activeSortable, + parentEl = _ref10.parentEl, + putSortable = _ref10.putSortable; + var options = this.options; + if (insertion) { + // Clones must be hidden before folding animation to capture dragRectAbsolute properly + if (isOwner) { + activeSortable._hideClone(); + } + initialFolding = false; // If leaving sort:false root, or already folding - Fold to new location + + if (options.animation && multiDragElements.length > 1 && (folding || !isOwner && !activeSortable.options.sort && !putSortable)) { + // Fold: Set all multi drag elements's rects to dragEl's rect when multi-drag elements are invisible + var dragRectAbsolute = getRect(dragEl$1, false, true, true); + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement === dragEl$1) return; + setRect(multiDragElement, dragRectAbsolute); // Move element(s) to end of parentEl so that it does not interfere with multi-drag clones insertion if they are inserted + // while folding, and so that we can capture them again because old sortable will no longer be fromSortable + + parentEl.appendChild(multiDragElement); + }); + folding = true; + } // Clones must be shown (and check to remove multi drags) after folding when interfering multiDragElements are moved out + + if (!isOwner) { + // Only remove if not folding (folding will remove them anyways) + if (!folding) { + removeMultiDragElements(); + } + if (multiDragElements.length > 1) { + var clonesHiddenBefore = clonesHidden; + activeSortable._showClone(sortable); // Unfold animation for clones if showing from hidden + + if (activeSortable.options.animation && !clonesHidden && clonesHiddenBefore) { + multiDragClones.forEach(function (clone) { + activeSortable.addAnimationState({ + target: clone, + rect: clonesFromRect + }); + clone.fromRect = clonesFromRect; + clone.thisAnimationDuration = null; + }); + } + } else { + activeSortable._showClone(sortable); + } + } + } + }, + dragOverAnimationCapture: function dragOverAnimationCapture(_ref11) { + var dragRect = _ref11.dragRect, + isOwner = _ref11.isOwner, + activeSortable = _ref11.activeSortable; + multiDragElements.forEach(function (multiDragElement) { + multiDragElement.thisAnimationDuration = null; + }); + if (activeSortable.options.animation && !isOwner && activeSortable.multiDrag.isMultiDrag) { + clonesFromRect = _extends({}, dragRect); + var dragMatrix = matrix(dragEl$1, true); + clonesFromRect.top -= dragMatrix.f; + clonesFromRect.left -= dragMatrix.e; + } + }, + dragOverAnimationComplete: function dragOverAnimationComplete() { + if (folding) { + folding = false; + removeMultiDragElements(); + } + }, + drop: function drop(_ref12) { + var evt = _ref12.originalEvent, + rootEl = _ref12.rootEl, + parentEl = _ref12.parentEl, + sortable = _ref12.sortable, + dispatchSortableEvent = _ref12.dispatchSortableEvent, + oldIndex = _ref12.oldIndex, + putSortable = _ref12.putSortable; + var toSortable = putSortable || this.sortable; + if (!evt) return; + var options = this.options, + children = parentEl.children; // Multi-drag selection + + if (!dragStarted) { + if (options.multiDragKey && !this.multiDragKeyDown) { + this._deselectMultiDrag(); + } + toggleClass(dragEl$1, options.selectedClass, !~multiDragElements.indexOf(dragEl$1)); + if (!~multiDragElements.indexOf(dragEl$1)) { + multiDragElements.push(dragEl$1); + dispatchEvent({ + sortable: sortable, + rootEl: rootEl, + name: 'select', + targetEl: dragEl$1, + originalEvt: evt + }); // Modifier activated, select from last to dragEl + + if (evt.shiftKey && lastMultiDragSelect && sortable.el.contains(lastMultiDragSelect)) { + var lastIndex = index(lastMultiDragSelect), + currentIndex = index(dragEl$1); + if (~lastIndex && ~currentIndex && lastIndex !== currentIndex) { + // Must include lastMultiDragSelect (select it), in case modified selection from no selection + // (but previous selection existed) + var n, i; + if (currentIndex > lastIndex) { + i = lastIndex; + n = currentIndex; + } else { + i = currentIndex; + n = lastIndex + 1; + } + for (; i < n; i++) { + if (~multiDragElements.indexOf(children[i])) continue; + toggleClass(children[i], options.selectedClass, true); + multiDragElements.push(children[i]); + dispatchEvent({ + sortable: sortable, + rootEl: rootEl, + name: 'select', + targetEl: children[i], + originalEvt: evt + }); + } + } + } else { + lastMultiDragSelect = dragEl$1; + } + multiDragSortable = toSortable; + } else { + multiDragElements.splice(multiDragElements.indexOf(dragEl$1), 1); + lastMultiDragSelect = null; + dispatchEvent({ + sortable: sortable, + rootEl: rootEl, + name: 'deselect', + targetEl: dragEl$1, + originalEvt: evt + }); + } + } // Multi-drag drop + + if (dragStarted && this.isMultiDrag) { + // Do not "unfold" after around dragEl if reverted + if ((parentEl[expando].options.sort || parentEl !== rootEl) && multiDragElements.length > 1) { + var dragRect = getRect(dragEl$1), + multiDragIndex = index(dragEl$1, ':not(.' + this.options.selectedClass + ')'); + if (!initialFolding && options.animation) dragEl$1.thisAnimationDuration = null; + toSortable.captureAnimationState(); + if (!initialFolding) { + if (options.animation) { + dragEl$1.fromRect = dragRect; + multiDragElements.forEach(function (multiDragElement) { + multiDragElement.thisAnimationDuration = null; + if (multiDragElement !== dragEl$1) { + var rect = folding ? getRect(multiDragElement) : dragRect; + multiDragElement.fromRect = rect; // Prepare unfold animation + + toSortable.addAnimationState({ + target: multiDragElement, + rect: rect + }); + } + }); + } // Multi drag elements are not necessarily removed from the DOM on drop, so to reinsert + // properly they must all be removed + + removeMultiDragElements(); + multiDragElements.forEach(function (multiDragElement) { + if (children[multiDragIndex]) { + parentEl.insertBefore(multiDragElement, children[multiDragIndex]); + } else { + parentEl.appendChild(multiDragElement); + } + multiDragIndex++; + }); // If initial folding is done, the elements may have changed position because they are now + // unfolding around dragEl, even though dragEl may not have his index changed, so update event + // must be fired here as Sortable will not. + + if (oldIndex === index(dragEl$1)) { + var update = false; + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement.sortableIndex !== index(multiDragElement)) { + update = true; + return; + } + }); + if (update) { + dispatchSortableEvent('update'); + } + } + } // Must be done after capturing individual rects (scroll bar) + + multiDragElements.forEach(function (multiDragElement) { + unsetRect(multiDragElement); + }); + toSortable.animateAll(); + } + multiDragSortable = toSortable; + } // Remove clones if necessary + + if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== 'clone') { + multiDragClones.forEach(function (clone) { + clone.parentNode && clone.parentNode.removeChild(clone); + }); + } + }, + nullingGlobal: function nullingGlobal() { + this.isMultiDrag = dragStarted = false; + multiDragClones.length = 0; + }, + destroyGlobal: function destroyGlobal() { + this._deselectMultiDrag(); + off(document, 'pointerup', this._deselectMultiDrag); + off(document, 'mouseup', this._deselectMultiDrag); + off(document, 'touchend', this._deselectMultiDrag); + off(document, 'keydown', this._checkKeyDown); + off(document, 'keyup', this._checkKeyUp); + }, + _deselectMultiDrag: function _deselectMultiDrag(evt) { + if (typeof dragStarted !== "undefined" && dragStarted) return; // Only deselect if selection is in this sortable + + if (multiDragSortable !== this.sortable) return; // Only deselect if target is not item in this sortable + + if (evt && closest(evt.target, this.options.draggable, this.sortable.el, false)) return; // Only deselect if left click + + if (evt && evt.button !== 0) return; + while (multiDragElements.length) { + var el = multiDragElements[0]; + toggleClass(el, this.options.selectedClass, false); + multiDragElements.shift(); + dispatchEvent({ + sortable: this.sortable, + rootEl: this.sortable.el, + name: 'deselect', + targetEl: el, + originalEvt: evt + }); + } + }, + _checkKeyDown: function _checkKeyDown(evt) { + if (evt.key === this.options.multiDragKey) { + this.multiDragKeyDown = true; + } + }, + _checkKeyUp: function _checkKeyUp(evt) { + if (evt.key === this.options.multiDragKey) { + this.multiDragKeyDown = false; + } + } + }; + return _extends(MultiDrag, { + // Static methods & properties + pluginName: 'multiDrag', + utils: { + /** + * Selects the provided multi-drag item + * @param {HTMLElement} el The element to be selected + */ + select: function select(el) { + var sortable = el.parentNode[expando]; + if (!sortable || !sortable.options.multiDrag || ~multiDragElements.indexOf(el)) return; + if (multiDragSortable && multiDragSortable !== sortable) { + multiDragSortable.multiDrag._deselectMultiDrag(); + multiDragSortable = sortable; + } + toggleClass(el, sortable.options.selectedClass, true); + multiDragElements.push(el); + }, + /** + * Deselects the provided multi-drag item + * @param {HTMLElement} el The element to be deselected + */ + deselect: function deselect(el) { + var sortable = el.parentNode[expando], + index = multiDragElements.indexOf(el); + if (!sortable || !sortable.options.multiDrag || !~index) return; + toggleClass(el, sortable.options.selectedClass, false); + multiDragElements.splice(index, 1); + } + }, + eventProperties: function eventProperties() { + var _this3 = this; + var oldIndicies = [], + newIndicies = []; + multiDragElements.forEach(function (multiDragElement) { + oldIndicies.push({ + multiDragElement: multiDragElement, + index: multiDragElement.sortableIndex + }); // multiDragElements will already be sorted if folding + + var newIndex; + if (folding && multiDragElement !== dragEl$1) { + newIndex = -1; + } else if (folding) { + newIndex = index(multiDragElement, ':not(.' + _this3.options.selectedClass + ')'); + } else { + newIndex = index(multiDragElement); + } + newIndicies.push({ + multiDragElement: multiDragElement, + index: newIndex + }); + }); + return { + items: _toConsumableArray(multiDragElements), + clones: [].concat(multiDragClones), + oldIndicies: oldIndicies, + newIndicies: newIndicies + }; + }, + optionListeners: { + multiDragKey: function multiDragKey(key) { + key = key.toLowerCase(); + if (key === 'ctrl') { + key = 'Control'; + } else if (key.length > 1) { + key = key.charAt(0).toUpperCase() + key.substr(1); + } + return key; + } + } + }); +} +function insertMultiDragElements(clonesInserted, rootEl) { + multiDragElements.forEach(function (multiDragElement, i) { + var target = rootEl.children[multiDragElement.sortableIndex + (clonesInserted ? Number(i) : 0)]; + if (target) { + rootEl.insertBefore(multiDragElement, target); + } else { + rootEl.appendChild(multiDragElement); + } + }); +} +/** + * Insert multi-drag clones + * @param {[Boolean]} elementsInserted Whether the multi-drag elements are inserted + * @param {HTMLElement} rootEl + */ + +function insertMultiDragClones(elementsInserted, rootEl) { + multiDragClones.forEach(function (clone, i) { + var target = rootEl.children[clone.sortableIndex + (elementsInserted ? Number(i) : 0)]; + if (target) { + rootEl.insertBefore(clone, target); + } else { + rootEl.appendChild(clone); + } + }); +} +function removeMultiDragElements() { + multiDragElements.forEach(function (multiDragElement) { + if (multiDragElement === dragEl$1) return; + multiDragElement.parentNode && multiDragElement.parentNode.removeChild(multiDragElement); + }); +} +Sortable.mount(new AutoScrollPlugin()); +Sortable.mount(Remove, Revert); +/* harmony default export */ __webpack_exports__["default"] = (Sortable); + + +/***/ }), + +/***/ "4625": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var classofRaw = __webpack_require__("c6b6"); +var uncurryThis = __webpack_require__("e330"); + +module.exports = function (fn) { + // Nashorn bug: + // https://github.com/zloirock/core-js/issues/1128 + // https://github.com/zloirock/core-js/issues/1130 + if (classofRaw(fn) === 'Function') return uncurryThis(fn); +}; + + +/***/ }), + +/***/ "467f": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var createError = __webpack_require__("2d83"); + +/** + * Resolve or reject a Promise based on response status. + * + * @param {Function} resolve A function that resolves the promise. + * @param {Function} reject A function that rejects the promise. + * @param {object} response The response. + */ +module.exports = function settle(resolve, reject, response) { + var validateStatus = response.config.validateStatus; + if (!response.status || !validateStatus || validateStatus(response.status)) { + resolve(response); + } else { + reject(createError( + 'Request failed with status code ' + response.status, + response.config, + null, + response.request, + response + )); + } +}; + + +/***/ }), + +/***/ "46c4": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// `GetIteratorDirect(obj)` abstract operation +// https://tc39.es/proposal-iterator-helpers/#sec-getiteratordirect +module.exports = function (obj) { + return { + iterator: obj, + next: obj.next, + done: false + }; +}; + + +/***/ }), + +/***/ "485a": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__("c65b"); +var isCallable = __webpack_require__("1626"); +var isObject = __webpack_require__("861d"); + +var $TypeError = TypeError; + +// `OrdinaryToPrimitive` abstract operation +// https://tc39.es/ecma262/#sec-ordinarytoprimitive +module.exports = function (input, pref) { + var fn, val; + if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val; + if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val; + throw new $TypeError("Can't convert object to primitive value"); +}; + + +/***/ }), + +/***/ "4897": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +exports.__esModule = true; +exports.i18n = exports.use = exports.t = undefined; +var _zhCN = __webpack_require__("f0d9"); +var _zhCN2 = _interopRequireDefault(_zhCN); +var _vue = __webpack_require__("8bbf"); +var _vue2 = _interopRequireDefault(_vue); +var _deepmerge = __webpack_require__("3c4e"); +var _deepmerge2 = _interopRequireDefault(_deepmerge); +var _format = __webpack_require__("9d7e"); +var _format2 = _interopRequireDefault(_format); +function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { + default: obj + }; +} +var format = (0, _format2.default)(_vue2.default); +var lang = _zhCN2.default; +var merged = false; +var i18nHandler = function i18nHandler() { + var vuei18n = Object.getPrototypeOf(this || _vue2.default).$t; + if (typeof vuei18n === 'function' && !!_vue2.default.locale) { + if (!merged) { + merged = true; + _vue2.default.locale(_vue2.default.config.lang, (0, _deepmerge2.default)(lang, _vue2.default.locale(_vue2.default.config.lang) || {}, { + clone: true + })); + } + return vuei18n.apply(this, arguments); + } +}; +var t = exports.t = function t(path, options) { + var value = i18nHandler.apply(this, arguments); + if (value !== null && value !== undefined) return value; + var array = path.split('.'); + var current = lang; + for (var i = 0, j = array.length; i < j; i++) { + var property = array[i]; + value = current[property]; + if (i === j - 1) return format(value, options); + if (!value) return ''; + current = value; + } + return ''; +}; +var use = exports.use = function use(l) { + lang = l || lang; +}; +var i18n = exports.i18n = function i18n(fn) { + i18nHandler = fn || i18nHandler; +}; +exports.default = { + use: use, + t: t, + i18n: i18n +}; + +/***/ }), + +/***/ "4a0c": +/***/ (function(module) { + +module.exports = JSON.parse("{\"_args\":[[\"axios@0.21.4\",\"D:\\\\work\\\\easy-form-pro\"]],\"_from\":\"axios@0.21.4\",\"_id\":\"axios@0.21.4\",\"_inBundle\":false,\"_integrity\":\"sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==\",\"_location\":\"/axios\",\"_phantomChildren\":{},\"_requested\":{\"type\":\"version\",\"registry\":true,\"raw\":\"axios@0.21.4\",\"name\":\"axios\",\"escapedName\":\"axios\",\"rawSpec\":\"0.21.4\",\"saveSpec\":null,\"fetchSpec\":\"0.21.4\"},\"_requiredBy\":[\"/\"],\"_resolved\":\"https://registry.npmmirror.com/axios/-/axios-0.21.4.tgz\",\"_spec\":\"0.21.4\",\"_where\":\"D:\\\\work\\\\easy-form-pro\",\"author\":{\"name\":\"Matt Zabriskie\"},\"browser\":{\"./lib/adapters/http.js\":\"./lib/adapters/xhr.js\"},\"bugs\":{\"url\":\"https://github.com/axios/axios/issues\"},\"bundlesize\":[{\"path\":\"./dist/axios.min.js\",\"threshold\":\"5kB\"}],\"dependencies\":{\"follow-redirects\":\"^1.14.0\"},\"description\":\"Promise based HTTP client for the browser and node.js\",\"devDependencies\":{\"coveralls\":\"^3.0.0\",\"es6-promise\":\"^4.2.4\",\"grunt\":\"^1.3.0\",\"grunt-banner\":\"^0.6.0\",\"grunt-cli\":\"^1.2.0\",\"grunt-contrib-clean\":\"^1.1.0\",\"grunt-contrib-watch\":\"^1.0.0\",\"grunt-eslint\":\"^23.0.0\",\"grunt-karma\":\"^4.0.0\",\"grunt-mocha-test\":\"^0.13.3\",\"grunt-ts\":\"^6.0.0-beta.19\",\"grunt-webpack\":\"^4.0.2\",\"istanbul-instrumenter-loader\":\"^1.0.0\",\"jasmine-core\":\"^2.4.1\",\"karma\":\"^6.3.2\",\"karma-chrome-launcher\":\"^3.1.0\",\"karma-firefox-launcher\":\"^2.1.0\",\"karma-jasmine\":\"^1.1.1\",\"karma-jasmine-ajax\":\"^0.1.13\",\"karma-safari-launcher\":\"^1.0.0\",\"karma-sauce-launcher\":\"^4.3.6\",\"karma-sinon\":\"^1.0.5\",\"karma-sourcemap-loader\":\"^0.3.8\",\"karma-webpack\":\"^4.0.2\",\"load-grunt-tasks\":\"^3.5.2\",\"minimist\":\"^1.2.0\",\"mocha\":\"^8.2.1\",\"sinon\":\"^4.5.0\",\"terser-webpack-plugin\":\"^4.2.3\",\"typescript\":\"^4.0.5\",\"url-search-params\":\"^0.10.0\",\"webpack\":\"^4.44.2\",\"webpack-dev-server\":\"^3.11.0\"},\"homepage\":\"https://axios-http.com\",\"jsdelivr\":\"dist/axios.min.js\",\"keywords\":[\"xhr\",\"http\",\"ajax\",\"promise\",\"node\"],\"license\":\"MIT\",\"main\":\"index.js\",\"name\":\"axios\",\"repository\":{\"type\":\"git\",\"url\":\"git+https://github.com/axios/axios.git\"},\"scripts\":{\"build\":\"NODE_ENV=production grunt build\",\"coveralls\":\"cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js\",\"examples\":\"node ./examples/server.js\",\"fix\":\"eslint --fix lib/**/*.js\",\"postversion\":\"git push && git push --tags\",\"preversion\":\"npm test\",\"start\":\"node ./sandbox/server.js\",\"test\":\"grunt test\",\"version\":\"npm run build && grunt version && git add -A dist && git add CHANGELOG.md bower.json package.json\"},\"typings\":\"./index.d.ts\",\"unpkg\":\"dist/axios.min.js\",\"version\":\"0.21.4\"}"); + +/***/ }), + +/***/ "4a3a": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "4a70": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=template&id=1b0480e0&scoped=true +var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-upload',{ref:"fieldEditor",staticClass:"dynamicPseudoAfter",class:{'hideUploadDiv': _vm.uploadBtnHidden || _vm.isReadMode},style:(_vm.styleVariables),attrs:{"disabled":_vm.field.options.disabled || _vm.isReadMode,"action":_vm.realUploadURL,"headers":_vm.uploadHeaders,"data":_vm.uploadData,"with-credentials":_vm.field.options.withCredentials,"multiple":_vm.field.options.multipleSelect,"file-list":_vm.fileList,"show-file-list":_vm.field.options.showFileList,"limit":_vm.field.options.limit,"on-exceed":_vm.handleFileExceed,"before-upload":_vm.beforeFileUpload,"on-success":_vm.handleFileUpload,"on-error":_vm.handleUploadError},scopedSlots:_vm._u([{key:"file",fn:function(ref){ +var file = ref.file; +return [_c('div',{staticClass:"upload-file-list"},[_c('span',{staticClass:"upload-file-name",attrs:{"title":file.name}},[_vm._v(_vm._s(file.name))]),_c('a',{attrs:{"href":file.url,"download":"","target":"_blank"}},[_c('i',{staticClass:"el-icon-download file-action",attrs:{"title":_vm.i18nt('render.hint.downloadFile')}})]),(!_vm.field.options.disabled && !_vm.isReadMode)?_c('i',{staticClass:"el-icon-delete file-action",attrs:{"title":_vm.i18nt('render.hint.removeFile')},on:{"click":function($event){return _vm.removeUploadFile(file.name, file.url, file.uid)}}}):_vm._e()])]}}])},[(!!_vm.field.options.uploadTip)?_c('div',{staticClass:"el-upload__tip",attrs:{"slot":"tip"},slot:"tip"},[_vm._v(_vm._s(_vm.field.options.uploadTip))]):_vm._e(),_c('i',{staticClass:"el-icon-plus avatar-uploader-icon",attrs:{"slot":"default"},slot:"default"})])],1)} +var staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=template&id=1b0480e0&scoped=true + +// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js +var es_array_push = __webpack_require__("14d9"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// EXTERNAL MODULE: ./src/utils/emitter.js +var emitter = __webpack_require__("c6e3"); + +// EXTERNAL MODULE: ./src/utils/i18n.js + 8 modules +var i18n = __webpack_require__("79fa"); + +// EXTERNAL MODULE: ./src/utils/util.js +var util = __webpack_require__("ca00"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +let selectFileText = "'" + Object(i18n["c" /* translate */])('render.hint.selectFile') + "'"; +/* harmony default export */ var file_upload_widgetvue_type_script_lang_js = ({ + name: "file-upload-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + FormItemWrapper: form_item_wrapper["default"] + }, + inject: ['refList', 'globalOptionData', 'globalModel'], + data() { + return { + oldFieldValue: null, + //field组件change之前的值 + fieldModel: [], + rules: [], + uploadHeaders: {}, + uploadData: { + key: '' //七牛云上传文件名 + //token: '', //七牛云上传token + + //policy: '', //又拍云上传policy + //authorization: '', //又拍云上传签名 + }, + fileList: [], + //上传文件列表 + + styleVariables: { + '--select-file-action': selectFileText + } + }; + }, + computed: { + realUploadURL() { + let uploadURL = this.field.options.uploadURL; + if (!!uploadURL && (uploadURL.indexOf('DSV.') > -1 || uploadURL.indexOf('DSV[') > -1)) { + let DSV = this.getGlobalDsv(); + // console.log('test DSV: ', DSV) //防止DSV被打包工具优化!!! + return Object(util["d" /* evalFn */])(this.field.options.uploadURL, DSV); + } + return this.field.options.uploadURL; + }, + uploadBtnHidden() { + return !this.fileList || this.fileList.length >= this.field.options.limit; + } + }, + beforeCreate() { + /* 这里不能访问方法和属性!! */ + }, + created() { + /* 注意:子组件mounted在父组件created之后、父组件mounted之前触发,故子组件mounted需要用到的prop + 需要在父组件created中初始化!! */ + this.registerToRefList(); + this.initFieldModel(); + this.initEventHandler(); + this.buildFieldRules(); + this.handleOnCreated(); + }, + mounted() { + this.handleOnMounted(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + handleFileExceed() { + let uploadLimit = this.field.options.limit; + this.$message.warning(this.i18nt('render.hint.uploadExceed').replace('${uploadLimit}', uploadLimit)); + }, + beforeFileUpload(file) { + let fileTypeCheckResult = false; + let extFileName = file.name.substring(file.name.lastIndexOf('.') + 1); + if (!!this.field.options && !!this.field.options.fileTypes) { + let uploadFileTypes = this.field.options.fileTypes; + if (uploadFileTypes.length > 0) { + fileTypeCheckResult = uploadFileTypes.some(ft => { + return extFileName.toLowerCase() === ft.toLowerCase(); + }); + } + } + if (!fileTypeCheckResult) { + this.$message.error(this.i18nt('render.hint.unsupportedFileType') + extFileName); + return false; + } + let fileSizeCheckResult = false; + let uploadFileMaxSize = 5; //5MB + if (!!this.field.options && !!this.field.options.fileMaxSize) { + uploadFileMaxSize = this.field.options.fileMaxSize; + } + fileSizeCheckResult = file.size / 1024 / 1024 <= uploadFileMaxSize; + if (!fileSizeCheckResult) { + this.$message.error(this.i18nt('render.hint.fileSizeExceed') + uploadFileMaxSize + 'MB'); + return false; + } + this.uploadData.key = file.name; + return this.handleOnBeforeUpload(file); + }, + handleOnBeforeUpload(file) { + if (!!this.field.options.onBeforeUpload) { + let bfFunc = new Function('file', this.field.options.onBeforeUpload); + let result = bfFunc.call(this, file); + if (typeof result === 'boolean') { + return result; + } else { + return true; + } + } + return true; + }, + updateFieldModelAndEmitDataChangeForUpload(fileList, customResult, defaultResult) { + this.fieldModel = this.fieldModel || []; + let oldValue = Object(util["c" /* deepClone */])(this.fieldModel); + if (!!customResult && !!customResult.name && !!customResult.url) { + this.fieldModel.push({ + name: customResult.name, + url: customResult.url + }); + } else if (!!defaultResult && !!defaultResult.name && !!defaultResult.url) { + this.fieldModel.push({ + name: defaultResult.name, + url: defaultResult.url + }); + } else { + this.fieldModel = Object(util["c" /* deepClone */])(fileList); + } + this.syncUpdateFormModel(this.fieldModel); + this.emitFieldDataChange(this.fieldModel, oldValue); + }, + handleFileUpload(res, file, fileList) { + if (file.status === 'success') { + let customResult = null; + if (!!this.field.options.onUploadSuccess) { + let mountFunc = new Function('result', 'file', 'fileList', this.field.options.onUploadSuccess); + customResult = mountFunc.call(this, res, file, fileList); + } + this.updateFieldModelAndEmitDataChangeForUpload(fileList, customResult, res); + if (!!customResult && !!customResult.name) { + file.name = customResult.name; + } else { + file.name = file.name || res.name || res.fileName || res.filename; + } + if (!!customResult && !!customResult.url) { + file.url = customResult.url; + } else { + file.url = file.url || res.url; + } + this.fileList = Object(util["c" /* deepClone */])(fileList); + this.$nextTick(() => { + this.clearValidate(); + }); + } + }, + updateFieldModelAndEmitDataChangeForRemove(deletedFileIdx, fileList) { + let oldValue = Object(util["c" /* deepClone */])(this.fieldModel); + this.fieldModel.splice(deletedFileIdx, 1); + this.syncUpdateFormModel(this.fieldModel); + this.emitFieldDataChange(this.fieldModel, oldValue); + }, + removeUploadFile(fileName, fileUrl, fileUid) { + let foundIdx = -1; + let foundFile = null; + this.fileList.forEach((file, idx) => { + if (file.name === fileName && (file.url === fileUrl || !!fileUid && file.uid === fileUid)) { + foundIdx = idx; + foundFile = file; + } + }); + if (foundIdx >= 0) { + this.fileList.splice(foundIdx, 1); + this.updateFieldModelAndEmitDataChangeForRemove(foundIdx, this.fileList); + if (!!this.field.options.onFileRemove) { + let customFn = new Function('file', 'fileList', this.field.options.onFileRemove); + customFn.call(this, foundFile, this.fileList); + } + } + }, + handleUploadError(err, file, fileList) { + if (!!this.field.options.onUploadError) { + let customFn = new Function('error', 'file', 'fileList', this.field.options.onUploadError); + customFn.call(this, err, file, fileList); + } else { + this.$message({ + message: this.i18nt('render.hint.uploadError') + err, + duration: 3000, + type: 'error' + }); + } + } + } +}); +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=script&lang=js + /* harmony default export */ var field_widget_file_upload_widgetvue_type_script_lang_js = (file_upload_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue?vue&type=style&index=0&id=1b0480e0&prod&lang=scss&scoped=true +var file_upload_widgetvue_type_style_index_0_id_1b0480e0_prod_lang_scss_scoped_true = __webpack_require__("ad5d"); + +// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js +var componentNormalizer = __webpack_require__("2877"); + +// CONCATENATED MODULE: ./src/components/form-designer/form-widget/field-widget/file-upload-widget.vue + + + + + + +/* normalize component */ + +var component = Object(componentNormalizer["a" /* default */])( + field_widget_file_upload_widgetvue_type_script_lang_js, + render, + staticRenderFns, + false, + null, + "1b0480e0", + null + +) + +/* harmony default export */ var file_upload_widget = __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "4a7b": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); + +/** + * Config-specific merge-function which creates a new config-object + * by merging two configuration objects together. + * + * @param {Object} config1 + * @param {Object} config2 + * @returns {Object} New object resulting from merging config2 to config1 + */ +module.exports = function mergeConfig(config1, config2) { + // eslint-disable-next-line no-param-reassign + config2 = config2 || {}; + var config = {}; + + var valueFromConfig2Keys = ['url', 'method', 'data']; + var mergeDeepPropertiesKeys = ['headers', 'auth', 'proxy', 'params']; + var defaultToConfig2Keys = [ + 'baseURL', 'transformRequest', 'transformResponse', 'paramsSerializer', + 'timeout', 'timeoutMessage', 'withCredentials', 'adapter', 'responseType', 'xsrfCookieName', + 'xsrfHeaderName', 'onUploadProgress', 'onDownloadProgress', 'decompress', + 'maxContentLength', 'maxBodyLength', 'maxRedirects', 'transport', 'httpAgent', + 'httpsAgent', 'cancelToken', 'socketPath', 'responseEncoding' + ]; + var directMergeKeys = ['validateStatus']; + + function getMergedValue(target, source) { + if (utils.isPlainObject(target) && utils.isPlainObject(source)) { + return utils.merge(target, source); + } else if (utils.isPlainObject(source)) { + return utils.merge({}, source); + } else if (utils.isArray(source)) { + return source.slice(); + } + return source; + } + + function mergeDeepProperties(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(config1[prop], config2[prop]); + } else if (!utils.isUndefined(config1[prop])) { + config[prop] = getMergedValue(undefined, config1[prop]); + } + } + + utils.forEach(valueFromConfig2Keys, function valueFromConfig2(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(undefined, config2[prop]); + } + }); + + utils.forEach(mergeDeepPropertiesKeys, mergeDeepProperties); + + utils.forEach(defaultToConfig2Keys, function defaultToConfig2(prop) { + if (!utils.isUndefined(config2[prop])) { + config[prop] = getMergedValue(undefined, config2[prop]); + } else if (!utils.isUndefined(config1[prop])) { + config[prop] = getMergedValue(undefined, config1[prop]); + } + }); + + utils.forEach(directMergeKeys, function merge(prop) { + if (prop in config2) { + config[prop] = getMergedValue(config1[prop], config2[prop]); + } else if (prop in config1) { + config[prop] = getMergedValue(undefined, config1[prop]); + } + }); + + var axiosKeys = valueFromConfig2Keys + .concat(mergeDeepPropertiesKeys) + .concat(defaultToConfig2Keys) + .concat(directMergeKeys); + + var otherKeys = Object + .keys(config1) + .concat(Object.keys(config2)) + .filter(function filterAxiosKeys(key) { + return axiosKeys.indexOf(key) === -1; + }); + + utils.forEach(otherKeys, mergeDeepProperties); + + return config; +}; + + +/***/ }), + +/***/ "4b11": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// eslint-disable-next-line es/no-typed-arrays -- safe +module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined'; + + +/***/ }), + +/***/ "4d64": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIndexedObject = __webpack_require__("fc6a"); +var toAbsoluteIndex = __webpack_require__("23cb"); +var lengthOfArrayLike = __webpack_require__("07fa"); + +// `Array.prototype.{ indexOf, includes }` methods implementation +var createMethod = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIndexedObject($this); + var length = lengthOfArrayLike(O); + if (length === 0) return !IS_INCLUDES && -1; + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare -- NaN check + if (IS_INCLUDES && el !== el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare -- NaN check + if (value !== value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) { + if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +module.exports = { + // `Array.prototype.includes` method + // https://tc39.es/ecma262/#sec-array.prototype.includes + includes: createMethod(true), + // `Array.prototype.indexOf` method + // https://tc39.es/ecma262/#sec-array.prototype.indexof + indexOf: createMethod(false) +}; + + +/***/ }), + +/***/ "4ea1": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var arrayWith = __webpack_require__("d429"); +var ArrayBufferViewCore = __webpack_require__("ebb5"); +var isBigIntArray = __webpack_require__("bcbf"); +var toIntegerOrInfinity = __webpack_require__("5926"); +var toBigInt = __webpack_require__("f495"); + +var aTypedArray = ArrayBufferViewCore.aTypedArray; +var getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor; +var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; + +var PROPER_ORDER = !!function () { + try { + // eslint-disable-next-line no-throw-literal, es/no-typed-arrays, es/no-array-prototype-with -- required for testing + new Int8Array(1)['with'](2, { valueOf: function () { throw 8; } }); + } catch (error) { + // some early implementations, like WebKit, does not follow the final semantic + // https://github.com/tc39/proposal-change-array-by-copy/pull/86 + return error === 8; + } +}(); + +// `%TypedArray%.prototype.with` method +// https://tc39.es/ecma262/#sec-%typedarray%.prototype.with +exportTypedArrayMethod('with', { 'with': function (index, value) { + var O = aTypedArray(this); + var relativeIndex = toIntegerOrInfinity(index); + var actualValue = isBigIntArray(O) ? toBigInt(value) : +value; + return arrayWith(O, getTypedArrayConstructor(O), relativeIndex, actualValue); +} }['with'], !PROPER_ORDER); + + +/***/ }), + +/***/ "50c4": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var toIntegerOrInfinity = __webpack_require__("5926"); + +var min = Math.min; + +// `ToLength` abstract operation +// https://tc39.es/ecma262/#sec-tolength +module.exports = function (argument) { + var len = toIntegerOrInfinity(argument); + return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 +}; + + +/***/ }), + +/***/ "519e": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "51a5": +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), + +/***/ "5270": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var utils = __webpack_require__("c532"); +var transformData = __webpack_require__("c401"); +var isCancel = __webpack_require__("2e67"); +var defaults = __webpack_require__("2444"); + +/** + * Throws a `Cancel` if cancellation has been requested. + */ +function throwIfCancellationRequested(config) { + if (config.cancelToken) { + config.cancelToken.throwIfRequested(); + } +} + +/** + * Dispatch a request to the server using the configured adapter. + * + * @param {object} config The config that is to be used for the request + * @returns {Promise} The Promise to be fulfilled + */ +module.exports = function dispatchRequest(config) { + throwIfCancellationRequested(config); + + // Ensure headers exist + config.headers = config.headers || {}; + + // Transform request data + config.data = transformData.call( + config, + config.data, + config.headers, + config.transformRequest + ); + + // Flatten headers + config.headers = utils.merge( + config.headers.common || {}, + config.headers[config.method] || {}, + config.headers + ); + + utils.forEach( + ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], + function cleanHeaderConfig(method) { + delete config.headers[method]; + } + ); + + var adapter = config.adapter || defaults.adapter; + + return adapter(config).then(function onAdapterResolution(response) { + throwIfCancellationRequested(config); + + // Transform response data + response.data = transformData.call( + config, + response.data, + response.headers, + config.transformResponse + ); + + return response; + }, function onAdapterRejection(reason) { + if (!isCancel(reason)) { + throwIfCancellationRequested(config); + + // Transform response data + if (reason && reason.response) { + reason.response.data = transformData.call( + config, + reason.response.data, + reason.response.headers, + config.transformResponse + ); + } + } + + return Promise.reject(reason); + }); +}; + + +/***/ }), + +/***/ "5388": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var call = __webpack_require__("c65b"); + +module.exports = function (record, fn, ITERATOR_INSTEAD_OF_RECORD) { + var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator; + var next = record.next; + var step, result; + while (!(step = call(next, iterator)).done) { + result = fn(step.value); + if (result !== undefined) return result; + } +}; + + +/***/ }), + +/***/ "541d": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_date_widget_vue_vue_type_style_index_0_id_e2fc9bbc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f5c5"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_date_widget_vue_vue_type_style_index_0_id_e2fc9bbc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_date_widget_vue_vue_type_style_index_0_id_e2fc9bbc_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "5692": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var store = __webpack_require__("c6cd"); + +module.exports = function (key, value) { + return store[key] || (store[key] = value || {}); +}; + + +/***/ }), + +/***/ "56ef": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var getBuiltIn = __webpack_require__("d066"); +var uncurryThis = __webpack_require__("e330"); +var getOwnPropertyNamesModule = __webpack_require__("241c"); +var getOwnPropertySymbolsModule = __webpack_require__("7418"); +var anObject = __webpack_require__("825a"); + +var concat = uncurryThis([].concat); + +// all object keys, includes non-enumerable and symbols +module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { + var keys = getOwnPropertyNamesModule.f(anObject(it)); + var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; + return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys; +}; + + +/***/ }), + +/***/ "577e": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var classof = __webpack_require__("f5df"); + +var $String = String; + +module.exports = function (argument) { + if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string'); + return $String(argument); +}; + + +/***/ }), + +/***/ "5873": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return VueEditor; }); +/* unused harmony export install */ +/* harmony import */ var quill__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9339"); +/* harmony import */ var quill__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(quill__WEBPACK_IMPORTED_MODULE_0__); +/*! + * vue2-editor v2.10.3 + * (c) 2021 David Royer + * Released under the MIT License. + */ + + + +var defaultToolbar = [[{ + header: [false, 1, 2, 3, 4, 5, 6] +}], ["bold", "italic", "underline", "strike"], // toggled buttons +[{ + align: "" +}, { + align: "center" +}, { + align: "right" +}, { + align: "justify" +}], ["blockquote", "code-block"], [{ + list: "ordered" +}, { + list: "bullet" +}, { + list: "check" +}], [{ + indent: "-1" +}, { + indent: "+1" +}], // outdent/indent +[{ + color: [] +}, { + background: [] +}], // dropdown with defaults from theme +["link", "image", "video"], ["clean"] // remove formatting button +]; + +var oldApi = { + props: { + customModules: Array + }, + methods: { + registerCustomModules: function registerCustomModules(Quill) { + if (this.customModules !== undefined) { + this.customModules.forEach(function (customModule) { + Quill.register("modules/" + customModule.alias, customModule.module); + }); + } + } + } +}; + +function _typeof(obj) { + if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { + _typeof = function (obj) { + return typeof obj; + }; + } else { + _typeof = function (obj) { + return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; + }; + } + + return _typeof(obj); +} + +function _classCallCheck(instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +} + +function _defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } +} + +function _createClass(Constructor, protoProps, staticProps) { + if (protoProps) _defineProperties(Constructor.prototype, protoProps); + if (staticProps) _defineProperties(Constructor, staticProps); + return Constructor; +} + +function _inherits(subClass, superClass) { + if (typeof superClass !== "function" && superClass !== null) { + throw new TypeError("Super expression must either be null or a function"); + } + + subClass.prototype = Object.create(superClass && superClass.prototype, { + constructor: { + value: subClass, + writable: true, + configurable: true + } + }); + if (superClass) _setPrototypeOf(subClass, superClass); +} + +function _getPrototypeOf(o) { + _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { + return o.__proto__ || Object.getPrototypeOf(o); + }; + return _getPrototypeOf(o); +} + +function _setPrototypeOf(o, p) { + _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { + o.__proto__ = p; + return o; + }; + + return _setPrototypeOf(o, p); +} + +function _assertThisInitialized(self) { + if (self === void 0) { + throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); + } + + return self; +} + +function _possibleConstructorReturn(self, call) { + if (call && (typeof call === "object" || typeof call === "function")) { + return call; + } + + return _assertThisInitialized(self); +} + +function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); +} + +function _arrayWithHoles(arr) { + if (Array.isArray(arr)) return arr; +} + +function _iterableToArrayLimit(arr, i) { + var _arr = []; + var _n = true; + var _d = false; + var _e = undefined; + + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + + if (i && _arr.length === i) break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) _i["return"](); + } finally { + if (_d) throw _e; + } + } + + return _arr; +} + +function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance"); +} + +/** + * Performs a deep merge of `source` into `target`. + * Mutates `target` only but not its objects and arrays. + * + */ +function mergeDeep(target, source) { + var isObject = function isObject(obj) { + return obj && _typeof(obj) === "object"; + }; + + if (!isObject(target) || !isObject(source)) { + return source; + } + + Object.keys(source).forEach(function (key) { + var targetValue = target[key]; + var sourceValue = source[key]; + + if (Array.isArray(targetValue) && Array.isArray(sourceValue)) { + target[key] = targetValue.concat(sourceValue); + } else if (isObject(targetValue) && isObject(sourceValue)) { + target[key] = mergeDeep(Object.assign({}, targetValue), sourceValue); + } else { + target[key] = sourceValue; + } + }); + return target; +} + +var BlockEmbed = quill__WEBPACK_IMPORTED_MODULE_0___default.a.import("blots/block/embed"); + +var HorizontalRule = +/*#__PURE__*/ +function (_BlockEmbed) { + _inherits(HorizontalRule, _BlockEmbed); + + function HorizontalRule() { + _classCallCheck(this, HorizontalRule); + + return _possibleConstructorReturn(this, _getPrototypeOf(HorizontalRule).apply(this, arguments)); + } + + return HorizontalRule; +}(BlockEmbed); + +HorizontalRule.blotName = "hr"; +HorizontalRule.tagName = "hr"; +quill__WEBPACK_IMPORTED_MODULE_0___default.a.register("formats/horizontal", HorizontalRule); + +var MarkdownShortcuts = +/*#__PURE__*/ +function () { + function MarkdownShortcuts(quill, options) { + var _this = this; + + _classCallCheck(this, MarkdownShortcuts); + + this.quill = quill; + this.options = options; + this.ignoreTags = ["PRE"]; + this.matches = [{ + name: "header", + pattern: /^(#){1,6}\s/g, + action: function action(text, selection, pattern) { + var match = pattern.exec(text); + if (!match) return; + var size = match[0].length; // Need to defer this action https://github.com/quilljs/quill/issues/1134 + + setTimeout(function () { + _this.quill.formatLine(selection.index, 0, "header", size - 1); + + _this.quill.deleteText(selection.index - size, size); + }, 0); + } + }, { + name: "blockquote", + pattern: /^(>)\s/g, + action: function action(_text, selection) { + // Need to defer this action https://github.com/quilljs/quill/issues/1134 + setTimeout(function () { + _this.quill.formatLine(selection.index, 1, "blockquote", true); + + _this.quill.deleteText(selection.index - 2, 2); + }, 0); + } + }, { + name: "code-block", + pattern: /^`{3}(?:\s|\n)/g, + action: function action(_text, selection) { + // Need to defer this action https://github.com/quilljs/quill/issues/1134 + setTimeout(function () { + _this.quill.formatLine(selection.index, 1, "code-block", true); + + _this.quill.deleteText(selection.index - 4, 4); + }, 0); + } + }, { + name: "bolditalic", + pattern: /(?:\*|_){3}(.+?)(?:\*|_){3}/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + bold: true, + italic: true + }); + + _this.quill.format("bold", false); + }, 0); + } + }, { + name: "bold", + pattern: /(?:\*|_){2}(.+?)(?:\*|_){2}/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + bold: true + }); + + _this.quill.format("bold", false); + }, 0); + } + }, { + name: "italic", + pattern: /(?:\*|_){1}(.+?)(?:\*|_){1}/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + italic: true + }); + + _this.quill.format("italic", false); + }, 0); + } + }, { + name: "strikethrough", + pattern: /(?:~~)(.+?)(?:~~)/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + strike: true + }); + + _this.quill.format("strike", false); + }, 0); + } + }, { + name: "code", + pattern: /(?:`)(.+?)(?:`)/g, + action: function action(text, _selection, pattern, lineStart) { + var match = pattern.exec(text); + var annotatedText = match[0]; + var matchedText = match[1]; + var startIndex = lineStart + match.index; + if (text.match(/^([*_ \n]+)$/g)) return; + setTimeout(function () { + _this.quill.deleteText(startIndex, annotatedText.length); + + _this.quill.insertText(startIndex, matchedText, { + code: true + }); + + _this.quill.format("code", false); + + _this.quill.insertText(_this.quill.getSelection(), " "); + }, 0); + } + }, { + name: "hr", + pattern: /^([-*]\s?){3}/g, + action: function action(text, selection) { + var startIndex = selection.index - text.length; + setTimeout(function () { + _this.quill.deleteText(startIndex, text.length); + + _this.quill.insertEmbed(startIndex + 1, "hr", true, quill__WEBPACK_IMPORTED_MODULE_0___default.a.sources.USER); + + _this.quill.insertText(startIndex + 2, "\n", quill__WEBPACK_IMPORTED_MODULE_0___default.a.sources.SILENT); + + _this.quill.setSelection(startIndex + 2, quill__WEBPACK_IMPORTED_MODULE_0___default.a.sources.SILENT); + }, 0); + } + }, { + name: "asterisk-ul", + pattern: /^(\*|\+)\s$/g, + // eslint-disable-next-line no-unused-vars + action: function action(_text, selection, _pattern) { + setTimeout(function () { + _this.quill.formatLine(selection.index, 1, "list", "unordered"); + + _this.quill.deleteText(selection.index - 2, 2); + }, 0); + } + }, { + name: "image", + pattern: /(?:!\[(.+?)\])(?:\((.+?)\))/g, + action: function action(text, selection, pattern) { + var startIndex = text.search(pattern); + var matchedText = text.match(pattern)[0]; // const hrefText = text.match(/(?:!\[(.*?)\])/g)[0] + + var hrefLink = text.match(/(?:\((.*?)\))/g)[0]; + var start = selection.index - matchedText.length - 1; + + if (startIndex !== -1) { + setTimeout(function () { + _this.quill.deleteText(start, matchedText.length); + + _this.quill.insertEmbed(start, "image", hrefLink.slice(1, hrefLink.length - 1)); + }, 0); + } + } + }, { + name: "link", + pattern: /(?:\[(.+?)\])(?:\((.+?)\))/g, + action: function action(text, selection, pattern) { + var startIndex = text.search(pattern); + var matchedText = text.match(pattern)[0]; + var hrefText = text.match(/(?:\[(.*?)\])/g)[0]; + var hrefLink = text.match(/(?:\((.*?)\))/g)[0]; + var start = selection.index - matchedText.length - 1; + + if (startIndex !== -1) { + setTimeout(function () { + _this.quill.deleteText(start, matchedText.length); + + _this.quill.insertText(start, hrefText.slice(1, hrefText.length - 1), "link", hrefLink.slice(1, hrefLink.length - 1)); + }, 0); + } + } + }]; // Handler that looks for insert deltas that match specific characters + // eslint-disable-next-line no-unused-vars + + this.quill.on("text-change", function (delta, _oldContents, _source) { + for (var i = 0; i < delta.ops.length; i++) { + if (delta.ops[i].hasOwnProperty("insert")) { + if (delta.ops[i].insert === " ") { + _this.onSpace(); + } else if (delta.ops[i].insert === "\n") { + _this.onEnter(); + } + } + } + }); + } + + _createClass(MarkdownShortcuts, [{ + key: "isValid", + value: function isValid(text, tagName) { + return typeof text !== "undefined" && text && this.ignoreTags.indexOf(tagName) === -1; + } + }, { + key: "onSpace", + value: function onSpace() { + var selection = this.quill.getSelection(); + if (!selection) return; + + var _this$quill$getLine = this.quill.getLine(selection.index), + _this$quill$getLine2 = _slicedToArray(_this$quill$getLine, 2), + line = _this$quill$getLine2[0], + offset = _this$quill$getLine2[1]; + + var text = line.domNode.textContent; + var lineStart = selection.index - offset; + + if (this.isValid(text, line.domNode.tagName)) { + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = this.matches[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var match = _step.value; + var matchedText = text.match(match.pattern); + + if (matchedText) { + // We need to replace only matched text not the whole line + console.log("matched:", match.name, text); + match.action(text, selection, match.pattern, lineStart); + return; + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return != null) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + } + } + }, { + key: "onEnter", + value: function onEnter() { + var selection = this.quill.getSelection(); + if (!selection) return; + + var _this$quill$getLine3 = this.quill.getLine(selection.index), + _this$quill$getLine4 = _slicedToArray(_this$quill$getLine3, 2), + line = _this$quill$getLine4[0], + offset = _this$quill$getLine4[1]; + + var text = line.domNode.textContent + " "; + var lineStart = selection.index - offset; + selection.length = selection.index++; + + if (this.isValid(text, line.domNode.tagName)) { + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; + + try { + for (var _iterator2 = this.matches[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var match = _step2.value; + var matchedText = text.match(match.pattern); + + if (matchedText) { + console.log("matched", match.name, text); + match.action(text, selection, match.pattern, lineStart); + return; + } + } + } catch (err) { + _didIteratorError2 = true; + _iteratorError2 = err; + } finally { + try { + if (!_iteratorNormalCompletion2 && _iterator2.return != null) { + _iterator2.return(); + } + } finally { + if (_didIteratorError2) { + throw _iteratorError2; + } + } + } + } + } + }]); + + return MarkdownShortcuts; +}(); // module.exports = MarkdownShortcuts; + +// +var script = { + name: "VueEditor", + mixins: [oldApi], + props: { + id: { + type: String, + default: "quill-container" + }, + placeholder: { + type: String, + default: "" + }, + value: { + type: String, + default: "" + }, + disabled: { + type: Boolean + }, + editorToolbar: { + type: Array, + default: function _default() { + return []; + } + }, + editorOptions: { + type: Object, + required: false, + default: function _default() { + return {}; + } + }, + useCustomImageHandler: { + type: Boolean, + default: false + }, + useMarkdownShortcuts: { + type: Boolean, + default: false + } + }, + data: function data() { + return { + quill: null + }; + }, + watch: { + value: function value(val) { + if (val != this.quill.root.innerHTML && !this.quill.hasFocus()) { + this.quill.root.innerHTML = val; + } + }, + disabled: function disabled(status) { + this.quill.enable(!status); + } + }, + mounted: function mounted() { + this.registerCustomModules(quill__WEBPACK_IMPORTED_MODULE_0___default.a); + this.registerPrototypes(); + this.initializeEditor(); + }, + beforeDestroy: function beforeDestroy() { + this.quill = null; + delete this.quill; + }, + methods: { + initializeEditor: function initializeEditor() { + this.setupQuillEditor(); + this.checkForCustomImageHandler(); + this.handleInitialContent(); + this.registerEditorEventListeners(); + this.$emit("ready", this.quill); + }, + setupQuillEditor: function setupQuillEditor() { + var editorConfig = { + debug: false, + modules: this.setModules(), + theme: "snow", + placeholder: this.placeholder ? this.placeholder : "", + readOnly: this.disabled ? this.disabled : false + }; + this.prepareEditorConfig(editorConfig); + this.quill = new quill__WEBPACK_IMPORTED_MODULE_0___default.a(this.$refs.quillContainer, editorConfig); + }, + setModules: function setModules() { + var modules = { + toolbar: this.editorToolbar.length ? this.editorToolbar : defaultToolbar + }; + + if (this.useMarkdownShortcuts) { + quill__WEBPACK_IMPORTED_MODULE_0___default.a.register("modules/markdownShortcuts", MarkdownShortcuts, true); + modules["markdownShortcuts"] = {}; + } + + return modules; + }, + prepareEditorConfig: function prepareEditorConfig(editorConfig) { + if (Object.keys(this.editorOptions).length > 0 && this.editorOptions.constructor === Object) { + if (this.editorOptions.modules && typeof this.editorOptions.modules.toolbar !== "undefined") { + // We don't want to merge default toolbar with provided toolbar. + delete editorConfig.modules.toolbar; + } + + mergeDeep(editorConfig, this.editorOptions); + } + }, + registerPrototypes: function registerPrototypes() { + quill__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.getHTML = function () { + return this.container.querySelector(".ql-editor").innerHTML; + }; + + quill__WEBPACK_IMPORTED_MODULE_0___default.a.prototype.getWordCount = function () { + return this.container.querySelector(".ql-editor").innerText.length; + }; + }, + registerEditorEventListeners: function registerEditorEventListeners() { + this.quill.on("text-change", this.handleTextChange); + this.quill.on("selection-change", this.handleSelectionChange); + this.listenForEditorEvent("text-change"); + this.listenForEditorEvent("selection-change"); + this.listenForEditorEvent("editor-change"); + }, + listenForEditorEvent: function listenForEditorEvent(type) { + var _this = this; + + this.quill.on(type, function () { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this.$emit.apply(_this, [type].concat(args)); + }); + }, + handleInitialContent: function handleInitialContent() { + if (this.value) this.quill.root.innerHTML = this.value; // Set initial editor content + }, + handleSelectionChange: function handleSelectionChange(range, oldRange) { + if (!range && oldRange) this.$emit("blur", this.quill);else if (range && !oldRange) this.$emit("focus", this.quill); + }, + handleTextChange: function handleTextChange(delta, oldContents) { + var editorContent = this.quill.getHTML() === "


" ? "" : this.quill.getHTML(); + this.$emit("input", editorContent); + if (this.useCustomImageHandler) this.handleImageRemoved(delta, oldContents); + }, + handleImageRemoved: function handleImageRemoved(delta, oldContents) { + var _this2 = this; + + var currrentContents = this.quill.getContents(); + var deletedContents = currrentContents.diff(oldContents); + var operations = deletedContents.ops; + operations.map(function (operation) { + if (operation.insert && operation.insert.hasOwnProperty("image")) { + var image = operation.insert.image; + + _this2.$emit("image-removed", image); + } + }); + }, + checkForCustomImageHandler: function checkForCustomImageHandler() { + this.useCustomImageHandler === true ? this.setupCustomImageHandler() : ""; + }, + setupCustomImageHandler: function setupCustomImageHandler() { + var toolbar = this.quill.getModule("toolbar"); + toolbar.addHandler("image", this.customImageHandler); + }, + customImageHandler: function customImageHandler() { + this.$refs.fileInput.click(); + }, + emitImageInfo: function emitImageInfo($event) { + var resetUploader = function resetUploader() { + var uploader = document.getElementById("file-upload"); + uploader.value = ""; + }; + + var file = $event.target.files[0]; + var Editor = this.quill; + var range = Editor.getSelection(); + var cursorLocation = range.index; + this.$emit("image-added", file, Editor, cursorLocation, resetUploader); + } + } +}; + +function normalizeComponent(template, style, script, scopeId, isFunctionalTemplate, moduleIdentifier +/* server only */ +, shadowMode, createInjector, createInjectorSSR, createInjectorShadow) { + if (typeof shadowMode !== 'boolean') { + createInjectorSSR = createInjector; + createInjector = shadowMode; + shadowMode = false; + } // Vue.extend constructor export interop. + + + var options = typeof script === 'function' ? script.options : script; // render functions + + if (template && template.render) { + options.render = template.render; + options.staticRenderFns = template.staticRenderFns; + options._compiled = true; // functional template + + if (isFunctionalTemplate) { + options.functional = true; + } + } // scopedId + + + if (scopeId) { + options._scopeId = scopeId; + } + + var hook; + + if (moduleIdentifier) { + // server build + hook = function hook(context) { + // 2.3 injection + context = context || // cached call + this.$vnode && this.$vnode.ssrContext || // stateful + this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext; // functional + // 2.2 with runInNewContext: true + + if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') { + context = __VUE_SSR_CONTEXT__; + } // inject component styles + + + if (style) { + style.call(this, createInjectorSSR(context)); + } // register component module identifier for async chunk inference + + + if (context && context._registeredComponents) { + context._registeredComponents.add(moduleIdentifier); + } + }; // used by ssr in case component is cached and beforeCreate + // never gets called + + + options._ssrRegister = hook; + } else if (style) { + hook = shadowMode ? function () { + style.call(this, createInjectorShadow(this.$root.$options.shadowRoot)); + } : function (context) { + style.call(this, createInjector(context)); + }; + } + + if (hook) { + if (options.functional) { + // register for functional component in vue file + var originalRender = options.render; + + options.render = function renderWithStyleInjection(h, context) { + hook.call(context); + return originalRender(h, context); + }; + } else { + // inject component registration as beforeCreate hook + var existing = options.beforeCreate; + options.beforeCreate = existing ? [].concat(existing, hook) : [hook]; + } + } + + return script; +} + +var normalizeComponent_1 = normalizeComponent; + +var isOldIE = typeof navigator !== 'undefined' && /msie [6-9]\\b/.test(navigator.userAgent.toLowerCase()); + +function createInjector(context) { + return function (id, style) { + return addStyle(id, style); + }; +} + +var HEAD; +var styles = {}; + +function addStyle(id, css) { + var group = isOldIE ? css.media || 'default' : id; + var style = styles[group] || (styles[group] = { + ids: new Set(), + styles: [] + }); + + if (!style.ids.has(id)) { + style.ids.add(id); + var code = css.source; + + if (css.map) { + // https://developer.chrome.com/devtools/docs/javascript-debugging + // this makes source maps inside style tags work properly in Chrome + code += '\n/*# sourceURL=' + css.map.sources[0] + ' */'; // http://stackoverflow.com/a/26603875 + + code += '\n/*# sourceMappingURL=data:application/json;base64,' + btoa(unescape(encodeURIComponent(JSON.stringify(css.map)))) + ' */'; + } + + if (!style.element) { + style.element = document.createElement('style'); + style.element.type = 'text/css'; + if (css.media) style.element.setAttribute('media', css.media); + + if (HEAD === undefined) { + HEAD = document.head || document.getElementsByTagName('head')[0]; + } + + HEAD.appendChild(style.element); + } + + if ('styleSheet' in style.element) { + style.styles.push(code); + style.element.styleSheet.cssText = style.styles.filter(Boolean).join('\n'); + } else { + var index = style.ids.size - 1; + var textNode = document.createTextNode(code); + var nodes = style.element.childNodes; + if (nodes[index]) style.element.removeChild(nodes[index]); + if (nodes.length) style.element.insertBefore(textNode, nodes[index]);else style.element.appendChild(textNode); + } + } +} + +var browser = createInjector; + +/* script */ +const __vue_script__ = script; + +/* template */ +var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"quillWrapper"},[_vm._t("toolbar"),_vm._v(" "),_c('div',{ref:"quillContainer",attrs:{"id":_vm.id}}),_vm._v(" "),(_vm.useCustomImageHandler)?_c('input',{ref:"fileInput",staticStyle:{"display":"none"},attrs:{"id":"file-upload","type":"file","accept":"image/*"},on:{"change":function($event){return _vm.emitImageInfo($event)}}}):_vm._e()],2)}; +var __vue_staticRenderFns__ = []; + + /* style */ + const __vue_inject_styles__ = function (inject) { + if (!inject) return + inject("data-v-776e788e_0", { source: "/*!\n * Quill Editor v1.3.6\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */.ql-container{box-sizing:border-box;font-family:Helvetica,Arial,sans-serif;font-size:13px;height:100%;margin:0;position:relative}.ql-container.ql-disabled .ql-tooltip{visibility:hidden}.ql-container.ql-disabled .ql-editor ul[data-checked]>li::before{pointer-events:none}.ql-clipboard{left:-100000px;height:1px;overflow-y:hidden;position:absolute;top:50%}.ql-clipboard p{margin:0;padding:0}.ql-editor{box-sizing:border-box;line-height:1.42;height:100%;outline:0;overflow-y:auto;padding:12px 15px;tab-size:4;-moz-tab-size:4;text-align:left;white-space:pre-wrap;word-wrap:break-word}.ql-editor>*{cursor:text}.ql-editor blockquote,.ql-editor h1,.ql-editor h2,.ql-editor h3,.ql-editor h4,.ql-editor h5,.ql-editor h6,.ql-editor ol,.ql-editor p,.ql-editor pre,.ql-editor ul{margin:0;padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol,.ql-editor ul{padding-left:1.5em}.ql-editor ol>li,.ql-editor ul>li{list-style-type:none}.ql-editor ul>li::before{content:'\\2022'}.ql-editor ul[data-checked=false],.ql-editor ul[data-checked=true]{pointer-events:none}.ql-editor ul[data-checked=false]>li *,.ql-editor ul[data-checked=true]>li *{pointer-events:all}.ql-editor ul[data-checked=false]>li::before,.ql-editor ul[data-checked=true]>li::before{color:#777;cursor:pointer;pointer-events:all}.ql-editor ul[data-checked=true]>li::before{content:'\\2611'}.ql-editor ul[data-checked=false]>li::before{content:'\\2610'}.ql-editor li::before{display:inline-block;white-space:nowrap;width:1.2em}.ql-editor li:not(.ql-direction-rtl)::before{margin-left:-1.5em;margin-right:.3em;text-align:right}.ql-editor li.ql-direction-rtl::before{margin-left:.3em;margin-right:-1.5em}.ql-editor ol li:not(.ql-direction-rtl),.ql-editor ul li:not(.ql-direction-rtl){padding-left:1.5em}.ql-editor ol li.ql-direction-rtl,.ql-editor ul li.ql-direction-rtl{padding-right:1.5em}.ql-editor ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.ql-editor ol li:before{content:counter(list-0,decimal) '. '}.ql-editor ol li.ql-indent-1{counter-increment:list-1}.ql-editor ol li.ql-indent-1:before{content:counter(list-1,lower-alpha) '. '}.ql-editor ol li.ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-2{counter-increment:list-2}.ql-editor ol li.ql-indent-2:before{content:counter(list-2,lower-roman) '. '}.ql-editor ol li.ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-3{counter-increment:list-3}.ql-editor ol li.ql-indent-3:before{content:counter(list-3,decimal) '. '}.ql-editor ol li.ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-4{counter-increment:list-4}.ql-editor ol li.ql-indent-4:before{content:counter(list-4,lower-alpha) '. '}.ql-editor ol li.ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-5{counter-increment:list-5}.ql-editor ol li.ql-indent-5:before{content:counter(list-5,lower-roman) '. '}.ql-editor ol li.ql-indent-5{counter-reset:list-6 list-7 list-8 list-9}.ql-editor ol li.ql-indent-6{counter-increment:list-6}.ql-editor ol li.ql-indent-6:before{content:counter(list-6,decimal) '. '}.ql-editor ol li.ql-indent-6{counter-reset:list-7 list-8 list-9}.ql-editor ol li.ql-indent-7{counter-increment:list-7}.ql-editor ol li.ql-indent-7:before{content:counter(list-7,lower-alpha) '. '}.ql-editor ol li.ql-indent-7{counter-reset:list-8 list-9}.ql-editor ol li.ql-indent-8{counter-increment:list-8}.ql-editor ol li.ql-indent-8:before{content:counter(list-8,lower-roman) '. '}.ql-editor ol li.ql-indent-8{counter-reset:list-9}.ql-editor ol li.ql-indent-9{counter-increment:list-9}.ql-editor ol li.ql-indent-9:before{content:counter(list-9,decimal) '. '}.ql-editor .ql-indent-1:not(.ql-direction-rtl){padding-left:3em}.ql-editor li.ql-indent-1:not(.ql-direction-rtl){padding-left:4.5em}.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:3em}.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right{padding-right:4.5em}.ql-editor .ql-indent-2:not(.ql-direction-rtl){padding-left:6em}.ql-editor li.ql-indent-2:not(.ql-direction-rtl){padding-left:7.5em}.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:6em}.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right{padding-right:7.5em}.ql-editor .ql-indent-3:not(.ql-direction-rtl){padding-left:9em}.ql-editor li.ql-indent-3:not(.ql-direction-rtl){padding-left:10.5em}.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:9em}.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right{padding-right:10.5em}.ql-editor .ql-indent-4:not(.ql-direction-rtl){padding-left:12em}.ql-editor li.ql-indent-4:not(.ql-direction-rtl){padding-left:13.5em}.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:12em}.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right{padding-right:13.5em}.ql-editor .ql-indent-5:not(.ql-direction-rtl){padding-left:15em}.ql-editor li.ql-indent-5:not(.ql-direction-rtl){padding-left:16.5em}.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:15em}.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right{padding-right:16.5em}.ql-editor .ql-indent-6:not(.ql-direction-rtl){padding-left:18em}.ql-editor li.ql-indent-6:not(.ql-direction-rtl){padding-left:19.5em}.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:18em}.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right{padding-right:19.5em}.ql-editor .ql-indent-7:not(.ql-direction-rtl){padding-left:21em}.ql-editor li.ql-indent-7:not(.ql-direction-rtl){padding-left:22.5em}.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:21em}.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right{padding-right:22.5em}.ql-editor .ql-indent-8:not(.ql-direction-rtl){padding-left:24em}.ql-editor li.ql-indent-8:not(.ql-direction-rtl){padding-left:25.5em}.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:24em}.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right{padding-right:25.5em}.ql-editor .ql-indent-9:not(.ql-direction-rtl){padding-left:27em}.ql-editor li.ql-indent-9:not(.ql-direction-rtl){padding-left:28.5em}.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:27em}.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right{padding-right:28.5em}.ql-editor .ql-video{display:block;max-width:100%}.ql-editor .ql-video.ql-align-center{margin:0 auto}.ql-editor .ql-video.ql-align-right{margin:0 0 0 auto}.ql-editor .ql-bg-black{background-color:#000}.ql-editor .ql-bg-red{background-color:#e60000}.ql-editor .ql-bg-orange{background-color:#f90}.ql-editor .ql-bg-yellow{background-color:#ff0}.ql-editor .ql-bg-green{background-color:#008a00}.ql-editor .ql-bg-blue{background-color:#06c}.ql-editor .ql-bg-purple{background-color:#93f}.ql-editor .ql-color-white{color:#fff}.ql-editor .ql-color-red{color:#e60000}.ql-editor .ql-color-orange{color:#f90}.ql-editor .ql-color-yellow{color:#ff0}.ql-editor .ql-color-green{color:#008a00}.ql-editor .ql-color-blue{color:#06c}.ql-editor .ql-color-purple{color:#93f}.ql-editor .ql-font-serif{font-family:Georgia,Times New Roman,serif}.ql-editor .ql-font-monospace{font-family:Monaco,Courier New,monospace}.ql-editor .ql-size-small{font-size:.75em}.ql-editor .ql-size-large{font-size:1.5em}.ql-editor .ql-size-huge{font-size:2.5em}.ql-editor .ql-direction-rtl{direction:rtl;text-align:inherit}.ql-editor .ql-align-center{text-align:center}.ql-editor .ql-align-justify{text-align:justify}.ql-editor .ql-align-right{text-align:right}.ql-editor.ql-blank::before{color:rgba(0,0,0,.6);content:attr(data-placeholder);font-style:italic;left:15px;pointer-events:none;position:absolute;right:15px}.ql-snow .ql-toolbar:after,.ql-snow.ql-toolbar:after{clear:both;content:'';display:table}.ql-snow .ql-toolbar button,.ql-snow.ql-toolbar button{background:0 0;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.ql-snow .ql-toolbar button svg,.ql-snow.ql-toolbar button svg{float:left;height:100%}.ql-snow .ql-toolbar button:active:hover,.ql-snow.ql-toolbar button:active:hover{outline:0}.ql-snow .ql-toolbar input.ql-image[type=file],.ql-snow.ql-toolbar input.ql-image[type=file]{display:none}.ql-snow .ql-toolbar .ql-picker-item.ql-selected,.ql-snow .ql-toolbar .ql-picker-item:hover,.ql-snow .ql-toolbar .ql-picker-label.ql-active,.ql-snow .ql-toolbar .ql-picker-label:hover,.ql-snow .ql-toolbar button.ql-active,.ql-snow .ql-toolbar button:focus,.ql-snow .ql-toolbar button:hover,.ql-snow.ql-toolbar .ql-picker-item.ql-selected,.ql-snow.ql-toolbar .ql-picker-item:hover,.ql-snow.ql-toolbar .ql-picker-label.ql-active,.ql-snow.ql-toolbar .ql-picker-label:hover,.ql-snow.ql-toolbar button.ql-active,.ql-snow.ql-toolbar button:focus,.ql-snow.ql-toolbar button:hover{color:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-fill,.ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:focus .ql-fill,.ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow .ql-toolbar button:hover .ql-fill,.ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-fill,.ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:focus .ql-fill,.ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover .ql-fill,.ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill{fill:#06c}.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow .ql-toolbar button.ql-active .ql-stroke,.ql-snow .ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow .ql-toolbar button:focus .ql-stroke,.ql-snow .ql-toolbar button:focus .ql-stroke-miter,.ql-snow .ql-toolbar button:hover .ql-stroke,.ql-snow .ql-toolbar button:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,.ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter,.ql-snow.ql-toolbar button.ql-active .ql-stroke,.ql-snow.ql-toolbar button.ql-active .ql-stroke-miter,.ql-snow.ql-toolbar button:focus .ql-stroke,.ql-snow.ql-toolbar button:focus .ql-stroke-miter,.ql-snow.ql-toolbar button:hover .ql-stroke,.ql-snow.ql-toolbar button:hover .ql-stroke-miter{stroke:#06c}@media (pointer:coarse){.ql-snow .ql-toolbar button:hover:not(.ql-active),.ql-snow.ql-toolbar button:hover:not(.ql-active){color:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke,.ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter{stroke:#444}}.ql-snow{box-sizing:border-box}.ql-snow *{box-sizing:border-box}.ql-snow .ql-hidden{display:none}.ql-snow .ql-out-bottom,.ql-snow .ql-out-top{visibility:hidden}.ql-snow .ql-tooltip{position:absolute;transform:translateY(10px)}.ql-snow .ql-tooltip a{cursor:pointer;text-decoration:none}.ql-snow .ql-tooltip.ql-flip{transform:translateY(-10px)}.ql-snow .ql-formats{display:inline-block;vertical-align:middle}.ql-snow .ql-formats:after{clear:both;content:'';display:table}.ql-snow .ql-stroke{fill:none;stroke:#444;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.ql-snow .ql-stroke-miter{fill:none;stroke:#444;stroke-miterlimit:10;stroke-width:2}.ql-snow .ql-fill,.ql-snow .ql-stroke.ql-fill{fill:#444}.ql-snow .ql-empty{fill:none}.ql-snow .ql-even{fill-rule:evenodd}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1}.ql-snow .ql-transparent{opacity:.4}.ql-snow .ql-direction svg:last-child{display:none}.ql-snow .ql-direction.ql-active svg:last-child{display:inline}.ql-snow .ql-direction.ql-active svg:first-child{display:none}.ql-snow .ql-editor h1{font-size:2em}.ql-snow .ql-editor h2{font-size:1.5em}.ql-snow .ql-editor h3{font-size:1.17em}.ql-snow .ql-editor h4{font-size:1em}.ql-snow .ql-editor h5{font-size:.83em}.ql-snow .ql-editor h6{font-size:.67em}.ql-snow .ql-editor a{text-decoration:underline}.ql-snow .ql-editor blockquote{border-left:4px solid #ccc;margin-bottom:5px;margin-top:5px;padding-left:16px}.ql-snow .ql-editor code,.ql-snow .ql-editor pre{background-color:#f0f0f0;border-radius:3px}.ql-snow .ql-editor pre{white-space:pre-wrap;margin-bottom:5px;margin-top:5px;padding:5px 10px}.ql-snow .ql-editor code{font-size:85%;padding:2px 4px}.ql-snow .ql-editor pre.ql-syntax{background-color:#23241f;color:#f8f8f2;overflow:visible}.ql-snow .ql-editor img{max-width:100%}.ql-snow .ql-picker{color:#444;display:inline-block;float:left;font-size:14px;font-weight:500;height:24px;position:relative;vertical-align:middle}.ql-snow .ql-picker-label{cursor:pointer;display:inline-block;height:100%;padding-left:8px;padding-right:2px;position:relative;width:100%}.ql-snow .ql-picker-label::before{display:inline-block;line-height:22px}.ql-snow .ql-picker-options{background-color:#fff;display:none;min-width:100%;padding:4px 8px;position:absolute;white-space:nowrap}.ql-snow .ql-picker-options .ql-picker-item{cursor:pointer;display:block;padding-bottom:5px;padding-top:5px}.ql-snow .ql-picker.ql-expanded .ql-picker-label{color:#ccc;z-index:2}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill{fill:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke{stroke:#ccc}.ql-snow .ql-picker.ql-expanded .ql-picker-options{display:block;margin-top:-1px;top:100%;z-index:1}.ql-snow .ql-color-picker,.ql-snow .ql-icon-picker{width:28px}.ql-snow .ql-color-picker .ql-picker-label,.ql-snow .ql-icon-picker .ql-picker-label{padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-label svg,.ql-snow .ql-icon-picker .ql-picker-label svg{right:4px}.ql-snow .ql-icon-picker .ql-picker-options{padding:4px 0}.ql-snow .ql-icon-picker .ql-picker-item{height:24px;width:24px;padding:2px 4px}.ql-snow .ql-color-picker .ql-picker-options{padding:3px 5px;width:152px}.ql-snow .ql-color-picker .ql-picker-item{border:1px solid transparent;float:left;height:16px;margin:2px;padding:0;width:16px}.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg{position:absolute;margin-top:-9px;right:0;top:50%;width:18px}.ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=''])::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=''])::before{content:attr(data-label)}.ql-snow .ql-picker.ql-header{width:98px}.ql-snow .ql-picker.ql-header .ql-picker-item::before,.ql-snow .ql-picker.ql-header .ql-picker-label::before{content:'Normal'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"1\"]::before{content:'Heading 1'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"2\"]::before{content:'Heading 2'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"3\"]::before{content:'Heading 3'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"4\"]::before{content:'Heading 4'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"5\"]::before{content:'Heading 5'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before,.ql-snow .ql-picker.ql-header .ql-picker-label[data-value=\"6\"]::before{content:'Heading 6'}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"1\"]::before{font-size:2em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"2\"]::before{font-size:1.5em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"3\"]::before{font-size:1.17em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"4\"]::before{font-size:1em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"5\"]::before{font-size:.83em}.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=\"6\"]::before{font-size:.67em}.ql-snow .ql-picker.ql-font{width:108px}.ql-snow .ql-picker.ql-font .ql-picker-item::before,.ql-snow .ql-picker.ql-font .ql-picker-label::before{content:'Sans Serif'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=serif]::before{content:'Serif'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before,.ql-snow .ql-picker.ql-font .ql-picker-label[data-value=monospace]::before{content:'Monospace'}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=serif]::before{font-family:Georgia,Times New Roman,serif}.ql-snow .ql-picker.ql-font .ql-picker-item[data-value=monospace]::before{font-family:Monaco,Courier New,monospace}.ql-snow .ql-picker.ql-size{width:98px}.ql-snow .ql-picker.ql-size .ql-picker-item::before,.ql-snow .ql-picker.ql-size .ql-picker-label::before{content:'Normal'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=small]::before{content:'Small'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=large]::before{content:'Large'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before,.ql-snow .ql-picker.ql-size .ql-picker-label[data-value=huge]::before{content:'Huge'}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=small]::before{font-size:10px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=large]::before{font-size:18px}.ql-snow .ql-picker.ql-size .ql-picker-item[data-value=huge]::before{font-size:32px}.ql-snow .ql-color-picker.ql-background .ql-picker-item{background-color:#fff}.ql-snow .ql-color-picker.ql-color .ql-picker-item{background-color:#000}.ql-toolbar.ql-snow{border:1px solid #ccc;box-sizing:border-box;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;padding:8px}.ql-toolbar.ql-snow .ql-formats{margin-right:15px}.ql-toolbar.ql-snow .ql-picker-label{border:1px solid transparent}.ql-toolbar.ql-snow .ql-picker-options{border:1px solid transparent;box-shadow:rgba(0,0,0,.2) 0 2px 8px}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label{border-color:#ccc}.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options{border-color:#ccc}.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected,.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover{border-color:#000}.ql-toolbar.ql-snow+.ql-container.ql-snow{border-top:0}.ql-snow .ql-tooltip{background-color:#fff;border:1px solid #ccc;box-shadow:0 0 5px #ddd;color:#444;padding:5px 12px;white-space:nowrap}.ql-snow .ql-tooltip::before{content:\"Visit URL:\";line-height:26px;margin-right:8px}.ql-snow .ql-tooltip input[type=text]{display:none;border:1px solid #ccc;font-size:13px;height:26px;margin:0;padding:3px 5px;width:170px}.ql-snow .ql-tooltip a.ql-preview{display:inline-block;max-width:200px;overflow-x:hidden;text-overflow:ellipsis;vertical-align:top}.ql-snow .ql-tooltip a.ql-action::after{border-right:1px solid #ccc;content:'Edit';margin-left:16px;padding-right:8px}.ql-snow .ql-tooltip a.ql-remove::before{content:'Remove';margin-left:8px}.ql-snow .ql-tooltip a{line-height:26px}.ql-snow .ql-tooltip.ql-editing a.ql-preview,.ql-snow .ql-tooltip.ql-editing a.ql-remove{display:none}.ql-snow .ql-tooltip.ql-editing input[type=text]{display:inline-block}.ql-snow .ql-tooltip.ql-editing a.ql-action::after{border-right:0;content:'Save';padding-right:0}.ql-snow .ql-tooltip[data-mode=link]::before{content:\"Enter link:\"}.ql-snow .ql-tooltip[data-mode=formula]::before{content:\"Enter formula:\"}.ql-snow .ql-tooltip[data-mode=video]::before{content:\"Enter video:\"}.ql-snow a{color:#06c}.ql-container.ql-snow{border:1px solid #ccc}", map: undefined, media: undefined }) +,inject("data-v-776e788e_1", { source: ".ql-editor{min-height:200px;font-size:16px}.ql-snow .ql-stroke.ql-thin,.ql-snow .ql-thin{stroke-width:1px!important}.quillWrapper .ql-snow.ql-toolbar{padding-top:8px;padding-bottom:4px}.quillWrapper .ql-snow.ql-toolbar .ql-formats{margin-bottom:10px}.ql-snow .ql-toolbar button svg,.quillWrapper .ql-snow.ql-toolbar button svg{width:22px;height:22px}.quillWrapper .ql-editor ul[data-checked=false]>li::before,.quillWrapper .ql-editor ul[data-checked=true]>li::before{font-size:1.35em;vertical-align:baseline;bottom:-.065em;font-weight:900;color:#222}.quillWrapper .ql-snow .ql-stroke{stroke:rgba(63,63,63,.95);stroke-linecap:square;stroke-linejoin:initial;stroke-width:1.7px}.quillWrapper .ql-picker-label{font-size:15px}.quillWrapper .ql-snow .ql-active .ql-stroke{stroke-width:2.25px}.quillWrapper .ql-toolbar.ql-snow .ql-formats{vertical-align:top}.ql-picker:not(.ql-background){position:relative;top:2px}.ql-picker.ql-color-picker svg{width:22px!important;height:22px!important}.quillWrapper .imageResizeActive img{display:block;cursor:pointer}.quillWrapper .imageResizeActive~div svg{cursor:pointer}", map: undefined, media: undefined }); + + }; + /* scoped */ + const __vue_scope_id__ = undefined; + /* module identifier */ + const __vue_module_identifier__ = undefined; + /* functional template */ + const __vue_is_functional_template__ = false; + /* style inject SSR */ + + + + var VueEditor = normalizeComponent_1( + { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ }, + __vue_inject_styles__, + __vue_script__, + __vue_scope_id__, + __vue_is_functional_template__, + __vue_module_identifier__, + browser, + undefined + ); + +var version = "2.10.3"; // Declare install function executed by Vue.use() + +function install(Vue) { + if (install.installed) return; + install.installed = true; + Vue.component("VueEditor", VueEditor); +} +var VPlugin = { + install: install, + version: version, + Quill: quill__WEBPACK_IMPORTED_MODULE_0___default.a, + VueEditor: VueEditor +}; // Auto-install when vue is found (eg. in browser via + + + + `; +}; +function genEuDialogTemplate(formConfig, widgetList, vue3Flag = false) { + // 看看你拖拽的表单里是不是又弹框的类型 + let index = widgetList.findIndex(item => item.type === 'vf-dialog'); + let dialogTemplate = []; + if (index === -1) return; + let edDialogTemplate = widgetList[index]; + let { + options: { + logic + } + } = edDialogTemplate; + if (logic && logic.length !== 0) { + logic.forEach(item => { + dialogTemplate.push({ + fileName: item, + tempalte: euDialogTemplate(item, formConfig) + }); + }); + } + return dialogTemplate; +} +let apiTempalte = { + 'add': function (url, method) { + return ` + export function addObj(obj) { + return request({ + url: '${url}', + method: 'post', + data: obj + }) + }\n`; + }, + 'edit': function (url, method) { + return ` + export function putObj(obj) { + return request({ + url: '${url}', + method: 'put', + data: obj + }) + } + + export function patchObj(obj) { + return request({ + url: '${url}', + method: 'patch', + data: obj + }) + } + + export function getObj(id) { + return request({ + url: '${url}/' + id, + method: 'get' + }) + } + `; + }, + 'view': function () { + return ''; + } +}; +// request的数据模板 +function requestApiTemplate(data, logic) { + const { + url, + method, + params + } = data; + return ` + import request from '@/utils/request.js' + export function queryList (data) { + return request({ + url:'${url}', + method:'${method.toLowerCase()}', + ${params ? 'params:data' : ''} + }) + } + ${logic && logic.length !== 0 ? logic.map(item => { + return apiTempalte[item](url, method); + }).join('') : ''} + `; +} +// 生成接口的js 文件 +function genApiJS(formConfig, widgetList) { + console.log("生成js", formConfig, widgetList); + let index = widgetList.findIndex(item => item.type === 'data-table'); + if (index === -1) return; + const { + options: { + yapiInterfaceInfo + } + } = widgetList[index]; + if (yapiInterfaceInfo.url) { + let index = widgetList.findIndex(item => item.type === 'vf-dialog'); + let logic = []; + if (index !== -1) { + const { + options + } = widgetList[index]; + logic = options.logic; + } + return requestApiTemplate(yapiInterfaceInfo, logic); + } +} + +// 生成表单里的form 文件 +function genDialogFormTemplate(formConfig, widgetList, beautifier) { + let index = widgetList.findIndex(item => item.type === 'vf-dialog'); + let vue3Flag = false; + if (index === -1) return ''; + const data = widgetList[index]; + if (data.options.logic && data.options.logic.length === 0) return ''; + if (data.widgetList.length === 0) return ''; + const html = beautifier.html(genTemplate(formConfig, data.widgetList, vue3Flag), beautifierOpts.html); + const js = beautifier.js(vue3Flag ? genVue3JS(formConfig, data.widgetList) : Object(vue2js_generator["f" /* genVue2JS */])(formConfig, data.widgetList, true), beautifierOpts.js); + const globalCss = beautifier.css(genGlobalCSS(formConfig), beautifierOpts.css); + const scopedCss = beautifier.css(genScopedCSS(formConfig, vue3Flag), beautifierOpts.css); + let vueTemplate = ` + + + + + + + `; + return vueTemplate; +} +const genGlobalCSS = function (formConfig) { + const globalCssTemplate = ` .el-input-number.full-width-input, .el-cascader.full-width-input { + width: 100% !important; + } + + .el-form-item--medium { + .el-radio { + line-height: 36px !important; + } + + .el-rate{ + margin-top: 8px; + } + } + + .el-form-item--small { + .el-radio { + line-height: 32px !important; + } + + .el-rate{ + margin-top: 6px; + } + } + + .el-form-item--mini { + .el-radio { + line-height: 28px !important; + } + + .el-rate{ + margin-top: 4px; + } + } + + .clear-fix:before, .clear-fix:after { + display: table; + content: ""; + } + + .clear-fix:after { + clear: both; + } + + .float-right { + float: right; + } + +${formConfig.cssCode}`; + return globalCssTemplate; +}; +const genScopedCSS = function (formConfig, vue3Flag = false) { + //const vDeep = !!vue3Flag ? `::v-deep` : `:deep` + const cssTemplate = ` div.table-container { + table.table-layout { + width: 100%; + table-layout: fixed; + border-collapse: collapse; + + td.table-cell { + display: table-cell; + height: 36px; + border: 1px solid #e1e2e3; + } + } + } + + div.tab-container { + } + + .label-left-align ${vue3Flag ? `:deep(.el-form-item__label)` : `::v-deep .el-form-item__label`} { + text-align: left; + } + + .label-center-align ${vue3Flag ? `:deep(.el-form-item__label)` : `::v-deep .el-form-item__label`} { + text-align: center; + } + + .label-right-align ${vue3Flag ? `:deep(.el-form-item__label)` : `::v-deep .el-form-item__label`} { + text-align: right; + } + + .custom-label { + } + + .static-content-item { + min-height: 20px; + display: flex; + align-items: center; + + ${vue3Flag ? `:deep(.el-divider--horizontal)` : `::v-deep .el-divider--horizontal`} { + margin: 0; + } + }`; + return cssTemplate; +}; + +/** + * 注册容器组件的代码生成器 + * @param containerType 容器类型,必须唯一 + * @param ctGenerator 代码生成器函数,接收两个参数(containerWidget, formConfig),返回生成的容器组件代码 + */ +const registerCWGenerator = function (containerType, ctGenerator) { + containerTemplates[containerType] = ctGenerator; +}; +/** + * 注册eu容器组件的代码生成器 + * @param containerType 容器类型,必须唯一 + * @param ctGenerator 代码生成器函数,接收两个参数(containerWidget, formConfig),返回生成的容器组件代码 + */ +const registerCWEUGenerator = function (containerType, ctGenerator) { + euContainerTemplates[containerType] = ctGenerator; +}; + +/** + * 注册字段组件的代码生成器 + * @param fieldType 字段类型,必须唯一 + * @param ftGenerator 代码生成器函数,接收两个参数(fieldWidget, formConfig),返回生成的字段组件代码 + */ +const registerFWGenerator = function (fieldType, ftGenerator, euTag = true) { + if (euTag) { + euTemplates[fieldType] = ftGenerator; + return; + } + elTemplates[fieldType] = ftGenerator; +}; +const genSFC = function (formConfig, widgetList, beautifier, vue3Flag = false) { + console.log('生成标签', formConfig, widgetList, beautifierOpts.html); + const html = beautifier.html(genTemplate(formConfig, widgetList, vue3Flag), beautifierOpts.html); + const js = beautifier.js(vue3Flag ? genVue3JS(formConfig, widgetList) : Object(vue2js_generator["f" /* genVue2JS */])(formConfig, widgetList), beautifierOpts.js); + const globalCss = beautifier.css(genGlobalCSS(formConfig), beautifierOpts.css); + const scopedCss = beautifier.css(genScopedCSS(formConfig, vue3Flag), beautifierOpts.css); + const vueTemplate = ` + + + + + + + + `; + //美化Vue模板vueTemplate + return beautifier.html(vueTemplate, beautifierOpts.html); +}; +// CONCATENATED MODULE: ./src/extension/samples/extension-sfc-generator.js + +const cardTemplateGenerator = function (cw, formConfig) { + const wop = cw.options; + //const headerAttr = `header="${wop.label}"` + const classAttr = buildClassAttr(cw); + const styleAttr = wop.cardWidth ? `style="{width: ${wop.cardWidth} !important}"` : ''; + const shadowAttr = `shadow="${wop.shadow}"`; + const vShowAttr = wop.hidden ? `v-show="false"` : ''; + const cardTemplate = `
+ +
+ ${wop.label} + ${wop.showFold ? `` : ''} +
+ ${cw.widgetList.map(wItem => { + if (wItem.category === 'container') { + return buildContainerWidget(wItem, formConfig); + } else { + return buildFieldWidget(wItem, formConfig); + } + }).join('')} +
+
`; + return cardTemplate; +}; +const alertTemplateGenerator = function (fw, formConfig) { + const wop = fw.options; + const titleAttr = `title="${wop.title}"`; + const typeAttr = `type=${wop.type}`; + const descriptionAttr = wop.description ? `description="${wop.description}"` : ''; + const closableAttr = `:closable="${wop.closable}"`; + const closeTextAttr = wop.closeText ? `close-text="${wop.closeText}"` : ''; + const centerAttr = `:center="${wop.center}"`; + const showIconAttr = `:show-icon="${wop.showIcon}"`; + const effectAttr = `effect="${wop.effect}"`; + const alertTemplate = ` +`; + return alertTemplate; +}; +const euSelectDicTemplateGenerator = function (fw, formConfig) { + const wop = fw.options; + // const titleAttr = `title="${wop.title}"` + // const typeAttr = `type=${wop.type}` + const dicname = wop.dicname; + const euSelectDicTemplate = ` +`; + return euSelectDicTemplate; +}; +const euMoneyInputTemplateGenerator = function (fw, formConfig) { + // const titleAttr = `title="${wop.title}"` + // const typeAttr = `type=${wop.type}` + + const euMoneyInputTemplate = ` +`; + return euMoneyInputTemplate; +}; +const TreeFormTemplateGenerator = function (fw, formConfig) { + const wop = fw.options; + const euMoneyInputTemplate = ` + + + + + + {{ node.label }} + + {{ node.label }} + + + + + + + + + + `; + return euMoneyInputTemplate; +}; +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/alert/alert-widget.vue?vue&type=template&id=b1f52dec&scoped=true +var alert_widgetvue_type_template_id_b1f52dec_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('static-content-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('el-alert',{ref:"fieldEditor",attrs:{"title":_vm.field.options.title,"type":_vm.field.options.type,"description":_vm.field.options.description,"closable":_vm.field.options.closable,"center":_vm.field.options.center,"close-text":_vm.field.options.closeText,"show-icon":_vm.field.options.showIcon,"effect":_vm.field.options.effect},on:{"close":_vm.handleCloseCustomEvent}})],1)} +var alert_widgetvue_type_template_id_b1f52dec_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/alert/alert-widget.vue?vue&type=template&id=b1f52dec&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue + 4 modules +var static_content_wrapper = __webpack_require__("828b"); + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/fieldMixin.js +var fieldMixin = __webpack_require__("2d11"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/alert/alert-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// + + + + + +/* harmony default export */ var alert_widgetvue_type_script_lang_js = ({ + name: "alert-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + components: { + StaticContentWrapper: static_content_wrapper["default"] + }, + created() { + this.registerToRefList(); + this.initEventHandler(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + handleCloseCustomEvent() { + if (!!this.field.options.onClose) { + let changeFn = new Function(this.field.options.onClose); + changeFn.call(this); + } + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/alert/alert-widget.vue?vue&type=script&lang=js + /* harmony default export */ var alert_alert_widgetvue_type_script_lang_js = (alert_widgetvue_type_script_lang_js); +// CONCATENATED MODULE: ./src/extension/samples/alert/alert-widget.vue + + + + + +/* normalize component */ + +var alert_widget_component = Object(componentNormalizer["a" /* default */])( + alert_alert_widgetvue_type_script_lang_js, + alert_widgetvue_type_template_id_b1f52dec_scoped_true_render, + alert_widgetvue_type_template_id_b1f52dec_scoped_true_staticRenderFns, + false, + null, + "b1f52dec", + null + +) + +/* harmony default export */ var alert_widget = (alert_widget_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=template&id=65f8a5ca&scoped=true +var select_dic_widgetvue_type_template_id_65f8a5ca_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('eu-select-dic',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],ref:"fieldEditor",staticClass:"full-width-input",attrs:{"filter":_vm.field.options.useFilter,"efilter":_vm.field.options.useEfilter,"size":_vm.field.options.size,"disabled":_vm.field.options.disabled,"code":_vm.field.options.dicname,"placeholder":_vm.field.options.placeholder || _vm.i18nt('render.hint.selectPlaceholder')},on:{"focus":_vm.handleFocusCustomEvent,"input":_vm.handleChangeEvent},nativeOn:{"!blur":function($event){return _vm.handleBlurCustomEvent.apply(null, arguments)}},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}}),(_vm.isReadMode)?[_c('span',{staticClass:"readonly-mode-field"},[_vm._v(_vm._s(_vm.optionLabel))])]:_vm._e()],2)} +var select_dic_widgetvue_type_template_id_65f8a5ca_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=template&id=65f8a5ca&scoped=true + +// EXTERNAL MODULE: ./src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue + 4 modules +var form_item_wrapper = __webpack_require__("9eeb"); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/selectidc/index.vue?vue&type=template&id=28d29fb1 +var selectidcvue_type_template_id_28d29fb1_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"select-container"},[_c('el-select',{staticClass:"full-width-input",attrs:{"value":_vm.value,"filterable":_vm.filterable,"disabled":_vm.disabled,"placeholder":_vm.placeholder,"size":_vm.size,"clearable":""},on:{"change":_vm.change,"visible-change":_vm.visilbleChange}},_vm._l((_vm.slefOption),function(item){return _c('el-option',{key:item.value,attrs:{"label":item.text,"value":item.value}})}),1)],1)} +var selectidcvue_type_template_id_28d29fb1_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/selectidc/index.vue?vue&type=template&id=28d29fb1 + +// EXTERNAL MODULE: ./src/utils/setAllDic.js +var setAllDic = __webpack_require__("236e"); + +// EXTERNAL MODULE: ./node_modules/axios/index.js +var axios = __webpack_require__("bc3a"); +var axios_default = /*#__PURE__*/__webpack_require__.n(axios); + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/selectidc/index.vue?vue&type=script&lang=js + +// +// +// +// +// +// +// +// +// +// +// +// + +// import request from '@/utils/request' + + +/* harmony default export */ var selectidcvue_type_script_lang_js = ({ + props: { + // 公共 + size: { + type: String, + default: '' + }, + placeholder: { + type: String, + default: '' + }, + value: { + type: String, + default: '' + }, + disabled: { + type: Boolean, + default: false + }, + filterable: { + type: Boolean, + default: false + }, + // 当为select的时候需要传入 start + options: { + type: Array, + default() { + return []; + } + }, + code: { + type: String, + default: '' + }, + filter: { + type: Array, + default: Array + }, + efilter: { + type: Array, + default: Array + }, + dynamic: { + type: Object, + default: () => { + return {}; + } + }, + reqEvery: { + type: Boolean, + default: false + } + // 当为select的时候需要传入 end + }, + data() { + return { + // 当为select的时候需要用到变量 start + slefOption: [] + // 当为select的时候需要用到变量 end + }; + }, + watch: { + // 当为select的时候动态传入 需要监听的值 start + options(newval) { + this.slefOption = newval; + this.dicFilter(); + }, + dynamic(newval) { + this.slefOption.push(newval); + }, + code(newval, oldval) { + this.initCodeOption(); + }, + filter(newval, oldval) { + if (newval && newval != '') { + console.log(newval, oldval, '==dic'); + this.useFilter = newval.split(','); + setTimeout(() => { + this.$refs.fieldEditor.reloadCodeOption(); + this.$refs.fieldEditor.dicFilter(); + }, 0); + } else { + this.$refs.fieldEditor.reloadCodeOption(); + } + }, + efilter(newval, oldval) { + if (newval && newval != '') { + console.log(newval, oldval, '==dic'); + this.useEfilter = newval.split(','); + setTimeout(() => { + this.$refs.fieldEditor.reloadCodeOption(); + this.$refs.fieldEditor.dicFilter(); + }, 0); + } else { + this.$refs.fieldEditor.reloadCodeOption(); + } + } + // 当为select的时候动态传入 需要监听的值 end + }, + created() { + // 当只传入options 的动作 + this.initOption(); + // 当传入code 的时候动作 + this.initCodeOption(); + }, + methods: { + visilbleChange() { + if (this.reqEvery === true) { + this.reloadCodeOption(); + this.dicFilter(); + } + }, + change(value) { + this.$emit('input', value); + }, + // 当为select的时候需要用到方法 start + // 当只传入options 的动作 + initOption() { + if (this.options && this.options.length !== 0) { + this.slefOption = this.options; + this.dicFilter(); + } + }, + // 当传入code 的时候动作 + async initCodeOption() { + if (this.code && this.code !== '') { + if (Object(setAllDic["a" /* getAllDic */])() && Object(setAllDic["a" /* getAllDic */])()[this.code]) { + this.slefOption = Object(setAllDic["a" /* getAllDic */])()[this.code]; + this.dicFilter(); + } else { + const { + data + } = await axios_default()({ + url: window.GLOBAL_OBJ.DIC_URL + this.code, + method: 'get' + }); + this.slefOption = data; + this.dicFilter(); + } + } + }, + // 重新加载字典项 + reloadCodeOption() { + if (this.code && this.code !== '') { + if (Object(setAllDic["a" /* getAllDic */])() && Object(setAllDic["a" /* getAllDic */])()[this.code]) { + this.slefOption = Object(setAllDic["a" /* getAllDic */])()[this.code]; + } + } + }, + // 过滤的动作 + dicFilter() { + if (this.filter && this.filter.length !== 0) { + this.slefOption = this.slefOption.filter(item => { + if (this.filter.includes(item.value)) { + return true; + } + }); + } else if (this.efilter && this.efilter.length !== 0) { + this.slefOption = this.slefOption.filter(item => { + if (this.efilter.includes(item.value)) { + return false; + } else { + return true; + } + }); + } + } + // 当为select的时候需要用到方法 end + } +}); +// CONCATENATED MODULE: ./src/extension/samples/selectidc/index.vue?vue&type=script&lang=js + /* harmony default export */ var samples_selectidcvue_type_script_lang_js = (selectidcvue_type_script_lang_js); +// CONCATENATED MODULE: ./src/extension/samples/selectidc/index.vue + + + + + +/* normalize component */ + +var selectidc_component = Object(componentNormalizer["a" /* default */])( + samples_selectidcvue_type_script_lang_js, + selectidcvue_type_template_id_28d29fb1_render, + selectidcvue_type_template_id_28d29fb1_staticRenderFns, + false, + null, + null, + null + +) + +/* harmony default export */ var selectidc = (selectidc_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var select_dic_widgetvue_type_script_lang_js = ({ + name: "eu-select-dic-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + data() { + return { + fieldModel: null, + rules: [], + oldFieldValue: null, + useFilter: [], + useEfilter: [] + }; + }, + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + watch: { + // 'field.options'(newval,oldval) { + // console.log(newval,oldval); + // }, + // 'field.options.disabled'(newval,oldval){ + // console.log(newval,oldval,'==dis'); + // }, + 'field.options.dicname'(newval, oldval) { + console.log(newval, oldval, '==dic'); + }, + 'field.options.useFilter'(newval, oldval) { + console.log(newval, oldval, 'useFilter is change!'); + if (newval && newval != '') { + console.log(newval, oldval, '==dic'); + this.useFilter = newval.split(','); + setTimeout(() => { + this.$refs.fieldEditor.reloadCodeOption(); + this.$refs.fieldEditor.dicFilter(); + }, 0); + } else { + this.$refs.fieldEditor.reloadCodeOption(); + } + }, + 'field.options.useEfilter'(newval, oldval) { + if (newval && newval != '') { + console.log(newval, oldval, '==dic'); + this.useEfilter = newval.split(','); + setTimeout(() => { + this.$refs.fieldEditor.reloadCodeOption(); + this.$refs.fieldEditor.dicFilter(); + }, 0); + } else { + this.$refs.fieldEditor.reloadCodeOption(); + } + } + }, + components: { + euSelectDic: selectidc, + FormItemWrapper: form_item_wrapper["default"] + }, + created() { + this.registerToRefList(); + this.initEventHandler(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + handleCloseCustomEvent() { + if (this.field.options.onClose) { + let changeFn = new Function(this.field.options.onClose); + changeFn.call(this); + } + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=script&lang=js + /* harmony default export */ var selectidc_select_dic_widgetvue_type_script_lang_js = (select_dic_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/extension/samples/selectidc/select-dic-widget.vue?vue&type=style&index=0&id=65f8a5ca&prod&lang=scss&scoped=true +var select_dic_widgetvue_type_style_index_0_id_65f8a5ca_prod_lang_scss_scoped_true = __webpack_require__("40d52"); + +// CONCATENATED MODULE: ./src/extension/samples/selectidc/select-dic-widget.vue + + + + + + +/* normalize component */ + +var select_dic_widget_component = Object(componentNormalizer["a" /* default */])( + selectidc_select_dic_widgetvue_type_script_lang_js, + select_dic_widgetvue_type_template_id_65f8a5ca_scoped_true_render, + select_dic_widgetvue_type_template_id_65f8a5ca_scoped_true_staticRenderFns, + false, + null, + "65f8a5ca", + null + +) + +/* harmony default export */ var select_dic_widget = (select_dic_widget_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/moneyinput/money-input-widget.vue?vue&type=template&id=306803dd&scoped=true +var money_input_widgetvue_type_template_id_306803dd_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form-item-wrapper',{attrs:{"designer":_vm.designer,"field":_vm.field,"rules":_vm.rules,"design-state":_vm.designState,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList,"sub-form-row-index":_vm.subFormRowIndex,"sub-form-col-index":_vm.subFormColIndex,"sub-form-row-id":_vm.subFormRowId}},[_c('eu-money-input',{directives:[{name:"show",rawName:"v-show",value:(!_vm.isReadMode),expression:"!isReadMode"}],ref:"fieldEditor",staticClass:"full-width-input",attrs:{"size":_vm.field.options.size,"disabled":_vm.field.options.disabled,"suffix":_vm.field.options.suffix,"value":_vm.field.options.money},on:{"update:value":function($event){return _vm.$set(_vm.field.options, "money", $event)}},model:{value:(_vm.fieldModel),callback:function ($$v) {_vm.fieldModel=$$v},expression:"fieldModel"}})],1)} +var money_input_widgetvue_type_template_id_306803dd_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/money-input-widget.vue?vue&type=template&id=306803dd&scoped=true + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/moneyinput/index.vue?vue&type=template&id=f47c3a9c&scoped=true +var moneyinputvue_type_template_id_f47c3a9c_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tooltip',{staticClass:"item",attrs:{"content":_vm.moneyVal,"effect":"dark","placement":"top"}},[_c('el-input',{attrs:{"disabled":_vm.disabled,"size":_vm.size,"clearable":""},on:{"input":_vm.inMoney,"blur":_vm.moneyThousand},model:{value:(_vm.money),callback:function ($$v) {_vm.money=$$v},expression:"money"}},[_c('template',{slot:"append"},[_vm._v(_vm._s(_vm.suffix))])],2)],1)} +var moneyinputvue_type_template_id_f47c3a9c_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/index.vue?vue&type=template&id=f47c3a9c&scoped=true + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/moneyinput/index.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// + +/* harmony default export */ var moneyinputvue_type_script_lang_js = ({ + props: { + // eslint-disable-next-line vue/require-prop-type-constructor + value: '', + disabled: { + type: Boolean, + isRequired: true, + default() { + return false; + } + }, + blurCall: { + type: Function, + isRequired: false, + default() { + return false; + } + }, + inputVal: { + type: Function, + isRequired: false, + default() { + return false; + } + }, + maxLength: { + type: Number, + isRequired: true, + default() { + return 15; + } + }, + suffix: { + type: String, + isRequired: true, + default() { + return '(元)'; + } + }, + size: { + type: String, + isRequired: true, + default() { + return 'mini'; + } + } + }, + data() { + return { + moneyVal: '', + money: this.value, + propVal: true + }; + }, + watch: { + 'value': { + handler(val) { + if (this.disabled && val) { + this.moneyThousand(val); + } + if (val && this.propVal) { + this.propVal = false; + this.moneyThousand(val); + this.moneyVal = this.moneyCapitalization(val); + } + if (val === 0) { + this.moneyVal = this.moneyThousand(val); + } + }, + immediate: true + } + }, + methods: { + moneyCapitalization(val) { + let n = Number(val); + if (!/^\d{1,12}(\.\d{1,2})?$/.test(n)) { + return ''; + } + let unit = '仟佰拾亿仟佰拾万仟佰拾圆角分'; + let str = ''; + n += '00'; + const p = n.indexOf('.'); + if (p >= 0) { + n = n.substring(0, p) + n.substr(p + 1, 2); + } + unit = unit.substr(unit.length - n.length); + for (let i = 0; i < n.length; i++) { + str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i); + } + return str.replace(/零(仟|佰|拾|角)/g, '零').replace(/(零)+/g, '零').replace(/零(万|亿|圆)/g, '$1').replace(/(亿)万|壹(拾)/g, '$1$2').replace(/^圆零?|零分/g, '').replace(/圆$/g, '圆整'); + }, + inMoney(val) { + const moneyLength = this.maxLength; + this.propVal = false; + // 金额正则匹配 + // eslint-disable-next-line no-useless-escape + this.money = val.replace(/[^\d.]/g, '').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^0{2}|^0[1-9]/g, ''); + if (this.money.indexOf('.') >= 0) { + this.money = this.money.slice(0, moneyLength + 3); + } else { + if (moneyLength > this.maxLength) { + this.money = this.money.slice(0, this.maxLength - 1); + } else { + this.money = this.money.slice(0, this.maxLength); + } + } + // 大写提示 + if (val !== '') { + this.moneyVal = this.moneyCapitalization(val); + this.$emit('update:value', Number(this.money)); + this.inputVal() && typeof this.inputVal === 'function'; + } else { + this.moneyVal = ''; + this.money = ''; + this.$emit('update:value', val); + } + }, + // 离开时千分位格式 + moneyThousand(val) { + const n = 2; + let s = val.target === undefined ? val : val.target.value; + if (s < 0 || s === '') { + this.money = ''; + return; + } + // eslint-disable-next-line no-useless-escape + s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + ''; + const l = s.split('.')[0].split('').reverse(); + const r = s.split('.')[1]; + let t = ''; + for (let i = 0; i < l.length; i++) { + t += l[i] + ((i + 1) % 3 === 0 && i + 1 !== l.length ? ',' : ''); + } + this.money = t.split('').reverse().join('') + '.' + r; + this.propVal = true; + this.blurCall() && typeof this.blurCall === 'function'; + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/index.vue?vue&type=script&lang=js + /* harmony default export */ var samples_moneyinputvue_type_script_lang_js = (moneyinputvue_type_script_lang_js); +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/index.vue + + + + + +/* normalize component */ + +var moneyinput_component = Object(componentNormalizer["a" /* default */])( + samples_moneyinputvue_type_script_lang_js, + moneyinputvue_type_template_id_f47c3a9c_scoped_true_render, + moneyinputvue_type_template_id_f47c3a9c_scoped_true_staticRenderFns, + false, + null, + "f47c3a9c", + null + +) + +/* harmony default export */ var moneyinput = (moneyinput_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/moneyinput/money-input-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var money_input_widgetvue_type_script_lang_js = ({ + name: "eu-money-input-widget", + componentName: 'FieldWidget', + //必须固定为FieldWidget,用于接收父级组件的broadcast事件 + mixins: [emitter["a" /* default */], fieldMixin["a" /* default */], i18n["b" /* default */]], + data() { + return { + fieldModel: null, + rules: [], + oldFieldValue: null + }; + }, + props: { + field: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + designState: { + type: Boolean, + default: false + }, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + watch: { + // 'field.options'(newval,oldval) { + // console.log(newval,oldval); + // }, + // 'field.options.disabled'(newval,oldval){ + // console.log(newval,oldval,'==dis'); + // }, + 'field.options.dicname'(newval, oldval) { + console.log(newval, oldval, '==dic'); + } + }, + components: { + euMoneyInput: moneyinput, + FormItemWrapper: form_item_wrapper["default"] + }, + created() { + this.registerToRefList(); + this.initEventHandler(); + }, + beforeDestroy() { + this.unregisterFromRefList(); + }, + methods: { + handleCloseCustomEvent() { + if (this.field.options.onClose) { + let changeFn = new Function(this.field.options.onClose); + changeFn.call(this); + } + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/money-input-widget.vue?vue&type=script&lang=js + /* harmony default export */ var moneyinput_money_input_widgetvue_type_script_lang_js = (money_input_widgetvue_type_script_lang_js); +// CONCATENATED MODULE: ./src/extension/samples/moneyinput/money-input-widget.vue + + + + + +/* normalize component */ + +var money_input_widget_component = Object(componentNormalizer["a" /* default */])( + moneyinput_money_input_widgetvue_type_script_lang_js, + money_input_widgetvue_type_template_id_306803dd_scoped_true_render, + money_input_widgetvue_type_template_id_306803dd_scoped_true_staticRenderFns, + false, + null, + "306803dd", + null + +) + +/* harmony default export */ var money_input_widget = (money_input_widget_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=template&id=838f7fb2&scoped=true +var tree_form_widgetvue_type_template_id_838f7fb2_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('container-wrapper',{attrs:{"designer":_vm.designer,"widget":_vm.widget,"parent-widget":_vm.parentWidget,"parent-list":_vm.parentList,"index-of-parent-list":_vm.indexOfParentList}},[_c('div',{key:_vm.widget.id,staticClass:"collapse-container",class:{'selected': _vm.selected},on:{"click":function($event){$event.stopPropagation();return _vm.selectWidget(_vm.widget)}}},[_c('tree-form',{ref:"treeForm",attrs:{"defaultProps":_vm.widget.options.defaultProps,"treeData":_vm.widget.options.treeData,"defaultNode":_vm.widget.options.defaultNode,"defaultPath":_vm.widget.options.defaultPath}})],1)])} +var tree_form_widgetvue_type_template_id_838f7fb2_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=template&id=838f7fb2&scoped=true + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"14d71175-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/treeForm/index.vue?vue&type=template&id=e2fe9546&scoped=true +var treeFormvue_type_template_id_e2fe9546_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',[_c('el-aside',{staticStyle:{"margin-right":"20px"},attrs:{"width":"260px"}},[_c('el-tree',{ref:"treeItem",attrs:{"data":_vm.treeData,"default-expanded-keys":_vm.defaultNode,"props":_vm.defaultProps,"icon-class":"complete","node-key":"id"},on:{"node-click":_vm.handleNodeClick},scopedSlots:_vm._u([{key:"default",fn:function(ref){ +var node = ref.node; +var data = ref.data; +return _c('span',{staticClass:"custom-tree-node"},[(data.children)?_c('i',{class:!node.expanded?'el-icon-folder':'el-icon-folder-opened'}):_vm._e(),(node.label.length > 10)?_c('el-tooltip',{staticClass:"item",attrs:{"content":node.label,"effect":"dark","placement":"top-start"}},[_c('span',[_vm._v(_vm._s(node.label))])]):_c('span',[_vm._v(_vm._s(node.label))])],1)}}])})],1),_c('el-container',[_c('el-main',[_c('keep-alive',[_c('div',[_vm._v(_vm._s(_vm.pathUrl))])])],1)],1)],1)} +var treeFormvue_type_template_id_e2fe9546_scoped_true_staticRenderFns = [] + + +// CONCATENATED MODULE: ./src/extension/samples/treeForm/index.vue?vue&type=template&id=e2fe9546&scoped=true + +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/treeForm/index.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + +/* harmony default export */ var treeFormvue_type_script_lang_js = ({ + name: 'treeForm', + props: { + treeData: { + type: Array, + isRequired: true, + default: function () { + return []; + } + }, + defaultNode: { + type: Array, + isRequired: true, + default: function () { + return []; + } + }, + dirPath: { + type: String, + isRequired: true, + default: function () { + return ''; + } + }, + nodePath: { + type: String, + isRequired: true, + default: function () { + return ''; + } + }, + defaultProps: { + type: Object, + isRequired: true, + default: function () { + return { + children: 'children', + label: 'label', + value: 'value' + }; + } + } + }, + data() { + return { + pathUrl: this.dirPath, + nodeId: '', + tapNode: null + }; + }, + methods: { + handleNodeClick(data) { + //如果 节点或目录上配置了path则使用节点上的,没有则使用默认的 + console.log("节点被点击", data, this.pathUrl, this.defaultPath); + if (data.data) { + this.tapNode = data.data; + } + this.nodeId = data.id; + if (data.children) { + this.pathUrl = this.dirPath; + } else { + this.pathUrl = this.nodePath; + } + this.pathUrl = data.url ? data.url : this.pathUrl; + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/treeForm/index.vue?vue&type=script&lang=js + /* harmony default export */ var samples_treeFormvue_type_script_lang_js = (treeFormvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/extension/samples/treeForm/index.vue?vue&type=style&index=0&id=e2fe9546&prod&scoped=true&lang=scss +var treeFormvue_type_style_index_0_id_e2fe9546_prod_scoped_true_lang_scss = __webpack_require__("da4a"); + +// CONCATENATED MODULE: ./src/extension/samples/treeForm/index.vue + + + + + + +/* normalize component */ + +var treeForm_component = Object(componentNormalizer["a" /* default */])( + samples_treeFormvue_type_script_lang_js, + treeFormvue_type_template_id_e2fe9546_scoped_true_render, + treeFormvue_type_template_id_e2fe9546_scoped_true_staticRenderFns, + false, + null, + "e2fe9546", + null + +) + +/* harmony default export */ var treeForm = (treeForm_component.exports); +// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=script&lang=js +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// +// + + + + + + +/* harmony default export */ var tree_form_widgetvue_type_script_lang_js = ({ + name: "tree-form-widget", + componentName: 'DataTableWidget', + mixins: [i18n["b" /* default */], containerMixin, refMixinDesign], + inject: ['refList'], + components: { + ContainerWrapper: container_wrapper, + TreeForm: treeForm + }, + data() { + return {}; + }, + props: { + widget: Object, + parentWidget: Object, + parentList: Array, + indexOfParentList: Number, + designer: Object, + subFormRowIndex: { + /* 子表单组件行索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormColIndex: { + /* 子表单组件列索引,从0开始计数 */ + type: Number, + default: -1 + }, + subFormRowId: { + /* 子表单组件行Id,唯一id且不可变 */ + type: String, + default: '' + } + }, + created() { + console.log('widget', this.widget); + }, + beforeDestroy() {}, + computed: { + selected() { + return this.widget.id === this.designer.selectedId; + } + }, + methods: { + selectWidget(widget) { + this.designer.setSelected(widget); + } + } +}); +// CONCATENATED MODULE: ./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=script&lang=js + /* harmony default export */ var treeForm_tree_form_widgetvue_type_script_lang_js = (tree_form_widgetvue_type_script_lang_js); +// EXTERNAL MODULE: ./src/extension/samples/treeForm/tree-form-widget.vue?vue&type=style&index=0&id=838f7fb2&prod&lang=scss&scoped=true +var tree_form_widgetvue_type_style_index_0_id_838f7fb2_prod_lang_scss_scoped_true = __webpack_require__("fd64"); + +// CONCATENATED MODULE: ./src/extension/samples/treeForm/tree-form-widget.vue + + + + + + +/* normalize component */ + +var tree_form_widget_component = Object(componentNormalizer["a" /* default */])( + treeForm_tree_form_widgetvue_type_script_lang_js, + tree_form_widgetvue_type_template_id_838f7fb2_scoped_true_render, + tree_form_widgetvue_type_template_id_838f7fb2_scoped_true_staticRenderFns, + false, + null, + "838f7fb2", + null + +) + +/* harmony default export */ var tree_form_widget = (tree_form_widget_component.exports); +// CONCATENATED MODULE: ./src/extension/extension-loader.js + + + + + + + + + + + + + +// 下拉字典组件 + + +// 单选字典组件 + + + +// 千分位组件 + + +// 树形容器组件 + +// import TreeFormCustomClassEditor from '@/extension/samples/treeForm/tree-form-customClass-editor.vue' + + + +const loadExtension = function () { + /** + * 加载容器组件步骤: + * 1. 加载组件Json Schema; + * 2. 全局注册容器组件,容器组件有两种状态——设计期和运行期,故需要注册两个组件; + * 3. 全局注册属性编辑器组件(基本属性、高级属性、事件属性); + * 4. 注册容器组件的代码生成器; + * 5. 加载完毕。 + */ + // 去widgetsConfig 添加了 拖拽用的数据模型 + addContainerWidgetSchema(cardSchema); //加载组件Json Schema + /* -------------------------------------------------- */ + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(card_widget.name, card_widget); //注册设计期的容器组件 + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(card_item.name, card_item); //注册运行期的容器组件 + /* -------------------------------------------------- */ + // 注册了属性面板 是否显示折叠按钮 + registerCPEditor('card-folded', 'card-folded-editor', createBooleanEditor('folded', 'extension.setting.cardFolded')); + // 注册了属性面板 是否显示阴影按钮 + registerCPEditor('card-showFold', 'card-showFold-editor', createBooleanEditor('showFold', 'extension.setting.cardShowFold')); + // 卡片宽度 + registerCPEditor('card-cardWidth', 'card-cardWidth-editor', createInputTextEditor('cardWidth', 'extension.setting.cardWidth')); + let shadowOptions = [{ + label: 'never', + value: 'never' + }, { + label: 'hover', + value: 'hover' + }, { + label: 'always', + value: 'always' + }]; + registerCPEditor('card-shadow', 'card-shadow-editor', createSelectEditor('shadow', 'extension.setting.cardShadow', { + optionItems: shadowOptions + })); + + // 注册右侧属性的组件 end + /* -------------------------------------------------- */ + // 添加了 新建组件的 代码生成 + registerCWEUGenerator('card', cardTemplateGenerator); //注册容器组件的代码生成器 + /* -------------------------------------------------- */ + /* 容器组件加载完毕 end */ + + /** + * 加载字段组件步骤: + * 1. 加载组件Json Schema; + * 2. 全局注册字段组件,字段组件设计期和运行期共用,故需要仅需注册一个组件; + * 3. 全局注册属性编辑器组件(基本属性、高级属性、事件属性); + * 4. 注册字段组件的代码生成器; + * 5. 加载完毕。 + */ + addCustomWidgetSchema(alertSchema); //加载组件Json Schema + /* -------------------------------------------------- */ + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(alert_widget.name, alert_widget); //注册组件 + /* -------------------------------------------------- */ + registerCPEditor('alert-title', 'alert-title-editor', createInputTextEditor('title', 'extension.setting.alertTitle')); + let typeOptions = [{ + label: 'success', + value: 'success' + }, { + label: 'warning', + value: 'warning' + }, { + label: 'info', + value: 'info' + }, { + label: 'error', + value: 'error' + }]; + // PERegister.registerCPEditor('alert-type', 'alert-type-editor', + // PEFactory.createSelectEditor('type', 'extension.setting.alertType', + // {optionItems: typeOptions})) + /* type属性映射已存在,无须再注册,故只需注册属性编辑器即可!! */ + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component('alert-type-editor', createSelectEditor('type', 'extension.setting.alertType', { + optionItems: typeOptions + })); + registerCPEditor('alert-description', 'alert-description-editor', createInputTextEditor('description', 'extension.setting.description')); + registerCPEditor('alert-closable', 'alert-closable-editor', createBooleanEditor('closable', 'extension.setting.closable')); + registerCPEditor('alert-closeText', 'alert-closeText-editor', createInputTextEditor('closeText', 'extension.setting.closeText')); + registerCPEditor('alert-center', 'alert-center-editor', createBooleanEditor('center', 'extension.setting.center')); + registerCPEditor('alert-showIcon', 'alert-showIcon-editor', createBooleanEditor('showIcon', 'extension.setting.showIcon')); + let effectOptions = [{ + label: 'light', + value: 'light' + }, { + label: 'dark', + value: 'dark' + }]; + registerCPEditor('alert-effect', 'alert-effect-editor', createRadioButtonGroupEditor('effect', 'extension.setting.effect', { + optionItems: effectOptions + })); + registerEPEditor('alert-onClose', 'alert-onClose-editor', createEventHandlerEditor('onClose', [])); + /* -------------------------------------------------- */ + registerFWGenerator('alert', alertTemplateGenerator); //注册字段组件的代码生成器 + /* -------------------------------------------------- */ + /* 字段组件加载完毕 end */ + // // handleNodeClick + // PERegister.registerEPEditor('onHandleNodeClick', 'onHandleNodeClick-editor', + // PEFactory.createEventHandlerEditor('onHandleNodeClick', [])) + // // registerFWGenerator('alert', alertTemplateGenerator) //注册字段组件的代码生成器 + + // 注册下拉字典翻译组件 + // 把数据对象添加到 左侧的拖拽面板 + addCustomWidgetSchema(selectDicSchema); + // 然后全局注册你的 在中间显示的组件 + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(select_dic_widget.name, select_dic_widget); + // 注册右侧面板的属性 + registerCPEditor('dicname', 'select-dic-name-editor', createInputTextEditor('dicname', 'extension.setting.selectdicname')); + registerCPEditor('filter', 'eu-filter-dic', createInputTextEditor('filter', 'extension.setting.filter')); + registerCPEditor('efilter', 'eu-efilter-dic', createInputTextEditor('efilter', 'extension.setting.efilter')); + registerFWGenerator('select-dic', euSelectDicTemplateGenerator); //注册字段组件的代码生成器 + + //树形结构 + // treeData:[], + // defaultProps + // defaultNode-- + // dirPath + // nodePath + + // 注册输入千分位组件 + addCustomWidgetSchema(moneyInputSchema); + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(money_input_widget.name, money_input_widget); + registerFWGenerator('eu-money-input', euMoneyInputTemplateGenerator); + + // 注册树插件组件 + addCustomWidgetSchema(treeFormSchema); + external_commonjs_vue_commonjs2_vue_root_Vue_default.a.component(tree_form_widget.name, tree_form_widget); + // PERegister.registerCPEditor('customClass', 'tree-form-customClass-editor',TreeFormCustomClassEditor) + registerCWGenerator('tree-form', TreeFormTemplateGenerator); //注册容器组件的代码生成器 +}; +// CONCATENATED MODULE: ./install-render.js + + + + +loadExtension(); +form_render.install = function (Vue) { + Vue.component(form_render.name, form_render); + Vue.component(table_high_level_column["a" /* default */].name, table_high_level_column["a" /* default */]); +}; +const components = [form_render, table_high_level_column["a" /* default */]]; +const install = Vue => { + window.axios = axios_default.a; + components.forEach(component => { + Vue.component(component.name, component); + }); +}; +if (typeof window !== 'undefined' && window.Vue) { + /* script方式引入时主动调用install方法!! */ + install(window.Vue); +} +/* harmony default export */ var install_render = ({ + install, + VFormRender: form_render +}); +// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js + + +/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (install_render); + + + +/***/ }), + +/***/ "fc6a": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +// toObject with fallback for non-array-like ES3 strings +var IndexedObject = __webpack_require__("44ad"); +var requireObjectCoercible = __webpack_require__("1d80"); + +module.exports = function (it) { + return IndexedObject(requireObjectCoercible(it)); +}; + + +/***/ }), + +/***/ "fd64": +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tree_form_widget_vue_vue_type_style_index_0_id_838f7fb2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d0c5"); +/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tree_form_widget_vue_vue_type_style_index_0_id_838f7fb2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_9_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_9_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_9_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_9_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_1_0_node_modules_vue_loader_lib_index_js_vue_loader_options_tree_form_widget_vue_vue_type_style_index_0_id_838f7fb2_prod_lang_scss_scoped_true__WEBPACK_IMPORTED_MODULE_0__); +/* unused harmony reexport * */ + + +/***/ }), + +/***/ "fdbf": +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +/* eslint-disable es/no-symbol -- required for testing */ +var NATIVE_SYMBOL = __webpack_require__("04f8"); + +module.exports = NATIVE_SYMBOL + && !Symbol.sham + && typeof Symbol.iterator == 'symbol'; + + +/***/ }) + +/******/ })["default"]; +}); +//# sourceMappingURL=VFormRender.umd.min.js.map \ No newline at end of file diff --git b/axios.min.js a/axios.min.js new file mode 100644 index 0000000..dc58380 --- /dev/null +++ a/axios.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).axios=t()}(this,(function(){"use strict";function e(e){var r,n;function o(r,n){try{var a=e[r](n),u=a.value,s=u instanceof t;Promise.resolve(s?u.v:u).then((function(t){if(s){var n="return"===r?"return":"next";if(!u.k||t.done)return o(n,t);t=e[n](t).value}i(a.done?"return":"normal",t)}),(function(e){o("throw",e)}))}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":r.resolve({value:t,done:!0});break;case"throw":r.reject(t);break;default:r.resolve({value:t,done:!1})}(r=r.next)?o(r.key,r.arg):n=null}this._invoke=function(e,t){return new Promise((function(i,a){var u={key:e,arg:t,resolve:i,reject:a,next:null};n?n=n.next=u:(r=n=u,o(e,t))}))},"function"!=typeof e.return&&(this.return=void 0)}function t(e,t){this.v=e,this.k=t}function r(e){var r={},n=!1;function o(r,o){return n=!0,o=new Promise((function(t){t(e[r](o))})),{done:!1,value:new t(o,1)}}return r["undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator"]=function(){return this},r.next=function(e){return n?(n=!1,e):o("next",e)},"function"==typeof e.throw&&(r.throw=function(e){if(n)throw n=!1,e;return o("throw",e)}),"function"==typeof e.return&&(r.return=function(e){return n?(n=!1,e):o("return",e)}),r}function n(e){var t,r,n,i=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,n=Symbol.iterator);i--;){if(r&&null!=(t=e[r]))return t.call(e);if(n&&null!=(t=e[n]))return new o(t.call(e));r="@@asyncIterator",n="@@iterator"}throw new TypeError("Object is not async iterable")}function o(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return o=function(e){this.s=e,this.n=e.next},o.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new o(e)}function i(e){return new t(e,0)}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(s&&c){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),A(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:L(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function l(t){return function(){return new e(t.apply(this,arguments))}}function p(e,t,r,n,o,i,a){try{var u=e[i](a),s=u.value}catch(e){return void r(e)}u.done?t(s):Promise.resolve(s).then(n,o)}function h(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){p(i,n,o,a,u,"next",e)}function u(e){p(i,n,o,a,u,"throw",e)}a(void 0)}))}}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function v(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r2&&void 0!==arguments[2]?arguments[2]:{},i=o.allOwnKeys,a=void 0!==i&&i;if(null!=e)if("object"!==f(e)&&(e=[e]),N(e))for(r=0,n=e.length;r0;)if(t===(r=n[o]).toLowerCase())return r;return null}var Q="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,Z=function(e){return!_(e)&&e!==Q};var ee,te=(ee="undefined"!=typeof Uint8Array&&j(Uint8Array),function(e){return ee&&e instanceof ee}),re=P("HTMLFormElement"),ne=function(e){var t=Object.prototype.hasOwnProperty;return function(e,r){return t.call(e,r)}}(),oe=P("RegExp"),ie=function(e,t){var r=Object.getOwnPropertyDescriptors(e),n={};$(r,(function(r,o){var i;!1!==(i=t(r,o,e))&&(n[o]=i||r)})),Object.defineProperties(e,n)},ae="abcdefghijklmnopqrstuvwxyz",ue="0123456789",se={DIGIT:ue,ALPHA:ae,ALPHA_DIGIT:ae+ae.toUpperCase()+ue};var ce,fe,le,pe,he=P("AsyncFunction"),de=(ce="function"==typeof setImmediate,fe=U(Q.postMessage),ce?setImmediate:fe?(le="axios@".concat(Math.random()),pe=[],Q.addEventListener("message",(function(e){var t=e.source,r=e.data;t===Q&&r===le&&pe.length&&pe.shift()()}),!1),function(e){pe.push(e),Q.postMessage(le,"*")}):function(e){return setTimeout(e)}),ve="undefined"!=typeof queueMicrotask?queueMicrotask.bind(Q):"undefined"!=typeof process&&process.nextTick||de,ye={isArray:N,isArrayBuffer:C,isBuffer:function(e){return null!==e&&!_(e)&&null!==e.constructor&&!_(e.constructor)&&U(e.constructor.isBuffer)&&e.constructor.isBuffer(e)},isFormData:function(e){var t;return e&&("function"==typeof FormData&&e instanceof FormData||U(e.append)&&("formdata"===(t=A(e))||"object"===t&&U(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&C(e.buffer)},isString:F,isNumber:B,isBoolean:function(e){return!0===e||!1===e},isObject:D,isPlainObject:I,isReadableStream:G,isRequest:K,isResponse:V,isHeaders:X,isUndefined:_,isDate:q,isFile:M,isBlob:z,isRegExp:oe,isFunction:U,isStream:function(e){return D(e)&&U(e.pipe)},isURLSearchParams:J,isTypedArray:te,isFileList:H,forEach:$,merge:function e(){for(var t=Z(this)&&this||{},r=t.caseless,n={},o=function(t,o){var i=r&&Y(n,o)||o;I(n[i])&&I(t)?n[i]=e(n[i],t):I(t)?n[i]=e({},t):N(t)?n[i]=t.slice():n[i]=t},i=0,a=arguments.length;i3&&void 0!==arguments[3]?arguments[3]:{},o=n.allOwnKeys;return $(t,(function(t,n){r&&U(t)?e[n]=R(t,r):e[n]=t}),{allOwnKeys:o}),e},trim:function(e){return e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e},inherits:function(e,t,r,n){e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},toFlatObject:function(e,t,r,n){var o,i,a,u={};if(t=t||{},null==e)return t;do{for(i=(o=Object.getOwnPropertyNames(e)).length;i-- >0;)a=o[i],n&&!n(a,e,t)||u[a]||(t[a]=e[a],u[a]=!0);e=!1!==r&&j(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:A,kindOfTest:P,endsWith:function(e,t,r){e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;var n=e.indexOf(t,r);return-1!==n&&n===r},toArray:function(e){if(!e)return null;if(N(e))return e;var t=e.length;if(!B(t))return null;for(var r=new Array(t);t-- >0;)r[t]=e[t];return r},forEachEntry:function(e,t){for(var r,n=(e&&e[Symbol.iterator]).call(e);(r=n.next())&&!r.done;){var o=r.value;t.call(e,o[0],o[1])}},matchAll:function(e,t){for(var r,n=[];null!==(r=e.exec(t));)n.push(r);return n},isHTMLForm:re,hasOwnProperty:ne,hasOwnProp:ne,reduceDescriptors:ie,freezeMethods:function(e){ie(e,(function(t,r){if(U(e)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;var n=e[r];U(n)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=function(){throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:function(e,t){var r={},n=function(e){e.forEach((function(e){r[e]=!0}))};return N(e)?n(e):n(String(e).split(t)),r},toCamelCase:function(e){return e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r}))},noop:function(){},toFiniteNumber:function(e,t){return null!=e&&Number.isFinite(e=+e)?e:t},findKey:Y,global:Q,isContextDefined:Z,ALPHABET:se,generateString:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:16,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:se.ALPHA_DIGIT,r="",n=t.length;e--;)r+=t[Math.random()*n|0];return r},isSpecCompliantForm:function(e){return!!(e&&U(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])},toJSONObject:function(e){var t=new Array(10);return function e(r,n){if(D(r)){if(t.indexOf(r)>=0)return;if(!("toJSON"in r)){t[n]=r;var o=N(r)?[]:{};return $(r,(function(t,r){var i=e(t,n+1);!_(i)&&(o[r]=i)})),t[n]=void 0,o}}return r}(e,0)},isAsyncFn:he,isThenable:function(e){return e&&(D(e)||U(e))&&U(e.then)&&U(e.catch)},setImmediate:de,asap:ve};function me(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}ye.inherits(me,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ye.toJSONObject(this.config),code:this.code,status:this.status}}});var be=me.prototype,ge={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(e){ge[e]={value:e}})),Object.defineProperties(me,ge),Object.defineProperty(be,"isAxiosError",{value:!0}),me.from=function(e,t,r,n,o,i){var a=Object.create(be);return ye.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(function(e){return"isAxiosError"!==e})),me.call(a,e.message,t,r,n,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};function we(e){return ye.isPlainObject(e)||ye.isArray(e)}function Ee(e){return ye.endsWith(e,"[]")?e.slice(0,-2):e}function Oe(e,t,r){return e?e.concat(t).map((function(e,t){return e=Ee(e),!r&&t?"["+e+"]":e})).join(r?".":""):t}var Se=ye.toFlatObject(ye,{},null,(function(e){return/^is[A-Z]/.test(e)}));function xe(e,t,r){if(!ye.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;var n=(r=ye.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ye.isUndefined(t[e])}))).metaTokens,o=r.visitor||c,i=r.dots,a=r.indexes,u=(r.Blob||"undefined"!=typeof Blob&&Blob)&&ye.isSpecCompliantForm(t);if(!ye.isFunction(o))throw new TypeError("visitor must be a function");function s(e){if(null===e)return"";if(ye.isDate(e))return e.toISOString();if(!u&&ye.isBlob(e))throw new me("Blob is not supported. Use a Buffer instead.");return ye.isArrayBuffer(e)||ye.isTypedArray(e)?u&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,r,o){var u=e;if(e&&!o&&"object"===f(e))if(ye.endsWith(r,"{}"))r=n?r:r.slice(0,-2),e=JSON.stringify(e);else if(ye.isArray(e)&&function(e){return ye.isArray(e)&&!e.some(we)}(e)||(ye.isFileList(e)||ye.endsWith(r,"[]"))&&(u=ye.toArray(e)))return r=Ee(r),u.forEach((function(e,n){!ye.isUndefined(e)&&null!==e&&t.append(!0===a?Oe([r],n,i):null===a?r:r+"[]",s(e))})),!1;return!!we(e)||(t.append(Oe(o,r,i),s(e)),!1)}var l=[],p=Object.assign(Se,{defaultVisitor:c,convertValue:s,isVisitable:we});if(!ye.isObject(e))throw new TypeError("data must be an object");return function e(r,n){if(!ye.isUndefined(r)){if(-1!==l.indexOf(r))throw Error("Circular reference detected in "+n.join("."));l.push(r),ye.forEach(r,(function(r,i){!0===(!(ye.isUndefined(r)||null===r)&&o.call(t,r,ye.isString(i)?i.trim():i,n,p))&&e(r,n?n.concat(i):[i])})),l.pop()}}(e),t}function Re(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function Te(e,t){this._pairs=[],e&&xe(e,this,t)}var ke=Te.prototype;function je(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ae(e,t,r){if(!t)return e;var n=r&&r.encode||je;ye.isFunction(r)&&(r={serialize:r});var o,i=r&&r.serialize;if(o=i?i(t,r):ye.isURLSearchParams(t)?t.toString():new Te(t,r).toString(n)){var a=e.indexOf("#");-1!==a&&(e=e.slice(0,a)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}ke.append=function(e,t){this._pairs.push([e,t])},ke.toString=function(e){var t=e?function(t){return e.call(this,t,Re)}:Re;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var Pe=function(){function e(){d(this,e),this.handlers=[]}return y(e,[{key:"use",value:function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}},{key:"eject",value:function(e){this.handlers[e]&&(this.handlers[e]=null)}},{key:"clear",value:function(){this.handlers&&(this.handlers=[])}},{key:"forEach",value:function(e){ye.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}]),e}(),Le={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ne={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:Te,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},_e="undefined"!=typeof window&&"undefined"!=typeof document,Ce="object"===("undefined"==typeof navigator?"undefined":f(navigator))&&navigator||void 0,Fe=_e&&(!Ce||["ReactNative","NativeScript","NS"].indexOf(Ce.product)<0),Ue="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Be=_e&&window.location.href||"http://localhost",De=u(u({},Object.freeze({__proto__:null,hasBrowserEnv:_e,hasStandardBrowserWebWorkerEnv:Ue,hasStandardBrowserEnv:Fe,navigator:Ce,origin:Be})),Ne);function Ie(e){function t(e,r,n,o){var i=e[o++];if("__proto__"===i)return!0;var a=Number.isFinite(+i),u=o>=e.length;return i=!i&&ye.isArray(n)?n.length:i,u?(ye.hasOwnProp(n,i)?n[i]=[n[i],r]:n[i]=r,!a):(n[i]&&ye.isObject(n[i])||(n[i]=[]),t(e,r,n[i],o)&&ye.isArray(n[i])&&(n[i]=function(e){var t,r,n={},o=Object.keys(e),i=o.length;for(t=0;t-1,i=ye.isObject(e);if(i&&ye.isHTMLForm(e)&&(e=new FormData(e)),ye.isFormData(e))return o?JSON.stringify(Ie(e)):e;if(ye.isArrayBuffer(e)||ye.isBuffer(e)||ye.isStream(e)||ye.isFile(e)||ye.isBlob(e)||ye.isReadableStream(e))return e;if(ye.isArrayBufferView(e))return e.buffer;if(ye.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return xe(e,new De.classes.URLSearchParams,Object.assign({visitor:function(e,t,r,n){return De.isNode&&ye.isBuffer(e)?(this.append(t,e.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((r=ye.isFileList(e))||n.indexOf("multipart/form-data")>-1){var a=this.env&&this.env.FormData;return xe(r?{"files[]":e}:e,a&&new a,this.formSerializer)}}return i||o?(t.setContentType("application/json",!1),function(e,t,r){if(ye.isString(e))try{return(t||JSON.parse)(e),ye.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||qe.transitional,r=t&&t.forcedJSONParsing,n="json"===this.responseType;if(ye.isResponse(e)||ye.isReadableStream(e))return e;if(e&&ye.isString(e)&&(r&&!this.responseType||n)){var o=!(t&&t.silentJSONParsing)&&n;try{return JSON.parse(e)}catch(e){if(o){if("SyntaxError"===e.name)throw me.from(e,me.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:De.classes.FormData,Blob:De.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ye.forEach(["delete","get","head","post","put","patch"],(function(e){qe.headers[e]={}}));var Me=qe,ze=ye.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),He=Symbol("internals");function Je(e){return e&&String(e).trim().toLowerCase()}function We(e){return!1===e||null==e?e:ye.isArray(e)?e.map(We):String(e)}function Ge(e,t,r,n,o){return ye.isFunction(n)?n.call(this,t,r):(o&&(t=r),ye.isString(t)?ye.isString(n)?-1!==t.indexOf(n):ye.isRegExp(n)?n.test(t):void 0:void 0)}var Ke=function(e,t){function r(e){d(this,r),e&&this.set(e)}return y(r,[{key:"set",value:function(e,t,r){var n=this;function o(e,t,r){var o=Je(t);if(!o)throw new Error("header name must be a non-empty string");var i=ye.findKey(n,o);(!i||void 0===n[i]||!0===r||void 0===r&&!1!==n[i])&&(n[i||t]=We(e))}var i=function(e,t){return ye.forEach(e,(function(e,r){return o(e,r,t)}))};if(ye.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(ye.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))i(function(e){var t,r,n,o={};return e&&e.split("\n").forEach((function(e){n=e.indexOf(":"),t=e.substring(0,n).trim().toLowerCase(),r=e.substring(n+1).trim(),!t||o[t]&&ze[t]||("set-cookie"===t?o[t]?o[t].push(r):o[t]=[r]:o[t]=o[t]?o[t]+", "+r:r)})),o}(e),t);else if(ye.isHeaders(e)){var a,u=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=O(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(e.entries());try{for(u.s();!(a=u.n()).done;){var s=b(a.value,2),c=s[0];o(s[1],c,r)}}catch(e){u.e(e)}finally{u.f()}}else null!=e&&o(t,e,r);return this}},{key:"get",value:function(e,t){if(e=Je(e)){var r=ye.findKey(this,e);if(r){var n=this[r];if(!t)return n;if(!0===t)return function(e){for(var t,r=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;t=n.exec(e);)r[t[1]]=t[2];return r}(n);if(ye.isFunction(t))return t.call(this,n,r);if(ye.isRegExp(t))return t.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}},{key:"has",value:function(e,t){if(e=Je(e)){var r=ye.findKey(this,e);return!(!r||void 0===this[r]||t&&!Ge(0,this[r],r,t))}return!1}},{key:"delete",value:function(e,t){var r=this,n=!1;function o(e){if(e=Je(e)){var o=ye.findKey(r,e);!o||t&&!Ge(0,r[o],o,t)||(delete r[o],n=!0)}}return ye.isArray(e)?e.forEach(o):o(e),n}},{key:"clear",value:function(e){for(var t=Object.keys(this),r=t.length,n=!1;r--;){var o=t[r];e&&!Ge(0,this[o],o,e,!0)||(delete this[o],n=!0)}return n}},{key:"normalize",value:function(e){var t=this,r={};return ye.forEach(this,(function(n,o){var i=ye.findKey(r,o);if(i)return t[i]=We(n),void delete t[o];var a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r}))}(o):String(o).trim();a!==o&&delete t[o],t[a]=We(n),r[a]=!0})),this}},{key:"concat",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n1?r-1:0),o=1;o1&&void 0!==arguments[1]?arguments[1]:Date.now();o=i,r=null,n&&(clearTimeout(n),n=null),e.apply(null,t)};return[function(){for(var e=Date.now(),t=e-o,u=arguments.length,s=new Array(u),c=0;c=i?a(s,e):(r=s,n||(n=setTimeout((function(){n=null,a(r)}),i-t)))},function(){return r&&a(r)}]}ye.inherits(Ye,me,{__CANCEL__:!0});var tt=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3,n=0,o=Ze(50,250);return et((function(r){var i=r.loaded,a=r.lengthComputable?r.total:void 0,u=i-n,s=o(u);n=i;var c=m({loaded:i,total:a,progress:a?i/a:void 0,bytes:u,rate:s||void 0,estimated:s&&a&&i<=a?(a-i)/s:void 0,event:r,lengthComputable:null!=a},t?"download":"upload",!0);e(c)}),r)},rt=function(e,t){var r=null!=e;return[function(n){return t[0]({lengthComputable:r,total:e,loaded:n})},t[1]]},nt=function(e){return function(){for(var t=arguments.length,r=new Array(t),n=0;n1?t-1:0),n=1;n1?"since :\n"+u.map(At).join("\n"):" "+At(u[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return r};function Nt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ye(null,e)}function _t(e){return Nt(e),e.headers=Ve.from(e.headers),e.data=Xe.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Lt(e.adapter||Me.adapter)(e).then((function(t){return Nt(e),t.data=Xe.call(e,e.transformResponse,t),t.headers=Ve.from(t.headers),t}),(function(t){return $e(t)||(Nt(e),t&&t.response&&(t.response.data=Xe.call(e,e.transformResponse,t.response),t.response.headers=Ve.from(t.response.headers))),Promise.reject(t)}))}var Ct="1.7.9",Ft={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){Ft[e]=function(r){return f(r)===e||"a"+(t<1?"n ":" ")+e}}));var Ut={};Ft.transitional=function(e,t,r){function n(e,t){return"[Axios v1.7.9] Transitional option '"+e+"'"+t+(r?". "+r:"")}return function(r,o,i){if(!1===e)throw new me(n(o," has been removed"+(t?" in "+t:"")),me.ERR_DEPRECATED);return t&&!Ut[o]&&(Ut[o]=!0,console.warn(n(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,o,i)}},Ft.spelling=function(e){return function(t,r){return console.warn("".concat(r," is likely a misspelling of ").concat(e)),!0}};var Bt={assertOptions:function(e,t,r){if("object"!==f(e))throw new me("options must be an object",me.ERR_BAD_OPTION_VALUE);for(var n=Object.keys(e),o=n.length;o-- >0;){var i=n[o],a=t[i];if(a){var u=e[i],s=void 0===u||a(u,i,e);if(!0!==s)throw new me("option "+i+" must be "+s,me.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new me("Unknown option "+i,me.ERR_BAD_OPTION)}},validators:Ft},Dt=Bt.validators,It=function(){function e(t){d(this,e),this.defaults=t,this.interceptors={request:new Pe,response:new Pe}}var t;return y(e,[{key:"request",value:(t=h(s().mark((function e(t,r){var n,o;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._request(t,r);case 3:return e.abrupt("return",e.sent);case 6:if(e.prev=6,e.t0=e.catch(0),e.t0 instanceof Error){n={},Error.captureStackTrace?Error.captureStackTrace(n):n=new Error,o=n.stack?n.stack.replace(/^.+\n/,""):"";try{e.t0.stack?o&&!String(e.t0.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(e.t0.stack+="\n"+o):e.t0.stack=o}catch(e){}}throw e.t0;case 10:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,r){return t.apply(this,arguments)})},{key:"_request",value:function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{};var r=t=st(this.defaults,t),n=r.transitional,o=r.paramsSerializer,i=r.headers;void 0!==n&&Bt.assertOptions(n,{silentJSONParsing:Dt.transitional(Dt.boolean),forcedJSONParsing:Dt.transitional(Dt.boolean),clarifyTimeoutError:Dt.transitional(Dt.boolean)},!1),null!=o&&(ye.isFunction(o)?t.paramsSerializer={serialize:o}:Bt.assertOptions(o,{encode:Dt.function,serialize:Dt.function},!0)),Bt.assertOptions(t,{baseUrl:Dt.spelling("baseURL"),withXsrfToken:Dt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();var a=i&&ye.merge(i.common,i[t.method]);i&&ye.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete i[e]})),t.headers=Ve.concat(a,i);var u=[],s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,u.unshift(e.fulfilled,e.rejected))}));var c,f=[];this.interceptors.response.forEach((function(e){f.push(e.fulfilled,e.rejected)}));var l,p=0;if(!s){var h=[_t.bind(this),void 0];for(h.unshift.apply(h,u),h.push.apply(h,f),l=h.length,c=Promise.resolve(t);p0;)n._listeners[t](e);n._listeners=null}})),this.promise.then=function(e){var t,r=new Promise((function(e){n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},t((function(e,t,o){n.reason||(n.reason=new Ye(e,t,o),r(n.reason))}))}return y(e,[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}},{key:"unsubscribe",value:function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}}},{key:"toAbortSignal",value:function(){var e=this,t=new AbortController,r=function(e){t.abort(e)};return this.subscribe(r),t.signal.unsubscribe=function(){return e.unsubscribe(r)},t.signal}}],[{key:"source",value:function(){var t;return{token:new e((function(e){t=e})),cancel:t}}}]),e}(),zt=Mt;var Ht={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ht).forEach((function(e){var t=b(e,2),r=t[0],n=t[1];Ht[n]=r}));var Jt=Ht;var Wt=function e(t){var r=new qt(t),n=R(qt.prototype.request,r);return ye.extend(n,qt.prototype,r,{allOwnKeys:!0}),ye.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return e(st(t,r))},n}(Me);return Wt.Axios=qt,Wt.CanceledError=Ye,Wt.CancelToken=zt,Wt.isCancel=$e,Wt.VERSION=Ct,Wt.toFormData=xe,Wt.AxiosError=me,Wt.Cancel=Wt.CanceledError,Wt.all=function(e){return Promise.all(e)},Wt.spread=function(e){return function(t){return e.apply(null,t)}},Wt.isAxiosError=function(e){return ye.isObject(e)&&!0===e.isAxiosError},Wt.mergeConfig=st,Wt.AxiosHeaders=Ve,Wt.formToJSON=function(e){return Ie(ye.isHTMLForm(e)?new FormData(e):e)},Wt.getAdapter=Lt,Wt.HttpStatusCode=Jt,Wt.default=Wt,Wt})); diff --git b/common.js a/common.js new file mode 100644 index 0000000..a121a5b --- /dev/null +++ a/common.js @@ -0,0 +1,160 @@ + +function setLocalData(data) { + for(let key in data) { + window.localStorage.setItem(key,data[key]) + } +} +function initRequestHead () { + let scms_header = { + "glbSeqNo": "123213434", + "sysSegNo": "324234325", + "busDate": "", + "tralate": "", + "bankCode": "", + "operaUser": "", + "operaOrg": "", + "serVer": "v1", + "traCode": "", + "userCode": localStorage.getItem('userCode') || '', + "chnlType": "XCX" + } + // 公共头 +var commonHeader = { + + TRAN_CODE: '', //交易码 url + SERVICE_ID: 'mobile', //服务ID,服务的唯一标识 + GLB_SEQ_NO: '', //全局交易流水号 + SYS_SEQ_NO: '', //系统间调用流水号 + USER_IDtail: '', //服务请求者身份 + CUSTOMER_ID: '', //客户号 + BRANCH_ID: '', //发送方机构ID + SOURCE_TYPE: 'XCX', //渠道类型 + WS_ID: '', //终端标识 设别唯一标识 + SOURCE_SYSID: 'XCX001', //请求系统编号 + SYS_DATE: getDate(), //交易日期 + SYS_TIMESTAMP: getTime(), //交易时间 + RECONCIL_DATE: getTime(), //对账日期 + // SERVER_ID: projectConfig.ipPort, // 请求方服务器标识,可考虑使用IP地址 + // SOURCE_BRANCH_NO: '', // 源节点编号(预留) + DEST_BRANCH_NO: '', // 目标节点编号(预留) + MACVAL: '', //签名 + TOKEN: '', // 交易唯一标识 + deviceId: '', + USER_ID: '', + VERSION: '', + "scms-header": JSON.stringify(scms_header) + // "scms-header": { + // "glbSeqNo": "", + // "sysSegNo": "", + // "busDate": "", + // "tralate": "", + // "bankCode": "", + // "operaUser": "", + // "operaOrg": "", + // "serVer": "v1", + // "traCode": "", + // "userCode": localStorage.getItem('userCode') || '', + // "chnlType": "XCX" + // } + +} + return commonHeader +} +const getDate = () => { + let date = new Date(); + let y = date.getFullYear() + let m = date.getMonth() + 1 + m = m < 10 ? '0' + m : m + let d = date.getDate() + d = d < 10 ? ('0' + d) : d; + return y + m + d +} +const getTime = () => { + let date = new Date(); + let h = date.getHours(); + h = h < 10 ? '0' + h : h + let f = date.getMinutes(); + f = f < 10 ? '0' + f : f + let s = date.getSeconds() + s = s < 10 ? '0' + s : s + return "" + h + f + s +} + + + +// 获取url 参数方法 +function getUrlPatams() { + const url = new URL(window.location.href); + const params = new URLSearchParams(url.search); + return params.get("data") +} +// 开发模式 +let urlConfig = { + kf: "/xcx_kf/ifs/edxd", + zx: "/xcx/ifs/edxd" +} +// 出售计划请求类 +function initRequest(commonHeader,modeEvn,vm) { + let request = axios.create({ + // baseURL: 'http://124.239.130.105:10021' + `${urlConfig[modeEvn]}`, + baseURL: 'http://loan.git.com.cn/elc', + timeout: 10000, + headers: commonHeader + }); + + request.interceptors.request.use(function (config) { + let {headers,url,data,method} = config + headers['TRAN_CODE'] = url.slice(1) + // headers['Authorization'] ='Bearer ' + localStorage.getItem('token') + headers['Authorization'] ='Bearer ' + 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTc0MDM2NTk1MiwiaWF0IjoxNzQwMzYyMzUyfQ.tsWSrd3Laby1gy9BQkhNDab00DFHTpAenOaG7ipFJjQZxLkNeBASOgxa8Uy15A1NpVJzH2gcVObP5jw3N_Sv2Q' + headers['USER_ID'] = localStorage.getItem('userCode') || '' + config["data"] = { + Request:{ + ...data + } + } + config["method"] = method || "post" + console.log('config',config); + return config; + }, function (error) { + return Promise.reject(error); + }); + + // 添加响应拦截器 + request.interceptors.response.use(function (response) { + console.log('response',response); + return response; + let {data:{Response}} =response + // if(Response.code && Response.code !== '000000') { + // ELEMENT.Message({ + // message: Response.errorMessage, + // type: 'error' + // }) + // return Response + // } + // if(Response.RET_CODE && Response.RET_CODE !== '200') { + // ELEMENT.Message({ + // message: Response.RET_MSG, + // type: 'error' + // }) + // return Response + // } + // return Response; + }, function (error) { + return Promise.reject(error); + }); + + return request +} + + + +let json = {"widgetList":[{"type":"card","category":"container","icon":"card","widgetList":[{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"konwFlag","label":"1、是否了解该客户","labelAlign":"label-left-align","defaultValue":"0","columnWidth":"200px","size":"mini","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"400","labelHidden":false,"labelWrap":false,"disabled":true,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"DB_KONW_CUSTOMER","labelKey":"text","valueKey":"value","optionItems":[{"label":"了解","value":"0"},{"label":"不了解","value":"1"}],"required":false,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"","onValidate":""},"id":"radio18461"}],"options":{"name":"gridCol94144","hidden":false,"span":20,"offset":0,"push":1,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-94144"}],"options":{"name":"grid40704","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid40704"}],"options":{"name":"card89666","label":"客户了解情况说明","hidden":false,"folded":false,"showFold":true,"cardWidth":"100%","shadow":"never","customClass":[]},"id":"card89666"},{"type":"card","category":"container","icon":"card","widgetList":[{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"static-text","icon":"static-text","formItemFlag":false,"options":{"name":"statictext30854","columnWidth":"200px","hidden":false,"textContent":"一、资产情况","textAlign":"left","fontSize":"14px","preWrap":false,"customClass":"","onCreated":"","onMounted":"","label":"static-text"},"id":"statictext30854"}],"options":{"name":"gridCol34687","hidden":false,"span":12,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-34687"}],"options":{"name":"grid32721","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid32721"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"number","icon":"number-field","formItemFlag":true,"options":{"name":"assets01","label":"1、商品房数量: ","labelAlign":"label-left-align","defaultValue":0,"placeholder":"","columnWidth":"200px","size":"mini","labelWidth":"400","labelHidden":false,"labelWrap":true,"disabled":false,"hidden":false,"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"min":0,"max":100000000000,"precision":0,"step":1,"controlsPosition":"","onCreated":"","onMounted":"","onChange":"","onFocus":"","onBlur":"","onValidate":""},"id":"number50170"}],"options":{"name":"gridCol27793","hidden":false,"span":20,"offset":0,"push":1,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-27793"}],"options":{"name":"grid106602","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid106602"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"number","icon":"number-field","formItemFlag":true,"options":{"name":"assets02","label":"2、汽车数量: ","labelAlign":"label-left-align","defaultValue":0,"placeholder":"","columnWidth":"200px","size":"mini","labelWidth":"400","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"min":0,"max":100000000000,"precision":0,"step":1,"controlsPosition":"","onCreated":"","onMounted":"","onChange":"","onFocus":"","onBlur":"","onValidate":""},"id":"number97208"}],"options":{"name":"gridCol92621","hidden":false,"span":20,"offset":0,"push":1,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-92621"}],"options":{"name":"grid113762","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid113762"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"assetsTotal","label":"3、家庭资产合计:","labelAlign":"label-left-align","defaultValue":null,"columnWidth":"200px","size":"mini","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"300","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"DB_TOTAL_ASSETS","labelKey":"text","valueKey":"value","optionItems":[{"label":"0-10万元","value":"1"},{"label":"10-20万元","value":"2"},{"label":"20-50万元","value":"3"},{"label":"50万元以上","value":"4"}],"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"","onValidate":""},"id":"radio39938"}],"options":{"name":"gridCol84011","hidden":false,"span":20,"offset":0,"push":1,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":[]},"id":"grid-col-84011"}],"options":{"name":"grid19250","hidden":false,"gutter":0,"colHeight":null,"customClass":""},"id":"grid19250"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"static-text","icon":"static-text","formItemFlag":false,"options":{"name":"statictext49571","columnWidth":"200px","hidden":false,"textContent":"二、负债情况","textAlign":"left","fontSize":"14px","preWrap":false,"customClass":"","onCreated":"","onMounted":"","label":"static-text"},"id":"statictext49571"}],"options":{"name":"gridCol31751","hidden":false,"span":12,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-31751"}],"options":{"name":"grid71772","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid71772"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"textarea","icon":"textarea-field","formItemFlag":true,"options":{"name":"liabilities01","label":"1、负债情况说明:","labelAlign":"label-left-align","rows":3,"defaultValue":"","placeholder":"","columnWidth":"200px","size":"mini","labelWidth":"200","labelHidden":false,"labelWrap":false,"readonly":false,"disabled":false,"hidden":false,"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":[],"labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"minLength":null,"maxLength":null,"showWordLimit":false,"onCreated":"","onMounted":"","onInput":"","onChange":"","onFocus":"","onBlur":"","onValidate":""},"id":"textarea55441"}],"options":{"name":"gridCol39925","hidden":false,"span":20,"offset":0,"push":1,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-39925"}],"options":{"name":"grid46865","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid46865"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"static-text","icon":"static-text","formItemFlag":false,"options":{"name":"statictext85427","columnWidth":"200px","hidden":false,"textContent":"三、收入支出情况","textAlign":"left","fontSize":"14px","preWrap":false,"customClass":"","onCreated":"","onMounted":"","label":"static-text"},"id":"statictext85427"}],"options":{"name":"gridCol78544","hidden":false,"span":12,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-78544"},{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[],"options":{"name":"gridCol71703","hidden":false,"span":12,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-71703"}],"options":{"name":"grid82727","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid82727"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"annualIncome","label":"1、年度收入情况:","labelAlign":"label-left-align","defaultValue":null,"columnWidth":"200px","size":"mini","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"200","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"DB_ANNUAL_INCOME","labelKey":"text","valueKey":"value","optionItems":[{"label":"0-5万元","value":"1"},{"label":"5-10万元","value":"2"},{"label":"10-15万元","value":"3"},{"label":"15-20万元","value":"4"},{"label":"20万元以上","value":"5"}],"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"","onValidate":""},"id":"radio29246"}],"options":{"name":"gridCol53047","hidden":false,"span":20,"offset":0,"push":1,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-53047"}],"options":{"name":"grid85735","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid85735"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"annualExpenditure","label":"2、年度支出情况:","labelAlign":"label-left-align","defaultValue":null,"columnWidth":"200px","size":"mini","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"200","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"DB_ANNUAL_EXPENDITURE","labelKey":"text","valueKey":"value","optionItems":[{"label":"0-3万元","value":"1"},{"label":"3-5万元","value":"2"},{"label":"5-10万元","value":"3"},{"label":"10万元以上","value":"4"}],"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"","onValidate":""},"id":"radio86987"}],"options":{"name":"gridCol21004","hidden":false,"span":20,"offset":0,"push":1,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-21004"}],"options":{"name":"grid46371","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid46371"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"static-text","icon":"static-text","formItemFlag":false,"options":{"name":"statictext65243","columnWidth":"200px","hidden":false,"textContent":"四、其他需要说明的情况","textAlign":"left","fontSize":"14px","preWrap":false,"customClass":"","onCreated":"","onMounted":"","label":"static-text"},"id":"statictext65243"}],"options":{"name":"gridCol42252","hidden":false,"span":12,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-42252"},{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[],"options":{"name":"gridCol49333","hidden":false,"span":12,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-49333"}],"options":{"name":"grid61181","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid61181"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[],"options":{"name":"gridCol65070","hidden":false,"span":12,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-65070"},{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[],"options":{"name":"gridCol71053","hidden":false,"span":12,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-71053"}],"options":{"name":"grid40842","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid40842"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"textarea","icon":"textarea-field","formItemFlag":true,"options":{"name":"ALOtherInfo","label":"","labelAlign":"label-left-align","rows":3,"defaultValue":"","placeholder":"","columnWidth":"200px","size":"mini","labelWidth":null,"labelHidden":false,"labelWrap":false,"readonly":false,"disabled":false,"hidden":false,"required":false,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"minLength":null,"maxLength":null,"showWordLimit":false,"onCreated":"","onMounted":"","onInput":"","onChange":"","onFocus":"","onBlur":"","onValidate":""},"id":"textarea63680"}],"options":{"name":"gridCol90458","hidden":false,"span":20,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-90458"}],"options":{"name":"grid93701","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid93701"}],"options":{"name":"card33700","label":"家庭资产、负债、收入、支出概况","hidden":false,"folded":false,"showFold":true,"cardWidth":"100%","shadow":"never","customClass":""},"id":"card33700"},{"type":"card","category":"container","icon":"card","widgetList":[{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"negative01","label":"1、是否因患病、残疾等原因丧失劳动能力","labelAlign":"label-left-align","defaultValue":null,"columnWidth":"200px","size":"","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"400","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"PUB_YESORNO","labelKey":"text","valueKey":"value","optionItems":[{"label":"是","value":"1"},{"label":"否","value":"0"}],"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"","onValidate":""},"id":"radio86367"}],"options":{"name":"gridCol17990","hidden":false,"span":24,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-17990"}],"options":{"name":"grid86366","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid86366"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"negative02","label":"2、是否年龄不符合(无1人在16-65周岁之间)","labelAlign":"label-left-align","defaultValue":null,"columnWidth":"200px","size":"mini","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"400","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"PUB_YESORNO","labelKey":"text","valueKey":"value","optionItems":[{"label":"是","value":"1"},{"label":"否","value":"0"}],"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"","onValidate":""},"id":"radio88331"}],"options":{"name":"gridCol90635","hidden":false,"span":24,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-90635"}],"options":{"name":"grid37600","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid37600"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"negative03","label":"3、是否游手好闲、不务正业、打架斗殴","labelAlign":"label-left-align","defaultValue":null,"columnWidth":"200px","size":"mini","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"400","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"PUB_YESORNO","labelKey":"text","valueKey":"value","optionItems":[{"label":"是","value":"1"},{"label":"否","value":"0"}],"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"","onValidate":""},"id":"radio89271"}],"options":{"name":"gridCol34970","hidden":false,"span":24,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-34970"}],"options":{"name":"grid61702","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid61702"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"negative04","label":"4、是否存在涉黄、涉黑、赌博、吸毒、放高利贷","labelAlign":"label-left-align","defaultValue":null,"columnWidth":"200px","size":"mini","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"400","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"PUB_YESORNO","labelKey":"text","valueKey":"value","optionItems":[{"label":"是","value":"1"},{"label":"否","value":"0"}],"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"","onValidate":""},"id":"radio82407"}],"options":{"name":"gridCol30292","hidden":false,"span":24,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-30292"}],"options":{"name":"grid96083","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid96083"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"negative05","label":"5、是否正在服刑或有前科","labelAlign":"label-left-align","defaultValue":null,"columnWidth":"200px","size":"mini","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"400","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"PUB_YESORNO","labelKey":"text","valueKey":"value","optionItems":[{"label":"是","value":"1"},{"label":"否","value":"0"}],"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"","onValidate":""},"id":"radio101640"}],"options":{"name":"gridCol51981","hidden":false,"span":24,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":[]},"id":"grid-col-51981"}],"options":{"name":"grid20715","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid20715"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"negative06","label":"6、是否家庭不和睦","labelAlign":"label-left-align","defaultValue":null,"columnWidth":"200px","size":"mini","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"400","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"PUB_YESORNO","labelKey":"text","valueKey":"value","optionItems":[{"label":"是","value":"1"},{"label":"否","value":"0"}],"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"","onValidate":""},"id":"radio42158"}],"options":{"name":"gridCol25309","hidden":false,"span":24,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-25309"}],"options":{"name":"grid97819","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid97819"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"negative07","label":"7、是否败诉、被执行或者失信黑名单","labelAlign":"label-left-align","defaultValue":null,"columnWidth":"200px","size":"mini","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"400","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"PUB_YESORNO","labelKey":"text","valueKey":"value","optionItems":[{"label":"是","value":"1"},{"label":"否","value":"0"}],"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"","onValidate":""},"id":"radio21637"}],"options":{"name":"gridCol98608","hidden":false,"span":24,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-98608"}],"options":{"name":"grid118184","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid118184"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"negative08","label":"8、是否欠债较多、过度融资、有不良贷款","labelAlign":"label-left-align","defaultValue":null,"columnWidth":"200px","size":"mini","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"400","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"PUB_YESORNO","labelKey":"text","valueKey":"value","optionItems":[{"label":"是","value":"1"},{"label":"否","value":"0"}],"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"","onValidate":""},"id":"radio62357"}],"options":{"name":"gridCol25210","hidden":false,"span":24,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-25210"}],"options":{"name":"grid48412","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid48412"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"negative09","label":"9、是否信用观念差","labelAlign":"label-left-align","defaultValue":null,"columnWidth":"200px","size":"mini","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"400","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"PUB_YESORNO","labelKey":"text","valueKey":"value","optionItems":[{"label":"是","value":"1"},{"label":"否","value":"0"}],"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"","onValidate":""},"id":"radio77730"}],"options":{"name":"gridCol101039","hidden":false,"span":24,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-101039"}],"options":{"name":"grid55637","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid55637"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"negative10","label":"10、是否长期外出且常年与乡亲不联系","labelAlign":"label-left-align","defaultValue":null,"columnWidth":"200px","size":"mini","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"400","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"PUB_YESORNO","labelKey":"text","valueKey":"value","optionItems":[{"label":"是","value":"1"},{"label":"否","value":"0"}],"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"","onValidate":""},"id":"radio22339"}],"options":{"name":"gridCol59702","hidden":false,"span":24,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-59702"}],"options":{"name":"grid55596","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid55596"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"radio","icon":"radio-field","formItemFlag":true,"options":{"name":"negative11","label":"11、是否存在其他负面信息","labelAlign":"label-left-align","defaultValue":null,"columnWidth":"200px","size":"mini","displayStyle":"inline","buttonStyle":false,"border":false,"labelWidth":"400","labelHidden":false,"labelWrap":false,"disabled":false,"hidden":false,"optionType":"1","dsName":"","dataSetName":"","dicname":"PUB_YESORNO","labelKey":"text","valueKey":"value","optionItems":[{"label":"是","value":"1"},{"label":"否","value":"0"}],"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":[],"labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"onCreated":"","onMounted":"","onChange":"this.getWidgetRef('negativeOther').setValue('')\nif(value == '1'){\n this.getWidgetRef('negativeOther').setHidden(false)\n}else{\n this.getWidgetRef('negativeOther').setHidden(true)\n}","onValidate":""},"id":"radio47908"}],"options":{"name":"gridCol74942","hidden":false,"span":24,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-74942"}],"options":{"name":"grid73816","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid73816"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"textarea","icon":"textarea-field","formItemFlag":true,"options":{"name":"negativeOther","label":"12、其他负面信息情况说明","labelAlign":"label-left-align","rows":3,"defaultValue":"","placeholder":"","columnWidth":"200px","size":"mini","labelWidth":"200","labelHidden":false,"labelWrap":false,"readonly":false,"disabled":false,"hidden":true,"required":true,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"minLength":null,"maxLength":null,"showWordLimit":false,"onCreated":"","onMounted":"","onInput":"","onChange":"","onFocus":"","onBlur":"","onValidate":""},"id":"textarea103419"}],"options":{"name":"gridCol76455","hidden":false,"span":22,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-76455"}],"options":{"name":"grid27430","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid27430"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"button","icon":"button","formItemFlag":false,"options":{"name":"buttonSave","label":"保存","columnWidth":"200px","size":"mini","displayStyle":"block","disabled":false,"hidden":false,"type":"primary","plain":false,"round":false,"circle":false,"icon":null,"customClass":[],"onCreated":"","onMounted":"","onClick":"this.getFormRef().getFormData(this.getFormRef().formDataModel).then(data=>{\n console.log('保存参数====',JSON.stringify(data))\n const detailData = {\n \"assets01\": data.assets01,\n \"assets02\": data.assets02,\n \"assetsTotal\": data.assetsTotal,\n \"liabilities01\": data.liabilities01,\n \"annualIncome\": data.annualIncome,\n \"annualExpenditure\": data.annualExpenditure,\n \"ALOtherInfo\": data.ALOtherInfo,\n \"negative01\": data.negative01,\n \"negative02\": data.negative02,\n \"negative03\": data.negative03,\n \"negative04\": data.negative04,\n \"negative05\": data.negative05,\n \"negative06\": data.negative06,\n \"negative07\": data.negative07,\n \"negative08\": data.negative08,\n \"negative09\": data.negative09,\n \"negative10\": data.negative10,\n \"negative11\": data.negative11,\n \"negative12\": data.negative12\n }\n const dataMain ={\n \"tempNo\": data.tempNo,\n \"tempSystem\": data.tempSystem,\n \"tempBigClass\": data.tempBigClass,\n \"tempSmallClass\": data.tempSmallClass,\n \"businessId\": data.businessId,\n \"partyId\": data.partyId,\n \"inputAdCode\": data.inputAdCode,\n \"inputCoordinate\": data.inputCoordinate,\n \"inputAddr\": data.inputAddr,\n \"inputlp\": data.inputlp,\n \"dataChan\": data.dataChan\n }\n const param = {dataMain:dataMain,dataDetail:detailData}\n // 保存方法\n console.log('---------请求参数--', JSON.stringify(param))\n this.getFormRef().requestDataSource('PAD_CDB99000401', param).then(ret=>{\n console.log('---------保存完成返回信息--', JSON.stringify(ret))\n if(ret.data){\n const obj = ret.data\n if(obj.code === '000000'){\n this.$message.success('保存成功')\n }else{\n this.$message.error(obj.errorMessage)\n }\n }\n })\n \n}).catch(function(error) {\n\t this.$message.error(error)\n\t})"},"id":"button93810"}],"options":{"name":"gridCol20722","hidden":false,"span":2,"offset":0,"push":11,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-20722"}],"options":{"name":"grid52190","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid52190"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"input","alias":"","icon":"text-field","formItemFlag":true,"options":{"name":"tempNo","label":"模板编号","labelAlign":"label-left-align","type":"text","defaultValue":"","placeholder":"","columnWidth":"200px","size":"mini","labelWidth":null,"labelHidden":true,"labelWrap":true,"readonly":false,"disabled":false,"hidden":false,"clearable":true,"showPassword":false,"required":false,"requiredHint":"","validation":"","validationHint":"","customClass":[],"labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"minLength":null,"maxLength":null,"showWordLimit":false,"prefixIcon":"","suffixIcon":"","appendButton":false,"appendButtonDisabled":false,"buttonIcon":"el-icon-search","onCreated":"","onMounted":"","onInput":"","onChange":"","onFocus":"","onBlur":"","onValidate":"","onAppendButtonClick":""},"id":"input59610"}],"options":{"name":"gridCol66699","hidden":false,"span":6,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-66699"},{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"input","alias":"","icon":"text-field","formItemFlag":true,"options":{"name":"tempSystem","label":"模板所属系统","labelAlign":"label-left-align","type":"text","defaultValue":"cmdb","placeholder":"","columnWidth":"200px","size":"mini","labelWidth":null,"labelHidden":false,"labelWrap":true,"readonly":false,"disabled":false,"hidden":true,"clearable":true,"showPassword":false,"required":false,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"minLength":null,"maxLength":null,"showWordLimit":false,"prefixIcon":"","suffixIcon":"","appendButton":false,"appendButtonDisabled":false,"buttonIcon":"el-icon-search","onCreated":"","onMounted":"","onInput":"","onChange":"","onFocus":"","onBlur":"","onValidate":"","onAppendButtonClick":""},"id":"input22896"}],"options":{"name":"gridCol102373","hidden":false,"span":6,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-102373"},{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"input","alias":"","icon":"text-field","formItemFlag":true,"options":{"name":"tempBigClass","label":"模板大类","labelAlign":"label-left-align","type":"text","defaultValue":"db","placeholder":"","columnWidth":"200px","size":"mini","labelWidth":null,"labelHidden":false,"labelWrap":true,"readonly":false,"disabled":false,"hidden":true,"clearable":true,"showPassword":false,"required":false,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"minLength":null,"maxLength":null,"showWordLimit":false,"prefixIcon":"","suffixIcon":"","appendButton":false,"appendButtonDisabled":false,"buttonIcon":"el-icon-search","onCreated":"","onMounted":"","onInput":"","onChange":"","onFocus":"","onBlur":"","onValidate":"","onAppendButtonClick":""},"id":"input17514"}],"options":{"name":"gridCol98268","hidden":false,"span":6,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-98268"},{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"input","alias":"","icon":"text-field","formItemFlag":true,"options":{"name":"tempSmallClass","label":"模板小类","labelAlign":"label-left-align","type":"text","defaultValue":"db01","placeholder":"","columnWidth":"200px","size":"mini","labelWidth":null,"labelHidden":false,"labelWrap":true,"readonly":false,"disabled":false,"hidden":true,"clearable":true,"showPassword":false,"required":false,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"minLength":null,"maxLength":null,"showWordLimit":false,"prefixIcon":"","suffixIcon":"","appendButton":false,"appendButtonDisabled":false,"buttonIcon":"el-icon-search","onCreated":"","onMounted":"","onInput":"","onChange":"","onFocus":"","onBlur":"","onValidate":"","onAppendButtonClick":""},"id":"input63389"}],"options":{"name":"gridCol92148","hidden":false,"span":6,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-92148"}],"options":{"name":"grid56706","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid56706"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"input","alias":"","icon":"text-field","formItemFlag":true,"options":{"name":"businessId","label":"业务编号","labelAlign":"label-left-align","type":"text","defaultValue":"","placeholder":"","columnWidth":"200px","size":"mini","labelWidth":null,"labelHidden":false,"labelWrap":true,"readonly":false,"disabled":false,"hidden":true,"clearable":true,"showPassword":false,"required":false,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"minLength":null,"maxLength":null,"showWordLimit":false,"prefixIcon":"","suffixIcon":"","appendButton":false,"appendButtonDisabled":false,"buttonIcon":"el-icon-search","onCreated":"","onMounted":"","onInput":"","onChange":"","onFocus":"","onBlur":"","onValidate":"","onAppendButtonClick":""},"id":"input42944"}],"options":{"name":"gridCol105714","hidden":false,"span":6,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-105714"},{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"input","alias":"","icon":"text-field","formItemFlag":true,"options":{"name":"partyId","label":"客户编号","labelAlign":"label-left-align","type":"text","defaultValue":"","placeholder":"","columnWidth":"200px","size":"mini","labelWidth":null,"labelHidden":false,"labelWrap":true,"readonly":false,"disabled":false,"hidden":true,"clearable":true,"showPassword":false,"required":false,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"minLength":null,"maxLength":null,"showWordLimit":false,"prefixIcon":"","suffixIcon":"","appendButton":false,"appendButtonDisabled":false,"buttonIcon":"el-icon-search","onCreated":"","onMounted":"","onInput":"","onChange":"","onFocus":"","onBlur":"","onValidate":"","onAppendButtonClick":""},"id":"input44387"}],"options":{"name":"gridCol77867","hidden":false,"span":6,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-77867"},{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"input","alias":"","icon":"text-field","formItemFlag":true,"options":{"name":"inputAdCode","label":"input","labelAlign":"label-left-align","type":"text","defaultValue":"","placeholder":"","columnWidth":"200px","size":"mini","labelWidth":null,"labelHidden":false,"labelWrap":true,"readonly":false,"disabled":false,"hidden":true,"clearable":true,"showPassword":false,"required":false,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"minLength":null,"maxLength":null,"showWordLimit":false,"prefixIcon":"","suffixIcon":"","appendButton":false,"appendButtonDisabled":false,"buttonIcon":"el-icon-search","onCreated":"","onMounted":"","onInput":"","onChange":"","onFocus":"","onBlur":"","onValidate":"","onAppendButtonClick":""},"id":"input74295"}],"options":{"name":"gridCol112963","hidden":false,"span":6,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-112963"},{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"input","alias":"","icon":"text-field","formItemFlag":true,"options":{"name":"inputCoordinate","label":"input","labelAlign":"label-left-align","type":"text","defaultValue":"","placeholder":"","columnWidth":"200px","size":"mini","labelWidth":null,"labelHidden":false,"labelWrap":true,"readonly":false,"disabled":false,"hidden":true,"clearable":true,"showPassword":false,"required":false,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"minLength":null,"maxLength":null,"showWordLimit":false,"prefixIcon":"","suffixIcon":"","appendButton":false,"appendButtonDisabled":false,"buttonIcon":"el-icon-search","onCreated":"","onMounted":"","onInput":"","onChange":"","onFocus":"","onBlur":"","onValidate":"","onAppendButtonClick":""},"id":"input59567"}],"options":{"name":"gridCol101255","hidden":false,"span":6,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-101255"}],"options":{"name":"grid27658","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid27658"},{"type":"grid","alias":"","category":"container","icon":"grid","cols":[{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"input","alias":"","icon":"text-field","formItemFlag":true,"options":{"name":"inputAddr","label":"input","labelAlign":"label-left-align","type":"text","defaultValue":"","placeholder":"","columnWidth":"200px","size":"mini","labelWidth":null,"labelHidden":false,"labelWrap":true,"readonly":false,"disabled":false,"hidden":true,"clearable":true,"showPassword":false,"required":false,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"minLength":null,"maxLength":null,"showWordLimit":false,"prefixIcon":"","suffixIcon":"","appendButton":false,"appendButtonDisabled":false,"buttonIcon":"el-icon-search","onCreated":"","onMounted":"","onInput":"","onChange":"","onFocus":"","onBlur":"","onValidate":"","onAppendButtonClick":""},"id":"input109464"}],"options":{"name":"gridCol44314","hidden":false,"span":6,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-44314"},{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[{"type":"input","alias":"","icon":"text-field","formItemFlag":true,"options":{"name":"inputlp","label":"input","labelAlign":"label-left-align","type":"text","defaultValue":"","placeholder":"","columnWidth":"200px","size":"mini","labelWidth":null,"labelHidden":false,"labelWrap":true,"readonly":false,"disabled":false,"hidden":true,"clearable":true,"showPassword":false,"required":false,"requiredHint":"","validation":"","validationHint":"","customClass":"","labelIconClass":null,"labelIconPosition":"rear","labelTooltip":null,"minLength":null,"maxLength":null,"showWordLimit":false,"prefixIcon":"","suffixIcon":"","appendButton":false,"appendButtonDisabled":false,"buttonIcon":"el-icon-search","onCreated":"","onMounted":"","onInput":"","onChange":"","onFocus":"","onBlur":"","onValidate":"","onAppendButtonClick":""},"id":"input16371"}],"options":{"name":"gridCol72538","hidden":false,"span":6,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-72538"},{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[],"options":{"name":"gridCol95053","hidden":false,"span":6,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-95053"},{"type":"grid-col","category":"container","icon":"grid-col","internal":true,"widgetList":[],"options":{"name":"gridCol41220","hidden":false,"span":6,"offset":0,"push":0,"pull":0,"responsive":false,"md":12,"sm":12,"xs":12,"customClass":""},"id":"grid-col-41220"}],"options":{"name":"grid43309","hidden":false,"gutter":12,"colHeight":null,"customClass":""},"id":"grid43309"}],"options":{"name":"card57427","label":"负面信息情况","hidden":false,"folded":false,"showFold":true,"cardWidth":"100%","shadow":"never","customClass":""},"id":"card57427"}],"formConfig":{"modelName":"formData","refName":"vForm","rulesName":"rules","labelWidth":80,"labelPosition":"left","size":"","labelAlign":"label-left-align","cssCode":"","customClass":[],"functions":"","layoutType":"PC","jsonVersion":2,"dataSources":[{"uniqueName":"PAD_CDB99000401","dataSourceId":null,"funcName":"","requestFUNType":0,"tabActive":"PC","configHandlerCode":" return config","dataHandlerCode":" return result;","errorHandlerCode":" $message.error(error.message);","dataSetEnabled":false,"dataSets":[],"config":{"PAD":{"label":"PAD端配置","key":"PAD","icon":"el-icon-mobile","requestURL":"PAD_CDB99000401","requestURLType":"String","description":"","headers":[{"name":"SERVICE_ID","type":"String","value":"cmdb"},{"name":"SOURCE_TYPE","type":"String","value":"PAD"},{"name":"TRAN_CODE","type":"String","value":"PAD_CDB99000401"}],"params":[],"data":[],"requestFUNType":1,"funcName":"customMethods","requestMethod":"post"},"PC":{"label":"PC端配置","key":"PC","icon":"el-icon-s-platform","requestURL":"/api/v1/cmdb/CDB990004","requestURLType":"String","description":"","headers":[],"params":[],"data":[],"requestFUNType":1,"funcName":"customMethods","requestMethod":"post"}},"channelType":"MultiEnded"},{"uniqueName":"PAD_CDB01020701","dataSourceId":null,"funcName":"","requestFUNType":0,"tabActive":"PAD","configHandlerCode":" return config","dataHandlerCode":" return result;","errorHandlerCode":" $message.error(error.message);","dataSetEnabled":false,"dataSets":[],"config":{"PAD":{"label":"PAD端配置","key":"PAD","icon":"el-icon-mobile","requestURL":"PAD_CDB01020701","requestURLType":"String","description":"","headers":[{"name":"SERVICE_ID","type":"String","value":"cmdb"},{"name":"TRAN_CODE","type":"String","value":"PAD_CDB01020701"},{"name":"SOURCE_TYPE","type":"String","value":"PAD"}],"params":[],"data":[],"requestFUNType":1,"funcName":"customMethods","requestMethod":"post"},"PC":{"label":"PC端配置","key":"PC","icon":"el-icon-s-platform","requestURL":"/api/v1/cmdb/CDB010207","requestURLType":"String","description":"","headers":[],"params":[],"data":[],"requestFUNType":1,"funcName":"customMethods","requestMethod":"get"}},"channelType":"MultiEnded"}],"onFormCreated":"","onFormMounted":"// 获取businessKey\nconst operaType = this.$store.state.template.operaType\nconst evItemNo = this.$store.state.template.evItemNo\nconst tempNo = this.$store.state.template.tempNo\nconst map = {businessId:evItemNo,operaType: operaType}\nconsole.log('请求参数======',JSON.stringify(this.$store.state.template))\nthis.getWidgetRef('businessId').setValue(evItemNo)\nthis.getWidgetRef('konwFlag').setValue('1')\nthis.getWidgetRef('tempNo').setValue(tempNo)\n\nthis.requestDataSource(\"PAD_CDB01020701\", map).then(async ret=>{\n if(ret.data && ret.data.code === '000000'){\n if(operaType == '1'){\n this.getWidgetRef('buttonSave').setHidden(true)\n }\n const response = ret.data.retObj\n \n this.getFormRef().setFormSyncData(response)\n if(response['negative11'] === '1'){\n this.getWidgetRef('negativeOther').setHidden(false)\n }\n \n }\n})\n","onFormDataChange":""}} +function MockJson () { + return new Promise((resolve,reject) => { + setTimeout(() => { + resolve(json) + },1000) + }) +} + diff --git b/element-ui.min.css a/element-ui.min.css new file mode 100644 index 0000000..2e1eab5 --- /dev/null +++ a/element-ui.min.css @@ -0,0 +1 @@ +@charset "UTF-8";@font-face{font-family:element-icons;src:url(fonts/element-icons.woff) format("woff"),url(fonts/element-icons.ttf) format("truetype");font-weight:400;font-display:"auto";font-style:normal}[class*=" el-icon-"],[class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-icon-ice-cream-round:before{content:"\e6a0"}.el-icon-ice-cream-square:before{content:"\e6a3"}.el-icon-lollipop:before{content:"\e6a4"}.el-icon-potato-strips:before{content:"\e6a5"}.el-icon-milk-tea:before{content:"\e6a6"}.el-icon-ice-drink:before{content:"\e6a7"}.el-icon-ice-tea:before{content:"\e6a9"}.el-icon-coffee:before{content:"\e6aa"}.el-icon-orange:before{content:"\e6ab"}.el-icon-pear:before{content:"\e6ac"}.el-icon-apple:before{content:"\e6ad"}.el-icon-cherry:before{content:"\e6ae"}.el-icon-watermelon:before{content:"\e6af"}.el-icon-grape:before{content:"\e6b0"}.el-icon-refrigerator:before{content:"\e6b1"}.el-icon-goblet-square-full:before{content:"\e6b2"}.el-icon-goblet-square:before{content:"\e6b3"}.el-icon-goblet-full:before{content:"\e6b4"}.el-icon-goblet:before{content:"\e6b5"}.el-icon-cold-drink:before{content:"\e6b6"}.el-icon-coffee-cup:before{content:"\e6b8"}.el-icon-water-cup:before{content:"\e6b9"}.el-icon-hot-water:before{content:"\e6ba"}.el-icon-ice-cream:before{content:"\e6bb"}.el-icon-dessert:before{content:"\e6bc"}.el-icon-sugar:before{content:"\e6bd"}.el-icon-tableware:before{content:"\e6be"}.el-icon-burger:before{content:"\e6bf"}.el-icon-knife-fork:before{content:"\e6c1"}.el-icon-fork-spoon:before{content:"\e6c2"}.el-icon-chicken:before{content:"\e6c3"}.el-icon-food:before{content:"\e6c4"}.el-icon-dish-1:before{content:"\e6c5"}.el-icon-dish:before{content:"\e6c6"}.el-icon-moon-night:before{content:"\e6ee"}.el-icon-moon:before{content:"\e6f0"}.el-icon-cloudy-and-sunny:before{content:"\e6f1"}.el-icon-partly-cloudy:before{content:"\e6f2"}.el-icon-cloudy:before{content:"\e6f3"}.el-icon-sunny:before{content:"\e6f6"}.el-icon-sunset:before{content:"\e6f7"}.el-icon-sunrise-1:before{content:"\e6f8"}.el-icon-sunrise:before{content:"\e6f9"}.el-icon-heavy-rain:before{content:"\e6fa"}.el-icon-lightning:before{content:"\e6fb"}.el-icon-light-rain:before{content:"\e6fc"}.el-icon-wind-power:before{content:"\e6fd"}.el-icon-baseball:before{content:"\e712"}.el-icon-soccer:before{content:"\e713"}.el-icon-football:before{content:"\e715"}.el-icon-basketball:before{content:"\e716"}.el-icon-ship:before{content:"\e73f"}.el-icon-truck:before{content:"\e740"}.el-icon-bicycle:before{content:"\e741"}.el-icon-mobile-phone:before{content:"\e6d3"}.el-icon-service:before{content:"\e6d4"}.el-icon-key:before{content:"\e6e2"}.el-icon-unlock:before{content:"\e6e4"}.el-icon-lock:before{content:"\e6e5"}.el-icon-watch:before{content:"\e6fe"}.el-icon-watch-1:before{content:"\e6ff"}.el-icon-timer:before{content:"\e702"}.el-icon-alarm-clock:before{content:"\e703"}.el-icon-map-location:before{content:"\e704"}.el-icon-delete-location:before{content:"\e705"}.el-icon-add-location:before{content:"\e706"}.el-icon-location-information:before{content:"\e707"}.el-icon-location-outline:before{content:"\e708"}.el-icon-location:before{content:"\e79e"}.el-icon-place:before{content:"\e709"}.el-icon-discover:before{content:"\e70a"}.el-icon-first-aid-kit:before{content:"\e70b"}.el-icon-trophy-1:before{content:"\e70c"}.el-icon-trophy:before{content:"\e70d"}.el-icon-medal:before{content:"\e70e"}.el-icon-medal-1:before{content:"\e70f"}.el-icon-stopwatch:before{content:"\e710"}.el-icon-mic:before{content:"\e711"}.el-icon-copy-document:before{content:"\e718"}.el-icon-full-screen:before{content:"\e719"}.el-icon-switch-button:before{content:"\e71b"}.el-icon-aim:before{content:"\e71c"}.el-icon-crop:before{content:"\e71d"}.el-icon-odometer:before{content:"\e71e"}.el-icon-time:before{content:"\e71f"}.el-icon-bangzhu:before{content:"\e724"}.el-icon-close-notification:before{content:"\e726"}.el-icon-microphone:before{content:"\e727"}.el-icon-turn-off-microphone:before{content:"\e728"}.el-icon-position:before{content:"\e729"}.el-icon-postcard:before{content:"\e72a"}.el-icon-message:before{content:"\e72b"}.el-icon-chat-line-square:before{content:"\e72d"}.el-icon-chat-dot-square:before{content:"\e72e"}.el-icon-chat-dot-round:before{content:"\e72f"}.el-icon-chat-square:before{content:"\e730"}.el-icon-chat-line-round:before{content:"\e731"}.el-icon-chat-round:before{content:"\e732"}.el-icon-set-up:before{content:"\e733"}.el-icon-turn-off:before{content:"\e734"}.el-icon-open:before{content:"\e735"}.el-icon-connection:before{content:"\e736"}.el-icon-link:before{content:"\e737"}.el-icon-cpu:before{content:"\e738"}.el-icon-thumb:before{content:"\e739"}.el-icon-female:before{content:"\e73a"}.el-icon-male:before{content:"\e73b"}.el-icon-guide:before{content:"\e73c"}.el-icon-news:before{content:"\e73e"}.el-icon-price-tag:before{content:"\e744"}.el-icon-discount:before{content:"\e745"}.el-icon-wallet:before{content:"\e747"}.el-icon-coin:before{content:"\e748"}.el-icon-money:before{content:"\e749"}.el-icon-bank-card:before{content:"\e74a"}.el-icon-box:before{content:"\e74b"}.el-icon-present:before{content:"\e74c"}.el-icon-sell:before{content:"\e6d5"}.el-icon-sold-out:before{content:"\e6d6"}.el-icon-shopping-bag-2:before{content:"\e74d"}.el-icon-shopping-bag-1:before{content:"\e74e"}.el-icon-shopping-cart-2:before{content:"\e74f"}.el-icon-shopping-cart-1:before{content:"\e750"}.el-icon-shopping-cart-full:before{content:"\e751"}.el-icon-smoking:before{content:"\e752"}.el-icon-no-smoking:before{content:"\e753"}.el-icon-house:before{content:"\e754"}.el-icon-table-lamp:before{content:"\e755"}.el-icon-school:before{content:"\e756"}.el-icon-office-building:before{content:"\e757"}.el-icon-toilet-paper:before{content:"\e758"}.el-icon-notebook-2:before{content:"\e759"}.el-icon-notebook-1:before{content:"\e75a"}.el-icon-files:before{content:"\e75b"}.el-icon-collection:before{content:"\e75c"}.el-icon-receiving:before{content:"\e75d"}.el-icon-suitcase-1:before{content:"\e760"}.el-icon-suitcase:before{content:"\e761"}.el-icon-film:before{content:"\e763"}.el-icon-collection-tag:before{content:"\e765"}.el-icon-data-analysis:before{content:"\e766"}.el-icon-pie-chart:before{content:"\e767"}.el-icon-data-board:before{content:"\e768"}.el-icon-data-line:before{content:"\e76d"}.el-icon-reading:before{content:"\e769"}.el-icon-magic-stick:before{content:"\e76a"}.el-icon-coordinate:before{content:"\e76b"}.el-icon-mouse:before{content:"\e76c"}.el-icon-brush:before{content:"\e76e"}.el-icon-headset:before{content:"\e76f"}.el-icon-umbrella:before{content:"\e770"}.el-icon-scissors:before{content:"\e771"}.el-icon-mobile:before{content:"\e773"}.el-icon-attract:before{content:"\e774"}.el-icon-monitor:before{content:"\e775"}.el-icon-search:before{content:"\e778"}.el-icon-takeaway-box:before{content:"\e77a"}.el-icon-paperclip:before{content:"\e77d"}.el-icon-printer:before{content:"\e77e"}.el-icon-document-add:before{content:"\e782"}.el-icon-document:before{content:"\e785"}.el-icon-document-checked:before{content:"\e786"}.el-icon-document-copy:before{content:"\e787"}.el-icon-document-delete:before{content:"\e788"}.el-icon-document-remove:before{content:"\e789"}.el-icon-tickets:before{content:"\e78b"}.el-icon-folder-checked:before{content:"\e77f"}.el-icon-folder-delete:before{content:"\e780"}.el-icon-folder-remove:before{content:"\e781"}.el-icon-folder-add:before{content:"\e783"}.el-icon-folder-opened:before{content:"\e784"}.el-icon-folder:before{content:"\e78a"}.el-icon-edit-outline:before{content:"\e764"}.el-icon-edit:before{content:"\e78c"}.el-icon-date:before{content:"\e78e"}.el-icon-c-scale-to-original:before{content:"\e7c6"}.el-icon-view:before{content:"\e6ce"}.el-icon-loading:before{content:"\e6cf"}.el-icon-rank:before{content:"\e6d1"}.el-icon-sort-down:before{content:"\e7c4"}.el-icon-sort-up:before{content:"\e7c5"}.el-icon-sort:before{content:"\e6d2"}.el-icon-finished:before{content:"\e6cd"}.el-icon-refresh-left:before{content:"\e6c7"}.el-icon-refresh-right:before{content:"\e6c8"}.el-icon-refresh:before{content:"\e6d0"}.el-icon-video-play:before{content:"\e7c0"}.el-icon-video-pause:before{content:"\e7c1"}.el-icon-d-arrow-right:before{content:"\e6dc"}.el-icon-d-arrow-left:before{content:"\e6dd"}.el-icon-arrow-up:before{content:"\e6e1"}.el-icon-arrow-down:before{content:"\e6df"}.el-icon-arrow-right:before{content:"\e6e0"}.el-icon-arrow-left:before{content:"\e6de"}.el-icon-top-right:before{content:"\e6e7"}.el-icon-top-left:before{content:"\e6e8"}.el-icon-top:before{content:"\e6e6"}.el-icon-bottom:before{content:"\e6eb"}.el-icon-right:before{content:"\e6e9"}.el-icon-back:before{content:"\e6ea"}.el-icon-bottom-right:before{content:"\e6ec"}.el-icon-bottom-left:before{content:"\e6ed"}.el-icon-caret-top:before{content:"\e78f"}.el-icon-caret-bottom:before{content:"\e790"}.el-icon-caret-right:before{content:"\e791"}.el-icon-caret-left:before{content:"\e792"}.el-icon-d-caret:before{content:"\e79a"}.el-icon-share:before{content:"\e793"}.el-icon-menu:before{content:"\e798"}.el-icon-s-grid:before{content:"\e7a6"}.el-icon-s-check:before{content:"\e7a7"}.el-icon-s-data:before{content:"\e7a8"}.el-icon-s-opportunity:before{content:"\e7aa"}.el-icon-s-custom:before{content:"\e7ab"}.el-icon-s-claim:before{content:"\e7ad"}.el-icon-s-finance:before{content:"\e7ae"}.el-icon-s-comment:before{content:"\e7af"}.el-icon-s-flag:before{content:"\e7b0"}.el-icon-s-marketing:before{content:"\e7b1"}.el-icon-s-shop:before{content:"\e7b4"}.el-icon-s-open:before{content:"\e7b5"}.el-icon-s-management:before{content:"\e7b6"}.el-icon-s-ticket:before{content:"\e7b7"}.el-icon-s-release:before{content:"\e7b8"}.el-icon-s-home:before{content:"\e7b9"}.el-icon-s-promotion:before{content:"\e7ba"}.el-icon-s-operation:before{content:"\e7bb"}.el-icon-s-unfold:before{content:"\e7bc"}.el-icon-s-fold:before{content:"\e7a9"}.el-icon-s-platform:before{content:"\e7bd"}.el-icon-s-order:before{content:"\e7be"}.el-icon-s-cooperation:before{content:"\e7bf"}.el-icon-bell:before{content:"\e725"}.el-icon-message-solid:before{content:"\e799"}.el-icon-video-camera:before{content:"\e772"}.el-icon-video-camera-solid:before{content:"\e796"}.el-icon-camera:before{content:"\e779"}.el-icon-camera-solid:before{content:"\e79b"}.el-icon-download:before{content:"\e77c"}.el-icon-upload2:before{content:"\e77b"}.el-icon-upload:before{content:"\e7c3"}.el-icon-picture-outline-round:before{content:"\e75f"}.el-icon-picture-outline:before{content:"\e75e"}.el-icon-picture:before{content:"\e79f"}.el-icon-close:before{content:"\e6db"}.el-icon-check:before{content:"\e6da"}.el-icon-plus:before{content:"\e6d9"}.el-icon-minus:before{content:"\e6d8"}.el-icon-help:before{content:"\e73d"}.el-icon-s-help:before{content:"\e7b3"}.el-icon-circle-close:before{content:"\e78d"}.el-icon-circle-check:before{content:"\e720"}.el-icon-circle-plus-outline:before{content:"\e723"}.el-icon-remove-outline:before{content:"\e722"}.el-icon-zoom-out:before{content:"\e776"}.el-icon-zoom-in:before{content:"\e777"}.el-icon-error:before{content:"\e79d"}.el-icon-success:before{content:"\e79c"}.el-icon-circle-plus:before{content:"\e7a0"}.el-icon-remove:before{content:"\e7a2"}.el-icon-info:before{content:"\e7a1"}.el-icon-question:before{content:"\e7a4"}.el-icon-warning-outline:before{content:"\e6c9"}.el-icon-warning:before{content:"\e7a3"}.el-icon-goods:before{content:"\e7c2"}.el-icon-s-goods:before{content:"\e7b2"}.el-icon-star-off:before{content:"\e717"}.el-icon-star-on:before{content:"\e797"}.el-icon-more-outline:before{content:"\e6cc"}.el-icon-more:before{content:"\e794"}.el-icon-phone-outline:before{content:"\e6cb"}.el-icon-phone:before{content:"\e795"}.el-icon-user:before{content:"\e6e3"}.el-icon-user-solid:before{content:"\e7a5"}.el-icon-setting:before{content:"\e6ca"}.el-icon-s-tools:before{content:"\e7ac"}.el-icon-delete:before{content:"\e6d7"}.el-icon-delete-solid:before{content:"\e7c9"}.el-icon-eleme:before{content:"\e7c7"}.el-icon-platform-eleme:before{content:"\e7ca"}.el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}.el-pagination{white-space:nowrap;padding:2px 5px;color:#303133;font-weight:700}.el-pagination::after,.el-pagination::before{display:table;content:""}.el-pagination::after{clear:both}.el-pagination button,.el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.el-pagination .el-input__inner{text-align:center;-moz-appearance:textfield;line-height:normal}.el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.el-pagination .el-select .el-input{width:100px;margin:0 5px}.el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px}.el-pagination button{border:none;padding:0 6px;background:0 0}.el-pagination button:focus{outline:0}.el-pagination button:hover{color:#409EFF}.el-pagination button:disabled{color:#C0C4CC;background-color:#FFF;cursor:not-allowed}.el-pagination .btn-next,.el-pagination .btn-prev{background:center center no-repeat #FFF;background-size:16px;cursor:pointer;margin:0;color:#303133}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:700}.el-pagination .btn-prev{padding-right:12px}.el-pagination .btn-next{padding-left:12px}.el-pagination .el-pager li.disabled{color:#C0C4CC;cursor:not-allowed}.el-pager li,.el-pager li.btn-quicknext:hover,.el-pager li.btn-quickprev:hover{cursor:pointer}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li,.el-pagination--small .el-pager li.btn-quicknext,.el-pagination--small .el-pager li.btn-quickprev,.el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.el-pagination--small .arrow.disabled{visibility:hidden}.el-pagination--small .more::before,.el-pagination--small li.more::before{line-height:24px}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){height:22px;line-height:22px}.el-pagination--small .el-pagination__editor,.el-pagination--small .el-pagination__editor.el-input .el-input__inner{height:22px}.el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#606266}.el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.el-pagination__sizes .el-input .el-input__inner:hover{border-color:#409EFF}.el-pagination__total{margin-right:10px;font-weight:400;color:#606266}.el-pagination__jump{margin-left:24px;font-weight:400;color:#606266}.el-pagination__jump .el-input__inner{padding:0 3px}.el-pagination__rightwrapper{float:right}.el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px}.el-pager,.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev{padding:0}.el-dialog,.el-pager li{-webkit-box-sizing:border-box}.el-pagination__editor.el-input{width:50px}.el-pagination__editor.el-input .el-input__inner{height:28px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{margin:0 5px;background-color:#f4f4f5;color:#606266;min-width:30px;border-radius:2px}.el-pagination.is-background .btn-next.disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.disabled{color:#C0C4CC}.el-pagination.is-background .el-pager li:not(.disabled):hover{color:#409EFF}.el-pagination.is-background .el-pager li:not(.disabled).active{background-color:#409EFF;color:#FFF}.el-pagination.is-background.el-pagination--small .btn-next,.el-pagination.is-background.el-pagination--small .btn-prev,.el-pagination.is-background.el-pagination--small .el-pager li{margin:0 3px;min-width:22px}.el-pager,.el-pager li{vertical-align:top;margin:0;display:inline-block}.el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;font-size:0}.el-pager .more::before{line-height:30px}.el-pager li{padding:0 4px;background:#FFF;font-size:13px;min-width:35.5px;height:28px;line-height:28px;box-sizing:border-box;text-align:center}.el-pager li.btn-quicknext,.el-pager li.btn-quickprev{line-height:28px;color:#303133}.el-pager li.btn-quicknext.disabled,.el-pager li.btn-quickprev.disabled{color:#C0C4CC}.el-pager li.active+li{border-left:0}.el-pager li:hover{color:#409EFF}.el-pager li.active{color:#409EFF;cursor:default}@-webkit-keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}.el-dialog{position:relative;margin:0 auto 50px;background:#FFF;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);box-sizing:border-box;width:50%}.el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.el-dialog__header{padding:20px 20px 10px}.el-dialog__headerbtn{position:absolute;top:20px;right:20px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.el-dialog__headerbtn .el-dialog__close{color:#909399}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:#409EFF}.el-dialog__title{line-height:24px;font-size:18px;color:#303133}.el-dialog__body{padding:30px 20px;color:#606266;font-size:14px;word-break:break-all}.el-dialog__footer{padding:10px 20px 20px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial;padding:25px 25px 30px}.el-dialog--center .el-dialog__footer{text-align:inherit}.dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-autocomplete{position:relative;display:inline-block}.el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px;border:1px solid #E4E7ED;-webkit-box-sizing:border-box;box-sizing:border-box;background-color:#FFF}.el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#606266;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:#F5F7FA}.el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.el-autocomplete-suggestion.is-loading li::after{display:inline-block;content:"";height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:#FFF}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-dropdown{display:inline-block;position:relative;color:#606266;font-size:14px}.el-dropdown .el-button-group{display:block}.el-dropdown .el-button-group .el-button{float:none}.el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.el-dropdown .el-dropdown__caret-button::before{content:'';position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:rgba(255,255,255,.5)}.el-dropdown .el-dropdown__caret-button.el-button--default::before{background:rgba(220,223,230,.5)}.el-dropdown .el-dropdown__caret-button:hover:not(.is-disabled)::before{top:0;bottom:0}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.el-dropdown__icon{font-size:12px;margin:0 3px}.el-dropdown .el-dropdown-selfdefine:focus:active,.el-dropdown .el-dropdown-selfdefine:focus:not(.focusing){outline-width:0}.el-dropdown [disabled]{cursor:not-allowed;color:#bbb}.el-dropdown-menu{position:absolute;top:0;left:0;z-index:10;padding:10px 0;margin:5px 0;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-dropdown-menu__item,.el-menu-item{font-size:14px;padding:0 20px;cursor:pointer}.el-dropdown-menu__item{list-style:none;line-height:36px;margin:0;color:#606266;outline:0}.el-dropdown-menu__item:focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:#ecf5ff;color:#66b1ff}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #EBEEF5}.el-dropdown-menu__item--divided:before{content:'';height:6px;display:block;margin:0 -20px;background-color:#FFF}.el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.el-dropdown-menu--medium{padding:6px 0}.el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.el-dropdown-menu--small{padding:6px 0}.el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.el-dropdown-menu--mini{padding:3px 0}.el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.el-menu{border-right:solid 1px #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0;background-color:#FFF}.el-menu--horizontal>.el-menu-item:not(.is-disabled):focus,.el-menu--horizontal>.el-menu-item:not(.is-disabled):hover,.el-menu--horizontal>.el-submenu .el-submenu__title:hover{background-color:#fff}.el-menu::after,.el-menu::before{display:table;content:""}.el-breadcrumb__item:last-child .el-breadcrumb__separator,.el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.el-menu::after{clear:both}.el-menu.el-menu--horizontal{border-bottom:solid 1px #e6e6e6}.el-menu--horizontal{border-right:none}.el-menu--horizontal>.el-menu-item{float:left;height:60px;line-height:60px;margin:0;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-submenu{float:left}.el-menu--horizontal>.el-submenu:focus,.el-menu--horizontal>.el-submenu:hover{outline:0}.el-menu--horizontal>.el-submenu:focus .el-submenu__title,.el-menu--horizontal>.el-submenu:hover .el-submenu__title{color:#303133}.el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #409EFF;color:#303133}.el-menu--horizontal>.el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#909399}.el-menu--horizontal>.el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.el-menu--collapse .el-submenu,.el-menu-item{position:relative}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-submenu__title{background-color:#FFF;float:none;height:36px;line-height:36px;padding:0 10px;color:#909399}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-submenu.is-active>.el-submenu__title{color:#303133}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{outline:0;color:#303133}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid #409EFF;color:#303133}.el-menu--collapse{width:64px}.el-menu--collapse>.el-menu-item [class^=el-icon-],.el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.el-menu--collapse>.el-menu-item span,.el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.el-menu-item,.el-submenu__title{height:56px;line-height:56px;list-style:none}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-submenu{min-width:200px}.el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;z-index:10;border:1px solid #E4E7ED;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.el-menu--popup{z-index:100;min-width:200px;border:none;padding:5px 0;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-menu--popup-bottom-start{margin-top:5px}.el-menu--popup-right-start{margin-left:5px;margin-right:5px}.el-menu-item{color:#303133;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.el-radio-button__inner,.el-submenu__title{-webkit-box-sizing:border-box;position:relative;white-space:nowrap}.el-menu-item *{vertical-align:middle}.el-menu-item i{color:#909399}.el-menu-item:focus,.el-menu-item:hover{outline:0;background-color:#ecf5ff}.el-menu-item.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px;vertical-align:middle}.el-menu-item.is-active{color:#409EFF}.el-menu-item.is-active i{color:inherit}.el-submenu{list-style:none;margin:0;padding-left:0}.el-submenu__title{font-size:14px;color:#303133;padding:0 20px;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;box-sizing:border-box}.el-submenu__title *{vertical-align:middle}.el-submenu__title i{color:#909399}.el-submenu__title:focus,.el-submenu__title:hover{outline:0;background-color:#ecf5ff}.el-submenu__title.is-disabled{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu__title:hover{background-color:#ecf5ff}.el-submenu .el-menu{border:none}.el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.el-submenu.is-active .el-submenu__title{border-bottom-color:#409EFF}.el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-submenu.is-disabled .el-menu-item,.el-submenu.is-disabled .el-submenu__title{opacity:.25;cursor:not-allowed;background:0 0!important}.el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#909399}.el-radio-button__inner,.el-radio-group{display:inline-block;line-height:1;vertical-align:middle}.horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0}.el-radio-group{font-size:0}.el-radio-button{position:relative;display:inline-block;outline:0}.el-radio-button__inner{background:#FFF;border:1px solid #DCDFE6;font-weight:500;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;box-sizing:border-box;outline:0;margin:0;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-radio-button__inner.is-round{padding:12px 20px}.el-radio-button__inner:hover{color:#409EFF}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1}.el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #409EFF;box-shadow:-1px 0 0 0 #409EFF}.el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#F2F6FC}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.el-radio-button:focus:not(.is-focus):not(:active):not(.is-disabled){-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-picker-panel,.el-popover,.el-select-dropdown,.el-table-filter,.el-time-panel{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-switch{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.el-switch__core,.el-switch__label{display:inline-block;cursor:pointer}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;font-size:14px;font-weight:500;vertical-align:middle;color:#303133}.el-switch__label.is-active{color:#409EFF}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{line-height:1;font-size:14px;display:inline-block}.el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.el-switch__core{margin:0;position:relative;width:40px;height:20px;border:1px solid #DCDFE6;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#DCDFE6;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;vertical-align:middle}.el-input__prefix,.el-input__suffix{-webkit-transition:all .3s;color:#C0C4CC}.el-switch__core:after{content:"";position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:all .3s;transition:all .3s;width:16px;height:16px;background-color:#FFF}.el-switch.is-checked .el-switch__core{border-color:#409EFF;background-color:#409EFF}.el-switch.is-checked .el-switch__core::after{left:100%;margin-left:-17px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter,.el-switch .label-fade-leave-active{opacity:0}.el-select-dropdown{position:absolute;z-index:1001;border:1px solid #E4E7ED;border-radius:4px;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.el-select-dropdown.is-multiple .el-select-dropdown__item{padding-right:40px}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#409EFF;background-color:#FFF}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#F5F7FA}.el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\e6da";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#606266;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.el-select-dropdown__item.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-select-dropdown__item.is-disabled:hover{background-color:#FFF}.el-select-dropdown__item.hover,.el-select-dropdown__item:hover{background-color:#F5F7FA}.el-select-dropdown__item.selected{color:#409EFF;font-weight:700}.el-select-group{margin:0;padding:0}.el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#E4E7ED}.el-select-group__title{padding-left:20px;font-size:12px;color:#909399;line-height:30px}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{display:inline-block;position:relative}.el-select .el-select__tags>span{display:contents}.el-select:hover .el-input__inner{border-color:#C0C4CC}.el-select .el-input__inner{cursor:pointer;padding-right:35px}.el-select .el-input__inner:focus{border-color:#409EFF}.el-select .el-input .el-select__caret{color:#C0C4CC;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);cursor:pointer}.el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#C0C4CC;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-select .el-input .el-select__caret.is-show-close:hover{color:#909399}.el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.el-select .el-input.is-disabled .el-input__inner:hover{border-color:#E4E7ED}.el-range-editor.is-active,.el-range-editor.is-active:hover,.el-select .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-select>.el-input{display:block}.el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.el-select__input.is-mini{height:14px}.el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#C0C4CC;line-height:18px;font-size:14px}.el-select__close:hover{color:#909399}.el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-select__tags-text{overflow:hidden;text-overflow:ellipsis}.el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:2px 0 2px 6px;background-color:#f0f2f5;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-select .el-tag__close.el-icon-close{background-color:#C0C4CC;top:0;color:#FFF;-ms-flex-negative:0;flex-shrink:0}.el-select .el-tag__close.el-icon-close:hover{background-color:#909399}.el-table,.el-table__expanded-cell{background-color:#FFF}.el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.el-table{position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;font-size:14px;color:#606266}.el-table__empty-block{min-height:60px;text-align:center;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-table__empty-text{line-height:60px;width:50%;color:#909399}.el-table__expand-column .cell{padding:0;text-align:center}.el-table__expand-icon{position:relative;cursor:pointer;color:#666;font-size:12px;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-right:0;border-bottom:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--scrollable-x .el-table__body-wrapper{overflow-x:auto}.el-table--scrollable-y .el-table__body-wrapper{overflow-y:auto}.el-table thead{color:#909399;font-weight:500}.el-table thead.is-group th.el-table__cell{background:#F5F7FA}.el-table .el-table__cell{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative;text-align:left}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table--medium .el-table__cell{padding:10px 0}.el-table--small{font-size:12px}.el-table--small .el-table__cell{padding:8px 0}.el-table--mini{font-size:12px}.el-table--mini .el-table__cell{padding:6px 0}.el-table tr{background-color:#FFF}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:1px solid #EBEEF5}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#FFF}.el-table th.el-table__cell>.cell{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;vertical-align:middle;padding-left:10px;padding-right:10px;width:100%}.el-table th.el-table__cell>.cell.highlight{color:#409EFF}.el-table th.el-table__cell.required>div::before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.el-table td.el-table__cell div{-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td,.el-table .cell,.el-table-filter{-webkit-box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table .cell{box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-left:10px;padding-right:10px}.el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.el-table--border,.el-table--group{border:1px solid #EBEEF5}.el-table--border::after,.el-table--group::after,.el-table::before{content:'';position:absolute;background-color:#EBEEF5;z-index:1}.el-table--border::after,.el-table--group::after{top:0;right:0;width:1px;height:100%}.el-table::before{left:0;bottom:0;width:100%;height:1px}.el-table--border{border-right:none;border-bottom:none}.el-table--border.el-loading-parent--relative{border-color:transparent}.el-table--border .el-table__cell,.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{border-right:1px solid #EBEEF5}.el-table--border .el-table__cell:first-child .cell{padding-left:10px}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:1px solid #EBEEF5;border-bottom-width:1px}.el-table--border th.el-table__cell,.el-table__fixed-right-patch{border-bottom:1px solid #EBEEF5}.el-table--hidden{visibility:hidden}.el-table__fixed,.el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;overflow-y:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.el-table__fixed-right::before,.el-table__fixed::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#EBEEF5;z-index:4}.el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#FFF}.el-table__fixed-right{top:0;left:auto;right:0}.el-table__fixed-right .el-table__fixed-body-wrapper,.el-table__fixed-right .el-table__fixed-footer-wrapper,.el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.el-table__fixed-footer-wrapper tbody td.el-table__cell{border-top:1px solid #EBEEF5;background-color:#F5F7FA;color:#606266}.el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__footer-wrapper{margin-top:-1px}.el-table__footer-wrapper td.el-table__cell{border-top:1px solid #EBEEF5}.el-table__body,.el-table__footer,.el-table__header{table-layout:fixed;border-collapse:separate}.el-table__footer-wrapper,.el-table__header-wrapper{overflow:hidden}.el-table__footer-wrapper tbody td.el-table__cell,.el-table__header-wrapper tbody td.el-table__cell{background-color:#F5F7FA;color:#606266}.el-table__body-wrapper{overflow:hidden;position:relative}.el-table__body-wrapper.is-scrolling-left~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed,.el-table__body-wrapper.is-scrolling-none~.el-table__fixed-right,.el-table__body-wrapper.is-scrolling-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.el-table__body-wrapper .el-table--border.is-scrolling-right~.el-table__fixed-right{border-left:1px solid #EBEEF5}.el-table .caret-wrapper{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;width:24px;vertical-align:middle;cursor:pointer;overflow:initial;position:relative}.el-table .sort-caret{width:0;height:0;border:5px solid transparent;position:absolute;left:7px}.el-table .sort-caret.ascending{border-bottom-color:#C0C4CC;top:5px}.el-table .sort-caret.descending{border-top-color:#C0C4CC;bottom:7px}.el-table .ascending .sort-caret.ascending{border-bottom-color:#409EFF}.el-table .descending .sort-caret.descending{border-top-color:#409EFF}.el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#FAFAFA}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell,.el-table--striped .el-table__body tr.el-table__row--striped.selection-row td.el-table__cell{background-color:#ecf5ff}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.selection-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row.selection-row>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell{background-color:#F5F7FA}.el-table__body tr.current-row>td.el-table__cell,.el-table__body tr.selection-row>td.el-table__cell{background-color:#ecf5ff}.el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #EBEEF5;z-index:10}.el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.el-table__column-filter-trigger i{color:#909399;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.el-table--enable-row-transition .el-table__body td.el-table__cell{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:#F5F7FA}.el-table--fluid-height .el-table__fixed,.el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;width:20px;line-height:20px;height:20px;text-align:center;margin-right:3px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{border:1px solid #EBEEF5;border-radius:2px;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-sizing:border-box;margin:2px 0}.el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.el-table-filter__list-item:hover{background-color:#ecf5ff;color:#66b1ff}.el-table-filter__list-item.is-active{background-color:#409EFF;color:#FFF}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid #EBEEF5;padding:8px}.el-table-filter__bottom button{background:0 0;border:none;color:#606266;cursor:pointer;font-size:13px;padding:0 3px}.el-date-table td.in-range div,.el-date-table td.in-range div:hover,.el-date-table.is-week-mode .el-date-table__row.current div,.el-date-table.is-week-mode .el-date-table__row:hover div{background-color:#F2F6FC}.el-table-filter__bottom button:hover{color:#409EFF}.el-table-filter__bottom button:focus{outline:0}.el-table-filter__bottom button.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{display:block;margin-right:5px;margin-bottom:8px;margin-left:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#606266}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td{width:32px;height:30px;padding:4px 0;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.el-date-table td div{height:30px;padding:3px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.el-date-table td.next-month,.el-date-table td.prev-month{color:#C0C4CC}.el-date-table td.today{position:relative}.el-date-table td.today span{color:#409EFF;font-weight:700}.el-date-table td.today.end-date span,.el-date-table td.today.start-date span{color:#FFF}.el-date-table td.available:hover{color:#409EFF}.el-date-table td.current:not(.disabled) span{color:#FFF;background-color:#409EFF}.el-date-table td.end-date div,.el-date-table td.start-date div{color:#FFF}.el-date-table td.end-date span,.el-date-table td.start-date span{background-color:#409EFF}.el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.el-date-table td.disabled div{background-color:#F5F7FA;opacity:1;cursor:not-allowed;color:#C0C4CC}.el-date-table td.selected div{margin-left:5px;margin-right:5px;background-color:#F2F6FC;border-radius:15px}.el-date-table td.selected div:hover{background-color:#F2F6FC}.el-date-table td.selected span{background-color:#409EFF;color:#FFF;border-radius:15px}.el-date-table td.week{font-size:80%;color:#606266}.el-month-table,.el-year-table{font-size:12px;border-collapse:collapse}.el-date-table th{padding:5px;color:#606266;font-weight:400;border-bottom:solid 1px #EBEEF5}.el-month-table{margin:-1px}.el-month-table td{text-align:center;padding:8px 0;cursor:pointer}.el-month-table td div{height:48px;padding:6px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-month-table td.today .cell{color:#409EFF;font-weight:700}.el-month-table td.today.end-date .cell,.el-month-table td.today.start-date .cell{color:#FFF}.el-month-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-month-table td.disabled .cell:hover{color:#C0C4CC}.el-month-table td .cell{width:60px;height:36px;display:block;line-height:36px;color:#606266;margin:0 auto;border-radius:18px}.el-month-table td .cell:hover{color:#409EFF}.el-month-table td.in-range div,.el-month-table td.in-range div:hover{background-color:#F2F6FC}.el-month-table td.end-date div,.el-month-table td.start-date div{color:#FFF}.el-month-table td.end-date .cell,.el-month-table td.start-date .cell{color:#FFF;background-color:#409EFF}.el-month-table td.start-date div{border-top-left-radius:24px;border-bottom-left-radius:24px}.el-month-table td.end-date div{border-top-right-radius:24px;border-bottom-right-radius:24px}.el-month-table td.current:not(.disabled) .cell{color:#409EFF}.el-year-table{margin:-1px}.el-year-table .el-icon{color:#303133}.el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.el-year-table td.today .cell{color:#409EFF;font-weight:700}.el-year-table td.disabled .cell{background-color:#F5F7FA;cursor:not-allowed;color:#C0C4CC}.el-year-table td.disabled .cell:hover{color:#C0C4CC}.el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#606266;margin:0 auto}.el-year-table td .cell:hover,.el-year-table td.current:not(.disabled) .cell{color:#409EFF}.el-date-range-picker{width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{position:relative;text-align:center;height:28px}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#303133}.el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#FFF}.el-date-picker{width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.el-date-picker__header{margin:12px;text-align:center}.el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #EBEEF5}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#606266}.el-date-picker__header-label.active,.el-date-picker__header-label:hover{color:#409EFF}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{max-height:200px;margin:0}.time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.time-select-item.selected:not(.disabled){color:#409EFF;font-weight:700}.time-select-item.disabled{color:#E4E7ED;cursor:not-allowed}.time-select-item:hover{background-color:#F5F7FA;font-weight:700;cursor:pointer}.el-date-editor{position:relative;display:inline-block;text-align:left}.el-date-editor.el-input,.el-date-editor.el-input__inner{width:220px}.el-date-editor--monthrange.el-input,.el-date-editor--monthrange.el-input__inner{width:300px}.el-date-editor--daterange.el-input,.el-date-editor--daterange.el-input__inner,.el-date-editor--timerange.el-input,.el-date-editor--timerange.el-input__inner{width:350px}.el-date-editor--datetimerange.el-input,.el-date-editor--datetimerange.el-input__inner{width:400px}.el-date-editor--dates .el-input__inner{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .el-icon-circle-close{cursor:pointer}.el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#C0C4CC;float:left;line-height:32px}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#606266}.el-date-editor .el-range-input::-webkit-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input:-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::-ms-input-placeholder{color:#C0C4CC}.el-date-editor .el-range-input::placeholder{color:#C0C4CC}.el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#303133}.el-date-editor .el-range__close-icon{font-size:14px;color:#C0C4CC;width:25px;display:inline-block;float:right;line-height:32px}.el-range-editor.el-input__inner{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:3px 10px}.el-range-editor .el-range-input{line-height:1}.el-range-editor--medium.el-input__inner{height:36px}.el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.el-range-editor--medium .el-range-input{font-size:14px}.el-range-editor--medium .el-range__close-icon,.el-range-editor--medium .el-range__icon{line-height:28px}.el-range-editor--small.el-input__inner{height:32px}.el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.el-range-editor--small .el-range-input{font-size:13px}.el-range-editor--small .el-range__close-icon,.el-range-editor--small .el-range__icon{line-height:24px}.el-range-editor--mini.el-input__inner{height:28px}.el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.el-range-editor--mini .el-range-input{font-size:12px}.el-range-editor--mini .el-range__close-icon,.el-range-editor--mini .el-range__icon{line-height:20px}.el-range-editor.is-disabled{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:#E4E7ED}.el-range-editor.is-disabled input{background-color:#F5F7FA;color:#C0C4CC;cursor:not-allowed}.el-range-editor.is-disabled input::-webkit-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input:-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::-ms-input-placeholder{color:#C0C4CC}.el-range-editor.is-disabled input::placeholder{color:#C0C4CC}.el-range-editor.is-disabled .el-range-separator{color:#C0C4CC}.el-picker-panel{color:#606266;border:1px solid #E4E7ED;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#FFF;border-radius:4px;line-height:30px;margin:5px 0}.el-picker-panel__body-wrapper::after,.el-picker-panel__body::after{content:"";display:table;clear:both}.el-picker-panel__content{position:relative;margin:15px}.el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#FFF;position:relative;font-size:0}.el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#606266;padding-left:12px;text-align:left;outline:0;cursor:pointer}.el-picker-panel__shortcut:hover{color:#409EFF}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#409EFF}.el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.el-picker-panel__icon-btn{font-size:12px;color:#303133;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.el-picker-panel__icon-btn:hover{color:#409EFF}.el-picker-panel__icon-btn.is-disabled{color:#bbb}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#FFF;overflow:auto}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#FFF;cursor:default}.el-time-spinner__arrow{font-size:12px;color:#909399;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.el-time-spinner__arrow:hover{color:#409EFF}.el-time-spinner__arrow.el-icon-arrow-up{top:10px}.el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__list{margin:0;list-style:none}.el-time-spinner__list::after,.el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#606266}.el-time-spinner__item:hover:not(.disabled):not(.active){background:#F5F7FA;cursor:pointer}.el-time-spinner__item.active:not(.disabled){color:#303133;font-weight:700}.el-time-spinner__item.disabled{color:#C0C4CC;cursor:not-allowed}.el-time-panel{margin:5px 0;border:1px solid #E4E7ED;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-box-sizing:content-box;box-sizing:content-box}.el-time-panel__content{font-size:0;position:relative;overflow:hidden}.el-time-panel__content::after,.el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #E4E7ED;border-bottom:1px solid #E4E7ED}.el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#303133}.el-time-panel__btn.confirm{font-weight:800;color:#409EFF}.el-time-range-picker{width:354px;overflow:visible}.el-time-range-picker__content{position:relative;text-align:center;padding:10px}.el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.el-time-range-picker__body{border-radius:2px;border:1px solid #E4E7ED}.el-popover{position:absolute;background:#FFF;min-width:150px;border-radius:4px;border:1px solid #EBEEF5;padding:12px;z-index:2000;color:#606266;line-height:1.4;text-align:justify;font-size:14px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);word-break:break-all}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover,.el-cascader__dropdown,.el-color-picker__panel,.el-message-box,.el-notification{-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-popover--plain{padding:18px 20px}.el-popover__title{color:#303133;font-size:16px;line-height:1;margin-bottom:12px}.el-popover:focus,.el-popover:focus:active,.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.el-popup-parent--hidden{overflow:hidden}.el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#FFF;border-radius:4px;border:1px solid #EBEEF5;font-size:18px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.el-message-box__wrapper::after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.el-message-box__header{position:relative;padding:15px 15px 10px}.el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#303133}.el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.el-form-item.is-error .el-input__inner,.el-form-item.is-error .el-input__inner:focus,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner:focus,.el-message-box__input input.invalid,.el-message-box__input input.invalid:focus{border-color:#F56C6C}.el-message-box__headerbtn .el-message-box__close{color:#909399}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:#409EFF}.el-message-box__content{padding:10px 15px;color:#606266;font-size:14px}.el-message-box__container{position:relative}.el-message-box__input{padding-top:15px}.el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.el-message-box__status::before{padding-left:1px}.el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.el-message-box__status.el-icon-success{color:#67C23A}.el-message-box__status.el-icon-info{color:#909399}.el-message-box__status.el-icon-warning{color:#E6A23C}.el-message-box__status.el-icon-error{color:#F56C6C}.el-message-box__message{margin:0}.el-message-box__message p{margin:0;line-height:24px}.el-message-box__errormsg{color:#F56C6C;font-size:12px;min-height:18px;margin-top:2px}.el-message-box__btns{padding:5px 15px 0;text-align:right}.el-message-box__btns button:nth-child(2){margin-left:10px}.el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.el-message-box--center{padding-bottom:30px}.el-message-box--center .el-message-box__header{padding-top:30px}.el-message-box--center .el-message-box__title{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.el-message-box--center .el-message-box__message{margin-left:0}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__content{text-align:center}.el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb::after,.el-breadcrumb::before{display:table;content:""}.el-breadcrumb::after{clear:both}.el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#C0C4CC}.el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.el-breadcrumb__item{float:left}.el-breadcrumb__inner{color:#606266}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{font-weight:700;text-decoration:none;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#303133}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:#409EFF;cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#606266;cursor:text}.el-form--label-left .el-form-item__label{text-align:left}.el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px}.el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.el-form--inline .el-form-item__label{float:none;display:inline-block}.el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.el-form--inline.el-form--label-top .el-form-item__content{display:block}.el-form-item{margin-bottom:22px}.el-form-item::after,.el-form-item::before{display:table;content:""}.el-form-item::after{clear:both}.el-form-item .el-form-item{margin-bottom:0}.el-form-item--mini.el-form-item,.el-form-item--small.el-form-item{margin-bottom:18px}.el-form-item .el-input__validateIcon{display:none}.el-form-item--medium .el-form-item__content,.el-form-item--medium .el-form-item__label{line-height:36px}.el-form-item--small .el-form-item__content,.el-form-item--small .el-form-item__label{line-height:32px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--mini .el-form-item__content,.el-form-item--mini .el-form-item__label{line-height:28px}.el-form-item--mini .el-form-item__error{padding-top:1px}.el-form-item__label-wrap{float:left}.el-form-item__label-wrap .el-form-item__label{display:inline-block;float:none}.el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#606266;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-form-item__content{line-height:40px;position:relative;font-size:14px}.el-form-item__content::after,.el-form-item__content::before{display:table;content:""}.el-form-item__content::after{clear:both}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:#F56C6C;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.el-form-item.is-required:not(.is-no-asterisk) .el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before{content:'*';color:#F56C6C;margin-right:4px}.el-form-item.is-error .el-input-group__append .el-input__inner,.el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.el-form-item.is-error .el-input__validateIcon{color:#F56C6C}.el-form-item--feedback .el-input__validateIcon{display:inline-block}.el-tabs__header{padding:0;position:relative;margin:0 0 15px}.el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#409EFF;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8,.8);transform:scale(.8,.8)}.el-tabs__new-tab:hover{color:#409EFF}.el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.el-tabs__nav-wrap::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#E4E7ED;z-index:1}.el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#909399}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.el-tabs__nav.is-stretch{min-width:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.el-tabs__nav.is-stretch>*{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center}.el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#303133;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:0}.el-tabs__item:focus.is-active.is-focus:not(:active){-webkit-box-shadow:0 0 2px 2px #409EFF inset;box-shadow:0 0 2px 2px #409EFF inset;border-radius:3px}.el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.el-tabs--card>.el-tabs__header .el-tabs__active-bar,.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left,.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs__item .el-icon-close:hover{background-color:#C0C4CC;color:#FFF}.el-tabs__item.is-active{color:#409EFF}.el-tabs__item:hover{color:#409EFF;cursor:pointer}.el-tabs__item.is-disabled{color:#C0C4CC;cursor:default}.el-tabs__content{overflow:hidden;position:relative}.el-tabs--card>.el-tabs__header{border-bottom:1px solid #E4E7ED}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #E4E7ED;border-bottom:none;border-radius:4px 4px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #E4E7ED;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#FFF}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close{width:14px}.el-tabs--border-card{background:#FFF;border:1px solid #DCDFE6;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:#F5F7FA;border-bottom:1px solid #E4E7ED;margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin-top:-1px;color:#909399}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-col-offset-0,.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#409EFF;background-color:#FFF;border-right-color:#DCDFE6;border-left-color:#DCDFE6}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:#409EFF}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:#C0C4CC}.el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),.el-tabs--bottom .el-tabs__item.is-top:nth-child(2),.el-tabs--top .el-tabs__item.is-bottom:nth-child(2),.el-tabs--top .el-tabs__item.is-top:nth-child(2){padding-left:0}.el-tabs--bottom .el-tabs__item.is-bottom:last-child,.el-tabs--bottom .el-tabs__item.is-top:last-child,.el-tabs--top .el-tabs__item.is-bottom:last-child,.el-tabs--top .el-tabs__item.is-top:last-child{padding-right:0}.el-cascader-menu:last-child .el-cascader-node,.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--bottom .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--left>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top .el-tabs--right>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid #DCDFE6}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-top:-1px;margin-bottom:0}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{top:0;bottom:auto;width:2px;height:auto}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{right:auto;bottom:0}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left::after{right:0;left:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left::after,.el-tabs--left .el-tabs__nav-wrap.is-right::after,.el-tabs--right .el-tabs__nav-wrap.is-left::after,.el-tabs--right .el-tabs__nav-wrap.is-right::after{height:100%;width:2px;bottom:auto;top:0}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{float:none}.el-tabs--left .el-tabs__item.is-left,.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-right{display:block}.el-tabs--left .el-tabs__header.is-left{float:left;margin-bottom:0;margin-right:10px}.el-button-group>.el-button:not(:last-child),.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-left:none;border-right:1px solid #E4E7ED;border-bottom:none;border-top:1px solid #E4E7ED;text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid #E4E7ED;border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid #E4E7ED;border-right-color:#fff;border-left:none;border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #E4E7ED;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid #dfe4ed}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:#d1dbe5 transparent}.el-tabs--right .el-tabs__header.is-right{float:right;margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right::after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid #E4E7ED}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid #E4E7ED;border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid #E4E7ED;border-left-color:#fff;border-right:none;border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #E4E7ED;border-left:none}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid #dfe4ed}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:#d1dbe5 transparent}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}.el-tree{position:relative;cursor:default;background:#FFF;color:#606266}.el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#909399;font-size:14px}.el-tree__drop-indicator{position:absolute;left:0;right:0;height:1px;background-color:#409EFF}.el-tree-node{white-space:nowrap;outline:0}.el-tree-node:focus>.el-tree-node__content{background-color:#F5F7FA}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:#409EFF;color:#fff}.el-tree-node__content:hover,.el-upload-list__item:hover{background-color:#F5F7FA}.el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{cursor:pointer;color:#C0C4CC;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.el-tree-node__label{font-size:14px}.el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#C0C4CC}.el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#f0f7ff}.el-alert{width:100%;padding:8px 16px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;background-color:#FFF;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.el-alert.is-light .el-alert__closebtn{color:#C0C4CC}.el-alert.is-dark .el-alert__closebtn,.el-alert.is-dark .el-alert__description{color:#FFF}.el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-alert--success.is-light{background-color:#f0f9eb;color:#67C23A}.el-alert--success.is-light .el-alert__description{color:#67C23A}.el-alert--success.is-dark{background-color:#67C23A;color:#FFF}.el-alert--info.is-light{background-color:#f4f4f5;color:#909399}.el-alert--info.is-dark{background-color:#909399;color:#FFF}.el-alert--info .el-alert__description{color:#909399}.el-alert--warning.is-light{background-color:#fdf6ec;color:#E6A23C}.el-alert--warning.is-light .el-alert__description{color:#E6A23C}.el-alert--warning.is-dark{background-color:#E6A23C;color:#FFF}.el-alert--error.is-light{background-color:#fef0f0;color:#F56C6C}.el-alert--error.is-light .el-alert__description{color:#F56C6C}.el-alert--error.is-dark{background-color:#F56C6C;color:#FFF}.el-alert__content{display:table-cell;padding:0 8px}.el-alert__icon{font-size:16px;width:16px}.el-alert__icon.is-big{font-size:28px;width:28px}.el-alert__title{font-size:13px;line-height:18px}.el-alert__title.is-bold{font-weight:700}.el-alert .el-alert__description{font-size:12px;margin:5px 0 0}.el-alert__closebtn{font-size:12px;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.el-alert-fade-enter,.el-alert-fade-leave-active,.el-loading-fade-enter,.el-loading-fade-leave-active,.el-notification-fade-leave-active,.el-upload iframe{opacity:0}.el-carousel__arrow--right,.el-notification.right{right:16px}.el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #EBEEF5;position:fixed;background-color:#FFF;box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.el-notification.left{left:16px}.el-notification__group{margin-left:13px;margin-right:8px}.el-notification__title{font-weight:700;font-size:16px;color:#303133;margin:0}.el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0;color:#606266;text-align:justify}.el-notification__content p{margin:0}.el-notification__icon{height:24px;width:24px;font-size:24px}.el-notification__closeBtn{position:absolute;top:18px;right:15px;cursor:pointer;color:#909399;font-size:16px}.el-notification__closeBtn:hover{color:#606266}.el-notification .el-icon-success{color:#67C23A}.el-notification .el-icon-error{color:#F56C6C}.el-notification .el-icon-info{color:#909399}.el-notification .el-icon-warning{color:#E6A23C}.el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.el-input-number .el-input{display:block}.el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.el-input-number__decrease,.el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#F5F7FA;color:#606266;cursor:pointer;font-size:13px}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:#409EFF}.el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#409EFF}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #DCDFE6}.el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #DCDFE6}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:#E4E7ED;color:#E4E7ED}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:#E4E7ED;cursor:not-allowed}.el-input-number--medium{width:200px;line-height:34px}.el-input-number--medium .el-input-number__decrease,.el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.el-input-number--small{width:130px;line-height:30px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.el-input-number--mini{width:130px;line-height:26px}.el-input-number--mini .el-input-number__decrease,.el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.el-input-number--mini .el-input-number__decrease [class*=el-icon],.el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #DCDFE6}.el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #DCDFE6;border-radius:0 0 4px}.el-input-number.is-controls-right[class*=medium] [class*=decrease],.el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.el-input-number.is-controls-right[class*=mini] [class*=decrease],.el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.el-tooltip:focus:hover,.el-tooltip:focus:not(.focusing){outline-width:0}.el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2;min-width:10px;word-wrap:break-word}.el-tooltip__popper .popper__arrow,.el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-tooltip__popper .popper__arrow{border-width:6px}.el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.el-button-group::after,.el-button-group::before,.el-color-dropdown__main-wrapper::after,.el-link.is-underline:hover:after,.el-page-header__left::after,.el-progress-bar__inner::after,.el-row::after,.el-row::before,.el-slider::after,.el-slider::before,.el-slider__button-wrapper::after,.el-transfer-panel .el-transfer-panel__footer::after,.el-upload-cover::after,.el-upload-list--picture-card .el-upload-list__item-actions::after{content:""}.el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#303133;border-bottom-width:0}.el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#303133}.el-tooltip__popper[x-placement^=right]{margin-left:12px}.el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#303133;border-left-width:0}.el-tooltip__popper[x-placement^=left]{margin-right:12px}.el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#303133}.el-tooltip__popper.is-dark{background:#303133;color:#FFF}.el-tooltip__popper.is-light{background:#FFF;border:1px solid #303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#303133}.el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#FFF}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#303133}.el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#FFF}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#303133}.el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#FFF}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#303133}.el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#FFF}.el-slider::after,.el-slider::before{display:table}.el-slider__button-wrapper .el-tooltip,.el-slider__button-wrapper::after{display:inline-block;vertical-align:middle}.el-slider::after{clear:both}.el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#E4E7ED;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.el-slider__runway.show-input{margin-right:160px;width:auto}.el-slider__runway.disabled{cursor:default}.el-slider__runway.disabled .el-slider__bar{background-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button{border-color:#C0C4CC}.el-slider__runway.disabled .el-slider__button-wrapper.dragging,.el-slider__runway.disabled .el-slider__button-wrapper.hover,.el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.disabled .el-slider__button.dragging,.el-slider__runway.disabled .el-slider__button.hover,.el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1);cursor:not-allowed}.el-slider__button-wrapper,.el-slider__stop{-webkit-transform:translateX(-50%);position:absolute}.el-slider__input{float:right;margin-top:3px;width:130px}.el-slider__input.el-input-number--mini{margin-top:5px}.el-slider__input.el-input-number--medium{margin-top:0}.el-slider__input.el-input-number--large{margin-top:-2px}.el-slider__bar{height:6px;background-color:#409EFF;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.el-slider__button-wrapper{height:36px;width:36px;z-index:1001;top:-15px;transform:translateX(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;line-height:normal}.el-image-viewer__btn,.el-slider__button,.el-step__icon-inner{-moz-user-select:none;-ms-user-select:none}.el-slider__button-wrapper::after{height:100%}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__button{width:16px;height:16px;border:2px solid #409EFF;background-color:#FFF;border-radius:50%;-webkit-transition:.2s;transition:.2s;-webkit-user-select:none;user-select:none}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.el-slider__stop{height:6px;width:6px;border-radius:100%;background-color:#FFF;transform:translateX(-50%)}.el-slider__marks{top:0;left:12px;width:18px;height:100%}.el-slider__marks-text{position:absolute;-webkit-transform:translateX(-50%);transform:translateX(-50%);font-size:14px;color:#909399;margin-top:15px}.el-slider.is-vertical{position:relative}.el-slider.is-vertical .el-slider__runway{width:6px;height:100%;margin:0 16px}.el-slider.is-vertical .el-slider__bar{width:6px;height:auto;border-radius:0 0 3px 3px}.el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #DCDFE6;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#C0C4CC}.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#409EFF}.el-slider.is-vertical .el-slider__marks-text{margin-top:0;left:15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{position:absolute;z-index:2000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.el-col-pull-0,.el-col-pull-1,.el-col-pull-10,.el-col-pull-11,.el-col-pull-12,.el-col-pull-13,.el-col-pull-14,.el-col-pull-15,.el-col-pull-16,.el-col-pull-17,.el-col-pull-18,.el-col-pull-19,.el-col-pull-2,.el-col-pull-20,.el-col-pull-21,.el-col-pull-22,.el-col-pull-23,.el-col-pull-24,.el-col-pull-3,.el-col-pull-4,.el-col-pull-5,.el-col-pull-6,.el-col-pull-7,.el-col-pull-8,.el-col-pull-9,.el-col-push-0,.el-col-push-1,.el-col-push-10,.el-col-push-11,.el-col-push-12,.el-col-push-13,.el-col-push-14,.el-col-push-15,.el-col-push-16,.el-col-push-17,.el-col-push-18,.el-col-push-19,.el-col-push-2,.el-col-push-20,.el-col-push-21,.el-col-push-22,.el-col-push-23,.el-col-push-24,.el-col-push-3,.el-col-push-4,.el-col-push-5,.el-col-push-6,.el-col-push-7,.el-col-push-8,.el-col-push-9,.el-row,.el-upload-dragger,.el-upload-list__item{position:relative}.el-loading-spinner .el-loading-text{color:#409EFF;margin:3px 0;font-size:14px}.el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#409EFF;stroke-linecap:round}.el-loading-spinner i{color:#409EFF}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-row{-webkit-box-sizing:border-box;box-sizing:border-box}.el-row::after,.el-row::before{display:table}.el-row::after{clear:both}.el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.el-col-0,.el-row--flex:after,.el-row--flex:before{display:none}.el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.el-row--flex.is-align-top{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}[class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.el-col-0{width:0%}.el-col-pull-0{right:0}.el-col-push-0{left:0}.el-col-1{width:4.16667%}.el-col-offset-1{margin-left:4.16667%}.el-col-pull-1{right:4.16667%}.el-col-push-1{left:4.16667%}.el-col-2{width:8.33333%}.el-col-offset-2{margin-left:8.33333%}.el-col-pull-2{right:8.33333%}.el-col-push-2{left:8.33333%}.el-col-3{width:12.5%}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{right:12.5%}.el-col-push-3{left:12.5%}.el-col-4{width:16.66667%}.el-col-offset-4{margin-left:16.66667%}.el-col-pull-4{right:16.66667%}.el-col-push-4{left:16.66667%}.el-col-5{width:20.83333%}.el-col-offset-5{margin-left:20.83333%}.el-col-pull-5{right:20.83333%}.el-col-push-5{left:20.83333%}.el-col-6{width:25%}.el-col-offset-6{margin-left:25%}.el-col-pull-6{right:25%}.el-col-push-6{left:25%}.el-col-7{width:29.16667%}.el-col-offset-7{margin-left:29.16667%}.el-col-pull-7{right:29.16667%}.el-col-push-7{left:29.16667%}.el-col-8{width:33.33333%}.el-col-offset-8{margin-left:33.33333%}.el-col-pull-8{right:33.33333%}.el-col-push-8{left:33.33333%}.el-col-9{width:37.5%}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{right:37.5%}.el-col-push-9{left:37.5%}.el-col-10{width:41.66667%}.el-col-offset-10{margin-left:41.66667%}.el-col-pull-10{right:41.66667%}.el-col-push-10{left:41.66667%}.el-col-11{width:45.83333%}.el-col-offset-11{margin-left:45.83333%}.el-col-pull-11{right:45.83333%}.el-col-push-11{left:45.83333%}.el-col-12{width:50%}.el-col-offset-12{margin-left:50%}.el-col-pull-12{right:50%}.el-col-push-12{left:50%}.el-col-13{width:54.16667%}.el-col-offset-13{margin-left:54.16667%}.el-col-pull-13{right:54.16667%}.el-col-push-13{left:54.16667%}.el-col-14{width:58.33333%}.el-col-offset-14{margin-left:58.33333%}.el-col-pull-14{right:58.33333%}.el-col-push-14{left:58.33333%}.el-col-15{width:62.5%}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{right:62.5%}.el-col-push-15{left:62.5%}.el-col-16{width:66.66667%}.el-col-offset-16{margin-left:66.66667%}.el-col-pull-16{right:66.66667%}.el-col-push-16{left:66.66667%}.el-col-17{width:70.83333%}.el-col-offset-17{margin-left:70.83333%}.el-col-pull-17{right:70.83333%}.el-col-push-17{left:70.83333%}.el-col-18{width:75%}.el-col-offset-18{margin-left:75%}.el-col-pull-18{right:75%}.el-col-push-18{left:75%}.el-col-19{width:79.16667%}.el-col-offset-19{margin-left:79.16667%}.el-col-pull-19{right:79.16667%}.el-col-push-19{left:79.16667%}.el-col-20{width:83.33333%}.el-col-offset-20{margin-left:83.33333%}.el-col-pull-20{right:83.33333%}.el-col-push-20{left:83.33333%}.el-col-21{width:87.5%}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{right:87.5%}.el-col-push-21{left:87.5%}.el-col-22{width:91.66667%}.el-col-offset-22{margin-left:91.66667%}.el-col-pull-22{right:91.66667%}.el-col-push-22{left:91.66667%}.el-col-23{width:95.83333%}.el-col-offset-23{margin-left:95.83333%}.el-col-pull-23{right:95.83333%}.el-col-push-23{left:95.83333%}.el-col-24{width:100%}.el-col-offset-24{margin-left:100%}.el-col-pull-24{right:100%}.el-col-push-24{left:100%}@media only screen and (max-width:767px){.el-col-xs-0{display:none;width:0%}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{position:relative;left:0}.el-col-xs-1{width:4.16667%}.el-col-xs-offset-1{margin-left:4.16667%}.el-col-xs-pull-1{position:relative;right:4.16667%}.el-col-xs-push-1{position:relative;left:4.16667%}.el-col-xs-2{width:8.33333%}.el-col-xs-offset-2{margin-left:8.33333%}.el-col-xs-pull-2{position:relative;right:8.33333%}.el-col-xs-push-2{position:relative;left:8.33333%}.el-col-xs-3{width:12.5%}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{position:relative;left:12.5%}.el-col-xs-4{width:16.66667%}.el-col-xs-offset-4{margin-left:16.66667%}.el-col-xs-pull-4{position:relative;right:16.66667%}.el-col-xs-push-4{position:relative;left:16.66667%}.el-col-xs-5{width:20.83333%}.el-col-xs-offset-5{margin-left:20.83333%}.el-col-xs-pull-5{position:relative;right:20.83333%}.el-col-xs-push-5{position:relative;left:20.83333%}.el-col-xs-6{width:25%}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{position:relative;left:25%}.el-col-xs-7{width:29.16667%}.el-col-xs-offset-7{margin-left:29.16667%}.el-col-xs-pull-7{position:relative;right:29.16667%}.el-col-xs-push-7{position:relative;left:29.16667%}.el-col-xs-8{width:33.33333%}.el-col-xs-offset-8{margin-left:33.33333%}.el-col-xs-pull-8{position:relative;right:33.33333%}.el-col-xs-push-8{position:relative;left:33.33333%}.el-col-xs-9{width:37.5%}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{position:relative;left:37.5%}.el-col-xs-10{width:41.66667%}.el-col-xs-offset-10{margin-left:41.66667%}.el-col-xs-pull-10{position:relative;right:41.66667%}.el-col-xs-push-10{position:relative;left:41.66667%}.el-col-xs-11{width:45.83333%}.el-col-xs-offset-11{margin-left:45.83333%}.el-col-xs-pull-11{position:relative;right:45.83333%}.el-col-xs-push-11{position:relative;left:45.83333%}.el-col-xs-12{width:50%}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{position:relative;left:50%}.el-col-xs-13{width:54.16667%}.el-col-xs-offset-13{margin-left:54.16667%}.el-col-xs-pull-13{position:relative;right:54.16667%}.el-col-xs-push-13{position:relative;left:54.16667%}.el-col-xs-14{width:58.33333%}.el-col-xs-offset-14{margin-left:58.33333%}.el-col-xs-pull-14{position:relative;right:58.33333%}.el-col-xs-push-14{position:relative;left:58.33333%}.el-col-xs-15{width:62.5%}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{position:relative;left:62.5%}.el-col-xs-16{width:66.66667%}.el-col-xs-offset-16{margin-left:66.66667%}.el-col-xs-pull-16{position:relative;right:66.66667%}.el-col-xs-push-16{position:relative;left:66.66667%}.el-col-xs-17{width:70.83333%}.el-col-xs-offset-17{margin-left:70.83333%}.el-col-xs-pull-17{position:relative;right:70.83333%}.el-col-xs-push-17{position:relative;left:70.83333%}.el-col-xs-18{width:75%}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{position:relative;left:75%}.el-col-xs-19{width:79.16667%}.el-col-xs-offset-19{margin-left:79.16667%}.el-col-xs-pull-19{position:relative;right:79.16667%}.el-col-xs-push-19{position:relative;left:79.16667%}.el-col-xs-20{width:83.33333%}.el-col-xs-offset-20{margin-left:83.33333%}.el-col-xs-pull-20{position:relative;right:83.33333%}.el-col-xs-push-20{position:relative;left:83.33333%}.el-col-xs-21{width:87.5%}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{position:relative;left:87.5%}.el-col-xs-22{width:91.66667%}.el-col-xs-offset-22{margin-left:91.66667%}.el-col-xs-pull-22{position:relative;right:91.66667%}.el-col-xs-push-22{position:relative;left:91.66667%}.el-col-xs-23{width:95.83333%}.el-col-xs-offset-23{margin-left:95.83333%}.el-col-xs-pull-23{position:relative;right:95.83333%}.el-col-xs-push-23{position:relative;left:95.83333%}.el-col-xs-24{width:100%}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;width:0%}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{position:relative;left:0}.el-col-sm-1{width:4.16667%}.el-col-sm-offset-1{margin-left:4.16667%}.el-col-sm-pull-1{position:relative;right:4.16667%}.el-col-sm-push-1{position:relative;left:4.16667%}.el-col-sm-2{width:8.33333%}.el-col-sm-offset-2{margin-left:8.33333%}.el-col-sm-pull-2{position:relative;right:8.33333%}.el-col-sm-push-2{position:relative;left:8.33333%}.el-col-sm-3{width:12.5%}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{position:relative;left:12.5%}.el-col-sm-4{width:16.66667%}.el-col-sm-offset-4{margin-left:16.66667%}.el-col-sm-pull-4{position:relative;right:16.66667%}.el-col-sm-push-4{position:relative;left:16.66667%}.el-col-sm-5{width:20.83333%}.el-col-sm-offset-5{margin-left:20.83333%}.el-col-sm-pull-5{position:relative;right:20.83333%}.el-col-sm-push-5{position:relative;left:20.83333%}.el-col-sm-6{width:25%}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{position:relative;left:25%}.el-col-sm-7{width:29.16667%}.el-col-sm-offset-7{margin-left:29.16667%}.el-col-sm-pull-7{position:relative;right:29.16667%}.el-col-sm-push-7{position:relative;left:29.16667%}.el-col-sm-8{width:33.33333%}.el-col-sm-offset-8{margin-left:33.33333%}.el-col-sm-pull-8{position:relative;right:33.33333%}.el-col-sm-push-8{position:relative;left:33.33333%}.el-col-sm-9{width:37.5%}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{position:relative;left:37.5%}.el-col-sm-10{width:41.66667%}.el-col-sm-offset-10{margin-left:41.66667%}.el-col-sm-pull-10{position:relative;right:41.66667%}.el-col-sm-push-10{position:relative;left:41.66667%}.el-col-sm-11{width:45.83333%}.el-col-sm-offset-11{margin-left:45.83333%}.el-col-sm-pull-11{position:relative;right:45.83333%}.el-col-sm-push-11{position:relative;left:45.83333%}.el-col-sm-12{width:50%}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{position:relative;left:50%}.el-col-sm-13{width:54.16667%}.el-col-sm-offset-13{margin-left:54.16667%}.el-col-sm-pull-13{position:relative;right:54.16667%}.el-col-sm-push-13{position:relative;left:54.16667%}.el-col-sm-14{width:58.33333%}.el-col-sm-offset-14{margin-left:58.33333%}.el-col-sm-pull-14{position:relative;right:58.33333%}.el-col-sm-push-14{position:relative;left:58.33333%}.el-col-sm-15{width:62.5%}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{position:relative;left:62.5%}.el-col-sm-16{width:66.66667%}.el-col-sm-offset-16{margin-left:66.66667%}.el-col-sm-pull-16{position:relative;right:66.66667%}.el-col-sm-push-16{position:relative;left:66.66667%}.el-col-sm-17{width:70.83333%}.el-col-sm-offset-17{margin-left:70.83333%}.el-col-sm-pull-17{position:relative;right:70.83333%}.el-col-sm-push-17{position:relative;left:70.83333%}.el-col-sm-18{width:75%}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{position:relative;left:75%}.el-col-sm-19{width:79.16667%}.el-col-sm-offset-19{margin-left:79.16667%}.el-col-sm-pull-19{position:relative;right:79.16667%}.el-col-sm-push-19{position:relative;left:79.16667%}.el-col-sm-20{width:83.33333%}.el-col-sm-offset-20{margin-left:83.33333%}.el-col-sm-pull-20{position:relative;right:83.33333%}.el-col-sm-push-20{position:relative;left:83.33333%}.el-col-sm-21{width:87.5%}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{position:relative;left:87.5%}.el-col-sm-22{width:91.66667%}.el-col-sm-offset-22{margin-left:91.66667%}.el-col-sm-pull-22{position:relative;right:91.66667%}.el-col-sm-push-22{position:relative;left:91.66667%}.el-col-sm-23{width:95.83333%}.el-col-sm-offset-23{margin-left:95.83333%}.el-col-sm-pull-23{position:relative;right:95.83333%}.el-col-sm-push-23{position:relative;left:95.83333%}.el-col-sm-24{width:100%}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.el-col-md-0{display:none;width:0%}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{position:relative;left:0}.el-col-md-1{width:4.16667%}.el-col-md-offset-1{margin-left:4.16667%}.el-col-md-pull-1{position:relative;right:4.16667%}.el-col-md-push-1{position:relative;left:4.16667%}.el-col-md-2{width:8.33333%}.el-col-md-offset-2{margin-left:8.33333%}.el-col-md-pull-2{position:relative;right:8.33333%}.el-col-md-push-2{position:relative;left:8.33333%}.el-col-md-3{width:12.5%}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{position:relative;left:12.5%}.el-col-md-4{width:16.66667%}.el-col-md-offset-4{margin-left:16.66667%}.el-col-md-pull-4{position:relative;right:16.66667%}.el-col-md-push-4{position:relative;left:16.66667%}.el-col-md-5{width:20.83333%}.el-col-md-offset-5{margin-left:20.83333%}.el-col-md-pull-5{position:relative;right:20.83333%}.el-col-md-push-5{position:relative;left:20.83333%}.el-col-md-6{width:25%}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{position:relative;left:25%}.el-col-md-7{width:29.16667%}.el-col-md-offset-7{margin-left:29.16667%}.el-col-md-pull-7{position:relative;right:29.16667%}.el-col-md-push-7{position:relative;left:29.16667%}.el-col-md-8{width:33.33333%}.el-col-md-offset-8{margin-left:33.33333%}.el-col-md-pull-8{position:relative;right:33.33333%}.el-col-md-push-8{position:relative;left:33.33333%}.el-col-md-9{width:37.5%}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{position:relative;left:37.5%}.el-col-md-10{width:41.66667%}.el-col-md-offset-10{margin-left:41.66667%}.el-col-md-pull-10{position:relative;right:41.66667%}.el-col-md-push-10{position:relative;left:41.66667%}.el-col-md-11{width:45.83333%}.el-col-md-offset-11{margin-left:45.83333%}.el-col-md-pull-11{position:relative;right:45.83333%}.el-col-md-push-11{position:relative;left:45.83333%}.el-col-md-12{width:50%}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{position:relative;left:50%}.el-col-md-13{width:54.16667%}.el-col-md-offset-13{margin-left:54.16667%}.el-col-md-pull-13{position:relative;right:54.16667%}.el-col-md-push-13{position:relative;left:54.16667%}.el-col-md-14{width:58.33333%}.el-col-md-offset-14{margin-left:58.33333%}.el-col-md-pull-14{position:relative;right:58.33333%}.el-col-md-push-14{position:relative;left:58.33333%}.el-col-md-15{width:62.5%}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{position:relative;left:62.5%}.el-col-md-16{width:66.66667%}.el-col-md-offset-16{margin-left:66.66667%}.el-col-md-pull-16{position:relative;right:66.66667%}.el-col-md-push-16{position:relative;left:66.66667%}.el-col-md-17{width:70.83333%}.el-col-md-offset-17{margin-left:70.83333%}.el-col-md-pull-17{position:relative;right:70.83333%}.el-col-md-push-17{position:relative;left:70.83333%}.el-col-md-18{width:75%}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{position:relative;left:75%}.el-col-md-19{width:79.16667%}.el-col-md-offset-19{margin-left:79.16667%}.el-col-md-pull-19{position:relative;right:79.16667%}.el-col-md-push-19{position:relative;left:79.16667%}.el-col-md-20{width:83.33333%}.el-col-md-offset-20{margin-left:83.33333%}.el-col-md-pull-20{position:relative;right:83.33333%}.el-col-md-push-20{position:relative;left:83.33333%}.el-col-md-21{width:87.5%}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{position:relative;left:87.5%}.el-col-md-22{width:91.66667%}.el-col-md-offset-22{margin-left:91.66667%}.el-col-md-pull-22{position:relative;right:91.66667%}.el-col-md-push-22{position:relative;left:91.66667%}.el-col-md-23{width:95.83333%}.el-col-md-offset-23{margin-left:95.83333%}.el-col-md-pull-23{position:relative;right:95.83333%}.el-col-md-push-23{position:relative;left:95.83333%}.el-col-md-24{width:100%}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;width:0%}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{position:relative;left:0}.el-col-lg-1{width:4.16667%}.el-col-lg-offset-1{margin-left:4.16667%}.el-col-lg-pull-1{position:relative;right:4.16667%}.el-col-lg-push-1{position:relative;left:4.16667%}.el-col-lg-2{width:8.33333%}.el-col-lg-offset-2{margin-left:8.33333%}.el-col-lg-pull-2{position:relative;right:8.33333%}.el-col-lg-push-2{position:relative;left:8.33333%}.el-col-lg-3{width:12.5%}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{position:relative;left:12.5%}.el-col-lg-4{width:16.66667%}.el-col-lg-offset-4{margin-left:16.66667%}.el-col-lg-pull-4{position:relative;right:16.66667%}.el-col-lg-push-4{position:relative;left:16.66667%}.el-col-lg-5{width:20.83333%}.el-col-lg-offset-5{margin-left:20.83333%}.el-col-lg-pull-5{position:relative;right:20.83333%}.el-col-lg-push-5{position:relative;left:20.83333%}.el-col-lg-6{width:25%}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{position:relative;left:25%}.el-col-lg-7{width:29.16667%}.el-col-lg-offset-7{margin-left:29.16667%}.el-col-lg-pull-7{position:relative;right:29.16667%}.el-col-lg-push-7{position:relative;left:29.16667%}.el-col-lg-8{width:33.33333%}.el-col-lg-offset-8{margin-left:33.33333%}.el-col-lg-pull-8{position:relative;right:33.33333%}.el-col-lg-push-8{position:relative;left:33.33333%}.el-col-lg-9{width:37.5%}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{position:relative;left:37.5%}.el-col-lg-10{width:41.66667%}.el-col-lg-offset-10{margin-left:41.66667%}.el-col-lg-pull-10{position:relative;right:41.66667%}.el-col-lg-push-10{position:relative;left:41.66667%}.el-col-lg-11{width:45.83333%}.el-col-lg-offset-11{margin-left:45.83333%}.el-col-lg-pull-11{position:relative;right:45.83333%}.el-col-lg-push-11{position:relative;left:45.83333%}.el-col-lg-12{width:50%}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{position:relative;left:50%}.el-col-lg-13{width:54.16667%}.el-col-lg-offset-13{margin-left:54.16667%}.el-col-lg-pull-13{position:relative;right:54.16667%}.el-col-lg-push-13{position:relative;left:54.16667%}.el-col-lg-14{width:58.33333%}.el-col-lg-offset-14{margin-left:58.33333%}.el-col-lg-pull-14{position:relative;right:58.33333%}.el-col-lg-push-14{position:relative;left:58.33333%}.el-col-lg-15{width:62.5%}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{position:relative;left:62.5%}.el-col-lg-16{width:66.66667%}.el-col-lg-offset-16{margin-left:66.66667%}.el-col-lg-pull-16{position:relative;right:66.66667%}.el-col-lg-push-16{position:relative;left:66.66667%}.el-col-lg-17{width:70.83333%}.el-col-lg-offset-17{margin-left:70.83333%}.el-col-lg-pull-17{position:relative;right:70.83333%}.el-col-lg-push-17{position:relative;left:70.83333%}.el-col-lg-18{width:75%}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{position:relative;left:75%}.el-col-lg-19{width:79.16667%}.el-col-lg-offset-19{margin-left:79.16667%}.el-col-lg-pull-19{position:relative;right:79.16667%}.el-col-lg-push-19{position:relative;left:79.16667%}.el-col-lg-20{width:83.33333%}.el-col-lg-offset-20{margin-left:83.33333%}.el-col-lg-pull-20{position:relative;right:83.33333%}.el-col-lg-push-20{position:relative;left:83.33333%}.el-col-lg-21{width:87.5%}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{position:relative;left:87.5%}.el-col-lg-22{width:91.66667%}.el-col-lg-offset-22{margin-left:91.66667%}.el-col-lg-pull-22{position:relative;right:91.66667%}.el-col-lg-push-22{position:relative;left:91.66667%}.el-col-lg-23{width:95.83333%}.el-col-lg-offset-23{margin-left:95.83333%}.el-col-lg-pull-23{position:relative;right:95.83333%}.el-col-lg-push-23{position:relative;left:95.83333%}.el-col-lg-24{width:100%}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;width:0%}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{position:relative;left:0}.el-col-xl-1{width:4.16667%}.el-col-xl-offset-1{margin-left:4.16667%}.el-col-xl-pull-1{position:relative;right:4.16667%}.el-col-xl-push-1{position:relative;left:4.16667%}.el-col-xl-2{width:8.33333%}.el-col-xl-offset-2{margin-left:8.33333%}.el-col-xl-pull-2{position:relative;right:8.33333%}.el-col-xl-push-2{position:relative;left:8.33333%}.el-col-xl-3{width:12.5%}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{position:relative;left:12.5%}.el-col-xl-4{width:16.66667%}.el-col-xl-offset-4{margin-left:16.66667%}.el-col-xl-pull-4{position:relative;right:16.66667%}.el-col-xl-push-4{position:relative;left:16.66667%}.el-col-xl-5{width:20.83333%}.el-col-xl-offset-5{margin-left:20.83333%}.el-col-xl-pull-5{position:relative;right:20.83333%}.el-col-xl-push-5{position:relative;left:20.83333%}.el-col-xl-6{width:25%}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{position:relative;left:25%}.el-col-xl-7{width:29.16667%}.el-col-xl-offset-7{margin-left:29.16667%}.el-col-xl-pull-7{position:relative;right:29.16667%}.el-col-xl-push-7{position:relative;left:29.16667%}.el-col-xl-8{width:33.33333%}.el-col-xl-offset-8{margin-left:33.33333%}.el-col-xl-pull-8{position:relative;right:33.33333%}.el-col-xl-push-8{position:relative;left:33.33333%}.el-col-xl-9{width:37.5%}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{position:relative;left:37.5%}.el-col-xl-10{width:41.66667%}.el-col-xl-offset-10{margin-left:41.66667%}.el-col-xl-pull-10{position:relative;right:41.66667%}.el-col-xl-push-10{position:relative;left:41.66667%}.el-col-xl-11{width:45.83333%}.el-col-xl-offset-11{margin-left:45.83333%}.el-col-xl-pull-11{position:relative;right:45.83333%}.el-col-xl-push-11{position:relative;left:45.83333%}.el-col-xl-12{width:50%}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{position:relative;left:50%}.el-col-xl-13{width:54.16667%}.el-col-xl-offset-13{margin-left:54.16667%}.el-col-xl-pull-13{position:relative;right:54.16667%}.el-col-xl-push-13{position:relative;left:54.16667%}.el-col-xl-14{width:58.33333%}.el-col-xl-offset-14{margin-left:58.33333%}.el-col-xl-pull-14{position:relative;right:58.33333%}.el-col-xl-push-14{position:relative;left:58.33333%}.el-col-xl-15{width:62.5%}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{position:relative;left:62.5%}.el-col-xl-16{width:66.66667%}.el-col-xl-offset-16{margin-left:66.66667%}.el-col-xl-pull-16{position:relative;right:66.66667%}.el-col-xl-push-16{position:relative;left:66.66667%}.el-col-xl-17{width:70.83333%}.el-col-xl-offset-17{margin-left:70.83333%}.el-col-xl-pull-17{position:relative;right:70.83333%}.el-col-xl-push-17{position:relative;left:70.83333%}.el-col-xl-18{width:75%}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{position:relative;left:75%}.el-col-xl-19{width:79.16667%}.el-col-xl-offset-19{margin-left:79.16667%}.el-col-xl-pull-19{position:relative;right:79.16667%}.el-col-xl-push-19{position:relative;left:79.16667%}.el-col-xl-20{width:83.33333%}.el-col-xl-offset-20{margin-left:83.33333%}.el-col-xl-pull-20{position:relative;right:83.33333%}.el-col-xl-push-20{position:relative;left:83.33333%}.el-col-xl-21{width:87.5%}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{position:relative;left:87.5%}.el-col-xl-22{width:91.66667%}.el-col-xl-offset-22{margin-left:91.66667%}.el-col-xl-pull-22{position:relative;right:91.66667%}.el-col-xl-push-22{position:relative;left:91.66667%}.el-col-xl-23{width:95.83333%}.el-col-xl-offset-23{margin-left:95.83333%}.el-col-xl-pull-23{position:relative;right:95.83333%}.el-col-xl-push-23{position:relative;left:95.83333%}.el-col-xl-24{width:100%}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{position:relative;left:100%}}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-upload{display:inline-block;text-align:center;cursor:pointer;outline:0}.el-upload__input{display:none}.el-upload__tip{font-size:12px;color:#606266;margin-top:7px}.el-upload iframe{position:absolute;z-index:-1;top:0;left:0;filter:alpha(opacity=0)}.el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;cursor:pointer;line-height:146px;vertical-align:top}.el-upload--picture-card i{font-size:28px;color:#8c939d}.el-upload--picture-card:hover,.el-upload:focus{border-color:#409EFF;color:#409EFF}.el-upload:focus .el-upload-dragger{border-color:#409EFF}.el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:360px;height:180px;text-align:center;cursor:pointer;overflow:hidden}.el-upload-dragger .el-icon-upload{font-size:67px;color:#C0C4CC;margin:40px 0 16px;line-height:50px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:1px solid #DCDFE6;margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:#606266;font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:#409EFF;font-style:normal}.el-upload-dragger:hover{border-color:#409EFF}.el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #409EFF}.el-upload-list{margin:0;padding:0;list-style:none}.el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#606266;line-height:1.8;margin-top:5px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item:first-child{margin-top:10px}.el-upload-list__item .el-icon-upload-success{color:#67C23A}.el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#606266}.el-upload-list__item .el-icon-close:hover{opacity:1}.el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:5px;font-size:12px;cursor:pointer;opacity:1;color:#409EFF}.el-upload-list__item:hover .el-icon-close{display:inline-block}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#409EFF;cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon-close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon-close-tip,.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label,.el-upload-list__item.is-success:not(.focusing):focus .el-icon-close-tip{display:none}.el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.el-upload-list__item-name{color:#606266;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#909399;line-height:inherit}.el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#606266;display:none}.el-upload-list__item-delete:hover{color:#409EFF}.el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.el-upload-list--picture-card .el-upload-list__item .el-icon-check,.el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture-card .el-upload-list__item .el-icon-close,.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s;transition:opacity .3s}.el-upload-list--picture-card .el-upload-list__item-actions::after{display:inline-block;height:100%;vertical-align:middle}.el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{overflow:hidden;z-index:0;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.el-upload-list--picture .el-upload-list__item .el-icon-check,.el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#FFF}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px;background-color:#FFF}.el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.el-upload-cover::after{display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;width:100%;height:100%}.el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.el-upload-cover__interact .btn{display:inline-block;color:#FFF;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);margin-top:60px}.el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#FFF;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#FFF;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#303133}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-progress{position:relative;line-height:1}.el-progress__text{font-size:14px;color:#606266;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.el-progress__text i{vertical-align:middle;display:block}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{vertical-align:middle;display:inline-block}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:#67C23A}.el-progress.is-success .el-progress__text{color:#67C23A}.el-progress.is-warning .el-progress-bar__inner{background-color:#E6A23C}.el-badge__content,.el-progress.is-exception .el-progress-bar__inner{background-color:#F56C6C}.el-progress.is-warning .el-progress__text{color:#E6A23C}.el-progress.is-exception .el-progress__text{color:#F56C6C}.el-progress-bar{padding-right:50px;display:inline-block;vertical-align:middle;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.el-card__header,.el-message,.el-step__icon{-webkit-box-sizing:border-box}.el-progress-bar__outer{height:6px;border-radius:100px;background-color:#EBEEF5;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#409EFF;text-align:right;border-radius:100px;line-height:1;white-space:nowrap;-webkit-transition:width .6s ease;transition:width .6s ease}.el-progress-bar__inner::after{display:inline-block;height:100%;vertical-align:middle}.el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#FFF;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.el-time-spinner{width:100%;white-space:nowrap}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-message{min-width:380px;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid;border-color:#EBEEF5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,top .4s,-webkit-transform .4s;transition:opacity .3s,transform .4s,top .4s;transition:opacity .3s,transform .4s,top .4s,-webkit-transform .4s;overflow:hidden;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-message.is-closable .el-message__content{padding-right:16px}.el-message p{margin:0}.el-message--info .el-message__content{color:#909399}.el-message--success{background-color:#f0f9eb;border-color:#e1f3d8}.el-message--success .el-message__content{color:#67C23A}.el-message--warning{background-color:#fdf6ec;border-color:#faecd8}.el-message--warning .el-message__content{color:#E6A23C}.el-message--error{background-color:#fef0f0;border-color:#fde2e2}.el-message--error .el-message__content{color:#F56C6C}.el-message__icon{margin-right:10px}.el-message__content{padding:0;font-size:14px;line-height:1}.el-message__content:focus{outline-width:0}.el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#C0C4CC;font-size:16px}.el-message__closeBtn:focus{outline-width:0}.el-message__closeBtn:hover{color:#909399}.el-message .el-icon-success{color:#67C23A}.el-message .el-icon-error{color:#F56C6C}.el-message .el-icon-info{color:#909399}.el-message .el-icon-warning{color:#E6A23C}.el-message-fade-enter,.el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.el-badge{position:relative;vertical-align:middle;display:inline-block}.el-badge__content{border-radius:10px;color:#FFF;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #FFF}.el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.el-rate__icon,.el-rate__item{position:relative;display:inline-block}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.el-badge__content--primary{background-color:#409EFF}.el-badge__content--success{background-color:#67C23A}.el-badge__content--warning{background-color:#E6A23C}.el-badge__content--info{background-color:#909399}.el-badge__content--danger{background-color:#F56C6C}.el-card{border-radius:4px;border:1px solid #EBEEF5;background-color:#FFF;overflow:hidden;color:#303133;-webkit-transition:.3s;transition:.3s}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-card__header{padding:18px 20px;border-bottom:1px solid #EBEEF5;box-sizing:border-box}.el-card__body,.el-main{padding:20px}.el-rate{height:20px;line-height:1}.el-rate:active,.el-rate:focus{outline-width:0}.el-rate__item{font-size:0;vertical-align:middle}.el-rate__icon{font-size:18px;margin-right:6px;color:#C0C4CC;-webkit-transition:.3s;transition:.3s}.el-rate__decimal,.el-rate__icon .path2{position:absolute;top:0;left:0}.el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.el-rate__decimal{display:inline-block;overflow:hidden}.el-step.is-vertical,.el-steps{display:-webkit-box;display:-ms-flexbox}.el-rate__text{font-size:14px;vertical-align:middle}.el-steps{display:flex}.el-steps--simple{padding:13px 8%;border-radius:4px;background:#F5F7FA}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{color:#303133;border-color:#303133}.el-step__head.is-wait{color:#C0C4CC;border-color:#C0C4CC}.el-step__head.is-success{color:#67C23A;border-color:#67C23A}.el-step__head.is-error{color:#F56C6C;border-color:#F56C6C}.el-step__head.is-finish{color:#409EFF;border-color:#409EFF}.el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;box-sizing:border-box;background:#FFF;-webkit-transition:.15s ease-out;transition:.15s ease-out}.el-step.is-horizontal,.el-step__icon-inner{display:inline-block}.el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{-webkit-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.el-step__line{position:absolute;border-color:inherit;background-color:#C0C4CC}.el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.el-step__main{white-space:normal;text-align:left}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{font-weight:700;color:#303133}.el-step__title.is-wait{color:#C0C4CC}.el-step__title.is-success{color:#67C23A}.el-step__title.is-error{color:#F56C6C}.el-step__title.is-finish{color:#409EFF}.el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.el-step__description.is-process{color:#303133}.el-step__description.is-wait{color:#C0C4CC}.el-step__description.is-success{color:#67C23A}.el-step__description.is-error{color:#F56C6C}.el-step__description.is-finish{color:#409EFF}.el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.el-step.is-simple .el-step__arrow::after,.el-step.is-simple .el-step__arrow::before{content:'';display:inline-block;position:absolute;height:15px;width:1px;background:#C0C4CC}.el-step.is-simple .el-step__arrow::before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.el-step.is-simple .el-step__arrow::after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-carousel{position:relative}.el-carousel--horizontal{overflow-x:hidden}.el-carousel--vertical{overflow-y:hidden}.el-carousel__container{position:relative;height:300px}.el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#FFF;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.el-carousel__arrow--left{left:16px}.el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{position:absolute;list-style:none;margin:0;padding:0;z-index:2}.el-carousel__indicators--horizontal{bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:#C0C4CC;opacity:.24}.el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:12px 4px}.el-carousel__indicator--vertical{padding:4px 12px}.el-carousel__indicator--vertical .el-carousel__button{width:2px;height:15px}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#FFF;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.el-carousel__item,.el-carousel__mask{height:100%;position:absolute;top:0;left:0}.carousel-arrow-left-enter,.carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translateX(-10px);opacity:0}.carousel-arrow-right-enter,.carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px);opacity:0}.el-carousel__item{width:100%;display:inline-block;overflow:hidden;z-index:0}.el-carousel__item.is-active{z-index:2}.el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:2}.el-carousel__mask{width:100%;background-color:#FFF;opacity:.24;-webkit-transition:.2s;transition:.2s}.fade-in-linear-enter-active,.fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.fade-in-linear-enter,.fade-in-linear-leave,.fade-in-linear-leave-active{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.el-fade-in-linear-enter,.el-fade-in-linear-leave,.el-fade-in-linear-leave-active{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-fade-in-enter,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter,.el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center top;transform-origin:center top}.el-zoom-in-top-enter,.el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:center bottom;transform-origin:center bottom}.el-zoom-in-bottom-enter,.el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1),-webkit-transform .3s cubic-bezier(.23,1,.32,1);-webkit-transform-origin:top left;transform-origin:top left}.el-zoom-in-left-enter,.el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.el-list-enter,.el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.el-collapse{border-top:1px solid #EBEEF5;border-bottom:1px solid #EBEEF5}.el-collapse-item.is-disabled .el-collapse-item__header{color:#bbb;cursor:not-allowed}.el-collapse-item__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:48px;line-height:48px;background-color:#FFF;color:#303133;cursor:pointer;border-bottom:1px solid #EBEEF5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s;outline:0}.el-collapse-item__arrow{margin:0 8px 0 auto;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-weight:300}.el-collapse-item__arrow.is-active{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:#409EFF}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{will-change:height;background-color:#FFF;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #EBEEF5}.el-cascader__search-input,.el-cascader__tags,.el-tag{-webkit-box-sizing:border-box}.el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#303133;line-height:1.769230769230769}.el-collapse-item:last-child{margin-bottom:-1px}.el-popper .popper__arrow,.el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.el-cascader,.el-tag{display:inline-block}.el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.el-popper .popper__arrow::after{content:" ";border-width:6px}.el-popper[x-placement^=top]{margin-bottom:12px}.el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#EBEEF5;border-bottom-width:0}.el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#FFF;border-bottom-width:0}.el-popper[x-placement^=bottom]{margin-top:12px}.el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#EBEEF5}.el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#FFF}.el-popper[x-placement^=right]{margin-left:12px}.el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#EBEEF5;border-left-width:0}.el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#FFF;border-left-width:0}.el-popper[x-placement^=left]{margin-right:12px}.el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#EBEEF5}.el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#FFF}.el-tag{background-color:#ecf5ff;border-color:#d9ecff;height:32px;padding:0 10px;line-height:30px;font-size:12px;color:#409EFF;border-width:1px;border-style:solid;border-radius:4px;box-sizing:border-box;white-space:nowrap}.el-tag.is-hit{border-color:#409EFF}.el-tag .el-tag__close{color:#409eff}.el-tag .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag.el-tag--info{background-color:#f4f4f5;border-color:#e9e9eb;color:#909399}.el-tag.el-tag--info.is-hit{border-color:#909399}.el-tag.el-tag--info .el-tag__close{color:#909399}.el-tag.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag.el-tag--success{background-color:#f0f9eb;border-color:#e1f3d8;color:#67c23a}.el-tag.el-tag--success.is-hit{border-color:#67C23A}.el-tag.el-tag--success .el-tag__close{color:#67c23a}.el-tag.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag.el-tag--warning{background-color:#fdf6ec;border-color:#faecd8;color:#e6a23c}.el-tag.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag.el-tag--danger{background-color:#fef0f0;border-color:#fde2e2;color:#f56c6c}.el-tag.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:16px;width:16px;line-height:16px;vertical-align:middle;top:-1px;right:-5px}.el-tag .el-icon-close::before{display:block}.el-tag--dark{background-color:#409eff;border-color:#409eff;color:#fff}.el-tag--dark.is-hit{border-color:#409EFF}.el-tag--dark .el-tag__close{color:#fff}.el-tag--dark .el-tag__close:hover{color:#FFF;background-color:#66b1ff}.el-tag--dark.el-tag--info{background-color:#909399;border-color:#909399;color:#fff}.el-tag--dark.el-tag--info.is-hit{border-color:#909399}.el-tag--dark.el-tag--info .el-tag__close{color:#fff}.el-tag--dark.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#a6a9ad}.el-tag--dark.el-tag--success{background-color:#67c23a;border-color:#67c23a;color:#fff}.el-tag--dark.el-tag--success.is-hit{border-color:#67C23A}.el-tag--dark.el-tag--success .el-tag__close{color:#fff}.el-tag--dark.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#85ce61}.el-tag--dark.el-tag--warning{background-color:#e6a23c;border-color:#e6a23c;color:#fff}.el-tag--dark.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--dark.el-tag--warning .el-tag__close{color:#fff}.el-tag--dark.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#ebb563}.el-tag--dark.el-tag--danger{background-color:#f56c6c;border-color:#f56c6c;color:#fff}.el-tag--dark.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--dark.el-tag--danger .el-tag__close{color:#fff}.el-tag--dark.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f78989}.el-tag--plain{background-color:#fff;border-color:#b3d8ff;color:#409eff}.el-tag--plain.is-hit{border-color:#409EFF}.el-tag--plain .el-tag__close{color:#409eff}.el-tag--plain .el-tag__close:hover{color:#FFF;background-color:#409eff}.el-tag--plain.el-tag--info{background-color:#fff;border-color:#d3d4d6;color:#909399}.el-tag--plain.el-tag--info.is-hit{border-color:#909399}.el-tag--plain.el-tag--info .el-tag__close{color:#909399}.el-tag--plain.el-tag--info .el-tag__close:hover{color:#FFF;background-color:#909399}.el-tag--plain.el-tag--success{background-color:#fff;border-color:#c2e7b0;color:#67c23a}.el-tag--plain.el-tag--success.is-hit{border-color:#67C23A}.el-tag--plain.el-tag--success .el-tag__close{color:#67c23a}.el-tag--plain.el-tag--success .el-tag__close:hover{color:#FFF;background-color:#67c23a}.el-tag--plain.el-tag--warning{background-color:#fff;border-color:#f5dab1;color:#e6a23c}.el-tag--plain.el-tag--warning.is-hit{border-color:#E6A23C}.el-tag--plain.el-tag--warning .el-tag__close{color:#e6a23c}.el-tag--plain.el-tag--warning .el-tag__close:hover{color:#FFF;background-color:#e6a23c}.el-tag--plain.el-tag--danger{background-color:#fff;border-color:#fbc4c4;color:#f56c6c}.el-tag--plain.el-tag--danger.is-hit{border-color:#F56C6C}.el-tag--plain.el-tag--danger .el-tag__close{color:#f56c6c}.el-tag--plain.el-tag--danger .el-tag__close:hover{color:#FFF;background-color:#f56c6c}.el-tag--medium{height:28px;line-height:26px}.el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--small{height:24px;padding:0 8px;line-height:22px}.el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.el-tag--mini{height:20px;padding:0 5px;line-height:19px}.el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.el-cascader{position:relative;font-size:14px;line-height:40px}.el-cascader:not(.is-disabled):hover .el-input__inner{cursor:pointer;border-color:#C0C4CC}.el-cascader .el-input .el-input__inner:focus,.el-cascader .el-input.is-focus .el-input__inner{border-color:#409EFF}.el-cascader .el-input{cursor:pointer}.el-cascader .el-input .el-input__inner{text-overflow:ellipsis}.el-cascader .el-input .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.el-cascader .el-input .el-icon-arrow-down.is-reverse{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.el-cascader .el-input .el-icon-circle-close:hover{color:#909399}.el-cascader--medium{font-size:14px;line-height:36px}.el-cascader--small{font-size:13px;line-height:32px}.el-cascader--mini{font-size:12px;line-height:28px}.el-cascader.is-disabled .el-cascader__label{z-index:2;color:#C0C4CC}.el-cascader__dropdown{margin:5px 0;font-size:14px;background:#FFF;border:1px solid #E4E7ED;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-cascader__tags{position:absolute;left:0;right:30px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;line-height:normal;text-align:left;box-sizing:border-box}.el-cascader__tags .el-tag{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;max-width:100%;margin:2px 0 2px 6px;text-overflow:ellipsis;background:#f0f2f5}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag>span{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{-webkit-box-flex:0;-ms-flex:none;flex:none;background-color:#C0C4CC;color:#FFF}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:#909399}.el-cascader__suggestion-panel{border-radius:4px}.el-cascader__suggestion-list{max-height:204px;margin:0;padding:6px 0;font-size:14px;color:#606266;text-align:center}.el-cascader__suggestion-item{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:34px;padding:0 15px;text-align:left;outline:0;cursor:pointer}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:#F5F7FA}.el-cascader__suggestion-item.is-checked{color:#409EFF;font-weight:700}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{margin:10px 0;color:#C0C4CC}.el-cascader__search-input{-webkit-box-flex:1;-ms-flex:1;flex:1;height:24px;min-width:60px;margin:2px 0 2px 15px;padding:0;color:#606266;border:none;outline:0;box-sizing:border-box}.el-cascader__search-input::-webkit-input-placeholder{color:#C0C4CC}.el-cascader__search-input:-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::-ms-input-placeholder{color:#C0C4CC}.el-cascader__search-input::placeholder{color:#C0C4CC}.el-color-predefine{display:-webkit-box;display:-ms-flexbox;display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-wrap:wrap;flex-wrap:wrap}.el-color-predefine__color-selector{margin:0 0 8px 8px;width:20px;height:20px;border-radius:4px;cursor:pointer}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{-webkit-box-shadow:0 0 3px 2px #409EFF;box-shadow:0 0 3px 2px #409EFF}.el-color-predefine__color-selector>div{display:-webkit-box;display:-ms-flexbox;display:flex;height:100%;border-radius:3px}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);height:100%}.el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-svpanel{position:relative;width:280px;height:180px}.el-color-svpanel__black,.el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.el-color-svpanel__white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0)));background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.el-color-svpanel__black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(rgba(0,0,0,0)));background:linear-gradient(to top,#000,rgba(0,0,0,0))}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%);height:100%}.el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.el-color-alpha-slider.is-vertical{width:20px;height:180px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 100%)}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper::after{display:table;clear:both}.el-color-dropdown__btns{margin-top:6px;text-align:right}.el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.el-color-dropdown__btn:hover{color:#409EFF;border-color:#409EFF}.el-color-dropdown__link-btn{cursor:pointer;color:#409EFF;text-decoration:none;padding:15px;font-size:12px}.el-color-dropdown__link-btn:hover{color:tint(#409EFF,20%)}.el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--medium{height:36px}.el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.el-color-picker--small{height:32px}.el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker--mini{height:28px}.el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.el-color-picker--mini .el-color-picker__empty,.el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:rgba(255,255,255,.7)}.el-color-picker__trigger{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;position:relative;cursor:pointer}.el-color-picker__color{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.el-color-picker__icon,.el-input,.el-textarea{display:inline-block;width:100%}.el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.el-color-picker__empty{font-size:12px;color:#999;position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.el-color-picker__icon{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);color:#FFF;text-align:center;font-size:12px}.el-input__prefix,.el-input__suffix{position:absolute;top:0;text-align:center}.el-color-picker__panel{position:absolute;z-index:10;padding:6px;-webkit-box-sizing:content-box;box-sizing:content-box;background-color:#FFF;border:1px solid #EBEEF5;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.el-input__inner,.el-textarea__inner,.el-transfer-panel{-webkit-box-sizing:border-box}.el-textarea{position:relative;vertical-align:bottom;font-size:14px}.el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;box-sizing:border-box;width:100%;font-size:inherit;color:#606266;background-color:#FFF;background-image:none;border:1px solid #DCDFE6;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea__inner:hover{border-color:#C0C4CC}.el-textarea__inner:focus{outline:0;border-color:#409EFF}.el-textarea .el-input__count{color:#909399;background:#FFF;position:absolute;font-size:12px;bottom:5px;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#C0C4CC}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:#C0C4CC}.el-textarea.is-exceed .el-textarea__inner{border-color:#F56C6C}.el-textarea.is-exceed .el-input__count{color:#F56C6C}.el-input{position:relative;font-size:14px}.el-input::-webkit-scrollbar{z-index:11;width:6px}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.el-input::-webkit-scrollbar-corner{background:#fff}.el-input::-webkit-scrollbar-track{background:#fff}.el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.el-input .el-input__clear{color:#C0C4CC;font-size:14px;cursor:pointer;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.el-input .el-input__clear:hover{color:#909399}.el-input .el-input__count{height:100%;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#909399;font-size:12px}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input,.el-input__inner{font-size:inherit}.el-input .el-input__count .el-input__count-inner{background:#FFF;line-height:initial;display:inline-block;padding:0 5px}.el-input__inner{-webkit-appearance:none;background-color:#FFF;background-image:none;border-radius:4px;border:1px solid #DCDFE6;box-sizing:border-box;color:#606266;display:inline-block;height:40px;line-height:40px;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.el-input__inner::-ms-reveal{display:none}.el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input__inner::placeholder{color:#C0C4CC}.el-input__inner:hover{border-color:#C0C4CC}.el-input.is-active .el-input__inner,.el-input__inner:focus{border-color:#409EFF;outline:0}.el-input__suffix{height:100%;right:5px;transition:all .3s;pointer-events:none}.el-input__suffix-inner{pointer-events:all}.el-input__prefix{height:100%;left:5px;transition:all .3s}.el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.el-input__validateIcon{pointer-events:none}.el-input.is-disabled .el-input__inner{background-color:#F5F7FA;border-color:#E4E7ED;color:#C0C4CC;cursor:not-allowed}.el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__inner::placeholder{color:#C0C4CC}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-image-viewer__btn,.el-image__preview,.el-link,.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-input.is-exceed .el-input__inner{border-color:#F56C6C}.el-input.is-exceed .el-input__suffix .el-input__count{color:#F56C6C}.el-input--suffix .el-input__inner{padding-right:30px}.el-input--prefix .el-input__inner{padding-left:30px}.el-input--medium{font-size:14px}.el-input--medium .el-input__inner{height:36px;line-height:36px}.el-input--medium .el-input__icon{line-height:36px}.el-input--small{font-size:13px}.el-input--small .el-input__inner{height:32px;line-height:32px}.el-input--small .el-input__icon{line-height:32px}.el-input--mini{font-size:12px}.el-input--mini .el-input__inner{height:28px;line-height:28px}.el-input--mini .el-input__icon{line-height:28px}.el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate;border-spacing:0}.el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.el-input-group__append,.el-input-group__prepend{background-color:#F5F7FA;color:#909399;vertical-align:middle;display:table-cell;position:relative;border:1px solid #DCDFE6;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.el-input-group--append .el-input__inner,.el-input-group__prepend{border-top-right-radius:0;border-bottom-right-radius:0}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:0}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:-10px -20px}.el-input-group__append button.el-button,.el-input-group__append div.el-select .el-input__inner,.el-input-group__append div.el-select:hover .el-input__inner,.el-input-group__prepend button.el-button,.el-input-group__prepend div.el-select .el-input__inner,.el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.el-input-group__prepend{border-right:0}.el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.el-input-group--append .el-select .el-input.is-focus .el-input__inner,.el-input-group--prepend .el-select .el-input.is-focus .el-input__inner{border-color:transparent}.el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.el-input__inner::-ms-clear{display:none;width:0;height:0}.el-transfer{font-size:14px}.el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#FFF;background-color:#409EFF;font-size:0}.el-button-group>.el-button+.el-button,.el-transfer-panel__item+.el-transfer-panel__item,.el-transfer__button [class*=el-icon-]+span{margin-left:0}.el-divider__text,.el-image__error,.el-link,.el-timeline,.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button.is-with-texts{border-radius:4px}.el-transfer__button.is-disabled,.el-transfer__button.is-disabled:hover{border:1px solid #DCDFE6;background-color:#F5F7FA;color:#C0C4CC}.el-transfer__button:first-child{margin-bottom:10px}.el-transfer__button:nth-child(2){margin:0}.el-transfer-panel{border:1px solid #EBEEF5;border-radius:4px;overflow:hidden;background:#FFF;display:inline-block;vertical-align:middle;width:200px;max-height:100%;box-sizing:border-box;position:relative}.el-transfer-panel__body{height:246px}.el-transfer-panel__body.is-with-footer{padding-bottom:40px}.el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block!important}.el-transfer-panel__item.el-checkbox{color:#606266}.el-transfer-panel__item:hover{color:#409EFF}.el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.el-transfer-panel__filter .el-input__icon{margin-left:5px}.el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#F5F7FA;margin:0;padding-left:15px;border-bottom:1px solid #EBEEF5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.el-container,.el-header{-webkit-box-sizing:border-box}.el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#303133;font-weight:400}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#909399;font-size:12px;font-weight:400}.el-transfer-panel .el-transfer-panel__footer{height:40px;background:#FFF;margin:0;padding:0;border-top:1px solid #EBEEF5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.el-transfer-panel .el-transfer-panel__footer::after{display:inline-block;height:100%;vertical-align:middle}.el-container,.el-timeline-item__node{display:-webkit-box;display:-ms-flexbox}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#606266}.el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#909399;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.el-transfer-panel .el-checkbox__inner::after{height:6px;width:3px;left:4px}.el-container{display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;box-sizing:border-box;min-width:0}.el-container.is-vertical,.el-drawer,.el-empty,.el-result{-webkit-box-orient:vertical;-webkit-box-direction:normal}.el-container.is-vertical{-ms-flex-direction:column;flex-direction:column}.el-header{padding:0 20px;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-main{display:block;-webkit-box-flex:1;-ms-flex:1;flex:1;-ms-flex-preferred-size:auto;flex-basis:auto;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0}.el-timeline{margin:0;list-style:none}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline-item{position:relative;padding-bottom:20px}.el-timeline-item__wrapper{position:relative;padding-left:28px;top:-3px}.el-timeline-item__tail{position:absolute;left:4px;height:100%;border-left:2px solid #E4E7ED}.el-timeline-item__icon{color:#FFF;font-size:13px}.el-timeline-item__node{position:absolute;background-color:#E4E7ED;border-radius:50%;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image__error,.el-timeline-item__dot{display:-webkit-box;display:-ms-flexbox}.el-timeline-item__node--normal{left:-1px;width:12px;height:12px}.el-timeline-item__node--large{left:-2px;width:14px;height:14px}.el-timeline-item__node--primary{background-color:#409EFF}.el-timeline-item__node--success{background-color:#67C23A}.el-timeline-item__node--warning{background-color:#E6A23C}.el-timeline-item__node--danger{background-color:#F56C6C}.el-timeline-item__node--info{background-color:#909399}.el-timeline-item__dot{position:absolute;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-timeline-item__content{color:#303133}.el-timeline-item__timestamp{color:#909399;line-height:1;font-size:13px}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-link{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;vertical-align:middle;position:relative;text-decoration:none;outline:0;padding:0;font-weight:500}.el-link.is-underline:hover:after{position:absolute;left:0;right:0;height:0;bottom:0;border-bottom:1px solid #409EFF}.el-link.el-link--default:after,.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:#409EFF}.el-link.is-disabled{cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default{color:#606266}.el-link.el-link--default:hover{color:#409EFF}.el-link.el-link--default.is-disabled{color:#C0C4CC}.el-link.el-link--primary{color:#409EFF}.el-link.el-link--primary:hover{color:#66b1ff}.el-link.el-link--primary.is-disabled{color:#a0cfff}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:#F56C6C}.el-link.el-link--danger{color:#F56C6C}.el-link.el-link--danger:hover{color:#f78989}.el-link.el-link--danger.is-disabled{color:#fab6b6}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:#67C23A}.el-link.el-link--success{color:#67C23A}.el-link.el-link--success:hover{color:#85ce61}.el-link.el-link--success.is-disabled{color:#b3e19d}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:#E6A23C}.el-link.el-link--warning{color:#E6A23C}.el-link.el-link--warning:hover{color:#ebb563}.el-link.el-link--warning.is-disabled{color:#f3d19e}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:#909399}.el-link.el-link--info{color:#909399}.el-link.el-link--info:hover{color:#a6a9ad}.el-link.el-link--info.is-disabled{color:#c8c9cc}.el-divider{background-color:#DCDFE6;position:relative}.el-divider--horizontal{display:block;height:1px;width:100%;margin:24px 0}.el-divider--vertical{display:inline-block;width:1px;height:1em;margin:0 8px;vertical-align:middle;position:relative}.el-divider__text{position:absolute;background-color:#FFF;padding:0 20px;font-weight:500;color:#303133}.el-image__error,.el-image__placeholder{background:#F5F7FA}.el-divider__text.is-left{left:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-divider__text.is-center{left:50%;-webkit-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.el-image__error,.el-image__inner,.el-image__placeholder{width:100%;height:100%}.el-image{position:relative;display:inline-block;overflow:hidden}.el-image__inner{vertical-align:top}.el-image__inner--center{position:relative;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:block}.el-image__error{display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#C0C4CC;vertical-align:middle}.el-image-viewer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0}.el-image-viewer__btn{position:absolute;z-index:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:50%;opacity:.8;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;user-select:none}.el-button,.el-checkbox,.el-checkbox-button__inner,.el-empty__image img,.el-radio{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.el-image-viewer__close{top:40px;right:40px;width:40px;height:40px;font-size:24px;color:#fff;background-color:#606266}.el-image-viewer__canvas{width:100%;height:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.el-image-viewer__actions{left:50%;bottom:30px;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:282px;height:44px;padding:0 23px;background-color:#606266;border-color:#fff;border-radius:22px}.el-image-viewer__actions__inner{width:100%;height:100%;text-align:justify;cursor:default;font-size:23px;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-pack:distribute;justify-content:space-around}.el-image-viewer__next,.el-image-viewer__prev{width:44px;height:44px;font-size:24px;color:#fff;background-color:#606266;border-color:#fff;top:50%}.el-image-viewer__prev{-webkit-transform:translateY(-50%);transform:translateY(-50%);left:40px}.el-image-viewer__next{-webkit-transform:translateY(-50%);transform:translateY(-50%);right:40px;text-indent:2px}.el-image-viewer__mask{position:absolute;width:100%;height:100%;top:0;left:0;opacity:.5;background:#000}.viewer-fade-enter-active{-webkit-animation:viewer-fade-in .3s;animation:viewer-fade-in .3s}.viewer-fade-leave-active{-webkit-animation:viewer-fade-out .3s;animation:viewer-fade-out .3s}@-webkit-keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes viewer-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes viewer-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;padding:12px 20px;font-size:14px;border-radius:4px}.el-button+.el-button,.el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.el-button:focus,.el-button:hover{color:#409EFF;border-color:#c6e2ff;background-color:#ecf5ff}.el-button:active{color:#3a8ee6;border-color:#3a8ee6;outline:0}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon-]+span{margin-left:5px}.el-button.is-plain:focus,.el-button.is-plain:hover{background:#FFF;border-color:#409EFF;color:#409EFF}.el-button.is-active,.el-button.is-plain:active{color:#3a8ee6;border-color:#3a8ee6}.el-button.is-plain:active{background:#FFF;outline:0}.el-button.is-disabled,.el-button.is-disabled:focus,.el-button.is-disabled:hover{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5}.el-button.is-disabled.el-button--text{background-color:transparent}.el-button.is-disabled.is-plain,.el-button.is-disabled.is-plain:focus,.el-button.is-disabled.is-plain:hover{background-color:#FFF;border-color:#EBEEF5;color:#C0C4CC}.el-button.is-loading{position:relative;pointer-events:none}.el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.el-button.is-round{border-radius:20px;padding:12px 23px}.el-button.is-circle{border-radius:50%;padding:12px}.el-button--primary{color:#FFF;background-color:#409EFF;border-color:#409EFF}.el-button--primary:focus,.el-button--primary:hover{background:#66b1ff;border-color:#66b1ff;color:#FFF}.el-button--primary.is-active,.el-button--primary:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF}.el-button--primary:active{outline:0}.el-button--primary.is-disabled,.el-button--primary.is-disabled:active,.el-button--primary.is-disabled:focus,.el-button--primary.is-disabled:hover{color:#FFF;background-color:#a0cfff;border-color:#a0cfff}.el-button--primary.is-plain{color:#409EFF;background:#ecf5ff;border-color:#b3d8ff}.el-button--primary.is-plain:focus,.el-button--primary.is-plain:hover{background:#409EFF;border-color:#409EFF;color:#FFF}.el-button--primary.is-plain:active{background:#3a8ee6;border-color:#3a8ee6;color:#FFF;outline:0}.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover{color:#8cc5ff;background-color:#ecf5ff;border-color:#d9ecff}.el-button--success{color:#FFF;background-color:#67C23A;border-color:#67C23A}.el-button--success:focus,.el-button--success:hover{background:#85ce61;border-color:#85ce61;color:#FFF}.el-button--success.is-active,.el-button--success:active{background:#5daf34;border-color:#5daf34;color:#FFF}.el-button--success:active{outline:0}.el-button--success.is-disabled,.el-button--success.is-disabled:active,.el-button--success.is-disabled:focus,.el-button--success.is-disabled:hover{color:#FFF;background-color:#b3e19d;border-color:#b3e19d}.el-button--success.is-plain{color:#67C23A;background:#f0f9eb;border-color:#c2e7b0}.el-button--success.is-plain:focus,.el-button--success.is-plain:hover{background:#67C23A;border-color:#67C23A;color:#FFF}.el-button--success.is-plain:active{background:#5daf34;border-color:#5daf34;color:#FFF;outline:0}.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover{color:#a4da89;background-color:#f0f9eb;border-color:#e1f3d8}.el-button--warning{color:#FFF;background-color:#E6A23C;border-color:#E6A23C}.el-button--warning:focus,.el-button--warning:hover{background:#ebb563;border-color:#ebb563;color:#FFF}.el-button--warning.is-active,.el-button--warning:active{background:#cf9236;border-color:#cf9236;color:#FFF}.el-button--warning:active{outline:0}.el-button--warning.is-disabled,.el-button--warning.is-disabled:active,.el-button--warning.is-disabled:focus,.el-button--warning.is-disabled:hover{color:#FFF;background-color:#f3d19e;border-color:#f3d19e}.el-button--warning.is-plain{color:#E6A23C;background:#fdf6ec;border-color:#f5dab1}.el-button--warning.is-plain:focus,.el-button--warning.is-plain:hover{background:#E6A23C;border-color:#E6A23C;color:#FFF}.el-button--warning.is-plain:active{background:#cf9236;border-color:#cf9236;color:#FFF;outline:0}.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover{color:#f0c78a;background-color:#fdf6ec;border-color:#faecd8}.el-button--danger{color:#FFF;background-color:#F56C6C;border-color:#F56C6C}.el-button--danger:focus,.el-button--danger:hover{background:#f78989;border-color:#f78989;color:#FFF}.el-button--danger.is-active,.el-button--danger:active{background:#dd6161;border-color:#dd6161;color:#FFF}.el-button--danger:active{outline:0}.el-button--danger.is-disabled,.el-button--danger.is-disabled:active,.el-button--danger.is-disabled:focus,.el-button--danger.is-disabled:hover{color:#FFF;background-color:#fab6b6;border-color:#fab6b6}.el-button--danger.is-plain{color:#F56C6C;background:#fef0f0;border-color:#fbc4c4}.el-button--danger.is-plain:focus,.el-button--danger.is-plain:hover{background:#F56C6C;border-color:#F56C6C;color:#FFF}.el-button--danger.is-plain:active{background:#dd6161;border-color:#dd6161;color:#FFF;outline:0}.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover{color:#f9a7a7;background-color:#fef0f0;border-color:#fde2e2}.el-button--info{color:#FFF;background-color:#909399;border-color:#909399}.el-button--info:focus,.el-button--info:hover{background:#a6a9ad;border-color:#a6a9ad;color:#FFF}.el-button--info.is-active,.el-button--info:active{background:#82848a;border-color:#82848a;color:#FFF}.el-button--info:active{outline:0}.el-button--info.is-disabled,.el-button--info.is-disabled:active,.el-button--info.is-disabled:focus,.el-button--info.is-disabled:hover{color:#FFF;background-color:#c8c9cc;border-color:#c8c9cc}.el-button--info.is-plain{color:#909399;background:#f4f4f5;border-color:#d3d4d6}.el-button--info.is-plain:focus,.el-button--info.is-plain:hover{background:#909399;border-color:#909399;color:#FFF}.el-button--info.is-plain:active{background:#82848a;border-color:#82848a;color:#FFF;outline:0}.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover{color:#bcbec2;background-color:#f4f4f5;border-color:#e9e9eb}.el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.el-button--medium.is-round{padding:10px 20px}.el-button--medium.is-circle{padding:10px}.el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.el-button--small.is-round{padding:9px 15px}.el-button--small.is-circle{padding:9px}.el-button--mini,.el-button--mini.is-round{padding:7px 15px}.el-button--mini{font-size:12px;border-radius:3px}.el-button--mini.is-circle{padding:7px}.el-button--text{border-color:transparent;color:#409EFF;background:0 0;padding-left:0;padding-right:0}.el-button--text:focus,.el-button--text:hover{color:#66b1ff;border-color:transparent;background-color:transparent}.el-button--text:active{color:#3a8ee6;border-color:transparent;background-color:transparent}.el-button--text.is-disabled,.el-button--text.is-disabled:focus,.el-button--text.is-disabled:hover{border-color:transparent}.el-button-group .el-button--danger:last-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:last-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:last-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:last-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:last-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child),.el-button-group>.el-dropdown>.el-button{border-left-color:rgba(255,255,255,.5)}.el-button-group .el-button--danger:first-child,.el-button-group .el-button--danger:not(:first-child):not(:last-child),.el-button-group .el-button--info:first-child,.el-button-group .el-button--info:not(:first-child):not(:last-child),.el-button-group .el-button--primary:first-child,.el-button-group .el-button--primary:not(:first-child):not(:last-child),.el-button-group .el-button--success:first-child,.el-button-group .el-button--success:not(:first-child):not(:last-child),.el-button-group .el-button--warning:first-child,.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-right-color:rgba(255,255,255,.5)}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group::after,.el-button-group::before{display:table}.el-button-group::after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button.is-disabled{z-index:1}.el-button-group>.el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.el-button-group>.el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-radius:4px}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:20px}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button.is-active,.el-button-group>.el-button:not(.is-disabled):active,.el-button-group>.el-button:not(.is-disabled):focus,.el-button-group>.el-button:not(.is-disabled):hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-top-left-radius:0;border-bottom-left-radius:0}.el-calendar{background-color:#fff}.el-calendar__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 20px;border-bottom:1px solid #EBEEF5}.el-backtop,.el-page-header{display:-webkit-box;display:-ms-flexbox}.el-calendar__title{color:#000;-ms-flex-item-align:center;align-self:center}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{padding:12px 0;color:#606266;font-weight:400}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:#C0C4CC}.el-backtop,.el-calendar-table td.is-today{color:#409EFF}.el-calendar-table td{border-bottom:1px solid #EBEEF5;border-right:1px solid #EBEEF5;vertical-align:top;-webkit-transition:background-color .2s ease;transition:background-color .2s ease}.el-calendar-table td.is-selected{background-color:#F2F8FE}.el-calendar-table tr:first-child td{border-top:1px solid #EBEEF5}.el-calendar-table tr td:first-child{border-left:1px solid #EBEEF5}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{-webkit-box-sizing:border-box;box-sizing:border-box;padding:8px;height:85px}.el-calendar-table .el-calendar-day:hover{cursor:pointer;background-color:#F2F8FE}.el-backtop{position:fixed;background-color:#FFF;width:40px;height:40px;border-radius:50%;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;font-size:20px;-webkit-box-shadow:0 0 6px rgba(0,0,0,.12);box-shadow:0 0 6px rgba(0,0,0,.12);cursor:pointer;z-index:5}.el-backtop:hover{background-color:#F2F6FC}.el-page-header{display:flex;line-height:24px}.el-page-header__left{display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer;margin-right:40px;position:relative}.el-page-header__left::after{position:absolute;width:1px;height:16px;right:-20px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);background-color:#DCDFE6}.el-checkbox,.el-checkbox__input{display:inline-block;position:relative;white-space:nowrap}.el-page-header__left .el-icon-back{font-size:18px;margin-right:6px;-ms-flex-item-align:center;align-self:center}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{font-size:18px;color:#303133}.el-checkbox{color:#606266;font-weight:500;font-size:14px;cursor:pointer;user-select:none;margin-right:30px}.el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:normal;height:40px}.el-checkbox.is-bordered.is-checked{border-color:#409EFF}.el-checkbox.is-bordered.is-disabled{border-color:#EBEEF5;cursor:not-allowed}.el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px;height:36px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{padding:5px 15px 5px 10px;border-radius:3px;height:32px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox.is-bordered.el-checkbox--mini{padding:3px 15px 3px 10px;border-radius:3px;height:28px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.el-checkbox__input{cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#DCDFE6;cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#C0C4CC}.el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#C0C4CC}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#F2F6FC;border-color:#DCDFE6}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#C0C4CC;border-color:#C0C4CC}.el-checkbox__input.is-checked .el-checkbox__inner,.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#409EFF;border-color:#409EFF}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:#C0C4CC;cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:#409EFF}.el-checkbox__input.is-focus .el-checkbox__inner{border-color:#409EFF}.el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#FFF;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.el-checkbox__inner{display:inline-block;position:relative;border:1px solid #DCDFE6;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#FFF;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.el-checkbox__inner:hover{border-color:#409EFF}.el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #FFF;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s ease-in .05s;transition:-webkit-transform .15s ease-in .05s;transition:transform .15s ease-in .05s;transition:transform .15s ease-in .05s,-webkit-transform .15s ease-in .05s;-webkit-transform-origin:center;transform-origin:center}.el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;z-index:-1}.el-checkbox-button,.el-checkbox-button__inner{display:inline-block;position:relative}.el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.el-checkbox:last-of-type{margin-right:0}.el-checkbox-button__inner{line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#FFF;border:1px solid #DCDFE6;border-left:0;color:#606266;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.el-checkbox-button__inner.is-round{padding:12px 20px}.el-checkbox-button__inner:hover{color:#409EFF}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;z-index:-1}.el-radio,.el-radio__inner,.el-radio__input{position:relative;display:inline-block}.el-checkbox-button.is-checked .el-checkbox-button__inner{color:#FFF;background-color:#409EFF;border-color:#409EFF;-webkit-box-shadow:-1px 0 0 0 #8cc5ff;box-shadow:-1px 0 0 0 #8cc5ff}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:#409EFF}.el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#C0C4CC;cursor:not-allowed;background-image:none;background-color:#FFF;border-color:#EBEEF5;-webkit-box-shadow:none;box-shadow:none}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:#EBEEF5}.el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #DCDFE6;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#409EFF}.el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.el-checkbox-group{font-size:0}.el-avatar,.el-cascader-panel,.el-radio,.el-radio--medium.is-bordered .el-radio__label,.el-radio__label{font-size:14px}.el-radio{color:#606266;font-weight:500;line-height:1;cursor:pointer;white-space:nowrap;outline:0;margin-right:30px}.el-cascader-node>.el-radio,.el-radio:last-child{margin-right:0}.el-radio.is-bordered{padding:12px 20px 0 10px;border-radius:4px;border:1px solid #DCDFE6;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px}.el-cascader-menu,.el-cascader-menu__list,.el-radio__inner{-webkit-box-sizing:border-box}.el-radio.is-bordered.is-checked{border-color:#409EFF}.el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#EBEEF5}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#F5F7FA;border-color:#E4E7ED}.el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.el-radio--medium.is-bordered{padding:10px 20px 0 10px;border-radius:4px;height:36px}.el-radio--mini.is-bordered .el-radio__label,.el-radio--small.is-bordered .el-radio__label{font-size:12px}.el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.el-radio--small.is-bordered{padding:8px 15px 0 10px;border-radius:3px;height:32px}.el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio--mini.is-bordered{padding:6px 15px 0 10px;border-radius:3px;height:28px}.el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.el-radio__input{white-space:nowrap;cursor:pointer;outline:0;line-height:1;vertical-align:middle}.el-radio__input.is-disabled .el-radio__inner{cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#F5F7FA}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#C0C4CC}.el-radio__input.is-disabled+span.el-radio__label{color:#C0C4CC;cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{border-color:#409EFF;background:#409EFF}.el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:#409EFF}.el-radio__input.is-focus .el-radio__inner{border-color:#409EFF}.el-radio__inner{border:1px solid #DCDFE6;border-radius:100%;width:14px;height:14px;background-color:#FFF;cursor:pointer;box-sizing:border-box}.el-radio__inner:hover{border-color:#409EFF}.el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#FFF;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s ease-in;transition:-webkit-transform .15s ease-in;transition:transform .15s ease-in;transition:transform .15s ease-in,-webkit-transform .15s ease-in}.el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.el-radio:focus:not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #409EFF;box-shadow:0 0 2px 2px #409EFF}.el-radio__label{padding-left:10px}.el-scrollbar{overflow:hidden;position:relative}.el-scrollbar:active>.el-scrollbar__bar,.el-scrollbar:focus>.el-scrollbar__bar,.el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.el-scrollbar__wrap{overflow:scroll;height:100%}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(144,147,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.el-scrollbar__thumb:hover{background-color:rgba(144,147,153,.5)}.el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.el-scrollbar__bar.is-vertical{width:6px;top:2px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-cascader-panel{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:4px}.el-cascader-panel.is-bordered{border:1px solid #E4E7ED;border-radius:4px}.el-cascader-menu{min-width:180px;box-sizing:border-box;color:#606266;border-right:solid 1px #E4E7ED}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu__wrap{height:204px}.el-cascader-menu__list{position:relative;min-height:100%;margin:0;padding:6px 0;list-style:none;box-sizing:border-box}.el-cascader-menu__hover-zone{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.el-cascader-menu__empty-text{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#C0C4CC}.el-cascader-node{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0 30px 0 20px;height:34px;line-height:34px;outline:0}.el-cascader-node.is-selectable.in-active-path{color:#606266}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:#409EFF;font-weight:700}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:#F5F7FA}.el-cascader-node.is-disabled{color:#C0C4CC;cursor:not-allowed}.el-cascader-node__prefix{position:absolute;left:10px}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{-webkit-box-flex:1;-ms-flex:1;flex:1;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-avatar{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden;color:#fff;background:#C0C4CC;width:40px;height:40px;line-height:40px}.el-drawer,.el-drawer__body>*{-webkit-box-sizing:border-box}.el-avatar>img{display:block;height:100%;vertical-align:middle}.el-empty__image img,.el-empty__image svg{vertical-align:top;height:100%;width:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:4px}.el-avatar--icon{font-size:18px}.el-avatar--large{width:40px;height:40px;line-height:40px}.el-avatar--medium{width:36px;height:36px;line-height:36px}.el-avatar--small{width:28px;height:28px;line-height:28px}@-webkit-keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@keyframes el-drawer-fade-in{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes rtl-drawer-in{0%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@keyframes rtl-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(100%,0);transform:translate(100%,0)}}@-webkit-keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ltr-drawer-in{0%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@keyframes ltr-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}}@-webkit-keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes ttb-drawer-in{0%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@keyframes ttb-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,-100%);transform:translate(0,-100%)}}@-webkit-keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@keyframes btt-drawer-in{0%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}100%{-webkit-transform:translate(0,0);transform:translate(0,0)}}@-webkit-keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}@keyframes btt-drawer-out{0%{-webkit-transform:translate(0,0);transform:translate(0,0)}100%{-webkit-transform:translate(0,100%);transform:translate(0,100%)}}.el-drawer{position:absolute;box-sizing:border-box;background-color:#FFF;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-webkit-box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12);overflow:hidden;outline:0}.el-drawer.rtl{-webkit-animation:rtl-drawer-out .3s;animation:rtl-drawer-out .3s;right:0}.el-drawer__open .el-drawer.rtl{-webkit-animation:rtl-drawer-in .3s 1ms;animation:rtl-drawer-in .3s 1ms}.el-drawer.ltr{-webkit-animation:ltr-drawer-out .3s;animation:ltr-drawer-out .3s;left:0}.el-drawer__open .el-drawer.ltr{-webkit-animation:ltr-drawer-in .3s 1ms;animation:ltr-drawer-in .3s 1ms}.el-drawer.ttb{-webkit-animation:ttb-drawer-out .3s;animation:ttb-drawer-out .3s;top:0}.el-drawer__open .el-drawer.ttb{-webkit-animation:ttb-drawer-in .3s 1ms;animation:ttb-drawer-in .3s 1ms}.el-drawer.btt{-webkit-animation:btt-drawer-out .3s;animation:btt-drawer-out .3s;bottom:0}.el-drawer__open .el-drawer.btt{-webkit-animation:btt-drawer-in .3s 1ms;animation:btt-drawer-in .3s 1ms}.el-drawer__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;margin:0}.el-drawer__header{-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#72767b;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:32px;padding:20px 20px 0}.el-drawer__header>:first-child{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-drawer__title{margin:0;-webkit-box-flex:1;-ms-flex:1;flex:1;line-height:inherit;font-size:1rem}.el-drawer__close-btn{border:none;cursor:pointer;font-size:20px;color:inherit;background-color:transparent}.el-drawer__body{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto}.el-drawer__body>*{box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{height:100%;top:0;bottom:0}.el-drawer.btt,.el-drawer.ttb{width:100%;left:0;right:0}.el-drawer__container{position:relative;left:0;right:0;top:0;bottom:0;height:100%;width:100%}.el-drawer-fade-enter-active{-webkit-animation:el-drawer-fade-in .3s;animation:el-drawer-fade-in .3s}.el-drawer-fade-leave-active{animation:el-drawer-fade-in .3s reverse}.el-statistic{width:100%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0;color:#000;font-variant:tabular-nums;list-style:none;-webkit-font-feature-settings:"tnum";font-feature-settings:"tnum";text-align:center}.el-statistic .head{margin-bottom:4px;color:#606266;font-size:13px}.el-statistic .con{font-family:Sans-serif;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;color:#303133}.el-statistic .con .number{font-size:20px;padding:0 4px}.el-statistic .con span{display:inline-block;margin:0;line-height:100%}.el-popconfirm__main,.el-skeleton__image{display:-ms-flexbox;-webkit-box-align:center;display:-webkit-box}.el-popconfirm__main{display:flex;-ms-flex-align:center;align-items:center}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{text-align:right;margin:0}@-webkit-keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}@keyframes el-skeleton-loading{0%{background-position:100% 50%}100%{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{height:16px;margin-top:16px;background:#f2f2f2}.el-skeleton.is-animated .el-skeleton__item{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#f2f2f2),color-stop(37%,#e6e6e6),color-stop(63%,#f2f2f2));background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%;-webkit-animation:el-skeleton-loading 1.4s ease infinite;animation:el-skeleton-loading 1.4s ease infinite}.el-skeleton__item{background:#f2f2f2;display:inline-block;height:16px;border-radius:4px;width:100%}.el-skeleton__circle{border-radius:50%;width:36px;height:36px;line-height:36px}.el-skeleton__circle--lg{width:40px;height:40px;line-height:40px}.el-skeleton__circle--md{width:28px;height:28px;line-height:28px}.el-skeleton__button{height:40px;width:64px;border-radius:4px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{width:100%;height:13px}.el-skeleton__caption{height:12px}.el-skeleton__h1{height:20px}.el-skeleton__h3{height:18px}.el-skeleton__h5{height:16px}.el-skeleton__image{width:unset;display:flex;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;border-radius:0}.el-skeleton__image svg{fill:#DCDDE0;width:22%;height:22%}.el-empty{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 0}.el-empty__image{width:160px}.el-empty__image img{user-select:none;-o-object-fit:contain;object-fit:contain}.el-empty__image svg{fill:#DCDDE0}.el-empty__description{margin-top:20px}.el-empty__description p{margin:0;font-size:14px;color:#909399}.el-empty__bottom,.el-result__title{margin-top:20px}.el-descriptions{-webkit-box-sizing:border-box;box-sizing:border-box;font-size:14px;color:#303133}.el-descriptions__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:20px}.el-descriptions__title{font-size:16px;font-weight:700}.el-descriptions--mini,.el-descriptions--small{font-size:12px}.el-descriptions__body{color:#606266;background-color:#FFF}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%;table-layout:fixed}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:left;font-weight:400;line-height:1.5}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions-item__cell.is-right{text-align:right}.el-descriptions .is-bordered{table-layout:auto}.el-descriptions .is-bordered .el-descriptions-item__cell{border:1px solid #EBEEF5;padding:12px 10px}.el-descriptions :not(.is-bordered) .el-descriptions-item__cell{padding-bottom:12px}.el-descriptions--medium.is-bordered .el-descriptions-item__cell{padding:10px}.el-descriptions--medium:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:10px}.el-descriptions--small.is-bordered .el-descriptions-item__cell{padding:8px 10px}.el-descriptions--small:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:8px}.el-descriptions--mini.is-bordered .el-descriptions-item__cell{padding:6px 10px}.el-descriptions--mini:not(.is-bordered) .el-descriptions-item__cell{padding-bottom:6px}.el-descriptions-item{vertical-align:top}.el-descriptions-item__container{display:-webkit-box;display:-ms-flexbox;display:flex}.el-descriptions-item__container .el-descriptions-item__content,.el-descriptions-item__container .el-descriptions-item__label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline}.el-descriptions-item__container .el-descriptions-item__content{-webkit-box-flex:1;-ms-flex:1;flex:1}.el-descriptions-item__label.has-colon::after{content:':';position:relative;top:-.5px}.el-descriptions-item__label.is-bordered-label{font-weight:700;color:#909399;background:#fafafa}.el-descriptions-item__label:not(.is-bordered-label){margin-right:10px}.el-descriptions-item__content{word-break:break-word;overflow-wrap:break-word}.el-result{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-direction:column;flex-direction:column;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;padding:40px 30px}.el-result__icon svg{width:64px;height:64px}.el-result__title p{margin:0;font-size:20px;color:#303133;line-height:1.3}.el-result__subtitle{margin-top:10px}.el-result__subtitle p{margin:0;font-size:14px;color:#606266;line-height:1.3}.el-result__extra{margin-top:30px}.el-result .icon-success{fill:#67C23A}.el-result .icon-error{fill:#F56C6C}.el-result .icon-info{fill:#909399}.el-result .icon-warning{fill:#E6A23C} \ No newline at end of file diff --git b/element-ui.min.js a/element-ui.min.js new file mode 100644 index 0000000..6d6592f --- /dev/null +++ a/element-ui.min.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("vue")):"function"==typeof define&&define.amd?define("ELEMENT",["vue"],t):"object"==typeof exports?exports.ELEMENT=t(require("vue")):e.ELEMENT=t(e.Vue)}("undefined"!=typeof self?self:this,function(e){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var r=t[i]={i:i,l:!1,exports:{}};return e[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(i,r,function(t){return e[t]}.bind(null,r));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/dist/",n(n.s=51)}([function(t,n){t.exports=e},function(e,t,n){var i=n(4);e.exports=function(e,t,n){return void 0===n?i(e,t,!1):i(e,n,!1!==t)}},function(e,t,n){var i;!function(r){"use strict";var o={},s=/d{1,4}|M{1,4}|yy(?:yy)?|S{1,3}|Do|ZZ|([HhMsDm])\1?|[aA]|"[^"]*"|'[^']*'/g,a="[^\\s]+",l=/\[([^]*?)\]/gm,u=function(){};function c(e,t){for(var n=[],i=0,r=e.length;i3?0:(e-e%10!=10)*e%10]}};var g={D:function(e){return e.getDay()},DD:function(e){return d(e.getDay())},Do:function(e,t){return t.DoFn(e.getDate())},d:function(e){return e.getDate()},dd:function(e){return d(e.getDate())},ddd:function(e,t){return t.dayNamesShort[e.getDay()]},dddd:function(e,t){return t.dayNames[e.getDay()]},M:function(e){return e.getMonth()+1},MM:function(e){return d(e.getMonth()+1)},MMM:function(e,t){return t.monthNamesShort[e.getMonth()]},MMMM:function(e,t){return t.monthNames[e.getMonth()]},yy:function(e){return d(String(e.getFullYear()),4).substr(2)},yyyy:function(e){return d(e.getFullYear(),4)},h:function(e){return e.getHours()%12||12},hh:function(e){return d(e.getHours()%12||12)},H:function(e){return e.getHours()},HH:function(e){return d(e.getHours())},m:function(e){return e.getMinutes()},mm:function(e){return d(e.getMinutes())},s:function(e){return e.getSeconds()},ss:function(e){return d(e.getSeconds())},S:function(e){return Math.round(e.getMilliseconds()/100)},SS:function(e){return d(Math.round(e.getMilliseconds()/10),2)},SSS:function(e){return d(e.getMilliseconds(),3)},a:function(e,t){return e.getHours()<12?t.amPm[0]:t.amPm[1]},A:function(e,t){return e.getHours()<12?t.amPm[0].toUpperCase():t.amPm[1].toUpperCase()},ZZ:function(e){var t=e.getTimezoneOffset();return(t>0?"-":"+")+d(100*Math.floor(Math.abs(t)/60)+Math.abs(t)%60,4)}},y={d:["\\d\\d?",function(e,t){e.day=t}],Do:["\\d\\d?"+a,function(e,t){e.day=parseInt(t,10)}],M:["\\d\\d?",function(e,t){e.month=t-1}],yy:["\\d\\d?",function(e,t){var n=+(""+(new Date).getFullYear()).substr(0,2);e.year=""+(t>68?n-1:n)+t}],h:["\\d\\d?",function(e,t){e.hour=t}],m:["\\d\\d?",function(e,t){e.minute=t}],s:["\\d\\d?",function(e,t){e.second=t}],yyyy:["\\d{4}",function(e,t){e.year=t}],S:["\\d",function(e,t){e.millisecond=100*t}],SS:["\\d{2}",function(e,t){e.millisecond=10*t}],SSS:["\\d{3}",function(e,t){e.millisecond=t}],D:["\\d\\d?",u],ddd:[a,u],MMM:[a,h("monthNamesShort")],MMMM:[a,h("monthNames")],a:[a,function(e,t,n){var i=t.toLowerCase();i===n.amPm[0]?e.isPm=!1:i===n.amPm[1]&&(e.isPm=!0)}],ZZ:["[^\\s]*?[\\+\\-]\\d\\d:?\\d\\d|[^\\s]*?Z",function(e,t){var n,i=(t+"").match(/([+-]|\d\d)/gi);i&&(n=60*i[1]+parseInt(i[2],10),e.timezoneOffset="+"===i[0]?n:-n)}]};y.dd=y.d,y.dddd=y.ddd,y.DD=y.D,y.mm=y.m,y.hh=y.H=y.HH=y.h,y.MM=y.M,y.ss=y.s,y.A=y.a,o.masks={default:"ddd MMM dd yyyy HH:mm:ss",shortDate:"M/D/yy",mediumDate:"MMM d, yyyy",longDate:"MMMM d, yyyy",fullDate:"dddd, MMMM d, yyyy",shortTime:"HH:mm",mediumTime:"HH:mm:ss",longTime:"HH:mm:ss.SSS"},o.format=function(e,t,n){var i=n||o.i18n;if("number"==typeof e&&(e=new Date(e)),"[object Date]"!==Object.prototype.toString.call(e)||isNaN(e.getTime()))throw new Error("Invalid Date in fecha.format");t=o.masks[t]||t||o.masks.default;var r=[];return(t=(t=t.replace(l,function(e,t){return r.push(t),"@@@"})).replace(s,function(t){return t in g?g[t](e,i):t.slice(1,t.length-1)})).replace(/@@@/g,function(){return r.shift()})},o.parse=function(e,t,n){var i=n||o.i18n;if("string"!=typeof t)throw new Error("Invalid format in fecha.parse");if(t=o.masks[t]||t,e.length>1e3)return null;var r={},a=[],u=[];t=t.replace(l,function(e,t){return u.push(t),"@@@"});var c,h=(c=t,c.replace(/[|\\{()[^$+*?.-]/g,"\\$&")).replace(s,function(e){if(y[e]){var t=y[e];return a.push(t[1]),"("+t[0]+")"}return e});h=h.replace(/@@@/g,function(){return u.shift()});var d=e.match(new RegExp(h,"i"));if(!d)return null;for(var f=1;fe?u():!0!==t&&(r=setTimeout(i?function(){r=void 0}:u,void 0===i?e-a:e))}}},function(e,t){var n=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(e,t){var n=/^(attrs|props|on|nativeOn|class|style|hook)$/;function i(e,t){return function(){e&&e.apply(this,arguments),t&&t.apply(this,arguments)}}e.exports=function(e){return e.reduce(function(e,t){var r,o,s,a,l;for(s in t)if(r=e[s],o=t[s],r&&n.test(s))if("class"===s&&("string"==typeof r&&(l=r,e[s]=r={},r[l]=!0),"string"==typeof o&&(l=o,t[s]=o={},o[l]=!0)),"on"===s||"nativeOn"===s||"hook"===s)for(a in o)r[a]=i(r[a],o[a]);else if(Array.isArray(r))e[s]=r.concat(o);else if(Array.isArray(o))e[s]=[r].concat(o);else for(a in o)r[a]=o[a];else e[s]=t[s];return e},{})}},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},function(e,t,n){"use strict";t.__esModule=!0;var i,r=n(57),o=(i=r)&&i.__esModule?i:{default:i};t.default=o.default||function(e){for(var t=1;t>>1,z=[["ary",k],["bind",g],["bindKey",y],["curry",_],["curryRight",w],["flip",D],["partial",x],["partialRight",C],["rearg",S]],R="[object Arguments]",H="[object Array]",j="[object AsyncFunction]",W="[object Boolean]",q="[object Date]",Y="[object DOMException]",K="[object Error]",U="[object Function]",G="[object GeneratorFunction]",X="[object Map]",Z="[object Number]",J="[object Null]",Q="[object Object]",ee="[object Proxy]",te="[object RegExp]",ne="[object Set]",ie="[object String]",re="[object Symbol]",oe="[object Undefined]",se="[object WeakMap]",ae="[object WeakSet]",le="[object ArrayBuffer]",ue="[object DataView]",ce="[object Float32Array]",he="[object Float64Array]",de="[object Int8Array]",fe="[object Int16Array]",pe="[object Int32Array]",me="[object Uint8Array]",ve="[object Uint8ClampedArray]",ge="[object Uint16Array]",ye="[object Uint32Array]",be=/\b__p \+= '';/g,_e=/\b(__p \+=) '' \+/g,we=/(__e\(.*?\)|\b__t\)) \+\n'';/g,xe=/&(?:amp|lt|gt|quot|#39);/g,Ce=/[&<>"']/g,ke=RegExp(xe.source),Se=RegExp(Ce.source),De=/<%-([\s\S]+?)%>/g,Ee=/<%([\s\S]+?)%>/g,$e=/<%=([\s\S]+?)%>/g,Te=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Me=/^\w*$/,Ne=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Oe=/[\\^$.*+?()[\]{}|]/g,Pe=RegExp(Oe.source),Ie=/^\s+|\s+$/g,Ae=/^\s+/,Fe=/\s+$/,Le=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ve=/\{\n\/\* \[wrapped with (.+)\] \*/,Be=/,? & /,ze=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Re=/\\(\\)?/g,He=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,je=/\w*$/,We=/^[-+]0x[0-9a-f]+$/i,qe=/^0b[01]+$/i,Ye=/^\[object .+?Constructor\]$/,Ke=/^0o[0-7]+$/i,Ue=/^(?:0|[1-9]\d*)$/,Ge=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Xe=/($^)/,Ze=/['\n\r\u2028\u2029\\]/g,Je="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",Qe="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",et="[\\ud800-\\udfff]",tt="["+Qe+"]",nt="["+Je+"]",it="\\d+",rt="[\\u2700-\\u27bf]",ot="[a-z\\xdf-\\xf6\\xf8-\\xff]",st="[^\\ud800-\\udfff"+Qe+it+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",at="\\ud83c[\\udffb-\\udfff]",lt="[^\\ud800-\\udfff]",ut="(?:\\ud83c[\\udde6-\\uddff]){2}",ct="[\\ud800-\\udbff][\\udc00-\\udfff]",ht="[A-Z\\xc0-\\xd6\\xd8-\\xde]",dt="(?:"+ot+"|"+st+")",ft="(?:"+ht+"|"+st+")",pt="(?:"+nt+"|"+at+")"+"?",mt="[\\ufe0e\\ufe0f]?"+pt+("(?:\\u200d(?:"+[lt,ut,ct].join("|")+")[\\ufe0e\\ufe0f]?"+pt+")*"),vt="(?:"+[rt,ut,ct].join("|")+")"+mt,gt="(?:"+[lt+nt+"?",nt,ut,ct,et].join("|")+")",yt=RegExp("['’]","g"),bt=RegExp(nt,"g"),_t=RegExp(at+"(?="+at+")|"+gt+mt,"g"),wt=RegExp([ht+"?"+ot+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[tt,ht,"$"].join("|")+")",ft+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[tt,ht+dt,"$"].join("|")+")",ht+"?"+dt+"+(?:['’](?:d|ll|m|re|s|t|ve))?",ht+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",it,vt].join("|"),"g"),xt=RegExp("[\\u200d\\ud800-\\udfff"+Je+"\\ufe0e\\ufe0f]"),Ct=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,kt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],St=-1,Dt={};Dt[ce]=Dt[he]=Dt[de]=Dt[fe]=Dt[pe]=Dt[me]=Dt[ve]=Dt[ge]=Dt[ye]=!0,Dt[R]=Dt[H]=Dt[le]=Dt[W]=Dt[ue]=Dt[q]=Dt[K]=Dt[U]=Dt[X]=Dt[Z]=Dt[Q]=Dt[te]=Dt[ne]=Dt[ie]=Dt[se]=!1;var Et={};Et[R]=Et[H]=Et[le]=Et[ue]=Et[W]=Et[q]=Et[ce]=Et[he]=Et[de]=Et[fe]=Et[pe]=Et[X]=Et[Z]=Et[Q]=Et[te]=Et[ne]=Et[ie]=Et[re]=Et[me]=Et[ve]=Et[ge]=Et[ye]=!0,Et[K]=Et[U]=Et[se]=!1;var $t={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Tt=parseFloat,Mt=parseInt,Nt="object"==typeof e&&e&&e.Object===Object&&e,Ot="object"==typeof self&&self&&self.Object===Object&&self,Pt=Nt||Ot||Function("return this")(),It=t&&!t.nodeType&&t,At=It&&"object"==typeof i&&i&&!i.nodeType&&i,Ft=At&&At.exports===It,Lt=Ft&&Nt.process,Vt=function(){try{var e=At&&At.require&&At.require("util").types;return e||Lt&&Lt.binding&&Lt.binding("util")}catch(e){}}(),Bt=Vt&&Vt.isArrayBuffer,zt=Vt&&Vt.isDate,Rt=Vt&&Vt.isMap,Ht=Vt&&Vt.isRegExp,jt=Vt&&Vt.isSet,Wt=Vt&&Vt.isTypedArray;function qt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function Yt(e,t,n,i){for(var r=-1,o=null==e?0:e.length;++r-1}function Jt(e,t,n){for(var i=-1,r=null==e?0:e.length;++i-1;);return n}function wn(e,t){for(var n=e.length;n--&&ln(t,e[n],0)>-1;);return n}var xn=fn({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),Cn=fn({"&":"&","<":"<",">":">",'"':""","'":"'"});function kn(e){return"\\"+$t[e]}function Sn(e){return xt.test(e)}function Dn(e){var t=-1,n=Array(e.size);return e.forEach(function(e,i){n[++t]=[i,e]}),n}function En(e,t){return function(n){return e(t(n))}}function $n(e,t){for(var n=-1,i=e.length,r=0,o=[];++n",""":'"',"'":"'"});var An=function e(t){var n,i=(t=null==t?Pt:An.defaults(Pt.Object(),t,An.pick(Pt,kt))).Array,r=t.Date,Je=t.Error,Qe=t.Function,et=t.Math,tt=t.Object,nt=t.RegExp,it=t.String,rt=t.TypeError,ot=i.prototype,st=Qe.prototype,at=tt.prototype,lt=t["__core-js_shared__"],ut=st.toString,ct=at.hasOwnProperty,ht=0,dt=(n=/[^.]+$/.exec(lt&<.keys&<.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",ft=at.toString,pt=ut.call(tt),mt=Pt._,vt=nt("^"+ut.call(ct).replace(Oe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),gt=Ft?t.Buffer:o,_t=t.Symbol,xt=t.Uint8Array,$t=gt?gt.allocUnsafe:o,Nt=En(tt.getPrototypeOf,tt),Ot=tt.create,It=at.propertyIsEnumerable,At=ot.splice,Lt=_t?_t.isConcatSpreadable:o,Vt=_t?_t.iterator:o,on=_t?_t.toStringTag:o,fn=function(){try{var e=zo(tt,"defineProperty");return e({},"",{}),e}catch(e){}}(),Fn=t.clearTimeout!==Pt.clearTimeout&&t.clearTimeout,Ln=r&&r.now!==Pt.Date.now&&r.now,Vn=t.setTimeout!==Pt.setTimeout&&t.setTimeout,Bn=et.ceil,zn=et.floor,Rn=tt.getOwnPropertySymbols,Hn=gt?gt.isBuffer:o,jn=t.isFinite,Wn=ot.join,qn=En(tt.keys,tt),Yn=et.max,Kn=et.min,Un=r.now,Gn=t.parseInt,Xn=et.random,Zn=ot.reverse,Jn=zo(t,"DataView"),Qn=zo(t,"Map"),ei=zo(t,"Promise"),ti=zo(t,"Set"),ni=zo(t,"WeakMap"),ii=zo(tt,"create"),ri=ni&&new ni,oi={},si=hs(Jn),ai=hs(Qn),li=hs(ei),ui=hs(ti),ci=hs(ni),hi=_t?_t.prototype:o,di=hi?hi.valueOf:o,fi=hi?hi.toString:o;function pi(e){if($a(e)&&!ga(e)&&!(e instanceof yi)){if(e instanceof gi)return e;if(ct.call(e,"__wrapped__"))return ds(e)}return new gi(e)}var mi=function(){function e(){}return function(t){if(!Ea(t))return{};if(Ot)return Ot(t);e.prototype=t;var n=new e;return e.prototype=o,n}}();function vi(){}function gi(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=o}function yi(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=L,this.__views__=[]}function bi(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function Fi(e,t,n,i,r,s){var a,l=t&d,u=t&f,c=t&p;if(n&&(a=r?n(e,i,r,s):n(e)),a!==o)return a;if(!Ea(e))return e;var h=ga(e);if(h){if(a=function(e){var t=e.length,n=new e.constructor(t);return t&&"string"==typeof e[0]&&ct.call(e,"index")&&(n.index=e.index,n.input=e.input),n}(e),!l)return io(e,a)}else{var m=jo(e),v=m==U||m==G;if(wa(e))return Zr(e,l);if(m==Q||m==R||v&&!r){if(a=u||v?{}:qo(e),!l)return u?function(e,t){return ro(e,Ho(e),t)}(e,function(e,t){return e&&ro(t,ol(t),e)}(a,e)):function(e,t){return ro(e,Ro(e),t)}(e,Oi(a,e))}else{if(!Et[m])return r?e:{};a=function(e,t,n){var i,r,o,s=e.constructor;switch(t){case le:return Jr(e);case W:case q:return new s(+e);case ue:return function(e,t){var n=t?Jr(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case ce:case he:case de:case fe:case pe:case me:case ve:case ge:case ye:return Qr(e,n);case X:return new s;case Z:case ie:return new s(e);case te:return(o=new(r=e).constructor(r.source,je.exec(r))).lastIndex=r.lastIndex,o;case ne:return new s;case re:return i=e,di?tt(di.call(i)):{}}}(e,m,l)}}s||(s=new Ci);var g=s.get(e);if(g)return g;if(s.set(e,a),Pa(e))return e.forEach(function(i){a.add(Fi(i,t,n,i,e,s))}),a;if(Ta(e))return e.forEach(function(i,r){a.set(r,Fi(i,t,n,r,e,s))}),a;var y=h?o:(c?u?Po:Oo:u?ol:rl)(e);return Kt(y||e,function(i,r){y&&(i=e[r=i]),Ti(a,r,Fi(i,t,n,r,e,s))}),a}function Li(e,t,n){var i=n.length;if(null==e)return!i;for(e=tt(e);i--;){var r=n[i],s=t[r],a=e[r];if(a===o&&!(r in e)||!s(a))return!1}return!0}function Vi(e,t,n){if("function"!=typeof e)throw new rt(l);return rs(function(){e.apply(o,n)},t)}function Bi(e,t,n,i){var r=-1,o=Zt,a=!0,l=e.length,u=[],c=t.length;if(!l)return u;n&&(t=Qt(t,gn(n))),i?(o=Jt,a=!1):t.length>=s&&(o=bn,a=!1,t=new xi(t));e:for(;++r-1},_i.prototype.set=function(e,t){var n=this.__data__,i=Mi(n,e);return i<0?(++this.size,n.push([e,t])):n[i][1]=t,this},wi.prototype.clear=function(){this.size=0,this.__data__={hash:new bi,map:new(Qn||_i),string:new bi}},wi.prototype.delete=function(e){var t=Vo(this,e).delete(e);return this.size-=t?1:0,t},wi.prototype.get=function(e){return Vo(this,e).get(e)},wi.prototype.has=function(e){return Vo(this,e).has(e)},wi.prototype.set=function(e,t){var n=Vo(this,e),i=n.size;return n.set(e,t),this.size+=n.size==i?0:1,this},xi.prototype.add=xi.prototype.push=function(e){return this.__data__.set(e,u),this},xi.prototype.has=function(e){return this.__data__.has(e)},Ci.prototype.clear=function(){this.__data__=new _i,this.size=0},Ci.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},Ci.prototype.get=function(e){return this.__data__.get(e)},Ci.prototype.has=function(e){return this.__data__.has(e)},Ci.prototype.set=function(e,t){var n=this.__data__;if(n instanceof _i){var i=n.__data__;if(!Qn||i.length0&&n(a)?t>1?qi(a,t-1,n,i,r):en(r,a):i||(r[r.length]=a)}return r}var Yi=lo(),Ki=lo(!0);function Ui(e,t){return e&&Yi(e,t,rl)}function Gi(e,t){return e&&Ki(e,t,rl)}function Xi(e,t){return Xt(t,function(t){return ka(e[t])})}function Zi(e,t){for(var n=0,i=(t=Kr(t,e)).length;null!=e&&nt}function tr(e,t){return null!=e&&ct.call(e,t)}function nr(e,t){return null!=e&&t in tt(e)}function ir(e,t,n){for(var r=n?Jt:Zt,s=e[0].length,a=e.length,l=a,u=i(a),c=1/0,h=[];l--;){var d=e[l];l&&t&&(d=Qt(d,gn(t))),c=Kn(d.length,c),u[l]=!n&&(t||s>=120&&d.length>=120)?new xi(l&&d):o}d=e[0];var f=-1,p=u[0];e:for(;++f=a)return l;var u=n[i];return l*("desc"==u?-1:1)}}return e.index-t.index}(e,t,n)})}function br(e,t,n){for(var i=-1,r=t.length,o={};++i-1;)a!==e&&At.call(a,l,1),At.call(e,l,1);return e}function wr(e,t){for(var n=e?t.length:0,i=n-1;n--;){var r=t[n];if(n==i||r!==o){var o=r;Ko(r)?At.call(e,r,1):Br(e,r)}}return e}function xr(e,t){return e+zn(Xn()*(t-e+1))}function Cr(e,t){var n="";if(!e||t<1||t>I)return n;do{t%2&&(n+=e),(t=zn(t/2))&&(e+=e)}while(t);return n}function kr(e,t){return os(ts(e,t,Ml),e+"")}function Sr(e){return Si(fl(e))}function Dr(e,t){var n=fl(e);return ls(n,Ai(t,0,n.length))}function Er(e,t,n,i){if(!Ea(e))return e;for(var r=-1,s=(t=Kr(t,e)).length,a=s-1,l=e;null!=l&&++ro?0:o+t),(n=n>o?o:n)<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var s=i(o);++r>>1,s=e[o];null!==s&&!Aa(s)&&(n?s<=t:s=s){var c=t?null:ko(e);if(c)return Mn(c);a=!1,r=bn,u=new xi}else u=t?[]:l;e:for(;++i=i?e:Nr(e,t,n)}var Xr=Fn||function(e){return Pt.clearTimeout(e)};function Zr(e,t){if(t)return e.slice();var n=e.length,i=$t?$t(n):new e.constructor(n);return e.copy(i),i}function Jr(e){var t=new e.constructor(e.byteLength);return new xt(t).set(new xt(e)),t}function Qr(e,t){var n=t?Jr(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function eo(e,t){if(e!==t){var n=e!==o,i=null===e,r=e==e,s=Aa(e),a=t!==o,l=null===t,u=t==t,c=Aa(t);if(!l&&!c&&!s&&e>t||s&&a&&u&&!l&&!c||i&&a&&u||!n&&u||!r)return 1;if(!i&&!s&&!c&&e1?n[r-1]:o,a=r>2?n[2]:o;for(s=e.length>3&&"function"==typeof s?(r--,s):o,a&&Uo(n[0],n[1],a)&&(s=r<3?o:s,r=1),t=tt(t);++i-1?r[s?t[a]:a]:o}}function po(e){return No(function(t){var n=t.length,i=n,r=gi.prototype.thru;for(e&&t.reverse();i--;){var s=t[i];if("function"!=typeof s)throw new rt(l);if(r&&!a&&"wrapper"==Ao(s))var a=new gi([],!0)}for(i=a?i:n;++i1&&_.reverse(),d&&cl))return!1;var c=s.get(e);if(c&&s.get(t))return c==t;var h=-1,d=!0,f=n&v?new xi:o;for(s.set(e,t),s.set(t,e);++h-1&&e%1==0&&e1?"& ":"")+t[i],t=t.join(n>2?", ":" "),e.replace(Le,"{\n/* [wrapped with "+t+"] */\n")}(i,function(e,t){return Kt(z,function(n){var i="_."+n[0];t&n[1]&&!Zt(e,i)&&e.push(i)}),e.sort()}(function(e){var t=e.match(Ve);return t?t[1].split(Be):[]}(i),n)))}function as(e){var t=0,n=0;return function(){var i=Un(),r=M-(i-n);if(n=i,r>0){if(++t>=T)return arguments[0]}else t=0;return e.apply(o,arguments)}}function ls(e,t){var n=-1,i=e.length,r=i-1;for(t=t===o?i:t;++n1?e[t-1]:o;return n="function"==typeof n?(e.pop(),n):o,Os(e,n)});function Bs(e){var t=pi(e);return t.__chain__=!0,t}function zs(e,t){return t(e)}var Rs=No(function(e){var t=e.length,n=t?e[0]:0,i=this.__wrapped__,r=function(t){return Ii(t,e)};return!(t>1||this.__actions__.length)&&i instanceof yi&&Ko(n)?((i=i.slice(n,+n+(t?1:0))).__actions__.push({func:zs,args:[r],thisArg:o}),new gi(i,this.__chain__).thru(function(e){return t&&!e.length&&e.push(o),e})):this.thru(r)});var Hs=oo(function(e,t,n){ct.call(e,n)?++e[n]:Pi(e,n,1)});var js=fo(vs),Ws=fo(gs);function qs(e,t){return(ga(e)?Kt:zi)(e,Lo(t,3))}function Ys(e,t){return(ga(e)?Ut:Ri)(e,Lo(t,3))}var Ks=oo(function(e,t,n){ct.call(e,n)?e[n].push(t):Pi(e,n,[t])});var Us=kr(function(e,t,n){var r=-1,o="function"==typeof t,s=ba(e)?i(e.length):[];return zi(e,function(e){s[++r]=o?qt(t,e,n):rr(e,t,n)}),s}),Gs=oo(function(e,t,n){Pi(e,n,t)});function Xs(e,t){return(ga(e)?Qt:fr)(e,Lo(t,3))}var Zs=oo(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]});var Js=kr(function(e,t){if(null==e)return[];var n=t.length;return n>1&&Uo(e,t[0],t[1])?t=[]:n>2&&Uo(t[0],t[1],t[2])&&(t=[t[0]]),yr(e,qi(t,1),[])}),Qs=Ln||function(){return Pt.Date.now()};function ea(e,t,n){return t=n?o:t,t=e&&null==t?e.length:t,Do(e,k,o,o,o,o,t)}function ta(e,t){var n;if("function"!=typeof t)throw new rt(l);return e=Ra(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=o),n}}var na=kr(function(e,t,n){var i=g;if(n.length){var r=$n(n,Fo(na));i|=x}return Do(e,i,t,n,r)}),ia=kr(function(e,t,n){var i=g|y;if(n.length){var r=$n(n,Fo(ia));i|=x}return Do(t,i,e,n,r)});function ra(e,t,n){var i,r,s,a,u,c,h=0,d=!1,f=!1,p=!0;if("function"!=typeof e)throw new rt(l);function m(t){var n=i,s=r;return i=r=o,h=t,a=e.apply(s,n)}function v(e){var n=e-c;return c===o||n>=t||n<0||f&&e-h>=s}function g(){var e=Qs();if(v(e))return y(e);u=rs(g,function(e){var n=t-(e-c);return f?Kn(n,s-(e-h)):n}(e))}function y(e){return u=o,p&&i?m(e):(i=r=o,a)}function b(){var e=Qs(),n=v(e);if(i=arguments,r=this,c=e,n){if(u===o)return function(e){return h=e,u=rs(g,t),d?m(e):a}(c);if(f)return u=rs(g,t),m(c)}return u===o&&(u=rs(g,t)),a}return t=ja(t)||0,Ea(n)&&(d=!!n.leading,s=(f="maxWait"in n)?Yn(ja(n.maxWait)||0,t):s,p="trailing"in n?!!n.trailing:p),b.cancel=function(){u!==o&&Xr(u),h=0,i=c=r=u=o},b.flush=function(){return u===o?a:y(Qs())},b}var oa=kr(function(e,t){return Vi(e,1,t)}),sa=kr(function(e,t,n){return Vi(e,ja(t)||0,n)});function aa(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new rt(l);var n=function(){var i=arguments,r=t?t.apply(this,i):i[0],o=n.cache;if(o.has(r))return o.get(r);var s=e.apply(this,i);return n.cache=o.set(r,s)||o,s};return n.cache=new(aa.Cache||wi),n}function la(e){if("function"!=typeof e)throw new rt(l);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}aa.Cache=wi;var ua=Ur(function(e,t){var n=(t=1==t.length&&ga(t[0])?Qt(t[0],gn(Lo())):Qt(qi(t,1),gn(Lo()))).length;return kr(function(i){for(var r=-1,o=Kn(i.length,n);++r=t}),va=or(function(){return arguments}())?or:function(e){return $a(e)&&ct.call(e,"callee")&&!It.call(e,"callee")},ga=i.isArray,ya=Bt?gn(Bt):function(e){return $a(e)&&Qi(e)==le};function ba(e){return null!=e&&Da(e.length)&&!ka(e)}function _a(e){return $a(e)&&ba(e)}var wa=Hn||jl,xa=zt?gn(zt):function(e){return $a(e)&&Qi(e)==q};function Ca(e){if(!$a(e))return!1;var t=Qi(e);return t==K||t==Y||"string"==typeof e.message&&"string"==typeof e.name&&!Na(e)}function ka(e){if(!Ea(e))return!1;var t=Qi(e);return t==U||t==G||t==j||t==ee}function Sa(e){return"number"==typeof e&&e==Ra(e)}function Da(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=I}function Ea(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function $a(e){return null!=e&&"object"==typeof e}var Ta=Rt?gn(Rt):function(e){return $a(e)&&jo(e)==X};function Ma(e){return"number"==typeof e||$a(e)&&Qi(e)==Z}function Na(e){if(!$a(e)||Qi(e)!=Q)return!1;var t=Nt(e);if(null===t)return!0;var n=ct.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&ut.call(n)==pt}var Oa=Ht?gn(Ht):function(e){return $a(e)&&Qi(e)==te};var Pa=jt?gn(jt):function(e){return $a(e)&&jo(e)==ne};function Ia(e){return"string"==typeof e||!ga(e)&&$a(e)&&Qi(e)==ie}function Aa(e){return"symbol"==typeof e||$a(e)&&Qi(e)==re}var Fa=Wt?gn(Wt):function(e){return $a(e)&&Da(e.length)&&!!Dt[Qi(e)]};var La=wo(dr),Va=wo(function(e,t){return e<=t});function Ba(e){if(!e)return[];if(ba(e))return Ia(e)?Pn(e):io(e);if(Vt&&e[Vt])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[Vt]());var t=jo(e);return(t==X?Dn:t==ne?Mn:fl)(e)}function za(e){return e?(e=ja(e))===P||e===-P?(e<0?-1:1)*A:e==e?e:0:0===e?e:0}function Ra(e){var t=za(e),n=t%1;return t==t?n?t-n:t:0}function Ha(e){return e?Ai(Ra(e),0,L):0}function ja(e){if("number"==typeof e)return e;if(Aa(e))return F;if(Ea(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Ea(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Ie,"");var n=qe.test(e);return n||Ke.test(e)?Mt(e.slice(2),n?2:8):We.test(e)?F:+e}function Wa(e){return ro(e,ol(e))}function qa(e){return null==e?"":Lr(e)}var Ya=so(function(e,t){if(Jo(t)||ba(t))ro(t,rl(t),e);else for(var n in t)ct.call(t,n)&&Ti(e,n,t[n])}),Ka=so(function(e,t){ro(t,ol(t),e)}),Ua=so(function(e,t,n,i){ro(t,ol(t),e,i)}),Ga=so(function(e,t,n,i){ro(t,rl(t),e,i)}),Xa=No(Ii);var Za=kr(function(e,t){e=tt(e);var n=-1,i=t.length,r=i>2?t[2]:o;for(r&&Uo(t[0],t[1],r)&&(i=1);++n1),t}),ro(e,Po(e),n),i&&(n=Fi(n,d|f|p,To));for(var r=t.length;r--;)Br(n,t[r]);return n});var ul=No(function(e,t){return null==e?{}:function(e,t){return br(e,t,function(t,n){return el(e,n)})}(e,t)});function cl(e,t){if(null==e)return{};var n=Qt(Po(e),function(e){return[e]});return t=Lo(t),br(e,n,function(e,n){return t(e,n[0])})}var hl=So(rl),dl=So(ol);function fl(e){return null==e?[]:yn(e,rl(e))}var pl=co(function(e,t,n){return t=t.toLowerCase(),e+(n?ml(t):t)});function ml(e){return Cl(qa(e).toLowerCase())}function vl(e){return(e=qa(e))&&e.replace(Ge,xn).replace(bt,"")}var gl=co(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),yl=co(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),bl=uo("toLowerCase");var _l=co(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()});var wl=co(function(e,t,n){return e+(n?" ":"")+Cl(t)});var xl=co(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),Cl=uo("toUpperCase");function kl(e,t,n){return e=qa(e),(t=n?o:t)===o?function(e){return Ct.test(e)}(e)?function(e){return e.match(wt)||[]}(e):function(e){return e.match(ze)||[]}(e):e.match(t)||[]}var Sl=kr(function(e,t){try{return qt(e,o,t)}catch(e){return Ca(e)?e:new Je(e)}}),Dl=No(function(e,t){return Kt(t,function(t){t=cs(t),Pi(e,t,na(e[t],e))}),e});function El(e){return function(){return e}}var $l=po(),Tl=po(!0);function Ml(e){return e}function Nl(e){return ur("function"==typeof e?e:Fi(e,d))}var Ol=kr(function(e,t){return function(n){return rr(n,e,t)}}),Pl=kr(function(e,t){return function(n){return rr(e,n,t)}});function Il(e,t,n){var i=rl(t),r=Xi(t,i);null!=n||Ea(t)&&(r.length||!i.length)||(n=t,t=e,e=this,r=Xi(t,rl(t)));var o=!(Ea(n)&&"chain"in n&&!n.chain),s=ka(e);return Kt(r,function(n){var i=t[n];e[n]=i,s&&(e.prototype[n]=function(){var t=this.__chain__;if(o||t){var n=e(this.__wrapped__);return(n.__actions__=io(this.__actions__)).push({func:i,args:arguments,thisArg:e}),n.__chain__=t,n}return i.apply(e,en([this.value()],arguments))})}),e}function Al(){}var Fl=yo(Qt),Ll=yo(Gt),Vl=yo(rn);function Bl(e){return Go(e)?dn(cs(e)):function(e){return function(t){return Zi(t,e)}}(e)}var zl=_o(),Rl=_o(!0);function Hl(){return[]}function jl(){return!1}var Wl=go(function(e,t){return e+t},0),ql=Co("ceil"),Yl=go(function(e,t){return e/t},1),Kl=Co("floor");var Ul,Gl=go(function(e,t){return e*t},1),Xl=Co("round"),Zl=go(function(e,t){return e-t},0);return pi.after=function(e,t){if("function"!=typeof t)throw new rt(l);return e=Ra(e),function(){if(--e<1)return t.apply(this,arguments)}},pi.ary=ea,pi.assign=Ya,pi.assignIn=Ka,pi.assignInWith=Ua,pi.assignWith=Ga,pi.at=Xa,pi.before=ta,pi.bind=na,pi.bindAll=Dl,pi.bindKey=ia,pi.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return ga(e)?e:[e]},pi.chain=Bs,pi.chunk=function(e,t,n){t=(n?Uo(e,t,n):t===o)?1:Yn(Ra(t),0);var r=null==e?0:e.length;if(!r||t<1)return[];for(var s=0,a=0,l=i(Bn(r/t));sr?0:r+n),(i=i===o||i>r?r:Ra(i))<0&&(i+=r),i=n>i?0:Ha(i);n>>0)?(e=qa(e))&&("string"==typeof t||null!=t&&!Oa(t))&&!(t=Lr(t))&&Sn(e)?Gr(Pn(e),0,n):e.split(t,n):[]},pi.spread=function(e,t){if("function"!=typeof e)throw new rt(l);return t=null==t?0:Yn(Ra(t),0),kr(function(n){var i=n[t],r=Gr(n,0,t);return i&&en(r,i),qt(e,this,r)})},pi.tail=function(e){var t=null==e?0:e.length;return t?Nr(e,1,t):[]},pi.take=function(e,t,n){return e&&e.length?Nr(e,0,(t=n||t===o?1:Ra(t))<0?0:t):[]},pi.takeRight=function(e,t,n){var i=null==e?0:e.length;return i?Nr(e,(t=i-(t=n||t===o?1:Ra(t)))<0?0:t,i):[]},pi.takeRightWhile=function(e,t){return e&&e.length?Rr(e,Lo(t,3),!1,!0):[]},pi.takeWhile=function(e,t){return e&&e.length?Rr(e,Lo(t,3)):[]},pi.tap=function(e,t){return t(e),e},pi.throttle=function(e,t,n){var i=!0,r=!0;if("function"!=typeof e)throw new rt(l);return Ea(n)&&(i="leading"in n?!!n.leading:i,r="trailing"in n?!!n.trailing:r),ra(e,t,{leading:i,maxWait:t,trailing:r})},pi.thru=zs,pi.toArray=Ba,pi.toPairs=hl,pi.toPairsIn=dl,pi.toPath=function(e){return ga(e)?Qt(e,cs):Aa(e)?[e]:io(us(qa(e)))},pi.toPlainObject=Wa,pi.transform=function(e,t,n){var i=ga(e),r=i||wa(e)||Fa(e);if(t=Lo(t,4),null==n){var o=e&&e.constructor;n=r?i?new o:[]:Ea(e)&&ka(o)?mi(Nt(e)):{}}return(r?Kt:Ui)(e,function(e,i,r){return t(n,e,i,r)}),n},pi.unary=function(e){return ea(e,1)},pi.union=$s,pi.unionBy=Ts,pi.unionWith=Ms,pi.uniq=function(e){return e&&e.length?Vr(e):[]},pi.uniqBy=function(e,t){return e&&e.length?Vr(e,Lo(t,2)):[]},pi.uniqWith=function(e,t){return t="function"==typeof t?t:o,e&&e.length?Vr(e,o,t):[]},pi.unset=function(e,t){return null==e||Br(e,t)},pi.unzip=Ns,pi.unzipWith=Os,pi.update=function(e,t,n){return null==e?e:zr(e,t,Yr(n))},pi.updateWith=function(e,t,n,i){return i="function"==typeof i?i:o,null==e?e:zr(e,t,Yr(n),i)},pi.values=fl,pi.valuesIn=function(e){return null==e?[]:yn(e,ol(e))},pi.without=Ps,pi.words=kl,pi.wrap=function(e,t){return ca(Yr(t),e)},pi.xor=Is,pi.xorBy=As,pi.xorWith=Fs,pi.zip=Ls,pi.zipObject=function(e,t){return Wr(e||[],t||[],Ti)},pi.zipObjectDeep=function(e,t){return Wr(e||[],t||[],Er)},pi.zipWith=Vs,pi.entries=hl,pi.entriesIn=dl,pi.extend=Ka,pi.extendWith=Ua,Il(pi,pi),pi.add=Wl,pi.attempt=Sl,pi.camelCase=pl,pi.capitalize=ml,pi.ceil=ql,pi.clamp=function(e,t,n){return n===o&&(n=t,t=o),n!==o&&(n=(n=ja(n))==n?n:0),t!==o&&(t=(t=ja(t))==t?t:0),Ai(ja(e),t,n)},pi.clone=function(e){return Fi(e,p)},pi.cloneDeep=function(e){return Fi(e,d|p)},pi.cloneDeepWith=function(e,t){return Fi(e,d|p,t="function"==typeof t?t:o)},pi.cloneWith=function(e,t){return Fi(e,p,t="function"==typeof t?t:o)},pi.conformsTo=function(e,t){return null==t||Li(e,t,rl(t))},pi.deburr=vl,pi.defaultTo=function(e,t){return null==e||e!=e?t:e},pi.divide=Yl,pi.endsWith=function(e,t,n){e=qa(e),t=Lr(t);var i=e.length,r=n=n===o?i:Ai(Ra(n),0,i);return(n-=t.length)>=0&&e.slice(n,r)==t},pi.eq=fa,pi.escape=function(e){return(e=qa(e))&&Se.test(e)?e.replace(Ce,Cn):e},pi.escapeRegExp=function(e){return(e=qa(e))&&Pe.test(e)?e.replace(Oe,"\\$&"):e},pi.every=function(e,t,n){var i=ga(e)?Gt:Hi;return n&&Uo(e,t,n)&&(t=o),i(e,Lo(t,3))},pi.find=js,pi.findIndex=vs,pi.findKey=function(e,t){return sn(e,Lo(t,3),Ui)},pi.findLast=Ws,pi.findLastIndex=gs,pi.findLastKey=function(e,t){return sn(e,Lo(t,3),Gi)},pi.floor=Kl,pi.forEach=qs,pi.forEachRight=Ys,pi.forIn=function(e,t){return null==e?e:Yi(e,Lo(t,3),ol)},pi.forInRight=function(e,t){return null==e?e:Ki(e,Lo(t,3),ol)},pi.forOwn=function(e,t){return e&&Ui(e,Lo(t,3))},pi.forOwnRight=function(e,t){return e&&Gi(e,Lo(t,3))},pi.get=Qa,pi.gt=pa,pi.gte=ma,pi.has=function(e,t){return null!=e&&Wo(e,t,tr)},pi.hasIn=el,pi.head=bs,pi.identity=Ml,pi.includes=function(e,t,n,i){e=ba(e)?e:fl(e),n=n&&!i?Ra(n):0;var r=e.length;return n<0&&(n=Yn(r+n,0)),Ia(e)?n<=r&&e.indexOf(t,n)>-1:!!r&&ln(e,t,n)>-1},pi.indexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=null==n?0:Ra(n);return r<0&&(r=Yn(i+r,0)),ln(e,t,r)},pi.inRange=function(e,t,n){return t=za(t),n===o?(n=t,t=0):n=za(n),function(e,t,n){return e>=Kn(t,n)&&e=-I&&e<=I},pi.isSet=Pa,pi.isString=Ia,pi.isSymbol=Aa,pi.isTypedArray=Fa,pi.isUndefined=function(e){return e===o},pi.isWeakMap=function(e){return $a(e)&&jo(e)==se},pi.isWeakSet=function(e){return $a(e)&&Qi(e)==ae},pi.join=function(e,t){return null==e?"":Wn.call(e,t)},pi.kebabCase=gl,pi.last=Cs,pi.lastIndexOf=function(e,t,n){var i=null==e?0:e.length;if(!i)return-1;var r=i;return n!==o&&(r=(r=Ra(n))<0?Yn(i+r,0):Kn(r,i-1)),t==t?function(e,t,n){for(var i=n+1;i--;)if(e[i]===t)return i;return i}(e,t,r):an(e,cn,r,!0)},pi.lowerCase=yl,pi.lowerFirst=bl,pi.lt=La,pi.lte=Va,pi.max=function(e){return e&&e.length?ji(e,Ml,er):o},pi.maxBy=function(e,t){return e&&e.length?ji(e,Lo(t,2),er):o},pi.mean=function(e){return hn(e,Ml)},pi.meanBy=function(e,t){return hn(e,Lo(t,2))},pi.min=function(e){return e&&e.length?ji(e,Ml,dr):o},pi.minBy=function(e,t){return e&&e.length?ji(e,Lo(t,2),dr):o},pi.stubArray=Hl,pi.stubFalse=jl,pi.stubObject=function(){return{}},pi.stubString=function(){return""},pi.stubTrue=function(){return!0},pi.multiply=Gl,pi.nth=function(e,t){return e&&e.length?gr(e,Ra(t)):o},pi.noConflict=function(){return Pt._===this&&(Pt._=mt),this},pi.noop=Al,pi.now=Qs,pi.pad=function(e,t,n){e=qa(e);var i=(t=Ra(t))?On(e):0;if(!t||i>=t)return e;var r=(t-i)/2;return bo(zn(r),n)+e+bo(Bn(r),n)},pi.padEnd=function(e,t,n){e=qa(e);var i=(t=Ra(t))?On(e):0;return t&&it){var i=e;e=t,t=i}if(n||e%1||t%1){var r=Xn();return Kn(e+r*(t-e+Tt("1e-"+((r+"").length-1))),t)}return xr(e,t)},pi.reduce=function(e,t,n){var i=ga(e)?tn:pn,r=arguments.length<3;return i(e,Lo(t,4),n,r,zi)},pi.reduceRight=function(e,t,n){var i=ga(e)?nn:pn,r=arguments.length<3;return i(e,Lo(t,4),n,r,Ri)},pi.repeat=function(e,t,n){return t=(n?Uo(e,t,n):t===o)?1:Ra(t),Cr(qa(e),t)},pi.replace=function(){var e=arguments,t=qa(e[0]);return e.length<3?t:t.replace(e[1],e[2])},pi.result=function(e,t,n){var i=-1,r=(t=Kr(t,e)).length;for(r||(r=1,e=o);++iI)return[];var n=L,i=Kn(e,L);t=Lo(t),e-=L;for(var r=vn(i,t);++n=s)return e;var l=n-On(i);if(l<1)return i;var u=a?Gr(a,0,l).join(""):e.slice(0,l);if(r===o)return u+i;if(a&&(l+=u.length-l),Oa(r)){if(e.slice(l).search(r)){var c,h=u;for(r.global||(r=nt(r.source,qa(je.exec(r))+"g")),r.lastIndex=0;c=r.exec(h);)var d=c.index;u=u.slice(0,d===o?l:d)}}else if(e.indexOf(Lr(r),l)!=l){var f=u.lastIndexOf(r);f>-1&&(u=u.slice(0,f))}return u+i},pi.unescape=function(e){return(e=qa(e))&&ke.test(e)?e.replace(xe,In):e},pi.uniqueId=function(e){var t=++ht;return qa(e)+t},pi.upperCase=xl,pi.upperFirst=Cl,pi.each=qs,pi.eachRight=Ys,pi.first=bs,Il(pi,(Ul={},Ui(pi,function(e,t){ct.call(pi.prototype,t)||(Ul[t]=e)}),Ul),{chain:!1}),pi.VERSION="4.17.10",Kt(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){pi[e].placeholder=pi}),Kt(["drop","take"],function(e,t){yi.prototype[e]=function(n){n=n===o?1:Yn(Ra(n),0);var i=this.__filtered__&&!t?new yi(this):this.clone();return i.__filtered__?i.__takeCount__=Kn(n,i.__takeCount__):i.__views__.push({size:Kn(n,L),type:e+(i.__dir__<0?"Right":"")}),i},yi.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}}),Kt(["filter","map","takeWhile"],function(e,t){var n=t+1,i=n==N||3==n;yi.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Lo(e,3),type:n}),t.__filtered__=t.__filtered__||i,t}}),Kt(["head","last"],function(e,t){var n="take"+(t?"Right":"");yi.prototype[e]=function(){return this[n](1).value()[0]}}),Kt(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");yi.prototype[e]=function(){return this.__filtered__?new yi(this):this[n](1)}}),yi.prototype.compact=function(){return this.filter(Ml)},yi.prototype.find=function(e){return this.filter(e).head()},yi.prototype.findLast=function(e){return this.reverse().find(e)},yi.prototype.invokeMap=kr(function(e,t){return"function"==typeof e?new yi(this):this.map(function(n){return rr(n,e,t)})}),yi.prototype.reject=function(e){return this.filter(la(Lo(e)))},yi.prototype.slice=function(e,t){e=Ra(e);var n=this;return n.__filtered__&&(e>0||t<0)?new yi(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==o&&(n=(t=Ra(t))<0?n.dropRight(-t):n.take(t-e)),n)},yi.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},yi.prototype.toArray=function(){return this.take(L)},Ui(yi.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),r=pi[i?"take"+("last"==t?"Right":""):t],s=i||/^find/.test(t);r&&(pi.prototype[t]=function(){var t=this.__wrapped__,a=i?[1]:arguments,l=t instanceof yi,u=a[0],c=l||ga(t),h=function(e){var t=r.apply(pi,en([e],a));return i&&d?t[0]:t};c&&n&&"function"==typeof u&&1!=u.length&&(l=c=!1);var d=this.__chain__,f=!!this.__actions__.length,p=s&&!d,m=l&&!f;if(!s&&c){t=m?t:new yi(this);var v=e.apply(t,a);return v.__actions__.push({func:zs,args:[h],thisArg:o}),new gi(v,d)}return p&&m?e.apply(this,a):(v=this.thru(h),p?i?v.value()[0]:v.value():v)})}),Kt(["pop","push","shift","sort","splice","unshift"],function(e){var t=ot[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",i=/^(?:pop|shift)$/.test(e);pi.prototype[e]=function(){var e=arguments;if(i&&!this.__chain__){var r=this.value();return t.apply(ga(r)?r:[],e)}return this[n](function(n){return t.apply(ga(n)?n:[],e)})}}),Ui(yi.prototype,function(e,t){var n=pi[t];if(n){var i=n.name+"";(oi[i]||(oi[i]=[])).push({name:t,func:n})}}),oi[mo(o,y).name]=[{name:"wrapper",func:o}],yi.prototype.clone=function(){var e=new yi(this.__wrapped__);return e.__actions__=io(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=io(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=io(this.__views__),e},yi.prototype.reverse=function(){if(this.__filtered__){var e=new yi(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},yi.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=ga(e),i=t<0,r=n?e.length:0,o=function(e,t,n){for(var i=-1,r=n.length;++i=this.__values__.length;return{done:e,value:e?o:this.__values__[this.__index__++]}},pi.prototype.plant=function(e){for(var t,n=this;n instanceof vi;){var i=ds(n);i.__index__=0,i.__values__=o,t?r.__wrapped__=i:t=i;var r=i;n=n.__wrapped__}return r.__wrapped__=e,t},pi.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof yi){var t=e;return this.__actions__.length&&(t=new yi(this)),(t=t.reverse()).__actions__.push({func:zs,args:[Es],thisArg:o}),new gi(t,this.__chain__)}return this.thru(Es)},pi.prototype.toJSON=pi.prototype.valueOf=pi.prototype.value=function(){return Hr(this.__wrapped__,this.__actions__)},pi.prototype.first=pi.prototype.head,Vt&&(pi.prototype[Vt]=function(){return this}),pi}();Pt._=An,(r=function(){return An}.call(t,n,t,i))===o||(i.exports=r)}).call(this)}).call(this,n(37),n(89)(e))},function(e,t){var n=e.exports={version:"2.6.2"};"number"==typeof __e&&(__e=n)},function(e,t){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t,n){var i=n(4),r=n(1);e.exports={throttle:i,debounce:r}},function(e,t,n){var i=n(16);e.exports=function(e){if(!i(e))throw TypeError(e+" is not an object!");return e}},function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var i=n(40),r=n(31);e.exports=Object.keys||function(e){return i(e,r)}},function(e,t){e.exports=!0},function(e,t){var n=0,i=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++n+i).toString(36))}},function(e,t){t.f={}.propertyIsEnumerable},function(e,t,n){var i=n(5),r=n(15),o=n(60),s=n(9),a=n(7),l=function(e,t,n){var u,c,h,d=e&l.F,f=e&l.G,p=e&l.S,m=e&l.P,v=e&l.B,g=e&l.W,y=f?r:r[t]||(r[t]={}),b=y.prototype,_=f?i:p?i[t]:(i[t]||{}).prototype;for(u in f&&(n=t),n)(c=!d&&_&&void 0!==_[u])&&a(y,u)||(h=c?_[u]:n[u],y[u]=f&&"function"!=typeof _[u]?n[u]:v&&c?o(h,i):g&&_[u]==h?function(e){var t=function(t,n,i){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,i)}return e.apply(this,arguments)};return t.prototype=e.prototype,t}(h):m&&"function"==typeof h?o(Function.call,h):h,m&&((y.virtual||(y.virtual={}))[u]=h,e&l.R&&b&&!b[u]&&s(b,u,h)))};l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},function(e,t,n){var i=n(16);e.exports=function(e,t){if(!i(e))return e;var n,r;if(t&&"function"==typeof(n=e.toString)&&!i(r=n.call(e)))return r;if("function"==typeof(n=e.valueOf)&&!i(r=n.call(e)))return r;if(!t&&"function"==typeof(n=e.toString)&&!i(r=n.call(e)))return r;throw TypeError("Can't convert object to primitive value")}},function(e,t){e.exports=function(e){if(null==e)throw TypeError("Can't call method on "+e);return e}},function(e,t){var n=Math.ceil,i=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?i:n)(e)}},function(e,t,n){var i=n(30)("keys"),r=n(23);e.exports=function(e){return i[e]||(i[e]=r(e))}},function(e,t,n){var i=n(15),r=n(5),o=r["__core-js_shared__"]||(r["__core-js_shared__"]={});(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:i.version,mode:n(22)?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},function(e,t){e.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t){e.exports={}},function(e,t,n){var i=n(10).f,r=n(7),o=n(13)("toStringTag");e.exports=function(e,t,n){e&&!r(e=n?e:e.prototype,o)&&i(e,o,{configurable:!0,value:t})}},function(e,t,n){t.f=n(13)},function(e,t,n){var i=n(5),r=n(15),o=n(22),s=n(35),a=n(10).f;e.exports=function(e){var t=r.Symbol||(r.Symbol=o?{}:i.Symbol||{});"_"==e.charAt(0)||e in t||a(t,e,{value:s.f(e)})}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){e.exports=!n(11)&&!n(17)(function(){return 7!=Object.defineProperty(n(39)("div"),"a",{get:function(){return 7}}).a})},function(e,t,n){var i=n(16),r=n(5).document,o=i(r)&&i(r.createElement);e.exports=function(e){return o?r.createElement(e):{}}},function(e,t,n){var i=n(7),r=n(12),o=n(63)(!1),s=n(29)("IE_PROTO");e.exports=function(e,t){var n,a=r(e),l=0,u=[];for(n in a)n!=s&&i(a,n)&&u.push(n);for(;t.length>l;)i(a,n=t[l++])&&(~o(u,n)||u.push(n));return u}},function(e,t,n){var i=n(42);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==i(e)?e.split(""):Object(e)}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t,n){var i=n(27);e.exports=function(e){return Object(i(e))}},function(e,t,n){"use strict";var i=n(22),r=n(25),o=n(45),s=n(9),a=n(33),l=n(70),u=n(34),c=n(73),h=n(13)("iterator"),d=!([].keys&&"next"in[].keys()),f=function(){return this};e.exports=function(e,t,n,p,m,v,g){l(n,t,p);var y,b,_,w=function(e){if(!d&&e in S)return S[e];switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},x=t+" Iterator",C="values"==m,k=!1,S=e.prototype,D=S[h]||S["@@iterator"]||m&&S[m],E=D||w(m),$=m?C?w("entries"):E:void 0,T="Array"==t&&S.entries||D;if(T&&(_=c(T.call(new e)))!==Object.prototype&&_.next&&(u(_,x,!0),i||"function"==typeof _[h]||s(_,h,f)),C&&D&&"values"!==D.name&&(k=!0,E=function(){return D.call(this)}),i&&!g||!d&&!k&&S[h]||s(S,h,E),a[t]=E,a[x]=f,m)if(y={values:C?E:w("values"),keys:v?E:w("keys"),entries:$},g)for(b in y)b in S||o(S,b,y[b]);else r(r.P+r.F*(d||k),t,y);return y}},function(e,t,n){e.exports=n(9)},function(e,t,n){var i=n(19),r=n(71),o=n(31),s=n(29)("IE_PROTO"),a=function(){},l=function(){var e,t=n(39)("iframe"),i=o.length;for(t.style.display="none",n(72).appendChild(t),t.src="javascript:",(e=t.contentWindow.document).open(),e.write(" + + + + + + + + + + + + + + + \ No newline at end of file diff --git b/jsbn.js a/jsbn.js new file mode 100644 index 0000000..8a2772b --- /dev/null +++ a/jsbn.js @@ -0,0 +1,1364 @@ +(function(){ + console.log('自调用函数'); + + // Copyright (c) 2005 Tom Wu + // All Rights Reserved. + // See "LICENSE" for details. + + // Basic JavaScript BN library - subset useful for RSA encryption. + + // Bits per digit + var dbits; + + // JavaScript engine analysis + var canary = 0xdeadbeefcafe; + var j_lm = ((canary&0xffffff)==0xefcafe); + + // (public) Constructor + function BigInteger(a,b,c) { + if(a != null) + if("number" == typeof a) this.fromNumber(a,b,c); + else if(b == null && "string" != typeof a) this.fromString(a,256); + else this.fromString(a,b); + } + + // return new, unset BigInteger + function nbi() { return new BigInteger(null); } + + // am: Compute w_j += (x*this_i), propagate carries, + // c is initial carry, returns final carry. + // c < 3*dvalue, x < 2*dvalue, this_i < dvalue + // We need to select the fastest one that works in this environment. + + // am1: use a single mult and divide to get the high bits, + // max digit bits should be 26 because + // max internal value = 2*dvalue^2-2*dvalue (< 2^53) + function am1(i,x,w,j,c,n) { + while(--n >= 0) { + var v = x*this[i++]+w[j]+c; + c = Math.floor(v/0x4000000); + w[j++] = v&0x3ffffff; + } + return c; + } + // am2 avoids a big mult-and-extract completely. + // Max digit bits should be <= 30 because we do bitwise ops + // on values up to 2*hdvalue^2-hdvalue-1 (< 2^31) + function am2(i,x,w,j,c,n) { + var xl = x&0x7fff, xh = x>>15; + while(--n >= 0) { + var l = this[i]&0x7fff; + var h = this[i++]>>15; + var m = xh*l+h*xl; + l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff); + c = (l>>>30)+(m>>>15)+xh*h+(c>>>30); + w[j++] = l&0x3fffffff; + } + return c; + } + // Alternately, set max digit bits to 28 since some + // browsers slow down when dealing with 32-bit numbers. + function am3(i,x,w,j,c,n) { + var xl = x&0x3fff, xh = x>>14; + while(--n >= 0) { + var l = this[i]&0x3fff; + var h = this[i++]>>14; + var m = xh*l+h*xl; + l = xl*l+((m&0x3fff)<<14)+w[j]+c; + c = (l>>28)+(m>>14)+xh*h; + w[j++] = l&0xfffffff; + } + return c; + } + var inBrowser = typeof navigator !== "undefined"; + if(inBrowser && j_lm && (navigator.appName == "Microsoft Internet Explorer")) { + BigInteger.prototype.am = am2; + dbits = 30; + } + else if(inBrowser && j_lm && (navigator.appName != "Netscape")) { + BigInteger.prototype.am = am1; + dbits = 26; + } + else { // Mozilla/Netscape seems to prefer am3 + BigInteger.prototype.am = am3; + dbits = 28; + } + + BigInteger.prototype.DB = dbits; + BigInteger.prototype.DM = ((1<= 0; --i) r[i] = this[i]; + r.t = this.t; + r.s = this.s; + } + + // (protected) set from integer value x, -DV <= x < DV + function bnpFromInt(x) { + this.t = 1; + this.s = (x<0)?-1:0; + if(x > 0) this[0] = x; + else if(x < -1) this[0] = x+this.DV; + else this.t = 0; + } + + // return bigint initialized to value + function nbv(i) { var r = nbi(); r.fromInt(i); return r; } + + // (protected) set from string and radix + function bnpFromString(s,b) { + var k; + if(b == 16) k = 4; + else if(b == 8) k = 3; + else if(b == 256) k = 8; // byte array + else if(b == 2) k = 1; + else if(b == 32) k = 5; + else if(b == 4) k = 2; + else { this.fromRadix(s,b); return; } + this.t = 0; + this.s = 0; + var i = s.length, mi = false, sh = 0; + while(--i >= 0) { + var x = (k==8)?s[i]&0xff:intAt(s,i); + if(x < 0) { + if(s.charAt(i) == "-") mi = true; + continue; + } + mi = false; + if(sh == 0) + this[this.t++] = x; + else if(sh+k > this.DB) { + this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<>(this.DB-sh)); + } + else + this[this.t-1] |= x<= this.DB) sh -= this.DB; + } + if(k == 8 && (s[0]&0x80) != 0) { + this.s = -1; + if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)< 0 && this[this.t-1] == c) --this.t; + } + + // (public) return string representation in given radix + function bnToString(b) { + if(this.s < 0) return "-"+this.negate().toString(b); + var k; + if(b == 16) k = 4; + else if(b == 8) k = 3; + else if(b == 2) k = 1; + else if(b == 32) k = 5; + else if(b == 4) k = 2; + else return this.toRadix(b); + var km = (1< 0) { + if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); } + while(i >= 0) { + if(p < k) { + d = (this[i]&((1<>(p+=this.DB-k); + } + else { + d = (this[i]>>(p-=k))&km; + if(p <= 0) { p += this.DB; --i; } + } + if(d > 0) m = true; + if(m) r += int2char(d); + } + } + return m?r:"0"; + } + + // (public) -this + function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; } + + // (public) |this| + function bnAbs() { return (this.s<0)?this.negate():this; } + + // (public) return + if this > a, - if this < a, 0 if equal + function bnCompareTo(a) { + var r = this.s-a.s; + if(r != 0) return r; + var i = this.t; + r = i-a.t; + if(r != 0) return (this.s<0)?-r:r; + while(--i >= 0) if((r=this[i]-a[i]) != 0) return r; + return 0; + } + + // returns bit length of the integer x + function nbits(x) { + var r = 1, t; + if((t=x>>>16) != 0) { x = t; r += 16; } + if((t=x>>8) != 0) { x = t; r += 8; } + if((t=x>>4) != 0) { x = t; r += 4; } + if((t=x>>2) != 0) { x = t; r += 2; } + if((t=x>>1) != 0) { x = t; r += 1; } + return r; + } + + // (public) return the number of bits in "this" + function bnBitLength() { + if(this.t <= 0) return 0; + return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM)); + } + + // (protected) r = this << n*DB + function bnpDLShiftTo(n,r) { + var i; + for(i = this.t-1; i >= 0; --i) r[i+n] = this[i]; + for(i = n-1; i >= 0; --i) r[i] = 0; + r.t = this.t+n; + r.s = this.s; + } + + // (protected) r = this >> n*DB + function bnpDRShiftTo(n,r) { + for(var i = n; i < this.t; ++i) r[i-n] = this[i]; + r.t = Math.max(this.t-n,0); + r.s = this.s; + } + + // (protected) r = this << n + function bnpLShiftTo(n,r) { + var bs = n%this.DB; + var cbs = this.DB-bs; + var bm = (1<= 0; --i) { + r[i+ds+1] = (this[i]>>cbs)|c; + c = (this[i]&bm)<= 0; --i) r[i] = 0; + r[ds] = c; + r.t = this.t+ds+1; + r.s = this.s; + r.clamp(); + } + + // (protected) r = this >> n + function bnpRShiftTo(n,r) { + r.s = this.s; + var ds = Math.floor(n/this.DB); + if(ds >= this.t) { r.t = 0; return; } + var bs = n%this.DB; + var cbs = this.DB-bs; + var bm = (1<>bs; + for(var i = ds+1; i < this.t; ++i) { + r[i-ds-1] |= (this[i]&bm)<>bs; + } + if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<>= this.DB; + } + if(a.t < this.t) { + c -= a.s; + while(i < this.t) { + c += this[i]; + r[i++] = c&this.DM; + c >>= this.DB; + } + c += this.s; + } + else { + c += this.s; + while(i < a.t) { + c -= a[i]; + r[i++] = c&this.DM; + c >>= this.DB; + } + c -= a.s; + } + r.s = (c<0)?-1:0; + if(c < -1) r[i++] = this.DV+c; + else if(c > 0) r[i++] = c; + r.t = i; + r.clamp(); + } + + // (protected) r = this * a, r != this,a (HAC 14.12) + // "this" should be the larger one if appropriate. + function bnpMultiplyTo(a,r) { + var x = this.abs(), y = a.abs(); + var i = x.t; + r.t = i+y.t; + while(--i >= 0) r[i] = 0; + for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t); + r.s = 0; + r.clamp(); + if(this.s != a.s) BigInteger.ZERO.subTo(r,r); + } + + // (protected) r = this^2, r != this (HAC 14.16) + function bnpSquareTo(r) { + var x = this.abs(); + var i = r.t = 2*x.t; + while(--i >= 0) r[i] = 0; + for(i = 0; i < x.t-1; ++i) { + var c = x.am(i,x[i],r,2*i,0,1); + if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) { + r[i+x.t] -= x.DV; + r[i+x.t+1] = 1; + } + } + if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1); + r.s = 0; + r.clamp(); + } + + // (protected) divide this by m, quotient and remainder to q, r (HAC 14.20) + // r != q, this != m. q or r may be null. + function bnpDivRemTo(m,q,r) { + var pm = m.abs(); + if(pm.t <= 0) return; + var pt = this.abs(); + if(pt.t < pm.t) { + if(q != null) q.fromInt(0); + if(r != null) this.copyTo(r); + return; + } + if(r == null) r = nbi(); + var y = nbi(), ts = this.s, ms = m.s; + var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus + if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); } + else { pm.copyTo(y); pt.copyTo(r); } + var ys = y.t; + var y0 = y[ys-1]; + if(y0 == 0) return; + var yt = y0*(1<1)?y[ys-2]>>this.F2:0); + var d1 = this.FV/yt, d2 = (1<= 0) { + r[r.t++] = 1; + r.subTo(t,r); + } + BigInteger.ONE.dlShiftTo(ys,t); + t.subTo(y,y); // "negative" y so we can replace sub with am later + while(y.t < ys) y[y.t++] = 0; + while(--j >= 0) { + // Estimate quotient digit + var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2); + if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out + y.dlShiftTo(j,t); + r.subTo(t,r); + while(r[i] < --qd) r.subTo(t,r); + } + } + if(q != null) { + r.drShiftTo(ys,q); + if(ts != ms) BigInteger.ZERO.subTo(q,q); + } + r.t = ys; + r.clamp(); + if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder + if(ts < 0) BigInteger.ZERO.subTo(r,r); + } + + // (public) this mod a + function bnMod(a) { + var r = nbi(); + this.abs().divRemTo(a,null,r); + if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r); + return r; + } + + // Modular reduction using "classic" algorithm + function Classic(m) { this.m = m; } + function cConvert(x) { + if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m); + else return x; + } + function cRevert(x) { return x; } + function cReduce(x) { x.divRemTo(this.m,null,x); } + function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + + Classic.prototype.convert = cConvert; + Classic.prototype.revert = cRevert; + Classic.prototype.reduce = cReduce; + Classic.prototype.mulTo = cMulTo; + Classic.prototype.sqrTo = cSqrTo; + + // (protected) return "-1/this % 2^DB"; useful for Mont. reduction + // justification: + // xy == 1 (mod m) + // xy = 1+km + // xy(2-xy) = (1+km)(1-km) + // x[y(2-xy)] = 1-k^2m^2 + // x[y(2-xy)] == 1 (mod m^2) + // if y is 1/x mod m, then y(2-xy) is 1/x mod m^2 + // should reduce x and y(2-xy) by m^2 at each step to keep size bounded. + // JS multiply "overflows" differently from C/C++, so care is needed here. + function bnpInvDigit() { + if(this.t < 1) return 0; + var x = this[0]; + if((x&1) == 0) return 0; + var y = x&3; // y == 1/x mod 2^2 + y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4 + y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8 + y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16 + // last step - calculate inverse mod DV directly; + // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints + y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits + // we really want the negative inverse, and -DV < y < DV + return (y>0)?this.DV-y:-y; + } + + // Montgomery reduction + function Montgomery(m) { + this.m = m; + this.mp = m.invDigit(); + this.mpl = this.mp&0x7fff; + this.mph = this.mp>>15; + this.um = (1<<(m.DB-15))-1; + this.mt2 = 2*m.t; + } + + // xR mod m + function montConvert(x) { + var r = nbi(); + x.abs().dlShiftTo(this.m.t,r); + r.divRemTo(this.m,null,r); + if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r); + return r; + } + + // x/R mod m + function montRevert(x) { + var r = nbi(); + x.copyTo(r); + this.reduce(r); + return r; + } + + // x = x/R mod m (HAC 14.32) + function montReduce(x) { + while(x.t <= this.mt2) // pad x so am has enough room later + x[x.t++] = 0; + for(var i = 0; i < this.m.t; ++i) { + // faster way of calculating u0 = x[i]*mp mod DV + var j = x[i]&0x7fff; + var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM; + // use am to combine the multiply-shift-add into one call + j = i+this.m.t; + x[j] += this.m.am(0,u0,x,i,0,this.m.t); + // propagate carry + while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; } + } + x.clamp(); + x.drShiftTo(this.m.t,x); + if(x.compareTo(this.m) >= 0) x.subTo(this.m,x); + } + + // r = "x^2/R mod m"; x != r + function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + + // r = "xy/R mod m"; x,y != r + function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + + Montgomery.prototype.convert = montConvert; + Montgomery.prototype.revert = montRevert; + Montgomery.prototype.reduce = montReduce; + Montgomery.prototype.mulTo = montMulTo; + Montgomery.prototype.sqrTo = montSqrTo; + + // (protected) true iff this is even + function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; } + + // (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79) + function bnpExp(e,z) { + if(e > 0xffffffff || e < 1) return BigInteger.ONE; + var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1; + g.copyTo(r); + while(--i >= 0) { + z.sqrTo(r,r2); + if((e&(1< 0) z.mulTo(r2,g,r); + else { var t = r; r = r2; r2 = t; } + } + return z.revert(r); + } + + // (public) this^e % m, 0 <= e < 2^32 + function bnModPowInt(e,m) { + var z; + if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m); + return this.exp(e,z); + } + + // protected + BigInteger.prototype.copyTo = bnpCopyTo; + BigInteger.prototype.fromInt = bnpFromInt; + BigInteger.prototype.fromString = bnpFromString; + BigInteger.prototype.clamp = bnpClamp; + BigInteger.prototype.dlShiftTo = bnpDLShiftTo; + BigInteger.prototype.drShiftTo = bnpDRShiftTo; + BigInteger.prototype.lShiftTo = bnpLShiftTo; + BigInteger.prototype.rShiftTo = bnpRShiftTo; + BigInteger.prototype.subTo = bnpSubTo; + BigInteger.prototype.multiplyTo = bnpMultiplyTo; + BigInteger.prototype.squareTo = bnpSquareTo; + BigInteger.prototype.divRemTo = bnpDivRemTo; + BigInteger.prototype.invDigit = bnpInvDigit; + BigInteger.prototype.isEven = bnpIsEven; + BigInteger.prototype.exp = bnpExp; + + // public + BigInteger.prototype.toString = bnToString; + BigInteger.prototype.negate = bnNegate; + BigInteger.prototype.abs = bnAbs; + BigInteger.prototype.compareTo = bnCompareTo; + BigInteger.prototype.bitLength = bnBitLength; + BigInteger.prototype.mod = bnMod; + BigInteger.prototype.modPowInt = bnModPowInt; + + // "constants" + BigInteger.ZERO = nbv(0); + BigInteger.ONE = nbv(1); + + // Copyright (c) 2005-2009 Tom Wu + // All Rights Reserved. + // See "LICENSE" for details. + + // Extended JavaScript BN functions, required for RSA private ops. + + // Version 1.1: new BigInteger("0", 10) returns "proper" zero + // Version 1.2: square() API, isProbablePrime fix + + // (public) + function bnClone() { var r = nbi(); this.copyTo(r); return r; } + + // (public) return value as integer + function bnIntValue() { + if(this.s < 0) { + if(this.t == 1) return this[0]-this.DV; + else if(this.t == 0) return -1; + } + else if(this.t == 1) return this[0]; + else if(this.t == 0) return 0; + // assumes 16 < DB < 32 + return ((this[1]&((1<<(32-this.DB))-1))<>24; } + + // (public) return value as short (assumes DB>=16) + function bnShortValue() { return (this.t==0)?this.s:(this[0]<<16)>>16; } + + // (protected) return x s.t. r^x < DV + function bnpChunkSize(r) { return Math.floor(Math.LN2*this.DB/Math.log(r)); } + + // (public) 0 if this == 0, 1 if this > 0 + function bnSigNum() { + if(this.s < 0) return -1; + else if(this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0; + else return 1; + } + + // (protected) convert to radix string + function bnpToRadix(b) { + if(b == null) b = 10; + if(this.signum() == 0 || b < 2 || b > 36) return "0"; + var cs = this.chunkSize(b); + var a = Math.pow(b,cs); + var d = nbv(a), y = nbi(), z = nbi(), r = ""; + this.divRemTo(d,y,z); + while(y.signum() > 0) { + r = (a+z.intValue()).toString(b).substr(1) + r; + y.divRemTo(d,y,z); + } + return z.intValue().toString(b) + r; + } + + // (protected) convert from radix string + function bnpFromRadix(s,b) { + this.fromInt(0); + if(b == null) b = 10; + var cs = this.chunkSize(b); + var d = Math.pow(b,cs), mi = false, j = 0, w = 0; + for(var i = 0; i < s.length; ++i) { + var x = intAt(s,i); + if(x < 0) { + if(s.charAt(i) == "-" && this.signum() == 0) mi = true; + continue; + } + w = b*w+x; + if(++j >= cs) { + this.dMultiply(d); + this.dAddOffset(w,0); + j = 0; + w = 0; + } + } + if(j > 0) { + this.dMultiply(Math.pow(b,j)); + this.dAddOffset(w,0); + } + if(mi) BigInteger.ZERO.subTo(this,this); + } + + // (protected) alternate constructor + function bnpFromNumber(a,b,c) { + if("number" == typeof b) { + // new BigInteger(int,int,RNG) + if(a < 2) this.fromInt(1); + else { + this.fromNumber(a,c); + if(!this.testBit(a-1)) // force MSB set + this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this); + if(this.isEven()) this.dAddOffset(1,0); // force odd + while(!this.isProbablePrime(b)) { + this.dAddOffset(2,0); + if(this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a-1),this); + } + } + } + else { + // new BigInteger(int,RNG) + var x = new Array(), t = a&7; + x.length = (a>>3)+1; + b.nextBytes(x); + if(t > 0) x[0] &= ((1< 0) { + if(p < this.DB && (d = this[i]>>p) != (this.s&this.DM)>>p) + r[k++] = d|(this.s<<(this.DB-p)); + while(i >= 0) { + if(p < 8) { + d = (this[i]&((1<>(p+=this.DB-8); + } + else { + d = (this[i]>>(p-=8))&0xff; + if(p <= 0) { p += this.DB; --i; } + } + if((d&0x80) != 0) d |= -256; + if(k == 0 && (this.s&0x80) != (d&0x80)) ++k; + if(k > 0 || d != this.s) r[k++] = d; + } + } + return r; + } + + function bnEquals(a) { return(this.compareTo(a)==0); } + function bnMin(a) { return(this.compareTo(a)<0)?this:a; } + function bnMax(a) { return(this.compareTo(a)>0)?this:a; } + + // (protected) r = this op a (bitwise) + function bnpBitwiseTo(a,op,r) { + var i, f, m = Math.min(a.t,this.t); + for(i = 0; i < m; ++i) r[i] = op(this[i],a[i]); + if(a.t < this.t) { + f = a.s&this.DM; + for(i = m; i < this.t; ++i) r[i] = op(this[i],f); + r.t = this.t; + } + else { + f = this.s&this.DM; + for(i = m; i < a.t; ++i) r[i] = op(f,a[i]); + r.t = a.t; + } + r.s = op(this.s,a.s); + r.clamp(); + } + + // (public) this & a + function op_and(x,y) { return x&y; } + function bnAnd(a) { var r = nbi(); this.bitwiseTo(a,op_and,r); return r; } + + // (public) this | a + function op_or(x,y) { return x|y; } + function bnOr(a) { var r = nbi(); this.bitwiseTo(a,op_or,r); return r; } + + // (public) this ^ a + function op_xor(x,y) { return x^y; } + function bnXor(a) { var r = nbi(); this.bitwiseTo(a,op_xor,r); return r; } + + // (public) this & ~a + function op_andnot(x,y) { return x&~y; } + function bnAndNot(a) { var r = nbi(); this.bitwiseTo(a,op_andnot,r); return r; } + + // (public) ~this + function bnNot() { + var r = nbi(); + for(var i = 0; i < this.t; ++i) r[i] = this.DM&~this[i]; + r.t = this.t; + r.s = ~this.s; + return r; + } + + // (public) this << n + function bnShiftLeft(n) { + var r = nbi(); + if(n < 0) this.rShiftTo(-n,r); else this.lShiftTo(n,r); + return r; + } + + // (public) this >> n + function bnShiftRight(n) { + var r = nbi(); + if(n < 0) this.lShiftTo(-n,r); else this.rShiftTo(n,r); + return r; + } + + // return index of lowest 1-bit in x, x < 2^31 + function lbit(x) { + if(x == 0) return -1; + var r = 0; + if((x&0xffff) == 0) { x >>= 16; r += 16; } + if((x&0xff) == 0) { x >>= 8; r += 8; } + if((x&0xf) == 0) { x >>= 4; r += 4; } + if((x&3) == 0) { x >>= 2; r += 2; } + if((x&1) == 0) ++r; + return r; + } + + // (public) returns index of lowest 1-bit (or -1 if none) + function bnGetLowestSetBit() { + for(var i = 0; i < this.t; ++i) + if(this[i] != 0) return i*this.DB+lbit(this[i]); + if(this.s < 0) return this.t*this.DB; + return -1; + } + + // return number of 1 bits in x + function cbit(x) { + var r = 0; + while(x != 0) { x &= x-1; ++r; } + return r; + } + + // (public) return number of set bits + function bnBitCount() { + var r = 0, x = this.s&this.DM; + for(var i = 0; i < this.t; ++i) r += cbit(this[i]^x); + return r; + } + + // (public) true iff nth bit is set + function bnTestBit(n) { + var j = Math.floor(n/this.DB); + if(j >= this.t) return(this.s!=0); + return((this[j]&(1<<(n%this.DB)))!=0); + } + + // (protected) this op (1<>= this.DB; + } + if(a.t < this.t) { + c += a.s; + while(i < this.t) { + c += this[i]; + r[i++] = c&this.DM; + c >>= this.DB; + } + c += this.s; + } + else { + c += this.s; + while(i < a.t) { + c += a[i]; + r[i++] = c&this.DM; + c >>= this.DB; + } + c += a.s; + } + r.s = (c<0)?-1:0; + if(c > 0) r[i++] = c; + else if(c < -1) r[i++] = this.DV+c; + r.t = i; + r.clamp(); + } + + // (public) this + a + function bnAdd(a) { var r = nbi(); this.addTo(a,r); return r; } + + // (public) this - a + function bnSubtract(a) { var r = nbi(); this.subTo(a,r); return r; } + + // (public) this * a + function bnMultiply(a) { var r = nbi(); this.multiplyTo(a,r); return r; } + + // (public) this^2 + function bnSquare() { var r = nbi(); this.squareTo(r); return r; } + + // (public) this / a + function bnDivide(a) { var r = nbi(); this.divRemTo(a,r,null); return r; } + + // (public) this % a + function bnRemainder(a) { var r = nbi(); this.divRemTo(a,null,r); return r; } + + // (public) [this/a,this%a] + function bnDivideAndRemainder(a) { + var q = nbi(), r = nbi(); + this.divRemTo(a,q,r); + return new Array(q,r); + } + + // (protected) this *= n, this >= 0, 1 < n < DV + function bnpDMultiply(n) { + this[this.t] = this.am(0,n-1,this,0,0,this.t); + ++this.t; + this.clamp(); + } + + // (protected) this += n << w words, this >= 0 + function bnpDAddOffset(n,w) { + if(n == 0) return; + while(this.t <= w) this[this.t++] = 0; + this[w] += n; + while(this[w] >= this.DV) { + this[w] -= this.DV; + if(++w >= this.t) this[this.t++] = 0; + ++this[w]; + } + } + + // A "null" reducer + function NullExp() {} + function nNop(x) { return x; } + function nMulTo(x,y,r) { x.multiplyTo(y,r); } + function nSqrTo(x,r) { x.squareTo(r); } + + NullExp.prototype.convert = nNop; + NullExp.prototype.revert = nNop; + NullExp.prototype.mulTo = nMulTo; + NullExp.prototype.sqrTo = nSqrTo; + + // (public) this^e + function bnPow(e) { return this.exp(e,new NullExp()); } + + // (protected) r = lower n words of "this * a", a.t <= n + // "this" should be the larger one if appropriate. + function bnpMultiplyLowerTo(a,n,r) { + var i = Math.min(this.t+a.t,n); + r.s = 0; // assumes a,this >= 0 + r.t = i; + while(i > 0) r[--i] = 0; + var j; + for(j = r.t-this.t; i < j; ++i) r[i+this.t] = this.am(0,a[i],r,i,0,this.t); + for(j = Math.min(a.t,n); i < j; ++i) this.am(0,a[i],r,i,0,n-i); + r.clamp(); + } + + // (protected) r = "this * a" without lower n words, n > 0 + // "this" should be the larger one if appropriate. + function bnpMultiplyUpperTo(a,n,r) { + --n; + var i = r.t = this.t+a.t-n; + r.s = 0; // assumes a,this >= 0 + while(--i >= 0) r[i] = 0; + for(i = Math.max(n-this.t,0); i < a.t; ++i) + r[this.t+i-n] = this.am(n-i,a[i],r,0,0,this.t+i-n); + r.clamp(); + r.drShiftTo(1,r); + } + + // Barrett modular reduction + function Barrett(m) { + // setup Barrett + this.r2 = nbi(); + this.q3 = nbi(); + BigInteger.ONE.dlShiftTo(2*m.t,this.r2); + this.mu = this.r2.divide(m); + this.m = m; + } + + function barrettConvert(x) { + if(x.s < 0 || x.t > 2*this.m.t) return x.mod(this.m); + else if(x.compareTo(this.m) < 0) return x; + else { var r = nbi(); x.copyTo(r); this.reduce(r); return r; } + } + + function barrettRevert(x) { return x; } + + // x = x mod m (HAC 14.42) + function barrettReduce(x) { + x.drShiftTo(this.m.t-1,this.r2); + if(x.t > this.m.t+1) { x.t = this.m.t+1; x.clamp(); } + this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3); + this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2); + while(x.compareTo(this.r2) < 0) x.dAddOffset(1,this.m.t+1); + x.subTo(this.r2,x); + while(x.compareTo(this.m) >= 0) x.subTo(this.m,x); + } + + // r = x^2 mod m; x != r + function barrettSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + + // r = x*y mod m; x,y != r + function barrettMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + + Barrett.prototype.convert = barrettConvert; + Barrett.prototype.revert = barrettRevert; + Barrett.prototype.reduce = barrettReduce; + Barrett.prototype.mulTo = barrettMulTo; + Barrett.prototype.sqrTo = barrettSqrTo; + + // (public) this^e % m (HAC 14.85) + function bnModPow(e,m) { + var i = e.bitLength(), k, r = nbv(1), z; + if(i <= 0) return r; + else if(i < 18) k = 1; + else if(i < 48) k = 3; + else if(i < 144) k = 4; + else if(i < 768) k = 5; + else k = 6; + if(i < 8) + z = new Classic(m); + else if(m.isEven()) + z = new Barrett(m); + else + z = new Montgomery(m); + + // precomputation + var g = new Array(), n = 3, k1 = k-1, km = (1< 1) { + var g2 = nbi(); + z.sqrTo(g[1],g2); + while(n <= km) { + g[n] = nbi(); + z.mulTo(g2,g[n-2],g[n]); + n += 2; + } + } + + var j = e.t-1, w, is1 = true, r2 = nbi(), t; + i = nbits(e[j])-1; + while(j >= 0) { + if(i >= k1) w = (e[j]>>(i-k1))&km; + else { + w = (e[j]&((1<<(i+1))-1))<<(k1-i); + if(j > 0) w |= e[j-1]>>(this.DB+i-k1); + } + + n = k; + while((w&1) == 0) { w >>= 1; --n; } + if((i -= n) < 0) { i += this.DB; --j; } + if(is1) { // ret == 1, don't bother squaring or multiplying it + g[w].copyTo(r); + is1 = false; + } + else { + while(n > 1) { z.sqrTo(r,r2); z.sqrTo(r2,r); n -= 2; } + if(n > 0) z.sqrTo(r,r2); else { t = r; r = r2; r2 = t; } + z.mulTo(r2,g[w],r); + } + + while(j >= 0 && (e[j]&(1< 0) { + x.rShiftTo(g,x); + y.rShiftTo(g,y); + } + while(x.signum() > 0) { + if((i = x.getLowestSetBit()) > 0) x.rShiftTo(i,x); + if((i = y.getLowestSetBit()) > 0) y.rShiftTo(i,y); + if(x.compareTo(y) >= 0) { + x.subTo(y,x); + x.rShiftTo(1,x); + } + else { + y.subTo(x,y); + y.rShiftTo(1,y); + } + } + if(g > 0) y.lShiftTo(g,y); + return y; + } + + // (protected) this % n, n < 2^26 + function bnpModInt(n) { + if(n <= 0) return 0; + var d = this.DV%n, r = (this.s<0)?n-1:0; + if(this.t > 0) + if(d == 0) r = this[0]%n; + else for(var i = this.t-1; i >= 0; --i) r = (d*r+this[i])%n; + return r; + } + + // (public) 1/this % m (HAC 14.61) + function bnModInverse(m) { + var ac = m.isEven(); + if((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO; + var u = m.clone(), v = this.clone(); + var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1); + while(u.signum() != 0) { + while(u.isEven()) { + u.rShiftTo(1,u); + if(ac) { + if(!a.isEven() || !b.isEven()) { a.addTo(this,a); b.subTo(m,b); } + a.rShiftTo(1,a); + } + else if(!b.isEven()) b.subTo(m,b); + b.rShiftTo(1,b); + } + while(v.isEven()) { + v.rShiftTo(1,v); + if(ac) { + if(!c.isEven() || !d.isEven()) { c.addTo(this,c); d.subTo(m,d); } + c.rShiftTo(1,c); + } + else if(!d.isEven()) d.subTo(m,d); + d.rShiftTo(1,d); + } + if(u.compareTo(v) >= 0) { + u.subTo(v,u); + if(ac) a.subTo(c,a); + b.subTo(d,b); + } + else { + v.subTo(u,v); + if(ac) c.subTo(a,c); + d.subTo(b,d); + } + } + if(v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO; + if(d.compareTo(m) >= 0) return d.subtract(m); + if(d.signum() < 0) d.addTo(m,d); else return d; + if(d.signum() < 0) return d.add(m); else return d; + } + + var lowprimes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997]; + var lplim = (1<<26)/lowprimes[lowprimes.length-1]; + + // (public) test primality with certainty >= 1-.5^t + function bnIsProbablePrime(t) { + var i, x = this.abs(); + if(x.t == 1 && x[0] <= lowprimes[lowprimes.length-1]) { + for(i = 0; i < lowprimes.length; ++i) + if(x[0] == lowprimes[i]) return true; + return false; + } + if(x.isEven()) return false; + i = 1; + while(i < lowprimes.length) { + var m = lowprimes[i], j = i+1; + while(j < lowprimes.length && m < lplim) m *= lowprimes[j++]; + m = x.modInt(m); + while(i < j) if(m%lowprimes[i++] == 0) return false; + } + return x.millerRabin(t); + } + + // (protected) true if probably prime (HAC 4.24, Miller-Rabin) + function bnpMillerRabin(t) { + var n1 = this.subtract(BigInteger.ONE); + var k = n1.getLowestSetBit(); + if(k <= 0) return false; + var r = n1.shiftRight(k); + t = (t+1)>>1; + if(t > lowprimes.length) t = lowprimes.length; + var a = nbi(); + for(var i = 0; i < t; ++i) { + //Pick bases at random, instead of starting at 2 + a.fromInt(lowprimes[Math.floor(Math.random()*lowprimes.length)]); + var y = a.modPow(r,this); + if(y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) { + var j = 1; + while(j++ < k && y.compareTo(n1) != 0) { + y = y.modPowInt(2,this); + if(y.compareTo(BigInteger.ONE) == 0) return false; + } + if(y.compareTo(n1) != 0) return false; + } + } + return true; + } + + // protected + BigInteger.prototype.chunkSize = bnpChunkSize; + BigInteger.prototype.toRadix = bnpToRadix; + BigInteger.prototype.fromRadix = bnpFromRadix; + BigInteger.prototype.fromNumber = bnpFromNumber; + BigInteger.prototype.bitwiseTo = bnpBitwiseTo; + BigInteger.prototype.changeBit = bnpChangeBit; + BigInteger.prototype.addTo = bnpAddTo; + BigInteger.prototype.dMultiply = bnpDMultiply; + BigInteger.prototype.dAddOffset = bnpDAddOffset; + BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo; + BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo; + BigInteger.prototype.modInt = bnpModInt; + BigInteger.prototype.millerRabin = bnpMillerRabin; + + // public + BigInteger.prototype.clone = bnClone; + BigInteger.prototype.intValue = bnIntValue; + BigInteger.prototype.byteValue = bnByteValue; + BigInteger.prototype.shortValue = bnShortValue; + BigInteger.prototype.signum = bnSigNum; + BigInteger.prototype.toByteArray = bnToByteArray; + BigInteger.prototype.equals = bnEquals; + BigInteger.prototype.min = bnMin; + BigInteger.prototype.max = bnMax; + BigInteger.prototype.and = bnAnd; + BigInteger.prototype.or = bnOr; + BigInteger.prototype.xor = bnXor; + BigInteger.prototype.andNot = bnAndNot; + BigInteger.prototype.not = bnNot; + BigInteger.prototype.shiftLeft = bnShiftLeft; + BigInteger.prototype.shiftRight = bnShiftRight; + BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit; + BigInteger.prototype.bitCount = bnBitCount; + BigInteger.prototype.testBit = bnTestBit; + BigInteger.prototype.setBit = bnSetBit; + BigInteger.prototype.clearBit = bnClearBit; + BigInteger.prototype.flipBit = bnFlipBit; + BigInteger.prototype.add = bnAdd; + BigInteger.prototype.subtract = bnSubtract; + BigInteger.prototype.multiply = bnMultiply; + BigInteger.prototype.divide = bnDivide; + BigInteger.prototype.remainder = bnRemainder; + BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder; + BigInteger.prototype.modPow = bnModPow; + BigInteger.prototype.modInverse = bnModInverse; + BigInteger.prototype.pow = bnPow; + BigInteger.prototype.gcd = bnGCD; + BigInteger.prototype.isProbablePrime = bnIsProbablePrime; + + // JSBN-specific extension + BigInteger.prototype.square = bnSquare; + + // Expose the Barrett function + BigInteger.prototype.Barrett = Barrett + + // BigInteger interfaces not implemented in jsbn: + + // BigInteger(int signum, byte[] magnitude) + // double doubleValue() + // float floatValue() + // int hashCode() + // long longValue() + // static BigInteger valueOf(long val) + + // Random number generator - requires a PRNG backend, e.g. prng4.js + + // For best results, put code like + // + // in your main HTML document. + + var rng_state; + var rng_pool; + var rng_pptr; + + // Mix in a 32-bit integer into the pool + function rng_seed_int(x) { + rng_pool[rng_pptr++] ^= x & 255; + rng_pool[rng_pptr++] ^= (x >> 8) & 255; + rng_pool[rng_pptr++] ^= (x >> 16) & 255; + rng_pool[rng_pptr++] ^= (x >> 24) & 255; + if(rng_pptr >= rng_psize) rng_pptr -= rng_psize; + } + + // Mix in the current time (w/milliseconds) into the pool + function rng_seed_time() { + rng_seed_int(new Date().getTime()); + } + + // Initialize the pool with junk if needed. + if(rng_pool == null) { + rng_pool = new Array(); + rng_pptr = 0; + var t; + if(typeof window !== "undefined" && window.crypto) { + if (window.crypto.getRandomValues) { + // Use webcrypto if available + var ua = new Uint8Array(32); + window.crypto.getRandomValues(ua); + for(t = 0; t < 32; ++t) + rng_pool[rng_pptr++] = ua[t]; + } + else if(navigator.appName == "Netscape" && navigator.appVersion < "5") { + // Extract entropy (256 bits) from NS4 RNG if available + var z = window.crypto.random(32); + for(t = 0; t < z.length; ++t) + rng_pool[rng_pptr++] = z.charCodeAt(t) & 255; + } + } + while(rng_pptr < rng_psize) { // extract some randomness from Math.random() + t = Math.floor(65536 * Math.random()); + rng_pool[rng_pptr++] = t >>> 8; + rng_pool[rng_pptr++] = t & 255; + } + rng_pptr = 0; + rng_seed_time(); + //rng_seed_int(window.screenX); + //rng_seed_int(window.screenY); + } + + function rng_get_byte() { + if(rng_state == null) { + rng_seed_time(); + rng_state = prng_newstate(); + rng_state.init(rng_pool); + for(rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) + rng_pool[rng_pptr] = 0; + rng_pptr = 0; + //rng_pool = null; + } + // TODO: allow reseeding after first request + return rng_state.next(); + } + + function rng_get_bytes(ba) { + var i; + for(i = 0; i < ba.length; ++i) ba[i] = rng_get_byte(); + } + + function SecureRandom() {} + + SecureRandom.prototype.nextBytes = rng_get_bytes; + + // prng4.js - uses Arcfour as a PRNG + + function Arcfour() { + this.i = 0; + this.j = 0; + this.S = new Array(); + } + + // Initialize arcfour context from key, an array of ints, each from [0..255] + function ARC4init(key) { + var i, j, t; + for(i = 0; i < 256; ++i) + this.S[i] = i; + j = 0; + for(i = 0; i < 256; ++i) { + j = (j + this.S[i] + key[i % key.length]) & 255; + t = this.S[i]; + this.S[i] = this.S[j]; + this.S[j] = t; + } + this.i = 0; + this.j = 0; + } + + function ARC4next() { + var t; + this.i = (this.i + 1) & 255; + this.j = (this.j + this.S[this.i]) & 255; + t = this.S[this.i]; + this.S[this.i] = this.S[this.j]; + this.S[this.j] = t; + return this.S[(t + this.S[this.i]) & 255]; + } + + Arcfour.prototype.init = ARC4init; + Arcfour.prototype.next = ARC4next; + + // Plug in your RNG constructor here + function prng_newstate() { + return new Arcfour(); + } + + // Pool size must be a multiple of 4 and greater than 32. + // An array of bytes the size of the pool will be passed to init() + var rng_psize = 256; + + if (typeof exports !== 'undefined') { + exports = module.exports = { + default: BigInteger, + BigInteger: BigInteger, + SecureRandom: SecureRandom, + }; + } else { + this.jsbn = { + BigInteger: BigInteger, + SecureRandom: SecureRandom + }; + window.BigInteger = BigInteger + window.SecureRandom = SecureRandom + } + +}).call(this); \ No newline at end of file diff --git b/jweixin.js a/jweixin.js new file mode 100644 index 0000000..3ca2974 --- /dev/null +++ a/jweixin.js @@ -0,0 +1 @@ +((e,n)=>{"function"==typeof define&&(define.amd||define.cmd)?define(function(){return n(e)}):n(e,!0)})(this,function(r,e){var a,c,n,i,t,s,d,o,l,u,p,f,m,g,h,I,S,y,v,_,w,T;if(!r.jWeixin)return a={config:"preVerifyJSAPI",onMenuShareTimeline:"menu:share:timeline",onMenuShareAppMessage:"menu:share:appmessage",onMenuShareQQ:"menu:share:qq",onMenuShareWeibo:"menu:share:weiboApp",onMenuShareQZone:"menu:share:QZone",previewImage:"imagePreview",getLocation:"geoLocation",openProductSpecificView:"openProductViewWithPid",addCard:"batchAddCard",openCard:"batchViewCard",chooseWXPay:"getBrandWCPayRequest",openEnterpriseRedPacket:"getRecevieBizHongBaoRequest",startSearchBeacons:"startMonitoringBeacons",stopSearchBeacons:"stopMonitoringBeacons",onSearchBeacons:"onBeaconsInRange",consumeAndShareCard:"consumedShareCard",openAddress:"editAddress"},c=(()=>{var e,n={};for(e in a)n[a[e]]=e;return n})(),i=(n=r.document).title,t=navigator.userAgent.toLowerCase(),f=navigator.platform.toLowerCase(),s=!(!f.match("mac")&&!f.match("win")),d=-1!=t.indexOf("wxdebugger"),o=-1!=t.indexOf("micromessenger"),l=-1!=t.indexOf("android"),u=-1!=t.indexOf("iphone")||-1!=t.indexOf("ipad"),p=(f=t.match(/micromessenger\/(\d+\.\d+\.\d+)/)||t.match(/micromessenger\/(\d+\.\d+)/))?f[1]:"",m={initStartTime:L(),initEndTime:0,preVerifyStartTime:0,preVerifyEndTime:0},g={version:1,appId:"",initTime:0,preVerifyTime:0,networkType:"",isPreVerifyOk:1,systemType:u?1:l?2:-1,clientVersion:p,url:encodeURIComponent(location.href)},h={},I={_completes:[]},S={state:0,data:{}},B(function(){m.initEndTime=L()}),y=!1,v=[],_={config:function(e){C("config",h=e);var o=!1!==h.check;B(function(){if(o)k(a.config,{verifyJsApiList:V(h.jsApiList)},(I._complete=function(e){m.preVerifyEndTime=L(),S.state=1,S.data=e},I.success=function(e){g.isPreVerifyOk=0},I.fail=function(e){I._fail?I._fail(e):S.state=-1},(t=I._completes).push(function(){var n;s||d||h.debug||p<"6.0.2"||g.systemType<0||(n=new Image,g.appId=h.appId,g.initTime=m.initEndTime-m.initStartTime,g.preVerifyTime=m.preVerifyEndTime-m.preVerifyStartTime,_.getNetworkType({isInnerInvoke:!0,success:function(e){g.networkType=e.networkType,n.src="https://open.weixin.qq.com/sdk/report?v="+g.version+"&o="+g.isPreVerifyOk+"&s="+g.systemType+"&c="+g.clientVersion+"&a="+g.appId+"&n="+g.networkType+"&i="+g.initTime+"&p="+g.preVerifyTime+"&u="+g.url}}))}),I.complete=function(e){for(var n=0,i=t.length;n{var n;if("string"==typeof e&&0{var i,t=c[e];return t&&(e=t),t="ok",n&&(i=n.indexOf(":"),"access denied"!=(t=(t=(t=-1!=(t=-1!=(t="failed"==(t="confirm"==(t=n.substring(i+1))?"ok":t)?"fail":t).indexOf("failed_")?t.substring(7):t).indexOf("fail_")?t.substring(5):t).replace(/_/g," ")).toLowerCase())&&"no permission to execute"!=t||(t="permission denied"),""==(t="config"==e&&"function not exist"==t?"ok":t))&&(t="fail"),n=e+":"+t})(e,t),n.errMsg=t),(i=i||{})._complete&&(i._complete(n),delete i._complete),t=n.errMsg||"",h.debug&&!i.isInnerInvoke&&alert(JSON.stringify(n)),t.indexOf(":"));switch(t.substring(e+1)){case"ok":i.success&&i.success(n);break;case"cancel":i.cancel&&i.cancel(n);break;default:i.fail&&i.fail(n)}i.complete&&i.complete(n)}function V(e){if(e){for(var n=0,i=e.length;n { + listener.handler(evt); + }); + + this.listeners[type] = this.listeners[type].slice().filter((listener) => Boolean(listener.always)); + } + } + + off(type, handler) { + if (this.listeners[type]) { + this.listeners[type] = this.listeners[type] + .slice() + .filter((listener) => listener.handler.toString() !== handler.toString()); + } + } +} \ No newline at end of file diff --git b/sm2.js a/sm2.js new file mode 100644 index 0000000..38f083a --- /dev/null +++ a/sm2.js @@ -0,0 +1,1162 @@ +/* eslint-disable no-use-before-define */ + + + +//asn1.js + +function bigintToValue(bigint) { + let h = bigint.toString(16) + if (h[0] !== '-') { + // 正数 + if (h.length % 2 === 1) h = '0' + h // 补齐到整字节 + else if (!h.match(/^[0-7]/)) h = '00' + h // 非0开头,则补一个全0字节 + } else { + // 负数 + h = h.substr(1) + + let len = h.length + if (len % 2 === 1) len += 1 // 补齐到整字节 + else if (!h.match(/^[0-7]/)) len += 2 // 非0开头,则补一个全0字节 + + let mask = '' + for (let i = 0; i < len; i++) mask += 'f' + mask = new BigInteger(mask, 16) + + // 对绝对值取反,加1 + h = mask.xor(bigint).add(BigInteger.ONE) + h = h.toString(16).replace(/^-/, '') + } + return h +} + +class ASN1Object { + constructor() { + this.tlv = null + this.t = '00' + this.l = '00' + this.v = '' + } + + /** + * 获取 der 编码比特流16进制串 + */ + getEncodedHex() { + if (!this.tlv) { + this.v = this.getValue() + this.l = this.getLength() + this.tlv = this.t + this.l + this.v + } + return this.tlv + } + + getLength() { + const n = this.v.length / 2 // 字节数 + let nHex = n.toString(16) + if (nHex.length % 2 === 1) nHex = '0' + nHex // 补齐到整字节 + + if (n < 128) { + // 短格式,以 0 开头 + return nHex + } else { + // 长格式,以 1 开头 + const head = 128 + nHex.length / 2 // 1(1位) + 真正的长度占用字节数(7位) + 真正的长度 + return head.toString(16) + nHex + } + } + + getValue() { + return '' + } +} + +class DERInteger extends ASN1Object { + constructor(bigint) { + super() + + this.t = '02' // 整型标签说明 + if (bigint) this.v = bigintToValue(bigint) + } + + getValue() { + return this.v + } +} + +class DERSequence extends ASN1Object { + constructor(asn1Array) { + super() + + this.t = '30' // 序列标签说明 + this.asn1Array = asn1Array + } + + getValue() { + this.v = this.asn1Array.map(asn1Object => asn1Object.getEncodedHex()).join('') + return this.v + } +} + +/** + * 获取 l 占用字节数 + */ +function getLenOfL(str, start) { + if (+str[start + 2] < 8) return 1 // l 以0开头,则表示短格式,只占一个字节 + return +str.substr(start + 2, 2) & 0x7f + 1 // 长格式,取第一个字节后7位作为长度真正占用字节数,再加上本身 +} + +/** + * 获取 l + */ +function getL(str, start) { + // 获取 l + const len = getLenOfL(str, start) + const l = str.substr(start + 2, len * 2) + + if (!l) return -1 + const bigint = +l[0] < 8 ? new BigInteger(l, 16) : new BigInteger(l.substr(2), 16) + + return bigint.intValue() +} + +/** + * 获取 v 的位置 + */ +function getStartOfV(str, start) { + const len = getLenOfL(str, start) + return start + (len + 1) * 2 +} + + + /** + * ASN.1 der 编码,针对 sm2 签名 + */ + function encodeDer(r, s) { + const derR = new DERInteger(r) + const derS = new DERInteger(s) + const derSeq = new DERSequence([derR, derS]) + + return derSeq.getEncodedHex() + } + + /** + * 解析 ASN.1 der,针对 sm2 验签 + */ + function decodeDer(input) { + // 结构: + // input = | tSeq | lSeq | vSeq | + // vSeq = | tR | lR | vR | tS | lS | vS | + const start = getStartOfV(input, 0) + + const vIndexR = getStartOfV(input, start) + const lR = getL(input, start) + const vR = input.substr(vIndexR, lR * 2) + + const nextStart = vIndexR + vR.length + const vIndexS = getStartOfV(input, nextStart) + const lS = getL(input, nextStart) + const vS = input.substr(vIndexS, lS * 2) + + const r = new BigInteger(vR, 16) + const s = new BigInteger(vS, 16) + + return {r, s} + } + + + + +// ec.js start + +/** + * thanks for Tom Wu : http://www-cs-students.stanford.edu/~tjw/jsbn/ + * + * Basic Javascript Elliptic Curve implementation + * Ported loosely from BouncyCastle's Java EC code + * Only Fp curves implemented for now + */ + +const THREE = new BigInteger('3') + +/** + * 椭圆曲线域元素 + */ +class ECFieldElementFp { + constructor(q, x) { + this.x = x + this.q = q + // TODO if (x.compareTo(q) >= 0) error + } + + /** + * 判断相等 + */ + equals(other) { + if (other === this) return true + return (this.q.equals(other.q) && this.x.equals(other.x)) + } + + /** + * 返回具体数值 + */ + toBigInteger() { + return this.x + } + + /** + * 取反 + */ + negate() { + return new ECFieldElementFp(this.q, this.x.negate().mod(this.q)) + } + + /** + * 相加 + */ + add(b) { + return new ECFieldElementFp(this.q, this.x.add(b.toBigInteger()).mod(this.q)) + } + + /** + * 相减 + */ + subtract(b) { + return new ECFieldElementFp(this.q, this.x.subtract(b.toBigInteger()).mod(this.q)) + } + + /** + * 相乘 + */ + multiply(b) { + return new ECFieldElementFp(this.q, this.x.multiply(b.toBigInteger()).mod(this.q)) + } + + /** + * 相除 + */ + divide(b) { + return new ECFieldElementFp(this.q, this.x.multiply(b.toBigInteger().modInverse(this.q)).mod(this.q)) + } + + /** + * 平方 + */ + square() { + return new ECFieldElementFp(this.q, this.x.square().mod(this.q)) + } +} + +class ECPointFp { + constructor(curve, x, y, z) { + this.curve = curve + this.x = x + this.y = y + // 标准射影坐标系:zinv == null 或 z * zinv == 1 + this.z = z == null ? BigInteger.ONE : z + this.zinv = null + // TODO: compression flag + } + + getX() { + if (this.zinv === null) this.zinv = this.z.modInverse(this.curve.q) + + return this.curve.fromBigInteger(this.x.toBigInteger().multiply(this.zinv).mod(this.curve.q)) + } + + getY() { + if (this.zinv === null) this.zinv = this.z.modInverse(this.curve.q) + + return this.curve.fromBigInteger(this.y.toBigInteger().multiply(this.zinv).mod(this.curve.q)) + } + + /** + * 判断相等 + */ + equals(other) { + if (other === this) return true + if (this.isInfinity()) return other.isInfinity() + if (other.isInfinity()) return this.isInfinity() + + // u = y2 * z1 - y1 * z2 + const u = other.y.toBigInteger().multiply(this.z).subtract(this.y.toBigInteger().multiply(other.z)).mod(this.curve.q) + if (!u.equals(BigInteger.ZERO)) return false + + // v = x2 * z1 - x1 * z2 + const v = other.x.toBigInteger().multiply(this.z).subtract(this.x.toBigInteger().multiply(other.z)).mod(this.curve.q) + return v.equals(BigInteger.ZERO) + } + + /** + * 是否是无穷远点 + */ + isInfinity() { + if ((this.x === null) && (this.y === null)) return true + return this.z.equals(BigInteger.ZERO) && !this.y.toBigInteger().equals(BigInteger.ZERO) + } + + /** + * 取反,x 轴对称点 + */ + negate() { + return new ECPointFp(this.curve, this.x, this.y.negate(), this.z) + } + + /** + * 相加 + * + * 标准射影坐标系: + * + * λ1 = x1 * z2 + * λ2 = x2 * z1 + * λ3 = λ1 − λ2 + * λ4 = y1 * z2 + * λ5 = y2 * z1 + * λ6 = λ4 − λ5 + * λ7 = λ1 + λ2 + * λ8 = z1 * z2 + * λ9 = λ3^2 + * λ10 = λ3 * λ9 + * λ11 = λ8 * λ6^2 − λ7 * λ9 + * x3 = λ3 * λ11 + * y3 = λ6 * (λ9 * λ1 − λ11) − λ4 * λ10 + * z3 = λ10 * λ8 + */ + add(b) { + if (this.isInfinity()) return b + if (b.isInfinity()) return this + + const x1 = this.x.toBigInteger() + const y1 = this.y.toBigInteger() + const z1 = this.z + const x2 = b.x.toBigInteger() + const y2 = b.y.toBigInteger() + const z2 = b.z + const q = this.curve.q + + const w1 = x1.multiply(z2).mod(q) + const w2 = x2.multiply(z1).mod(q) + const w3 = w1.subtract(w2) + const w4 = y1.multiply(z2).mod(q) + const w5 = y2.multiply(z1).mod(q) + const w6 = w4.subtract(w5) + + if (BigInteger.ZERO.equals(w3)) { + if (BigInteger.ZERO.equals(w6)) { + return this.twice() // this == b,计算自加 + } + return this.curve.infinity // this == -b,则返回无穷远点 + } + + const w7 = w1.add(w2) + const w8 = z1.multiply(z2).mod(q) + const w9 = w3.square().mod(q) + const w10 = w3.multiply(w9).mod(q) + const w11 = w8.multiply(w6.square()).subtract(w7.multiply(w9)).mod(q) + + const x3 = w3.multiply(w11).mod(q) + const y3 = w6.multiply(w9.multiply(w1).subtract(w11)).subtract(w4.multiply(w10)).mod(q) + const z3 = w10.multiply(w8).mod(q) + + return new ECPointFp(this.curve, this.curve.fromBigInteger(x3), this.curve.fromBigInteger(y3), z3) + } + + /** + * 自加 + * + * 标准射影坐标系: + * + * λ1 = 3 * x1^2 + a * z1^2 + * λ2 = 2 * y1 * z1 + * λ3 = y1^2 + * λ4 = λ3 * x1 * z1 + * λ5 = λ2^2 + * λ6 = λ1^2 − 8 * λ4 + * x3 = λ2 * λ6 + * y3 = λ1 * (4 * λ4 − λ6) − 2 * λ5 * λ3 + * z3 = λ2 * λ5 + */ + twice() { + if (this.isInfinity()) return this + if (!this.y.toBigInteger().signum()) return this.curve.infinity + + const x1 = this.x.toBigInteger() + const y1 = this.y.toBigInteger() + const z1 = this.z + const q = this.curve.q + const a = this.curve.a.toBigInteger() + + const w1 = x1.square().multiply(THREE).add(a.multiply(z1.square())).mod(q) + const w2 = y1.shiftLeft(1).multiply(z1).mod(q) + const w3 = y1.square().mod(q) + const w4 = w3.multiply(x1).multiply(z1).mod(q) + const w5 = w2.square().mod(q) + const w6 = w1.square().subtract(w4.shiftLeft(3)).mod(q) + + const x3 = w2.multiply(w6).mod(q) + const y3 = w1.multiply(w4.shiftLeft(2).subtract(w6)).subtract(w5.shiftLeft(1).multiply(w3)).mod(q) + const z3 = w2.multiply(w5).mod(q) + + return new ECPointFp(this.curve, this.curve.fromBigInteger(x3), this.curve.fromBigInteger(y3), z3) + } + + /** + * 倍点计算 + */ + multiply(k) { + if (this.isInfinity()) return this + if (!k.signum()) return this.curve.infinity + + // 使用加减法 + const k3 = k.multiply(THREE) + const neg = this.negate() + let Q = this + + for (let i = k3.bitLength() - 2; i > 0; i--) { + Q = Q.twice() + + const k3Bit = k3.testBit(i) + const kBit = k.testBit(i) + + if (k3Bit !== kBit) { + Q = Q.add(k3Bit ? this : neg) + } + } + + return Q + } +} + +/** + * 椭圆曲线 y^2 = x^3 + ax + b + */ +class ECCurveFp { + constructor(q, a, b) { + this.q = q + this.a = this.fromBigInteger(a) + this.b = this.fromBigInteger(b) + this.infinity = new ECPointFp(this, null, null) // 无穷远点 + } + + /** + * 判断两个椭圆曲线是否相等 + */ + equals(other) { + if (other === this) return true + return (this.q.equals(other.q) && this.a.equals(other.a) && this.b.equals(other.b)) + } + + /** + * 生成椭圆曲线域元素 + */ + fromBigInteger(x) { + return new ECFieldElementFp(this.q, x) + } + + /** + * 解析 16 进制串为椭圆曲线点 + */ + decodePointHex(s) { + switch (parseInt(s.substr(0, 2), 16)) { + // 第一个字节 + case 0: + return this.infinity + case 2: + case 3: + // 不支持的压缩方式 + return null + case 4: + case 6: + case 7: + const len = (s.length - 2) / 2 + const xHex = s.substr(2, len) + const yHex = s.substr(len + 2, len) + + return new ECPointFp(this, this.fromBigInteger(new BigInteger(xHex, 16)), this.fromBigInteger(new BigInteger(yHex, 16))) + default: + // 不支持 + return null + } + } +} + +// module.exports = { +// ECPointFp, +// ECCurveFp, +// } +// ec.js end + + +// util.js start +const rng = new SecureRandom() +const {curve:util_curve,G:util_G,n:util_n} = generateEcparam() + +/** + * 获取公共椭圆曲线 + */ +function getGlobalCurve() { + return util_curve +} + +/** + * 生成ecparam + */ +function generateEcparam() { + // 椭圆曲线 + const p = new BigInteger('FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFF', 16) + const a = new BigInteger('FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFC', 16) + const b = new BigInteger('28E9FA9E9D9F5E344D5A9E4BCF6509A7F39789F515AB8F92DDBCBD414D940E93', 16) + const curve = new ECCurveFp(p, a, b) + + // 基点 + const gxHex = '32C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7' + const gyHex = 'BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0' + const G = curve.decodePointHex('04' + gxHex + gyHex) + + const n = new BigInteger('FFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFF7203DF6B21C6052B53BBF40939D54123', 16) + + return { + curve, + G, + n + } +} + +/** + * 生成密钥对:publicKey = privateKey * G + */ +function generateKeyPairHex(a, b, c) { + const random = a ? new BigInteger(a, b, c) : new BigInteger(n.bitLength(), rng) + const d = random.mod(n.subtract(BigInteger.ONE)).add(BigInteger.ONE) // 随机数 + const privateKey = leftPad(d.toString(16), 64) + + const P = util_G.multiply(d) // P = dG,p 为公钥,d 为私钥 + const Px = leftPad(P.getX().toBigInteger().toString(16), 64) + const Py = leftPad(P.getY().toBigInteger().toString(16), 64) + const publicKey = '04' + Px + Py + + return { + privateKey, + publicKey + } +} + +/** + * utf8串转16进制串 + */ +function utf8ToHex(input) { + input = unescape(encodeURIComponent(input)) + + const length = input.length + + // 转换到字数组 + const words = [] + for (let i = 0; i < length; i++) { + words[i >>> 2] |= (input.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8) + } + + // 转换到16进制 + const hexChars = [] + for (let i = 0; i < length; i++) { + const bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff + hexChars.push((bite >>> 4).toString(16)) + hexChars.push((bite & 0x0f).toString(16)) + } + + return hexChars.join('') +} + +/** + * 补全16进制字符串 + */ +function leftPad(input, num) { + if (input.length >= num) return input + + return (new Array(num - input.length + 1)).join('0') + input +} + +/** + * 转成16进制串 + */ +function arrayToHex(arr) { + return arr.map(item => { + item = item.toString(16) + return item.length === 1 ? '0' + item : item + }).join('') +} + +/** + * 转成utf8串 + */ +function arrayToUtf8(arr) { + const words = [] + let j = 0 + for (let i = 0; i < arr.length * 2; i += 2) { + words[i >>> 3] |= parseInt(arr[j], 10) << (24 - (i % 8) * 4) + j++ + } + + try { + const latin1Chars = [] + + for (let i = 0; i < arr.length; i++) { + const bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff + latin1Chars.push(String.fromCharCode(bite)) + } + + return decodeURIComponent(escape(latin1Chars.join(''))) + } catch (e) { + throw new Error('Malformed UTF-8 data') + } +} + +/** + * 转成字节数组 + */ +function hexToArray(hexStr) { + const words = [] + let hexStrLength = hexStr.length + + if (hexStrLength % 2 !== 0) { + hexStr = leftPad(hexStr, hexStrLength + 1) + } + + hexStrLength = hexStr.length + + for (let i = 0; i < hexStrLength; i += 2) { + words.push(parseInt(hexStr.substr(i, 2), 16)) + } + return words +} + +/** + * 验证公钥是否为椭圆曲线上的点 + */ +function verifyPublicKey(publicKey) { + const point = util_curve.decodePointHex(publicKey) + if (!point) return false + + const x = point.getX() + const y = point.getY() + + // 验证 y^2 是否等于 x^3 + ax + b + return y.square().equals(x.multiply(x.square()).add(x.multiply(curve.a)).add(curve.b)) +} + +var _ = { + getGlobalCurve, + generateEcparam, + generateKeyPairHex, + utf8ToHex, + leftPad, + arrayToHex, + arrayToUtf8, + hexToArray, + verifyPublicKey, +} + +// util.js end + + +// sm3.js start + +/** + * 循环左移 + */ +function rotl(x, n) { + const result = [] + const a = ~~(n / 8) // 偏移 a 字节 + const b = n % 8 // 偏移 b 位 + for (let i = 0, len = x.length; i < len; i++) { + // current << b + (current + 1) >>> (8 - b) + result[i] = ((x[(i + a) % len] << b) & 0xff) + ((x[(i + a + 1) % len] >>> (8 - b)) & 0xff) + } + return result +} + +/** + * 二进制异或运算 + */ +function xor(x, y) { + const result = [] + for (let i = x.length - 1; i >= 0; i--) result[i] = (x[i] ^ y[i]) & 0xff + return result +} + +/** + * 二进制与运算 + */ +function and(x, y) { + const result = [] + for (let i = x.length - 1; i >= 0; i--) result[i] = (x[i] & y[i]) & 0xff + return result +} + +/** + * 二进制或运算 + */ +function or(x, y) { + const result = [] + for (let i = x.length - 1; i >= 0; i--) result[i] = (x[i] | y[i]) & 0xff + return result +} + +/** + * 二进制与运算 + */ +function add(x, y) { + const result = [] + let temp = 0 + for (let i = x.length - 1; i >= 0; i--) { + const sum = x[i] + y[i] + temp + if (sum > 0xff) { + temp = 1 + result[i] = sum & 0xff + } else { + temp = 0 + result[i] = sum & 0xff + } + } + return result +} + +/** + * 二进制非运算 + */ +function not(x) { + const result = [] + for (let i = x.length - 1; i >= 0; i--) result[i] = (~x[i]) & 0xff + return result +} + +/** + * 压缩函数中的置换函数 P1(X) = X xor (X <<< 9) xor (X <<< 17) + */ +function P0(X) { + return xor(xor(X, rotl(X, 9)), rotl(X, 17)) +} + +/** + * 消息扩展中的置换函数 P1(X) = X xor (X <<< 15) xor (X <<< 23) + */ +function P1(X) { + return xor(xor(X, rotl(X, 15)), rotl(X, 23)) +} + +/** + * 布尔函数 FF + */ +function FF(X, Y, Z, j) { + return j >= 0 && j <= 15 ? xor(xor(X, Y), Z) : or(or(and(X, Y), and(X, Z)), and(Y, Z)) +} + +/** + * 布尔函数 GG + */ +function GG(X, Y, Z, j) { + return j >= 0 && j <= 15 ? xor(xor(X, Y), Z) : or(and(X, Y), and(not(X), Z)) +} + +/** + * 压缩函数 + */ +function CF(V, Bi) { + // 消息扩展 + const W = [] + const M = [] // W' + + // 将消息分组B划分为 16 个字 W0, W1,……,W15 + for (let i = 0; i < 16; i++) { + const start = i * 4 + W.push(Bi.slice(start, start + 4)) + } + + // W16 ~ W67:W[j] <- P1(W[j−16] xor W[j−9] xor (W[j−3] <<< 15)) xor (W[j−13] <<< 7) xor W[j−6] + for (let j = 16; j < 68; j++) { + W.push(xor( + xor( + P1( + xor( + xor(W[j - 16], W[j - 9]), + rotl(W[j - 3], 15) + ) + ), + rotl(W[j - 13], 7) + ), + W[j - 6] + )) + } + + // W′0 ~ W′63:W′[j] = W[j] xor W[j+4] + for (let j = 0; j < 64; j++) { + M.push(xor(W[j], W[j + 4])) + } + + // 压缩 + const T1 = [0x79, 0xcc, 0x45, 0x19] + const T2 = [0x7a, 0x87, 0x9d, 0x8a] + // 字寄存器 + let A = V.slice(0, 4) + let B = V.slice(4, 8) + let C = V.slice(8, 12) + let D = V.slice(12, 16) + let E = V.slice(16, 20) + let F = V.slice(20, 24) + let G = V.slice(24, 28) + let H = V.slice(28, 32) + // 中间变量 + let SS1 + let SS2 + let TT1 + let TT2 + for (let j = 0; j < 64; j++) { + const T = j >= 0 && j <= 15 ? T1 : T2 + SS1 = rotl(add( + add(rotl(A, 12), E), + rotl(T, j) + ), 7) + SS2 = xor(SS1, rotl(A, 12)) + + TT1 = add(add(add(FF(A, B, C, j), D), SS2), M[j]) + TT2 = add(add(add(GG(E, F, G, j), H), SS1), W[j]) + + D = C + C = rotl(B, 9) + B = A + A = TT1 + H = G + G = rotl(F, 19) + F = E + E = P0(TT2) + } + + return xor([].concat(A, B, C, D, E, F, G, H), V) +} + +function sm3 (array) { + // 填充 + let len = array.length * 8 + + // k 是满足 len + 1 + k = 448mod512 的最小的非负整数 + let k = len % 512 + // 如果 448 <= (512 % len) < 512,需要多补充 (len % 448) 比特'0'以满足总比特长度为512的倍数 + k = k >= 448 ? 512 - (k % 448) - 1 : 448 - k - 1 + + // 填充 + const kArr = new Array((k - 7) / 8) + for (let i = 0, len = kArr.length; i < len; i++) kArr[i] = 0 + const lenArr = [] + len = len.toString(2) + for (let i = 7; i >= 0; i--) { + if (len.length > 8) { + const start = len.length - 8 + lenArr[i] = parseInt(len.substr(start), 2) + len = len.substr(0, start) + } else if (len.length > 0) { + lenArr[i] = parseInt(len, 2) + len = '' + } else { + lenArr[i] = 0 + } + } + const m = [].concat(array, [0x80], kArr, lenArr) + + // 迭代压缩 + const n = m.length / 64 + let V = [0x73, 0x80, 0x16, 0x6f, 0x49, 0x14, 0xb2, 0xb9, 0x17, 0x24, 0x42, 0xd7, 0xda, 0x8a, 0x06, 0x00, 0xa9, 0x6f, 0x30, 0xbc, 0x16, 0x31, 0x38, 0xaa, 0xe3, 0x8d, 0xee, 0x4d, 0xb0, 0xfb, 0x0e, 0x4e] + for (let i = 0; i < n; i++) { + const start = 64 * i + const B = m.slice(start, start + 64) + V = CF(V, B) + } + return V +} + +// sm3.js end + + + + + + + +// SM2.js + + +const {G,curve,n} = _.generateEcparam() +const C1C2C3 = 0 + +/** + * 加密 + */ +function doEncrypt(msg, publicKey, cipherMode = 1) { + msg = typeof msg === 'string' ? _.hexToArray(_.utf8ToHex(msg)) : Array.prototype.slice.call(msg) + publicKey = _.getGlobalCurve().decodePointHex(publicKey) // 先将公钥转成点 + + const keypair = _.generateKeyPairHex() + const k = new BigInteger(keypair.privateKey, 16) // 随机数 k + + // c1 = k * G + let c1 = keypair.publicKey + if (c1.length > 128) c1 = c1.substr(c1.length - 128) + + // (x2, y2) = k * publicKey + const p = publicKey.multiply(k) + const x2 = _.hexToArray(_.leftPad(p.getX().toBigInteger().toRadix(16), 64)) + const y2 = _.hexToArray(_.leftPad(p.getY().toBigInteger().toRadix(16), 64)) + + // c3 = hash(x2 || msg || y2) + const c3 = _.arrayToHex(sm3([].concat(x2, msg, y2))) + + let ct = 1 + let offset = 0 + let t = [] // 256 位 + const z = [].concat(x2, y2) + const nextT = () => { + // (1) Hai = hash(z || ct) + // (2) ct++ + t = sm3([...z, ct >> 24 & 0x00ff, ct >> 16 & 0x00ff, ct >> 8 & 0x00ff, ct & 0x00ff]) + ct++ + offset = 0 + } + nextT() // 先生成 Ha1 + + for (let i = 0, len = msg.length; i < len; i++) { + // t = Ha1 || Ha2 || Ha3 || Ha4 + if (offset === t.length) nextT() + + // c2 = msg ^ t + msg[i] ^= t[offset++] & 0xff + } + const c2 = _.arrayToHex(msg) + + return cipherMode === C1C2C3 ? c1 + c2 + c3 : c1 + c3 + c2 +} + +/** + * 解密 + */ +function doDecrypt(encryptData, privateKey, cipherMode = 1, { + output = 'string', +} = {}) { + privateKey = new BigInteger(privateKey, 16) + + let c3 = encryptData.substr(128, 64) + let c2 = encryptData.substr(128 + 64) + + if (cipherMode === C1C2C3) { + c3 = encryptData.substr(encryptData.length - 64) + c2 = encryptData.substr(128, encryptData.length - 128 - 64) + } + + const msg = _.hexToArray(c2) + const c1 = _.getGlobalCurve().decodePointHex('04' + encryptData.substr(0, 128)) + + const p = c1.multiply(privateKey) + const x2 = _.hexToArray(_.leftPad(p.getX().toBigInteger().toRadix(16), 64)) + const y2 = _.hexToArray(_.leftPad(p.getY().toBigInteger().toRadix(16), 64)) + + let ct = 1 + let offset = 0 + let t = [] // 256 位 + const z = [].concat(x2, y2) + const nextT = () => { + // (1) Hai = hash(z || ct) + // (2) ct++ + t = sm3([...z, ct >> 24 & 0x00ff, ct >> 16 & 0x00ff, ct >> 8 & 0x00ff, ct & 0x00ff]) + ct++ + offset = 0 + } + nextT() // 先生成 Ha1 + + for (let i = 0, len = msg.length; i < len; i++) { + // t = Ha1 || Ha2 || Ha3 || Ha4 + if (offset === t.length) nextT() + + // c2 = msg ^ t + msg[i] ^= t[offset++] & 0xff + } + + // c3 = hash(x2 || msg || y2) + const checkC3 = _.arrayToHex(sm3([].concat(x2, msg, y2))) + + if (checkC3 === c3) { + return output === 'array' ? msg : _.arrayToUtf8(msg) + } else { + return output === 'array' ? [] : '' + } +} + +/** + * 签名 + */ +function doSignature(msg, privateKey, { + pointPool, + der, + hash, + publicKey, + userId +} = {}) { + let hashHex = typeof msg === 'string' ? _.utf8ToHex(msg) : _.arrayToHex(msg) + + if (hash) { + // sm3杂凑 + publicKey = publicKey || getPublicKeyFromPrivateKey(privateKey) + hashHex = getHash(hashHex, publicKey, userId) + } + + const dA = new BigInteger(privateKey, 16) + const e = new BigInteger(hashHex, 16) + + // k + let k = null + let r = null + let s = null + + do { + do { + let point + if (pointPool && pointPool.length) { + point = pointPool.pop() + } else { + point = getPoint() + } + k = point.k + + // r = (e + x1) mod n + r = e.add(point.x1).mod(n) + } while (r.equals(BigInteger.ZERO) || r.add(k).equals(n)) + + // s = ((1 + dA)^-1 * (k - r * dA)) mod n + s = dA.add(BigInteger.ONE).modInverse(n).multiply(k.subtract(r.multiply(dA))).mod(n) + } while (s.equals(BigInteger.ZERO)) + + if (der) return encodeDer(r, s) // asn.1 der 编码 + + return _.leftPad(r.toString(16), 64) + _.leftPad(s.toString(16), 64) +} + +/** + * 验签 + */ +function doVerifySignature(msg, signHex, publicKey, { + der, + hash, + userId +} = {}) { + let hashHex = typeof msg === 'string' ? _.utf8ToHex(msg) : _.arrayToHex(msg) + + if (hash) { + // sm3杂凑 + hashHex = getHash(hashHex, publicKey, userId) + } + + let r; + let + s + if (der) { + const decodeDerObj = decodeDer(signHex) // asn.1 der 解码 + r = decodeDerObj.r + s = decodeDerObj.s + } else { + r = new BigInteger(signHex.substring(0, 64), 16) + s = new BigInteger(signHex.substring(64), 16) + } + + const PA = curve.decodePointHex(publicKey) + const e = new BigInteger(hashHex, 16) + + // t = (r + s) mod n + const t = r.add(s).mod(n) + + if (t.equals(BigInteger.ZERO)) return false + + // x1y1 = s * G + t * PA + const x1y1 = G.multiply(s).add(PA.multiply(t)) + + // R = (e + x1) mod n + const R = e.add(x1y1.getX().toBigInteger()).mod(n) + + return r.equals(R) +} + +/** + * sm3杂凑算法 + */ +function getHash(hashHex, publicKey, userId = '1234567812345678') { + // z = hash(entl || userId || a || b || gx || gy || px || py) + userId = _.utf8ToHex(userId) + const a = _.leftPad(G.curve.a.toBigInteger().toRadix(16), 64) + const b = _.leftPad(G.curve.b.toBigInteger().toRadix(16), 64) + const gx = _.leftPad(G.getX().toBigInteger().toRadix(16), 64) + const gy = _.leftPad(G.getY().toBigInteger().toRadix(16), 64) + if (publicKey.length > 128) publicKey = publicKey.substr(2, 128) // 干掉 '04' + const px = publicKey.substr(0, 64) + const py = publicKey.substr(64, 64) + const data = _.hexToArray(userId + a + b + gx + gy + px + py) + + const entl = userId.length * 4 + data.unshift(entl & 0x00ff) + data.unshift(entl >> 8 & 0x00ff) + + const z = sm3(data) + + // e = hash(z || msg) + return _.arrayToHex(sm3(z.concat(_.hexToArray(hashHex)))) +} + +/** + * 计算公钥 + */ +function getPublicKeyFromPrivateKey(privateKey) { + const PA = G.multiply(new BigInteger(privateKey, 16)) + const x = _.leftPad(PA.getX().toBigInteger().toString(16), 64) + const y = _.leftPad(PA.getY().toBigInteger().toString(16), 64) + return '04' + x + y +} + +/** + * 获取椭圆曲线点 + */ +function getPoint() { + const keypair = _.generateKeyPairHex() + const PA = curve.decodePointHex(keypair.publicKey) + + keypair.k = new BigInteger(keypair.privateKey, 16) + keypair.x1 = PA.getX().toBigInteger() + + return keypair +} +var sm2 = { + doEncrypt, + generateKeyPairHex, + doDecrypt +} + + + + + + + + + + + + + + + + + + + + + +// 加密 +const serverEncrypt = (text) => { + const publicKey = uni.getStorageSync('SERVER_PUBLIC_KEY') + if (publicKey) { + const encryptTxt = sm2.doEncrypt(text, publicKey, cipherMode) + return encryptTxt + } + return text +} \ No newline at end of file diff --git b/uni-webview.js a/uni-webview.js new file mode 100644 index 0000000..b0c8445 --- /dev/null +++ a/uni-webview.js @@ -0,0 +1 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e=e||self).uni=n()}(this,(function(){"use strict";try{var e={};Object.defineProperty(e,"passive",{get:function(){!0}}),window.addEventListener("test-passive",null,e)}catch(e){}var n=Object.prototype.hasOwnProperty;function t(e,t){return n.call(e,t)}var i=[],a=function(e,n){var t={options:{timestamp:+new Date},name:e,arg:n};if(window.__dcloud_weex_postMessage||window.__dcloud_weex_){if("postMessage"===e){var a={data:[n]};return window.__dcloud_weex_postMessage?window.__dcloud_weex_postMessage(a):window.__dcloud_weex_.postMessage(JSON.stringify(a))}var o={type:"WEB_INVOKE_APPSERVICE",args:{data:t,webviewIds:i}};window.__dcloud_weex_postMessage?window.__dcloud_weex_postMessageToService(o):window.__dcloud_weex_.postMessageToService(JSON.stringify(o))}if(!window.plus)return window.parent.postMessage({type:"WEB_INVOKE_APPSERVICE",data:t,pageId:""},"*");if(0===i.length){var r=plus.webview.currentWebview();if(!r)throw new Error("plus.webview.currentWebview() is undefined");var d=r.parent(),s="";s=d?d.id:r.id,i.push(s)}if(plus.webview.getWebviewById("__uniapp__service"))plus.webview.postMessageToUniNView({type:"WEB_INVOKE_APPSERVICE",args:{data:t,webviewIds:i}},"__uniapp__service");else{var w=JSON.stringify(t);plus.webview.getLaunchWebview().evalJS('UniPlusBridge.subscribeHandler("'.concat("WEB_INVOKE_APPSERVICE",'",').concat(w,",").concat(JSON.stringify(i),");"))}},o={navigateTo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("navigateTo",{url:encodeURI(n)})},navigateBack:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.delta;a("navigateBack",{delta:parseInt(n)||1})},switchTab:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("switchTab",{url:encodeURI(n)})},reLaunch:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("reLaunch",{url:encodeURI(n)})},redirectTo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.url;a("redirectTo",{url:encodeURI(n)})},getEnv:function(e){window.plus?e({plus:!0}):e({h5:!0})},postMessage:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};a("postMessage",e.data||{})}},r=/uni-app/i.test(navigator.userAgent),d=/Html5Plus/i.test(navigator.userAgent),s=/complete|loaded|interactive/;var w=window.my&&navigator.userAgent.indexOf("AlipayClient")>-1;var u=window.swan&&window.swan.webView&&/swan/i.test(navigator.userAgent);var c=window.qq&&window.qq.miniProgram&&/QQ/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var g=window.tt&&window.tt.miniProgram&&/toutiaomicroapp/i.test(navigator.userAgent);var v=window.wx&&window.wx.miniProgram&&/micromessenger/i.test(navigator.userAgent)&&/miniProgram/i.test(navigator.userAgent);var p=window.qa&&/quickapp/i.test(navigator.userAgent);for(var l,_=function(){window.UniAppJSBridge=!0,document.dispatchEvent(new CustomEvent("UniAppJSBridgeReady",{bubbles:!0,cancelable:!0}))},f=[function(e){if(r||d)return window.__dcloud_weex_postMessage||window.__dcloud_weex_?document.addEventListener("DOMContentLoaded",e):window.plus&&s.test(document.readyState)?setTimeout(e,0):document.addEventListener("plusready",e),o},function(e){if(v)return window.WeixinJSBridge&&window.WeixinJSBridge.invoke?setTimeout(e,0):document.addEventListener("WeixinJSBridgeReady",e),window.wx.miniProgram},function(e){if(c)return window.QQJSBridge&&window.QQJSBridge.invoke?setTimeout(e,0):document.addEventListener("QQJSBridgeReady",e),window.qq.miniProgram},function(e){if(w){document.addEventListener("DOMContentLoaded",e);var n=window.my;return{navigateTo:n.navigateTo,navigateBack:n.navigateBack,switchTab:n.switchTab,reLaunch:n.reLaunch,redirectTo:n.redirectTo,postMessage:n.postMessage,getEnv:n.getEnv}}},function(e){if(u)return document.addEventListener("DOMContentLoaded",e),window.swan.webView},function(e){if(g)return document.addEventListener("DOMContentLoaded",e),window.tt.miniProgram},function(e){if(p){window.QaJSBridge&&window.QaJSBridge.invoke?setTimeout(e,0):document.addEventListener("QaJSBridgeReady",e);var n=window.qa;return{navigateTo:n.navigateTo,navigateBack:n.navigateBack,switchTab:n.switchTab,reLaunch:n.reLaunch,redirectTo:n.redirectTo,postMessage:n.postMessage,getEnv:n.getEnv}}},function(e){return document.addEventListener("DOMContentLoaded",e),o}],m=0;m=0&&Math.floor(t)===t&&isFinite(e)}function u(e){return n(e)&&"function"==typeof e.then&&"function"==typeof e.catch}function l(e){return null==e?"":Array.isArray(e)||s(e)&&e.toString===a?JSON.stringify(e,null,2):String(e)}function f(e){var t=parseFloat(e);return isNaN(t)?e:t}function p(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}var m=Object.prototype.hasOwnProperty;function y(e,t){return m.call(e,t)}function g(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var _=/-(\w)/g,b=g(function(e){return e.replace(_,function(e,t){return t?t.toUpperCase():""})}),$=g(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),w=/\B([A-Z])/g,C=g(function(e){return e.replace(w,"-$1").toLowerCase()});var x=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function k(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function A(e,t){for(var n in t)e[n]=t[n];return e}function O(e){for(var t={},n=0;n0,Z=J&&J.indexOf("edge/")>0,G=(J&&J.indexOf("android"),J&&/iphone|ipad|ipod|ios/.test(J)||"ios"===K),X=(J&&/chrome\/\d+/.test(J),J&&/phantomjs/.test(J),J&&J.match(/firefox\/(\d+)/)),Y={}.watch,Q=!1;if(V)try{var ee={};Object.defineProperty(ee,"passive",{get:function(){Q=!0}}),window.addEventListener("test-passive",null,ee)}catch(e){}var te=function(){return void 0===B&&(B=!V&&!z&&"undefined"!=typeof global&&(global.process&&"server"===global.process.env.VUE_ENV)),B},ne=V&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function re(e){return"function"==typeof e&&/native code/.test(e.toString())}var ie,oe="undefined"!=typeof Symbol&&re(Symbol)&&"undefined"!=typeof Reflect&&re(Reflect.ownKeys);ie="undefined"!=typeof Set&&re(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ae=S,se=0,ce=function(){this.id=se++,this.subs=[]};ce.prototype.addSub=function(e){this.subs.push(e)},ce.prototype.removeSub=function(e){h(this.subs,e)},ce.prototype.depend=function(){ce.target&&ce.target.addDep(this)},ce.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t-1)if(o&&!y(i,"default"))a=!1;else if(""===a||a===C(e)){var c=Re(String,i.type);(c<0||s0&&(ct((u=e(u,(a||"")+"_"+c))[0])&&ct(f)&&(s[l]=he(f.text+u[0].text),u.shift()),s.push.apply(s,u)):i(u)?ct(f)?s[l]=he(f.text+u):""!==u&&s.push(he(u)):ct(u)&&ct(f)?s[l]=he(f.text+u.text):(r(o._isVList)&&n(u.tag)&&t(u.key)&&n(a)&&(u.key="__vlist"+a+"_"+c+"__"),s.push(u)));return s}(e):void 0}function ct(e){return n(e)&&n(e.text)&&!1===e.isComment}function ut(e,t){if(e){for(var n=Object.create(null),r=oe?Reflect.ownKeys(e):Object.keys(e),i=0;i0,a=t?!!t.$stable:!o,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==e&&s===r.$key&&!o&&!r.$hasNormal)return r;for(var c in i={},t)t[c]&&"$"!==c[0]&&(i[c]=vt(n,c,t[c]))}else i={};for(var u in n)u in i||(i[u]=ht(n,u));return t&&Object.isExtensible(t)&&(t._normalized=i),R(i,"$stable",a),R(i,"$key",s),R(i,"$hasNormal",o),i}function vt(e,t,n){var r=function(){var e=arguments.length?n.apply(null,arguments):n({}),t=(e=e&&"object"==typeof e&&!Array.isArray(e)?[e]:st(e))&&e[0];return e&&(!t||1===e.length&&t.isComment&&!pt(t))?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:r,enumerable:!0,configurable:!0}),r}function ht(e,t){return function(){return e[t]}}function mt(e,t){var r,i,a,s,c;if(Array.isArray(e)||"string"==typeof e)for(r=new Array(e.length),i=0,a=e.length;idocument.createEvent("Event").timeStamp&&(cn=function(){return un.now()})}function ln(){var e,t;for(sn=cn(),on=!0,en.sort(function(e,t){return e.id-t.id}),an=0;anan&&en[n].id>e.id;)n--;en.splice(n+1,0,e)}else en.push(e);rn||(rn=!0,Qe(ln))}}(this)},pn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||o(e)||this.deep){var t=this.value;if(this.value=e,this.user){var n='callback for watcher "'+this.expression+'"';Be(this.cb,this.vm,[e,t],this.vm,n)}else this.cb.call(this.vm,e,t)}}},pn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},pn.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},pn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||h(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var dn={enumerable:!0,configurable:!0,get:S,set:S};function vn(e,t,n){dn.get=function(){return this[t][n]},dn.set=function(e){this[t][n]=e},Object.defineProperty(e,n,dn)}function hn(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[];e.$parent&&$e(!1);var o=function(o){i.push(o);var a=Ie(o,t,n,e);xe(r,o,a),o in e||vn(e,"_props",o)};for(var a in t)o(a);$e(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]="function"!=typeof t[n]?S:x(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;s(t=e._data="function"==typeof t?function(e,t){le();try{return e.call(t,t)}catch(e){return He(e,t,"data()"),{}}finally{fe()}}(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);for(;i--;){var o=n[i];r&&y(r,o)||(a=void 0,36!==(a=(o+"").charCodeAt(0))&&95!==a&&vn(e,"_data",o))}var a;Ce(t,!0)}(e):Ce(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=te();for(var i in t){var o=t[i],a="function"==typeof o?o:o.get;r||(n[i]=new pn(e,a||S,S,mn)),i in e||yn(e,i,o)}}(e,t.computed),t.watch&&t.watch!==Y&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i-1:"string"==typeof e?e.split(",").indexOf(t)>-1:(n=e,"[object RegExp]"===a.call(n)&&e.test(t));var n}function On(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var s=a.name;s&&!t(s)&&Sn(n,o,r,i)}}}function Sn(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,h(n,t)}!function(t){t.prototype._init=function(t){var n=this;n._uid=$n++,n._isVue=!0,t&&t._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(n,t):n.$options=De(wn(n.constructor),t||{},n),n._renderProxy=n,n._self=n,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(n),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&Wt(e,t)}(n),function(t){t._vnode=null,t._staticTrees=null;var n=t.$options,r=t.$vnode=n._parentVnode,i=r&&r.context;t.$slots=lt(n._renderChildren,i),t.$scopedSlots=e,t._c=function(e,n,r,i){return Ht(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return Ht(t,e,n,r,i,!0)};var o=r&&r.data;xe(t,"$attrs",o&&o.attrs||e,null,!0),xe(t,"$listeners",n._parentListeners||e,null,!0)}(n),Qt(n,"beforeCreate"),function(e){var t=ut(e.$options.inject,e);t&&($e(!1),Object.keys(t).forEach(function(n){xe(e,n,t[n])}),$e(!0))}(n),hn(n),function(e){var t=e.$options.provide;t&&(e._provided="function"==typeof t?t.call(e):t)}(n),Qt(n,"created"),n.$options.el&&n.$mount(n.$options.el)}}(Cn),function(e){var t={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(e.prototype,"$data",t),Object.defineProperty(e.prototype,"$props",n),e.prototype.$set=ke,e.prototype.$delete=Ae,e.prototype.$watch=function(e,t,n){if(s(t))return bn(this,e,t,n);(n=n||{}).user=!0;var r=new pn(this,e,t,n);if(n.immediate){var i='callback for immediate watcher "'+r.expression+'"';le(),Be(t,this,[r.value],this,i),fe()}return function(){r.teardown()}}}(Cn),function(e){var t=/^hook:/;e.prototype.$on=function(e,n){var r=this;if(Array.isArray(e))for(var i=0,o=e.length;i1?k(t):t;for(var n=k(arguments,1),r='event handler for "'+e+'"',i=0,o=t.length;iparseInt(this.max)&&Sn(e,t[0],t,this._vnode),this.vnodeToCache=null}}},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)Sn(this.cache,e,this.keys)},mounted:function(){var e=this;this.cacheVNode(),this.$watch("include",function(t){On(e,function(e){return An(t,e)})}),this.$watch("exclude",function(t){On(e,function(e){return!An(t,e)})})},updated:function(){this.cacheVNode()},render:function(){var e=this.$slots.default,t=zt(e),n=t&&t.componentOptions;if(n){var r=kn(n),i=this.include,o=this.exclude;if(i&&(!r||!An(i,r))||o&&r&&An(o,r))return t;var a=this.cache,s=this.keys,c=null==t.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):t.key;a[c]?(t.componentInstance=a[c].componentInstance,h(s,c),s.push(c)):(this.vnodeToCache=t,this.keyToCache=c),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return F}};Object.defineProperty(e,"config",t),e.util={warn:ae,extend:A,mergeOptions:De,defineReactive:xe},e.set=ke,e.delete=Ae,e.nextTick=Qe,e.observable=function(e){return Ce(e),e},e.options=Object.create(null),I.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,A(e.options.components,Nn),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=k(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=De(this.options,e),this}}(e),xn(e),function(e){I.forEach(function(t){e[t]=function(e,n){return n?("component"===t&&s(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}})}(e)}(Cn),Object.defineProperty(Cn.prototype,"$isServer",{get:te}),Object.defineProperty(Cn.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Cn,"FunctionalRenderContext",{value:Et}),Cn.version="2.6.14";var En=p("style,class"),jn=p("input,textarea,option,select,progress"),Dn=function(e,t,n){return"value"===n&&jn(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},Ln=p("contenteditable,draggable,spellcheck"),In=p("events,caret,typing,plaintext-only"),Mn=function(e,t){return Bn(t)||"false"===t?"false":"contenteditable"===e&&In(t)?t:"true"},Fn=p("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,truespeed,typemustmatch,visible"),Pn="http://www.w3.org/1999/xlink",Rn=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},Hn=function(e){return Rn(e)?e.slice(6,e.length):""},Bn=function(e){return null==e||!1===e};function Un(e){for(var t=e.data,r=e,i=e;n(i.componentInstance);)(i=i.componentInstance._vnode)&&i.data&&(t=Vn(i.data,t));for(;n(r=r.parent);)r&&r.data&&(t=Vn(t,r.data));return function(e,t){if(n(e)||n(t))return zn(e,Kn(t));return""}(t.staticClass,t.class)}function Vn(e,t){return{staticClass:zn(e.staticClass,t.staticClass),class:n(e.class)?[e.class,t.class]:t.class}}function zn(e,t){return e?t?e+" "+t:e:t||""}function Kn(e){return Array.isArray(e)?function(e){for(var t,r="",i=0,o=e.length;i-1?mr(e,t,n):Fn(t)?Bn(n)?e.removeAttribute(t):(n="allowfullscreen"===t&&"EMBED"===e.tagName?"true":t,e.setAttribute(t,n)):Ln(t)?e.setAttribute(t,Mn(t,n)):Rn(t)?Bn(n)?e.removeAttributeNS(Pn,Hn(t)):e.setAttributeNS(Pn,t,n):mr(e,t,n)}function mr(e,t,n){if(Bn(n))e.removeAttribute(t);else{if(q&&!W&&"TEXTAREA"===e.tagName&&"placeholder"===t&&""!==n&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener("input",r)};e.addEventListener("input",r),e.__ieph=!0}e.setAttribute(t,n)}}var yr={create:vr,update:vr};function gr(e,r){var i=r.elm,o=r.data,a=e.data;if(!(t(o.staticClass)&&t(o.class)&&(t(a)||t(a.staticClass)&&t(a.class)))){var s=Un(r),c=i._transitionClasses;n(c)&&(s=zn(s,Kn(c))),s!==i._prevClass&&(i.setAttribute("class",s),i._prevClass=s)}}var _r,br,$r,wr,Cr,xr,kr={create:gr,update:gr},Ar=/[\w).+\-_$\]]/;function Or(e){var t,n,r,i,o,a=!1,s=!1,c=!1,u=!1,l=0,f=0,p=0,d=0;for(r=0;r=0&&" "===(h=e.charAt(v));v--);h&&Ar.test(h)||(u=!0)}}else void 0===i?(d=r+1,i=e.slice(0,r).trim()):m();function m(){(o||(o=[])).push(e.slice(d,r).trim()),d=r+1}if(void 0===i?i=e.slice(0,r).trim():0!==d&&m(),o)for(r=0;r-1?{exp:e.slice(0,wr),key:'"'+e.slice(wr+1)+'"'}:{exp:e,key:null};br=e,wr=Cr=xr=0;for(;!zr();)Kr($r=Vr())?qr($r):91===$r&&Jr($r);return{exp:e.slice(0,Cr),key:e.slice(Cr+1,xr)}}(e);return null===n.key?e+"="+t:"$set("+n.exp+", "+n.key+", "+t+")"}function Vr(){return br.charCodeAt(++wr)}function zr(){return wr>=_r}function Kr(e){return 34===e||39===e}function Jr(e){var t=1;for(Cr=wr;!zr();)if(Kr(e=Vr()))qr(e);else if(91===e&&t++,93===e&&t--,0===t){xr=wr;break}}function qr(e){for(var t=e;!zr()&&(e=Vr())!==t;);}var Wr,Zr="__r",Gr="__c";function Xr(e,t,n){var r=Wr;return function i(){null!==t.apply(null,arguments)&&ei(e,i,n,r)}}var Yr=Ke&&!(X&&Number(X[1])<=53);function Qr(e,t,n,r){if(Yr){var i=sn,o=t;t=o._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return o.apply(this,arguments)}}Wr.addEventListener(e,t,Q?{capture:n,passive:r}:n)}function ei(e,t,n,r){(r||Wr).removeEventListener(e,t._wrapper||t,n)}function ti(e,r){if(!t(e.data.on)||!t(r.data.on)){var i=r.data.on||{},o=e.data.on||{};Wr=r.elm,function(e){if(n(e[Zr])){var t=q?"change":"input";e[t]=[].concat(e[Zr],e[t]||[]),delete e[Zr]}n(e[Gr])&&(e.change=[].concat(e[Gr],e.change||[]),delete e[Gr])}(i),it(i,o,Qr,ei,Xr,r.context),Wr=void 0}}var ni,ri={create:ti,update:ti};function ii(e,r){if(!t(e.data.domProps)||!t(r.data.domProps)){var i,o,a=r.elm,s=e.data.domProps||{},c=r.data.domProps||{};for(i in n(c.__ob__)&&(c=r.data.domProps=A({},c)),s)i in c||(a[i]="");for(i in c){if(o=c[i],"textContent"===i||"innerHTML"===i){if(r.children&&(r.children.length=0),o===s[i])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===i&&"PROGRESS"!==a.tagName){a._value=o;var u=t(o)?"":String(o);oi(a,u)&&(a.value=u)}else if("innerHTML"===i&&Wn(a.tagName)&&t(a.innerHTML)){(ni=ni||document.createElement("div")).innerHTML=""+o+"";for(var l=ni.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}else if(o!==s[i])try{a[i]=o}catch(e){}}}}function oi(e,t){return!e.composing&&("OPTION"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var r=e.value,i=e._vModifiers;if(n(i)){if(i.number)return f(r)!==f(t);if(i.trim)return r.trim()!==t.trim()}return r!==t}(e,t))}var ai={create:ii,update:ii},si=g(function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach(function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t});function ci(e){var t=ui(e.style);return e.staticStyle?A(e.staticStyle,t):t}function ui(e){return Array.isArray(e)?O(e):"string"==typeof e?si(e):e}var li,fi=/^--/,pi=/\s*!important$/,di=function(e,t,n){if(fi.test(t))e.style.setProperty(t,n);else if(pi.test(n))e.style.setProperty(C(t),n.replace(pi,""),"important");else{var r=hi(t);if(Array.isArray(n))for(var i=0,o=n.length;i-1?t.split(gi).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function bi(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(gi).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");(n=n.trim())?e.setAttribute("class",n):e.removeAttribute("class")}}function $i(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&A(t,wi(e.name||"v")),A(t,e),t}return"string"==typeof e?wi(e):void 0}}var wi=g(function(e){return{enterClass:e+"-enter",enterToClass:e+"-enter-to",enterActiveClass:e+"-enter-active",leaveClass:e+"-leave",leaveToClass:e+"-leave-to",leaveActiveClass:e+"-leave-active"}}),Ci=V&&!W,xi="transition",ki="animation",Ai="transition",Oi="transitionend",Si="animation",Ti="animationend";Ci&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(Ai="WebkitTransition",Oi="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Si="WebkitAnimation",Ti="webkitAnimationEnd"));var Ni=V?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Ei(e){Ni(function(){Ni(e)})}function ji(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),_i(e,t))}function Di(e,t){e._transitionClasses&&h(e._transitionClasses,t),bi(e,t)}function Li(e,t,n){var r=Mi(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===xi?Oi:Ti,c=0,u=function(){e.removeEventListener(s,l),n()},l=function(t){t.target===e&&++c>=a&&u()};setTimeout(function(){c0&&(n=xi,l=a,f=o.length):t===ki?u>0&&(n=ki,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?xi:ki:null)?n===xi?o.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:n===xi&&Ii.test(r[Ai+"Property"])}}function Fi(e,t){for(;e.length1}function Vi(e,t){!0!==t.data.show&&Ri(t)}var zi=function(e){var o,a,s={},c=e.modules,u=e.nodeOps;for(o=0;ov?_(e,t(i[y+1])?null:i[y+1].elm,i,d,y,o):d>y&&$(r,p,v)}(p,h,y,o,l):n(y)?(n(e.text)&&u.setTextContent(p,""),_(p,null,y,0,y.length-1,o)):n(h)?$(h,0,h.length-1):n(e.text)&&u.setTextContent(p,""):e.text!==i.text&&u.setTextContent(p,i.text),n(v)&&n(d=v.hook)&&n(d=d.postpatch)&&d(e,i)}}}function k(e,t,i){if(r(i)&&n(e.parent))e.parent.data.pendingInsert=t;else for(var o=0;o-1,a.selected!==o&&(a.selected=o);else if(E(Zi(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function Wi(e,t){return t.every(function(t){return!E(t,e)})}function Zi(e){return"_value"in e?e._value:e.value}function Gi(e){e.target.composing=!0}function Xi(e){e.target.composing&&(e.target.composing=!1,Yi(e.target,"input"))}function Yi(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Qi(e){return!e.componentInstance||e.data&&e.data.transition?e:Qi(e.componentInstance._vnode)}var eo={model:Ki,show:{bind:function(e,t,n){var r=t.value,i=(n=Qi(n)).data&&n.data.transition,o=e.__vOriginalDisplay="none"===e.style.display?"":e.style.display;r&&i?(n.data.show=!0,Ri(n,function(){e.style.display=o})):e.style.display=r?o:"none"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Qi(n)).data&&n.data.transition?(n.data.show=!0,r?Ri(n,function(){e.style.display=e.__vOriginalDisplay}):Hi(n,function(){e.style.display="none"})):e.style.display=r?e.__vOriginalDisplay:"none")},unbind:function(e,t,n,r,i){i||(e.style.display=e.__vOriginalDisplay)}}},to={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function no(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?no(zt(t.children)):e}function ro(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var o in i)t[b(o)]=i[o];return t}function io(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}var oo=function(e){return e.tag||pt(e)},ao=function(e){return"show"===e.name},so={name:"transition",props:to,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(oo)).length){var r=this.mode,o=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var a=no(o);if(!a)return o;if(this._leaving)return io(e,o);var s="__transition-"+this._uid+"-";a.key=null==a.key?a.isComment?s+"comment":s+a.tag:i(a.key)?0===String(a.key).indexOf(s)?a.key:s+a.key:a.key;var c=(a.data||(a.data={})).transition=ro(this),u=this._vnode,l=no(u);if(a.data.directives&&a.data.directives.some(ao)&&(a.data.show=!0),l&&l.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(a,l)&&!pt(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=A({},c);if("out-in"===r)return this._leaving=!0,ot(f,"afterLeave",function(){t._leaving=!1,t.$forceUpdate()}),io(e,o);if("in-out"===r){if(pt(a))return u;var p,d=function(){p()};ot(c,"afterEnter",d),ot(c,"enterCancelled",d),ot(f,"delayLeave",function(e){p=e})}}return o}}},co=A({tag:String,moveClass:String},to);function uo(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function lo(e){e.data.newPos=e.elm.getBoundingClientRect()}function fo(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var o=e.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}delete co.mode;var po={Transition:so,TransitionGroup:{props:co,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var i=Gt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,i(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=ro(this),s=0;s-1?Xn[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Xn[e]=/HTMLUnknownElement/.test(t.toString())},A(Cn.options.directives,eo),A(Cn.options.components,po),Cn.prototype.__patch__=V?zi:S,Cn.prototype.$mount=function(e,t){return function(e,t,n){var r;return e.$el=t,e.$options.render||(e.$options.render=ve),Qt(e,"beforeMount"),r=function(){e._update(e._render(),n)},new pn(e,r,S,{before:function(){e._isMounted&&!e._isDestroyed&&Qt(e,"beforeUpdate")}},!0),n=!1,null==e.$vnode&&(e._isMounted=!0,Qt(e,"mounted")),e}(this,e=e&&V?Qn(e):void 0,t)},V&&setTimeout(function(){F.devtools&&ne&&ne.emit("init",Cn)},0);var vo=/\{\{((?:.|\r?\n)+?)\}\}/g,ho=/[-.*+?^${}()|[\]\/\\]/g,mo=g(function(e){var t=e[0].replace(ho,"\\$&"),n=e[1].replace(ho,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")});var yo={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=Pr(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=Fr(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}};var go,_o={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=Pr(e,"style");n&&(e.staticStyle=JSON.stringify(si(n)));var r=Fr(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},bo=function(e){return(go=go||document.createElement("div")).innerHTML=e,go.textContent},$o=p("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),wo=p("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),Co=p("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),xo=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ko=/^\s*((?:v-[\w-]+:|@|:|#)\[[^=]+?\][^\s"'<>\/=]*)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Ao="[a-zA-Z_][\\-\\.0-9_a-zA-Z"+P.source+"]*",Oo="((?:"+Ao+"\\:)?"+Ao+")",So=new RegExp("^<"+Oo),To=/^\s*(\/?)>/,No=new RegExp("^<\\/"+Oo+"[^>]*>"),Eo=/^]+>/i,jo=/^",""":'"',"&":"&"," ":"\n"," ":"\t","'":"'"},Fo=/&(?:lt|gt|quot|amp|#39);/g,Po=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Ro=p("pre,textarea",!0),Ho=function(e,t){return e&&Ro(e)&&"\n"===t[0]};function Bo(e,t){var n=t?Po:Fo;return e.replace(n,function(e){return Mo[e]})}var Uo,Vo,zo,Ko,Jo,qo,Wo,Zo,Go=/^@|^v-on:/,Xo=/^v-|^@|^:|^#/,Yo=/([\s\S]*?)\s+(?:in|of)\s+([\s\S]*)/,Qo=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,ea=/^\(|\)$/g,ta=/^\[.*\]$/,na=/:(.*)$/,ra=/^:|^\.|^v-bind:/,ia=/\.[^.\]]+(?=[^\]]*$)/g,oa=/^v-slot(:|$)|^#/,aa=/[\r\n]/,sa=/[ \f\t\r\n]+/g,ca=g(bo),ua="_empty_";function la(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:ya(t),rawAttrsMap:{},parent:n,children:[]}}function fa(e,t){Uo=t.warn||Tr,qo=t.isPreTag||T,Wo=t.mustUseProp||T,Zo=t.getTagNamespace||T;t.isReservedTag;zo=Nr(t.modules,"transformNode"),Ko=Nr(t.modules,"preTransformNode"),Jo=Nr(t.modules,"postTransformNode"),Vo=t.delimiters;var n,r,i=[],o=!1!==t.preserveWhitespace,a=t.whitespace,s=!1,c=!1;function u(e){if(l(e),s||e.processed||(e=pa(e,t)),i.length||e===n||n.if&&(e.elseif||e.else)&&va(n,{exp:e.elseif,block:e}),r&&!e.forbidden)if(e.elseif||e.else)a=e,(u=function(e){var t=e.length;for(;t--;){if(1===e[t].type)return e[t];e.pop()}}(r.children))&&u.if&&va(u,{exp:a.elseif,block:a});else{if(e.slotScope){var o=e.slotTarget||'"default"';(r.scopedSlots||(r.scopedSlots={}))[o]=e}r.children.push(e),e.parent=r}var a,u;e.children=e.children.filter(function(e){return!e.slotScope}),l(e),e.pre&&(s=!1),qo(e.tag)&&(c=!1);for(var f=0;f]*>)","i")),p=e.replace(f,function(e,n,r){return u=r.length,Lo(l)||"noscript"===l||(n=n.replace(//g,"$1").replace(//g,"$1")),Ho(l,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""});c+=e.length-p.length,e=p,A(l,c-u,c)}else{var d=e.indexOf("<");if(0===d){if(jo.test(e)){var v=e.indexOf("--\x3e");if(v>=0){t.shouldKeepComment&&t.comment(e.substring(4,v),c,c+v+3),C(v+3);continue}}if(Do.test(e)){var h=e.indexOf("]>");if(h>=0){C(h+2);continue}}var m=e.match(Eo);if(m){C(m[0].length);continue}var y=e.match(No);if(y){var g=c;C(y[0].length),A(y[1],g,c);continue}var _=x();if(_){k(_),Ho(_.tagName,e)&&C(1);continue}}var b=void 0,$=void 0,w=void 0;if(d>=0){for($=e.slice(d);!(No.test($)||So.test($)||jo.test($)||Do.test($)||(w=$.indexOf("<",1))<0);)d+=w,$=e.slice(d);b=e.substring(0,d)}d<0&&(b=e),b&&C(b.length),t.chars&&b&&t.chars(b,c-b.length,c)}if(e===n){t.chars&&t.chars(e);break}}function C(t){c+=t,e=e.substring(t)}function x(){var t=e.match(So);if(t){var n,r,i={tagName:t[1],attrs:[],start:c};for(C(t[0].length);!(n=e.match(To))&&(r=e.match(ko)||e.match(xo));)r.start=c,C(r[0].length),r.end=c,i.attrs.push(r);if(n)return i.unarySlash=n[1],C(n[0].length),i.end=c,i}}function k(e){var n=e.tagName,c=e.unarySlash;o&&("p"===r&&Co(n)&&A(r),s(n)&&r===n&&A(n));for(var u=a(n)||!!c,l=e.attrs.length,f=new Array(l),p=0;p=0&&i[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var u=i.length-1;u>=a;u--)t.end&&t.end(i[u].tag,n,o);i.length=a,r=a&&i[a-1].tag}else"br"===s?t.start&&t.start(e,[],!0,n,o):"p"===s&&(t.start&&t.start(e,[],!1,n,o),t.end&&t.end(e,n,o))}A()}(e,{warn:Uo,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,outputSourceRange:t.outputSourceRange,start:function(e,o,a,l,f){var p=r&&r.ns||Zo(e);q&&"svg"===p&&(o=function(e){for(var t=[],n=0;nc&&(s.push(o=e.slice(c,i)),a.push(JSON.stringify(o)));var u=Or(r[1].trim());a.push("_s("+u+")"),s.push({"@binding":u}),c=i+r[0].length}return c-1"+("true"===o?":("+t+")":":_q("+t+","+o+")")),Mr(e,"change","var $$a="+t+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+Ur(t,"$$a.concat([$$v])")+")}else{$$i>-1&&("+Ur(t,"$$a.slice(0,$$i).concat($$a.slice($$i+1))")+")}}else{"+Ur(t,"$$c")+"}",null,!0)}(e,r,i);else if("input"===o&&"radio"===a)!function(e,t,n){var r=n&&n.number,i=Fr(e,"value")||"null";Er(e,"checked","_q("+t+","+(i=r?"_n("+i+")":i)+")"),Mr(e,"change",Ur(t,i),null,!0)}(e,r,i);else if("input"===o||"textarea"===o)!function(e,t,n){var r=e.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,c=!o&&"range"!==r,u=o?"change":"range"===r?Zr:"input",l="$event.target.value";s&&(l="$event.target.value.trim()"),a&&(l="_n("+l+")");var f=Ur(t,l);c&&(f="if($event.target.composing)return;"+f),Er(e,"value","("+t+")"),Mr(e,u,f,null,!0),(s||a)&&Mr(e,"blur","$forceUpdate()")}(e,r,i);else if(!F.isReservedTag(o))return Br(e,r,i),!1;return!0},text:function(e,t){t.value&&Er(e,"textContent","_s("+t.value+")",t)},html:function(e,t){t.value&&Er(e,"innerHTML","_s("+t.value+")",t)}},isPreTag:function(e){return"pre"===e},isUnaryTag:$o,mustUseProp:Dn,canBeLeftOpenTag:wo,isReservedTag:Zn,getTagNamespace:Gn,staticKeys:function(e){return e.reduce(function(e,t){return e.concat(t.staticKeys||[])},[]).join(",")}($a)},ka=g(function(e){return p("type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap"+(e?","+e:""))});function Aa(e,t){e&&(wa=ka(t.staticKeys||""),Ca=t.isReservedTag||T,function e(t){t.static=function(e){if(2===e.type)return!1;if(3===e.type)return!0;return!(!e.pre&&(e.hasBindings||e.if||e.for||d(e.tag)||!Ca(e.tag)||function(e){for(;e.parent;){if("template"!==(e=e.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every(wa)))}(t);if(1===t.type){if(!Ca(t.tag)&&"slot"!==t.tag&&null==t.attrsMap["inline-template"])return;for(var n=0,r=t.children.length;n|^function(?:\s+[\w$]+)?\s*\(/,Sa=/\([^)]*?\);*$/,Ta=/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*|\['[^']*?']|\["[^"]*?"]|\[\d+]|\[[A-Za-z_$][\w$]*])*$/,Na={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ea={esc:["Esc","Escape"],tab:"Tab",enter:"Enter",space:[" ","Spacebar"],up:["Up","ArrowUp"],left:["Left","ArrowLeft"],right:["Right","ArrowRight"],down:["Down","ArrowDown"],delete:["Backspace","Delete","Del"]},ja=function(e){return"if("+e+")return null;"},Da={stop:"$event.stopPropagation();",prevent:"$event.preventDefault();",self:ja("$event.target !== $event.currentTarget"),ctrl:ja("!$event.ctrlKey"),shift:ja("!$event.shiftKey"),alt:ja("!$event.altKey"),meta:ja("!$event.metaKey"),left:ja("'button' in $event && $event.button !== 0"),middle:ja("'button' in $event && $event.button !== 1"),right:ja("'button' in $event && $event.button !== 2")};function La(e,t){var n=t?"nativeOn:":"on:",r="",i="";for(var o in e){var a=Ia(e[o]);e[o]&&e[o].dynamic?i+=o+","+a+",":r+='"'+o+'":'+a+","}return r="{"+r.slice(0,-1)+"}",i?n+"_d("+r+",["+i.slice(0,-1)+"])":n+r}function Ia(e){if(!e)return"function(){}";if(Array.isArray(e))return"["+e.map(function(e){return Ia(e)}).join(",")+"]";var t=Ta.test(e.value),n=Oa.test(e.value),r=Ta.test(e.value.replace(Sa,""));if(e.modifiers){var i="",o="",a=[];for(var s in e.modifiers)if(Da[s])o+=Da[s],Na[s]&&a.push(s);else if("exact"===s){var c=e.modifiers;o+=ja(["ctrl","shift","alt","meta"].filter(function(e){return!c[e]}).map(function(e){return"$event."+e+"Key"}).join("||"))}else a.push(s);return a.length&&(i+=function(e){return"if(!$event.type.indexOf('key')&&"+e.map(Ma).join("&&")+")return null;"}(a)),o&&(i+=o),"function($event){"+i+(t?"return "+e.value+".apply(null, arguments)":n?"return ("+e.value+").apply(null, arguments)":r?"return "+e.value:e.value)+"}"}return t||n?e.value:"function($event){"+(r?"return "+e.value:e.value)+"}"}function Ma(e){var t=parseInt(e,10);if(t)return"$event.keyCode!=="+t;var n=Na[e],r=Ea[e];return"_k($event.keyCode,"+JSON.stringify(e)+","+JSON.stringify(n)+",$event.key,"+JSON.stringify(r)+")"}var Fa={on:function(e,t){e.wrapListeners=function(e){return"_g("+e+","+t.value+")"}},bind:function(e,t){e.wrapData=function(n){return"_b("+n+",'"+e.tag+"',"+t.value+","+(t.modifiers&&t.modifiers.prop?"true":"false")+(t.modifiers&&t.modifiers.sync?",true":"")+")"}},cloak:S},Pa=function(e){this.options=e,this.warn=e.warn||Tr,this.transforms=Nr(e.modules,"transformCode"),this.dataGenFns=Nr(e.modules,"genData"),this.directives=A(A({},Fa),e.directives);var t=e.isReservedTag||T;this.maybeComponent=function(e){return!!e.component||!t(e.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function Ra(e,t){var n=new Pa(t);return{render:"with(this){return "+(e?"script"===e.tag?"null":Ha(e,n):'_c("div")')+"}",staticRenderFns:n.staticRenderFns}}function Ha(e,t){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return Ba(e,t);if(e.once&&!e.onceProcessed)return Ua(e,t);if(e.for&&!e.forProcessed)return za(e,t);if(e.if&&!e.ifProcessed)return Va(e,t);if("template"!==e.tag||e.slotTarget||t.pre){if("slot"===e.tag)return function(e,t){var n=e.slotName||'"default"',r=Wa(e,t),i="_t("+n+(r?",function(){return "+r+"}":""),o=e.attrs||e.dynamicAttrs?Xa((e.attrs||[]).concat(e.dynamicAttrs||[]).map(function(e){return{name:b(e.name),value:e.value,dynamic:e.dynamic}})):null,a=e.attrsMap["v-bind"];!o&&!a||r||(i+=",null");o&&(i+=","+o);a&&(i+=(o?"":",null")+","+a);return i+")"}(e,t);var n;if(e.component)n=function(e,t,n){var r=t.inlineTemplate?null:Wa(t,n,!0);return"_c("+e+","+Ka(t,n)+(r?","+r:"")+")"}(e.component,e,t);else{var r;(!e.plain||e.pre&&t.maybeComponent(e))&&(r=Ka(e,t));var i=e.inlineTemplate?null:Wa(e,t,!0);n="_c('"+e.tag+"'"+(r?","+r:"")+(i?","+i:"")+")"}for(var o=0;o>>0}(a):"")+")"}(e,e.scopedSlots,t)+","),e.model&&(n+="model:{value:"+e.model.value+",callback:"+e.model.callback+",expression:"+e.model.expression+"},"),e.inlineTemplate){var o=function(e,t){var n=e.children[0];if(n&&1===n.type){var r=Ra(n,t.options);return"inlineTemplate:{render:function(){"+r.render+"},staticRenderFns:["+r.staticRenderFns.map(function(e){return"function(){"+e+"}"}).join(",")+"]}"}}(e,t);o&&(n+=o+",")}return n=n.replace(/,$/,"")+"}",e.dynamicAttrs&&(n="_b("+n+',"'+e.tag+'",'+Xa(e.dynamicAttrs)+")"),e.wrapData&&(n=e.wrapData(n)),e.wrapListeners&&(n=e.wrapListeners(n)),n}function Ja(e){return 1===e.type&&("slot"===e.tag||e.children.some(Ja))}function qa(e,t){var n=e.attrsMap["slot-scope"];if(e.if&&!e.ifProcessed&&!n)return Va(e,t,qa,"null");if(e.for&&!e.forProcessed)return za(e,t,qa);var r=e.slotScope===ua?"":String(e.slotScope),i="function("+r+"){return "+("template"===e.tag?e.if&&n?"("+e.if+")?"+(Wa(e,t)||"undefined")+":undefined":Wa(e,t)||"undefined":Ha(e,t))+"}",o=r?"":",proxy:true";return"{key:"+(e.slotTarget||'"default"')+",fn:"+i+o+"}"}function Wa(e,t,n,r,i){var o=e.children;if(o.length){var a=o[0];if(1===o.length&&a.for&&"template"!==a.tag&&"slot"!==a.tag){var s=n?t.maybeComponent(a)?",1":",0":"";return""+(r||Ha)(a,t)+s}var c=n?function(e,t){for(var n=0,r=0;r':'
',ns.innerHTML.indexOf(" ")>0}var as=!!V&&os(!1),ss=!!V&&os(!0),cs=g(function(e){var t=Qn(e);return t&&t.innerHTML}),us=Cn.prototype.$mount;return Cn.prototype.$mount=function(e,t){if((e=e&&Qn(e))===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if("string"==typeof r)"#"===r.charAt(0)&&(r=cs(r));else{if(!r.nodeType)return this;r=r.innerHTML}else e&&(r=function(e){if(e.outerHTML)return e.outerHTML;var t=document.createElement("div");return t.appendChild(e.cloneNode(!0)),t.innerHTML}(e));if(r){var i=is(r,{outputSourceRange:!1,shouldDecodeNewlines:as,shouldDecodeNewlinesForHref:ss,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return us.call(this,e,t)},Cn.compile=is,Cn}); \ No newline at end of file diff --git b/vuex.min.js a/vuex.min.js new file mode 100644 index 0000000..ef953c7 --- /dev/null +++ a/vuex.min.js @@ -0,0 +1,6 @@ +/** + * vuex v3.0.1 + * (c) 2017 Evan You + * @license MIT + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.Vuex=e()}(this,function(){"use strict";function t(t){$&&(t._devtoolHook=$,$.emit("vuex:init",t),$.on("vuex:travel-to-state",function(e){t.replaceState(e)}),t.subscribe(function(t,e){$.emit("vuex:mutation",t,e)}))}function e(t,e){Object.keys(t).forEach(function(n){return e(t[n],n)})}function n(t){return null!==t&&"object"==typeof t}function o(t){return t&&"function"==typeof t.then}function i(t,e,n){if(e.update(n),n.modules)for(var o in n.modules){if(!e.getChild(o))return;i(t.concat(o),e.getChild(o),n.modules[o])}}function r(t,e){return e.indexOf(t)<0&&e.push(t),function(){var n=e.indexOf(t);n>-1&&e.splice(n,1)}}function s(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var n=t.state;a(t,n,[],t._modules.root,!0),c(t,n,e)}function c(t,n,o){var i=t._vm;t.getters={};var r={};e(t._wrappedGetters,function(e,n){r[n]=function(){return e(t)},Object.defineProperty(t.getters,n,{get:function(){return t._vm[n]},enumerable:!0})});var s=j.config.silent;j.config.silent=!0,t._vm=new j({data:{$$state:n},computed:r}),j.config.silent=s,t.strict&&d(t),i&&(o&&t._withCommit(function(){i._data.$$state=null}),j.nextTick(function(){return i.$destroy()}))}function a(t,e,n,o,i){var r=!n.length,s=t._modules.getNamespace(n);if(o.namespaced&&(t._modulesNamespaceMap[s]=o),!r&&!i){var c=m(e,n.slice(0,-1)),f=n[n.length-1];t._withCommit(function(){j.set(c,f,o.state)})}var d=o.context=u(t,s,n);o.forEachMutation(function(e,n){p(t,s+n,e,d)}),o.forEachAction(function(e,n){var o=e.root?n:s+n,i=e.handler||e;h(t,o,i,d)}),o.forEachGetter(function(e,n){l(t,s+n,e,d)}),o.forEachChild(function(o,r){a(t,e,n.concat(r),o,i)})}function u(t,e,n){var o=""===e,i={dispatch:o?t.dispatch:function(n,o,i){var r=v(n,o,i),s=r.payload,c=r.options,a=r.type;return c&&c.root||(a=e+a),t.dispatch(a,s)},commit:o?t.commit:function(n,o,i){var r=v(n,o,i),s=r.payload,c=r.options,a=r.type;c&&c.root||(a=e+a),t.commit(a,s,c)}};return Object.defineProperties(i,{getters:{get:o?function(){return t.getters}:function(){return f(t,e)}},state:{get:function(){return m(t.state,n)}}}),i}function f(t,e){var n={},o=e.length;return Object.keys(t.getters).forEach(function(i){if(i.slice(0,o)===e){var r=i.slice(o);Object.defineProperty(n,r,{get:function(){return t.getters[i]},enumerable:!0})}}),n}function p(t,e,n,o){(t._mutations[e]||(t._mutations[e]=[])).push(function(e){n.call(t,o.state,e)})}function h(t,e,n,i){(t._actions[e]||(t._actions[e]=[])).push(function(e,r){var s=n.call(t,{dispatch:i.dispatch,commit:i.commit,getters:i.getters,state:i.state,rootGetters:t.getters,rootState:t.state},e,r);return o(s)||(s=Promise.resolve(s)),t._devtoolHook?s.catch(function(e){throw t._devtoolHook.emit("vuex:error",e),e}):s})}function l(t,e,n,o){t._wrappedGetters[e]||(t._wrappedGetters[e]=function(t){return n(o.state,o.getters,t.state,t.getters)})}function d(t){t._vm.$watch(function(){return this._data.$$state},function(){},{deep:!0,sync:!0})}function m(t,e){return e.length?e.reduce(function(t,e){return t[e]},t):t}function v(t,e,o){return n(t)&&t.type&&(o=e,e=t,t=t.type),{type:t,payload:e,options:o}}function _(t){j&&t===j||w(j=t)}function y(t){return Array.isArray(t)?t.map(function(t){return{key:t,val:t}}):Object.keys(t).map(function(e){return{key:e,val:t[e]}})}function g(t){return function(e,n){return"string"!=typeof e?(n=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,n)}}function b(t,e,n){var o=t._modulesNamespaceMap[n];return o}var w=function(t){function e(){var t=this.$options;t.store?this.$store="function"==typeof t.store?t.store():t.store:t.parent&&t.parent.$store&&(this.$store=t.parent.$store)}if(Number(t.version.split(".")[0])>=2)t.mixin({beforeCreate:e});else{var n=t.prototype._init;t.prototype._init=function(t){void 0===t&&(t={}),t.init=t.init?[e].concat(t.init):e,n.call(this,t)}}},$="undefined"!=typeof window&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,M=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var n=t.state;this.state=("function"==typeof n?n():n)||{}},O={namespaced:{configurable:!0}};O.namespaced.get=function(){return!!this._rawModule.namespaced},M.prototype.addChild=function(t,e){this._children[t]=e},M.prototype.removeChild=function(t){delete this._children[t]},M.prototype.getChild=function(t){return this._children[t]},M.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},M.prototype.forEachChild=function(t){e(this._children,t)},M.prototype.forEachGetter=function(t){this._rawModule.getters&&e(this._rawModule.getters,t)},M.prototype.forEachAction=function(t){this._rawModule.actions&&e(this._rawModule.actions,t)},M.prototype.forEachMutation=function(t){this._rawModule.mutations&&e(this._rawModule.mutations,t)},Object.defineProperties(M.prototype,O);var E=function(t){this.register([],t,!1)};E.prototype.get=function(t){return t.reduce(function(t,e){return t.getChild(e)},this.root)},E.prototype.getNamespace=function(t){var e=this.root;return t.reduce(function(t,n){return e=e.getChild(n),t+(e.namespaced?n+"/":"")},"")},E.prototype.update=function(t){i([],this.root,t)},E.prototype.register=function(t,n,o){var i=this;void 0===o&&(o=!0);var r=new M(n,o);0===t.length?this.root=r:this.get(t.slice(0,-1)).addChild(t[t.length-1],r),n.modules&&e(n.modules,function(e,n){i.register(t.concat(n),e,o)})},E.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),n=t[t.length-1];e.getChild(n).runtime&&e.removeChild(n)};var j,C=function(e){var n=this;void 0===e&&(e={}),!j&&"undefined"!=typeof window&&window.Vue&&_(window.Vue);var o=e.plugins;void 0===o&&(o=[]);var i=e.strict;void 0===i&&(i=!1);var r=e.state;void 0===r&&(r={}),"function"==typeof r&&(r=r()||{}),this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new E(e),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._watcherVM=new j;var s=this,u=this,f=u.dispatch,p=u.commit;this.dispatch=function(t,e){return f.call(s,t,e)},this.commit=function(t,e,n){return p.call(s,t,e,n)},this.strict=i,a(this,r,[],this._modules.root),c(this,r),o.forEach(function(t){return t(n)}),j.config.devtools&&t(this)},x={state:{configurable:!0}};x.state.get=function(){return this._vm._data.$$state},x.state.set=function(t){},C.prototype.commit=function(t,e,n){var o=this,i=v(t,e,n),r=i.type,s=i.payload,c=(i.options,{type:r,payload:s}),a=this._mutations[r];a&&(this._withCommit(function(){a.forEach(function(t){t(s)})}),this._subscribers.forEach(function(t){return t(c,o.state)}))},C.prototype.dispatch=function(t,e){var n=this,o=v(t,e),i=o.type,r=o.payload,s={type:i,payload:r},c=this._actions[i];if(c)return this._actionSubscribers.forEach(function(t){return t(s,n.state)}),c.length>1?Promise.all(c.map(function(t){return t(r)})):c[0](r)},C.prototype.subscribe=function(t){return r(t,this._subscribers)},C.prototype.subscribeAction=function(t){return r(t,this._actionSubscribers)},C.prototype.watch=function(t,e,n){var o=this;return this._watcherVM.$watch(function(){return t(o.state,o.getters)},e,n)},C.prototype.replaceState=function(t){var e=this;this._withCommit(function(){e._vm._data.$$state=t})},C.prototype.registerModule=function(t,e,n){void 0===n&&(n={}),"string"==typeof t&&(t=[t]),this._modules.register(t,e),a(this,this.state,t,this._modules.get(t),n.preserveState),c(this,this.state)},C.prototype.unregisterModule=function(t){var e=this;"string"==typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit(function(){var n=m(e.state,t.slice(0,-1));j.delete(n,t[t.length-1])}),s(this)},C.prototype.hotUpdate=function(t){this._modules.update(t),s(this,!0)},C.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties(C.prototype,x);var k=g(function(t,e){var n={};return y(e).forEach(function(e){var o=e.key,i=e.val;n[o]=function(){var e=this.$store.state,n=this.$store.getters;if(t){var o=b(this.$store,0,t);if(!o)return;e=o.context.state,n=o.context.getters}return"function"==typeof i?i.call(this,e,n):e[i]},n[o].vuex=!0}),n}),G=g(function(t,e){var n={};return y(e).forEach(function(e){var o=e.key,i=e.val;n[o]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var o=this.$store.commit;if(t){var r=b(this.$store,0,t);if(!r)return;o=r.context.commit}return"function"==typeof i?i.apply(this,[o].concat(e)):o.apply(this.$store,[i].concat(e))}}),n}),S=g(function(t,e){var n={};return y(e).forEach(function(e){var o=e.key,i=e.val;i=t+i,n[o]=function(){if(!t||b(this.$store,0,t))return this.$store.getters[i]},n[o].vuex=!0}),n}),A=g(function(t,e){var n={};return y(e).forEach(function(e){var o=e.key,i=e.val;n[o]=function(){for(var e=[],n=arguments.length;n--;)e[n]=arguments[n];var o=this.$store.dispatch;if(t){var r=b(this.$store,0,t);if(!r)return;o=r.context.dispatch}return"function"==typeof i?i.apply(this,[o].concat(e)):o.apply(this.$store,[i].concat(e))}}),n});return{Store:C,install:_,version:"3.0.1",mapState:k,mapMutations:G,mapGetters:S,mapActions:A,createNamespacedHelpers:function(t){return{mapState:k.bind(null,t),mapGetters:S.bind(null,t),mapMutations:G.bind(null,t),mapActions:A.bind(null,t)}}}});