vxe-table 4.13.5 → 4.13.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/grid/src/grid.js +1 -1
- package/es/index.css +1 -1
- package/es/index.min.css +1 -1
- package/es/locale/lang/ar-EG.js +3 -2
- package/es/locale/lang/de-DE.js +3 -2
- package/es/locale/lang/en-US.js +2 -1
- package/es/locale/lang/es-ES.js +3 -2
- package/es/locale/lang/fr-FR.js +2 -1
- package/es/locale/lang/hu-HU.js +2 -1
- package/es/locale/lang/hy-AM.js +2 -1
- package/es/locale/lang/id-ID.js +2 -1
- package/es/locale/lang/it-IT.js +2 -1
- package/es/locale/lang/ja-JP.js +2 -1
- package/es/locale/lang/ko-KR.js +2 -1
- package/es/locale/lang/nb-NO.js +2 -1
- package/es/locale/lang/pt-BR.js +2 -1
- package/es/locale/lang/ru-RU.js +2 -1
- package/es/locale/lang/th-TH.js +2 -1
- package/es/locale/lang/ug-CN.js +2 -1
- package/es/locale/lang/uk-UA.js +2 -1
- package/es/locale/lang/vi-VN.js +2 -1
- package/es/locale/lang/zh-CHT.js +2 -1
- package/es/locale/lang/zh-CN.js +2 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table/module/custom/hook.js +11 -8
- package/es/table/module/custom/panel.js +7 -7
- package/es/table/module/export/hook.js +21 -20
- package/es/table/module/keyboard/hook.js +3 -2
- package/es/table/src/body.js +45 -10
- package/es/table/src/cell.js +159 -69
- package/es/table/src/column.js +2 -0
- package/es/table/src/columnInfo.js +1 -0
- package/es/table/src/emits.js +1 -0
- package/es/table/src/props.js +9 -7
- package/es/table/src/table.js +653 -171
- package/es/table/style.css +70 -40
- package/es/table/style.min.css +1 -1
- package/es/ui/index.js +13 -1
- package/es/ui/src/dom.js +3 -0
- package/es/ui/src/log.js +1 -1
- package/es/vxe-table/style.css +70 -40
- package/es/vxe-table/style.min.css +1 -1
- package/lib/grid/src/grid.js +1 -1
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/index.css +1 -1
- package/lib/index.min.css +1 -1
- package/lib/index.umd.js +419 -179
- package/lib/index.umd.min.js +1 -1
- package/lib/locale/lang/ar-EG.js +3 -2
- package/lib/locale/lang/ar-EG.min.js +1 -1
- package/lib/locale/lang/de-DE.js +3 -2
- package/lib/locale/lang/de-DE.min.js +1 -1
- package/lib/locale/lang/en-US.js +2 -1
- package/lib/locale/lang/en-US.min.js +1 -1
- package/lib/locale/lang/en-US.umd.js +2 -1
- package/lib/locale/lang/es-ES.js +3 -2
- package/lib/locale/lang/es-ES.min.js +1 -1
- package/lib/locale/lang/es-ES.umd.js +3 -2
- package/lib/locale/lang/fr-FR.js +2 -1
- package/lib/locale/lang/fr-FR.min.js +1 -1
- package/lib/locale/lang/hu-HU.js +2 -1
- package/lib/locale/lang/hu-HU.min.js +1 -1
- package/lib/locale/lang/hu-HU.umd.js +2 -1
- package/lib/locale/lang/hy-AM.js +2 -1
- package/lib/locale/lang/hy-AM.min.js +1 -1
- package/lib/locale/lang/id-ID.js +2 -1
- package/lib/locale/lang/id-ID.min.js +1 -1
- package/lib/locale/lang/it-IT.js +2 -1
- package/lib/locale/lang/it-IT.min.js +1 -1
- package/lib/locale/lang/ja-JP.js +2 -1
- package/lib/locale/lang/ja-JP.min.js +1 -1
- package/lib/locale/lang/ja-JP.umd.js +2 -1
- package/lib/locale/lang/ko-KR.js +2 -1
- package/lib/locale/lang/ko-KR.min.js +1 -1
- package/lib/locale/lang/ko-KR.umd.js +2 -1
- package/lib/locale/lang/nb-NO.js +2 -1
- package/lib/locale/lang/nb-NO.min.js +1 -1
- package/lib/locale/lang/pt-BR.js +2 -1
- package/lib/locale/lang/pt-BR.min.js +1 -1
- package/lib/locale/lang/pt-BR.umd.js +2 -1
- package/lib/locale/lang/ru-RU.js +2 -1
- package/lib/locale/lang/ru-RU.min.js +1 -1
- package/lib/locale/lang/ru-RU.umd.js +2 -1
- package/lib/locale/lang/th-TH.js +2 -1
- package/lib/locale/lang/th-TH.min.js +1 -1
- package/lib/locale/lang/ug-CN.js +2 -1
- package/lib/locale/lang/ug-CN.min.js +1 -1
- package/lib/locale/lang/uk-UA.js +2 -1
- package/lib/locale/lang/uk-UA.min.js +1 -1
- package/lib/locale/lang/uk-UA.umd.js +2 -1
- package/lib/locale/lang/vi-VN.js +2 -1
- package/lib/locale/lang/vi-VN.min.js +1 -1
- package/lib/locale/lang/zh-CHT.js +2 -1
- package/lib/locale/lang/zh-CHT.min.js +1 -1
- package/lib/locale/lang/zh-CN.js +2 -1
- package/lib/locale/lang/zh-CN.min.js +1 -1
- package/lib/locale/lang/zh-CN.umd.js +2 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table/module/custom/hook.js +11 -1
- package/lib/table/module/custom/hook.min.js +1 -1
- package/lib/table/module/custom/panel.js +6 -2
- package/lib/table/module/custom/panel.min.js +1 -1
- package/lib/table/module/export/hook.js +21 -11
- package/lib/table/module/export/hook.min.js +1 -1
- package/lib/table/module/keyboard/hook.js +2 -1
- package/lib/table/module/keyboard/hook.min.js +1 -1
- package/lib/table/src/body.js +35 -9
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +177 -52
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/column.js +2 -0
- package/lib/table/src/column.min.js +1 -1
- package/lib/table/src/columnInfo.js +1 -0
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/emits.js +1 -1
- package/lib/table/src/emits.min.js +1 -1
- package/lib/table/src/props.js +9 -7
- package/lib/table/src/props.min.js +1 -1
- package/lib/table/src/table.js +134 -91
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/style/style.css +70 -40
- package/lib/table/style/style.min.css +1 -1
- package/lib/ui/index.js +13 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +4 -0
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-table/style/style.css +70 -40
- package/lib/vxe-table/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/grid/src/grid.ts +1 -1
- package/packages/locale/lang/ar-EG.ts +3 -2
- package/packages/locale/lang/de-DE.ts +3 -2
- package/packages/locale/lang/en-US.ts +2 -1
- package/packages/locale/lang/es-ES.ts +3 -2
- package/packages/locale/lang/fr-FR.ts +2 -1
- package/packages/locale/lang/hu-HU.ts +2 -1
- package/packages/locale/lang/hy-AM.ts +2 -1
- package/packages/locale/lang/id-ID.ts +2 -1
- package/packages/locale/lang/it-IT.ts +2 -1
- package/packages/locale/lang/ja-JP.ts +2 -1
- package/packages/locale/lang/ko-KR.ts +2 -1
- package/packages/locale/lang/nb-NO.ts +2 -1
- package/packages/locale/lang/pt-BR.ts +2 -1
- package/packages/locale/lang/ru-RU.ts +2 -1
- package/packages/locale/lang/th-TH.ts +2 -1
- package/packages/locale/lang/ug-CN.ts +2 -1
- package/packages/locale/lang/uk-UA.ts +2 -1
- package/packages/locale/lang/vi-VN.ts +2 -1
- package/packages/locale/lang/zh-CHT.ts +2 -1
- package/packages/locale/lang/zh-CN.ts +2 -1
- package/packages/table/module/custom/hook.ts +14 -8
- package/packages/table/module/custom/panel.ts +7 -7
- package/packages/table/module/export/hook.ts +28 -27
- package/packages/table/module/keyboard/hook.ts +3 -2
- package/packages/table/src/body.ts +46 -10
- package/packages/table/src/cell.ts +162 -73
- package/packages/table/src/column.ts +2 -0
- package/packages/table/src/columnInfo.ts +1 -0
- package/packages/table/src/emits.ts +1 -0
- package/packages/table/src/props.ts +9 -7
- package/packages/table/src/table.ts +658 -176
- package/packages/ui/index.ts +12 -0
- package/packages/ui/src/dom.ts +4 -0
- package/styles/components/table.scss +131 -92
- /package/es/{iconfont.1744880866629.ttf → iconfont.1745197925862.ttf} +0 -0
- /package/es/{iconfont.1744880866629.woff → iconfont.1745197925862.woff} +0 -0
- /package/es/{iconfont.1744880866629.woff2 → iconfont.1745197925862.woff2} +0 -0
- /package/lib/{iconfont.1744880866629.ttf → iconfont.1745197925862.ttf} +0 -0
- /package/lib/{iconfont.1744880866629.woff → iconfont.1745197925862.woff} +0 -0
- /package/lib/{iconfont.1744880866629.woff2 → iconfont.1745197925862.woff2} +0 -0
|
@@ -180,11 +180,13 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
180
180
|
if (customOpts.immediate) {
|
|
181
181
|
_xeUtils.default.eachTree(customColumnList, column => {
|
|
182
182
|
if (visibleMethod && !visibleMethod({
|
|
183
|
+
$table: $xeTable,
|
|
183
184
|
column
|
|
184
185
|
})) {
|
|
185
186
|
return;
|
|
186
187
|
}
|
|
187
188
|
if (checkMethod && !checkMethod({
|
|
189
|
+
$table: $xeTable,
|
|
188
190
|
column
|
|
189
191
|
})) {
|
|
190
192
|
return;
|
|
@@ -200,11 +202,13 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
200
202
|
} else {
|
|
201
203
|
_xeUtils.default.eachTree(customColumnList, column => {
|
|
202
204
|
if (visibleMethod && !visibleMethod({
|
|
205
|
+
$table: $xeTable,
|
|
203
206
|
column
|
|
204
207
|
})) {
|
|
205
208
|
return;
|
|
206
209
|
}
|
|
207
210
|
if (checkMethod && !checkMethod({
|
|
211
|
+
$table: $xeTable,
|
|
208
212
|
column
|
|
209
213
|
})) {
|
|
210
214
|
return;
|
|
@@ -247,6 +251,7 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
247
251
|
column.renderSortNumber = column.sortNumber;
|
|
248
252
|
}
|
|
249
253
|
if (!checkMethod || checkMethod({
|
|
254
|
+
$table: $xeTable,
|
|
250
255
|
column
|
|
251
256
|
})) {
|
|
252
257
|
column.visible = column.defaultVisible;
|
|
@@ -278,9 +283,11 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
278
283
|
checkMethod
|
|
279
284
|
} = customOpts;
|
|
280
285
|
customStore.isAll = collectColumn.every(column => (checkMethod ? !checkMethod({
|
|
286
|
+
$table: $xeTable,
|
|
281
287
|
column
|
|
282
288
|
}) : false) || column.renderVisible);
|
|
283
289
|
customStore.isIndeterminate = !customStore.isAll && collectColumn.some(column => (!checkMethod || checkMethod({
|
|
290
|
+
$table: $xeTable,
|
|
284
291
|
column
|
|
285
292
|
})) && (column.renderVisible || column.halfVisible));
|
|
286
293
|
};
|
|
@@ -294,9 +301,10 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
294
301
|
checkCustomStatus,
|
|
295
302
|
emitCustomEvent,
|
|
296
303
|
triggerCustomEvent(evnt) {
|
|
304
|
+
const reactData = $xeTable.reactData;
|
|
297
305
|
const {
|
|
298
306
|
customStore
|
|
299
|
-
} =
|
|
307
|
+
} = reactData;
|
|
300
308
|
if (customStore.visible) {
|
|
301
309
|
closeCustom();
|
|
302
310
|
emitCustomEvent('close', evnt);
|
|
@@ -307,6 +315,7 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
307
315
|
}
|
|
308
316
|
},
|
|
309
317
|
customOpenEvent(evnt) {
|
|
318
|
+
const reactData = $xeTable.reactData;
|
|
310
319
|
const {
|
|
311
320
|
customStore
|
|
312
321
|
} = reactData;
|
|
@@ -318,6 +327,7 @@ _ui.VxeUI.hooks.add('tableCustomModule', {
|
|
|
318
327
|
}
|
|
319
328
|
},
|
|
320
329
|
customCloseEvent(evnt) {
|
|
330
|
+
const reactData = $xeTable.reactData;
|
|
321
331
|
const {
|
|
322
332
|
customStore
|
|
323
333
|
} = reactData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let tableCustomMethodKeys=["openCustom","closeCustom","saveCustom","cancelCustom","resetCustom","toggleCustomAllCheckbox","setCustomAllCheckbox"];_ui.VxeUI.hooks.add("tableCustomModule",{setupTable(d){let{reactData:m,internalData:
|
|
1
|
+
var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let tableCustomMethodKeys=["openCustom","closeCustom","saveCustom","cancelCustom","resetCustom","toggleCustomAllCheckbox","setCustomAllCheckbox"];_ui.VxeUI.hooks.add("tableCustomModule",{setupTable(d){let{reactData:m,internalData:s}=d,c=d.getComputeMaps().computeCustomOpts,i=d.getRefMaps().refElem,l=d.xeGrid,r=()=>{var e=m.customStore,t=i.value;let l=0;t&&(l=t.clientHeight-28),e.maxHeight=Math.max(88,l)},o=()=>{var{initStore:e,customStore:t}=m;return t.visible=!0,e.custom=!0,u(),n(),r(),(0,_vue.nextTick)().then(()=>r())},u=()=>{var e=m.customStore,t=s.collectColumn;if(e.visible){let l={},i={},s={};_xeUtils.default.eachTree(t,e=>{var t=e.getKey();e.renderFixed=e.fixed,e.renderVisible=e.visible,e.renderResizeWidth=e.renderWidth,l[t]=e.renderSortNumber,i[t]=e.fixed,s[t]=e.visible}),e.oldSortMaps=l,e.oldFixedMaps=i,e.oldVisibleMaps=s,m.customColumnList=t.slice(0)}},a=()=>{var e=m.customStore,t=c.value;return e.visible&&(e.visible=!1,t.immediate||d.handleCustom()),(0,_vue.nextTick)()};let t=e=>{var t=m.customStore,l=m.customColumnList,i=c.value;let{checkMethod:s,visibleMethod:r}=i,o=!!e;return i.immediate?(_xeUtils.default.eachTree(l,e=>{r&&!r({$table:d,column:e})||s&&!s({$table:d,column:e})||(e.visible=o,e.renderVisible=o,e.halfVisible=!1)}),t.isAll=o,m.isCustomStatus=!0,d.handleCustom(),d.saveCustomStore("update:visible")):(_xeUtils.default.eachTree(l,e=>{r&&!r({$table:d,column:e})||s&&!s({$table:d,column:e})||(e.renderVisible=o,e.halfVisible=!1)}),t.isAll=o),d.checkCustomStatus(),(0,_vue.nextTick)()};var e={openCustom:o,closeCustom:a,saveCustom:()=>{var e=m.customColumnList;let{allowVisible:r,allowSort:o,allowFixed:u,allowResizable:a}=c.value;return _xeUtils.default.eachTree(e,(e,t,l,i,s)=>{s?e.fixed=s.fixed:(o&&(e.renderSortNumber=t+1),u&&(e.fixed=e.renderFixed)),a&&e.renderVisible&&(!e.children||e.children.length)&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth),r&&(e.visible=e.renderVisible)}),m.isCustomStatus=!0,m.isDragColMove=!0,setTimeout(()=>{m.isDragColMove=!1},1e3),d.saveCustomStore("confirm")},cancelCustom:()=>{var{customColumnList:e,customStore:t}=m;let{oldSortMaps:s,oldFixedMaps:r,oldVisibleMaps:o}=t,{allowVisible:u,allowSort:a,allowFixed:d,allowResizable:n}=c.value;return _xeUtils.default.eachTree(e,e=>{var t=e.getKey(),l=!!o[t],i=r[t]||"";u&&(e.renderVisible=l,e.visible=l),d&&(e.renderFixed=i,e.fixed=i),a&&(e.renderSortNumber=s[t]||0),n&&(e.renderResizeWidth=e.renderWidth)},{children:"children"}),(0,_vue.nextTick)()},resetCustom(e){var t=s.collectColumn;let l=c.value.checkMethod,i=Object.assign({visible:!0,resizable:!0===e,fixed:!0===e,sort:!0===e},e);return _xeUtils.default.eachTree(t,e=>{i.resizable&&(e.resizeWidth=0),i.fixed&&(e.fixed=e.defaultFixed),i.sort&&(e.renderSortNumber=e.sortNumber),l&&!l({$table:d,column:e})||(e.visible=e.defaultVisible),e.renderResizeWidth=e.renderWidth}),m.isCustomStatus=!1,d.saveCustomStore("reset"),d.handleCustom()},toggleCustomAllCheckbox(){var e=m.customStore,e=!e.isAll;return t(e)},setCustomAllCheckbox:t};let n=()=>{var e=m.customStore,t=s.collectColumn;let l=c.value.checkMethod;e.isAll=t.every(e=>!!l&&!l({$table:d,column:e})||e.renderVisible),e.isIndeterminate=!e.isAll&&t.some(e=>(!l||l({$table:d,column:e}))&&(e.renderVisible||e.halfVisible))},v=(e,t)=>{(l||d).dispatchEvent("custom",{type:e},t)};var b={checkCustomStatus:n,emitCustomEvent:v,triggerCustomEvent(e){var t=d.reactData.customStore;t.visible?(a(),v("close",e)):(t.btnEl=e.target,o(),v("open",e))},customOpenEvent(e){var t=d.reactData.customStore;t.visible||(t.activeBtn=!0,t.btnEl=e.target,d.openCustom(),d.emitCustomEvent("open",e))},customCloseEvent(e){var t=d.reactData.customStore;t.visible&&(t.activeBtn=!1,d.closeCustom(),d.emitCustomEvent("close",e))},handleUpdateCustomColumn:u};return Object.assign(Object.assign({},e),b)},setupGrid(e){return e.extendTableMethods(tableCustomMethodKeys)}});
|
|
@@ -460,7 +460,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
460
460
|
isToChildDrag
|
|
461
461
|
} = columnDragOpts;
|
|
462
462
|
const optEl = evnt.currentTarget;
|
|
463
|
-
const
|
|
463
|
+
const isControlKey = (0, _dom.hasControlKey)(evnt);
|
|
464
464
|
const colid = optEl.getAttribute('colid');
|
|
465
465
|
const column = $xeTable.getColumnById(colid);
|
|
466
466
|
const dragCol = dragColumnRef.value;
|
|
@@ -473,7 +473,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
473
473
|
showDropTip(evnt, optEl, false, dragPos);
|
|
474
474
|
return;
|
|
475
475
|
}
|
|
476
|
-
prevDragToChild = !!(isCrossDrag && isToChildDrag &&
|
|
476
|
+
prevDragToChild = !!(isCrossDrag && isToChildDrag && isControlKey && immediate);
|
|
477
477
|
prevDragCol = column;
|
|
478
478
|
prevDragPos = dragPos;
|
|
479
479
|
showDropTip(evnt, optEl, true, dragPos);
|
|
@@ -559,6 +559,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
559
559
|
};
|
|
560
560
|
_xeUtils.default.eachTree(customColumnList, (column, index, items, path, parent) => {
|
|
561
561
|
const isVisible = visibleMethod ? visibleMethod({
|
|
562
|
+
$table: $xeTable,
|
|
562
563
|
column
|
|
563
564
|
}) : true;
|
|
564
565
|
if (isVisible) {
|
|
@@ -567,6 +568,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
567
568
|
const isColGroup = column.children && column.children.length;
|
|
568
569
|
const colTitle = (0, _utils.formatText)(column.getTitle(), 1);
|
|
569
570
|
const isDisabled = checkMethod ? !checkMethod({
|
|
571
|
+
$table: $xeTable,
|
|
570
572
|
column
|
|
571
573
|
}) : false;
|
|
572
574
|
const isHidden = !isChecked;
|
|
@@ -767,6 +769,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
767
769
|
};
|
|
768
770
|
_xeUtils.default.eachTree(customColumnList, (column, index, items, path, parent) => {
|
|
769
771
|
const isVisible = visibleMethod ? visibleMethod({
|
|
772
|
+
$table: $xeTable,
|
|
770
773
|
column
|
|
771
774
|
}) : true;
|
|
772
775
|
if (isVisible) {
|
|
@@ -793,6 +796,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
793
796
|
const colTitle = (0, _utils.formatText)(column.getTitle(), 1);
|
|
794
797
|
const isColGroup = column.children && column.children.length;
|
|
795
798
|
const isDisabled = checkMethod ? !checkMethod({
|
|
799
|
+
$table: $xeTable,
|
|
796
800
|
column
|
|
797
801
|
}) : false;
|
|
798
802
|
const isHidden = !isChecked;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(D){let U=_ui.VxeUI.getComponent("VxeModal"),L=_ui.VxeUI.getComponent("VxeDrawer"),F=_ui.VxeUI.getComponent("VxeButton"),M=_ui.VxeUI.getComponent("VxeNumberInput"),R=_ui.VxeUI.getComponent("VxeRadioGroup"),H=(0,_vue.inject)("$xeTable",{}),{props:z,reactData:K,internalData:s}=H,{computeCustomOpts:W,computeColumnDragOpts:X,computeColumnOpts:ie,computeIsMaxFixedColumn:q,computeResizableOpts:re}=H.getComputeMaps(),V=(0,_vue.ref)(),$=(0,_vue.ref)(),r=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),g,C=!1,f,k=e=>{var t=D.customStore;t.activeWrapper=!0,H.customOpenEvent(e)},y=e=>{let t=D.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||H.customCloseEvent(e)},300)},G=({$event:e})=>{K.isCustomStatus=!0,H.saveCustom(),H.closeCustom(),H.emitCustomEvent("confirm",e)},j=({$event:e})=>{H.closeCustom(),H.emitCustomEvent("close",e)},P=({$event:e})=>{H.cancelCustom(),H.closeCustom(),H.emitCustomEvent("cancel",e)},l=e=>{H.resetCustom(!0),H.closeCustom(),H.emitCustomEvent("reset",e)},Y=({$event:t})=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},o=t=>{var e=K.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),o(e))},Z=e=>{let t=!e.renderVisible;W.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=t,e.renderVisible=t,e.halfVisible=!1}),K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=t,e.halfVisible=!1}),o(e),H.checkCustomStatus()},ne=e=>{W.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:width"))},J=(e,t)=>{var l=q.value;W.value.immediate?(e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""}):l&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t}),K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:fixed")):e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.renderFixed=""}):l&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})},Q=()=>{H.toggleCustomAllCheckbox()},c=(e,t,l,o)=>{var a,s,i=$.value;i&&(a=i.getBoundingClientRect(),t&&(s=r.value)&&(l?(t=t.getBoundingClientRect(),s.style.display="block",s.style.top=Math.max(1,t.y+i.scrollTop-a.y)+"px",s.style.height=t.height+"px",s.style.width=t.width+"px",s.setAttribute("drag-pos",o),s.setAttribute("drag-to-child",C?"y":"n")):s.style.display=""),t=n.value)&&(t.style.display="block",t.style.top=Math.min(i.clientHeight+i.scrollTop-t.clientHeight,e.clientY+i.scrollTop-a.y)+"px",t.style.left=Math.min(i.clientWidth+i.scrollLeft-t.clientWidth,e.clientX+i.scrollLeft-a.x)+"px",t.setAttribute("drag-status",l?C?"sub":"normal":"disabled"))},a=()=>{var e=n.value,t=r.value;e&&(e.style.display=""),t&&(t.style.display="")},ee=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=H.getColumnById(t);e.draggable=!0,u.value=t,(0,_dom.addClass)(e,"active--drag-origin")},te=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;a(),e.draggable=!1,(u.value=null,_dom.removeClass)(e,"active--drag-origin")},le=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},oe=c=>{let d=z.mouseConfig,m=K.customColumnList,v=s.collectColumn;let p=W.value.immediate;var e=c.currentTarget,t=u.value;let{isCrossDrag:x,isSelfToChildDrag:h,isToChildDrag:_,dragEndMethod:l}=X.value,b="bottom"===f?1:0;if(g&&t&&g!==t){let n=t,u=g;Promise.resolve(!l||l({oldColumn:n,newColumn:u,dragColumn:n,dragPos:f,dragToChild:!!C,offsetIndex:b})).then(a=>{if(a){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([n],e=>{l[e.id]=e}),!1);if(p){if(n.parentId&&u.parentId){if(!x)return;if(l[u.id]&&(o=!0,!x||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!x)return}else if(u.parentId){if(!x)return;if(l[u.id]&&(o=!0,!x||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var s,i,r,a=_xeUtils.default.findTree(v,e=>e.id===n.id),a=(o&&x&&h?a&&({items:s,index:r}=a,(i=n.children||[]).forEach(e=>{e.parentId=n.parentId}),s.splice(r,1,...i),n.children=[]):a&&({items:s,index:r,parent:i}=a,s.splice(r,1),i||(e=r)),_xeUtils.default.findTree(v,e=>e.id===u.id));a&&({items:s,index:i,parent:r}=a,x&&_&&C?(n.parentId=u.id,u.children=(u.children||[]).concat([n])):(n.parentId=u.parentId,s.splice(i+b,0,n)),r||(t=i)),_xeUtils.default.eachTree(v,(e,t,l,o,a)=>{a||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(m,e=>e.id===n.id),m.splice(e,1),t=_xeUtils.default.findIndexOf(m,e=>e.id===u.id),m.splice(t+b,0,n);K.isDragColMove=!0,d&&(H.clearSelected&&H.clearSelected(),H.clearCellAreas)&&(H.clearCellAreas(),H.clearCopyCellArea()),H.dispatchEvent("column-dragend",{oldColumn:n,newColumn:u,dragColumn:n,dragPos:f,offsetIndex:b,_index:{newIndex:t,oldIndex:e}},c),p&&(K.customColumnList=v.slice(0),H.handleColDragSwapColumn())}}).catch(()=>{})}a(),u.value=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},ae=e=>{var t,l=W.value.immediate,{isCrossDrag:o,isToChildDrag:a}=X.value,s=e.currentTarget,i=e.ctrlKey,r=s.getAttribute("colid"),r=H.getColumnById(r),n=u.value;r&&(o||1===r.level)&&(e.preventDefault(),t=e.clientY-s.getBoundingClientRect().y<s.clientHeight/2?"top":"bottom",n&&n.id===r.id||!o&&1<r.level||!l&&1<r.level||r.renderFixed?c(e,s,!1,t):(C=!!(o&&a&&i&&l),g=r,f=t,c(e,s,!0,t)))},se=()=>{var e=u.value,t=X.value;return(0,_vue.h)("div",{},[(0,_vue.h)("div",{ref:r,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),(0,_vue.h)("div",{ref:n,class:"vxe-table-custom-popup--drag-tip"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-status"},[(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-content"},getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]))])])])};return(0,_vue.nextTick)(()=>{var e=W.value.mode;U||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),L||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),F||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),M||(0,_log.errLog)("vxe.error.reqComp",["vxe-number-input"]),R||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])}),()=>{var e=W.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var e=H.xeGrid;let t=D.customStore,c=z.resizable,{isCustomStatus:l,customColumnList:o}=K,a=W.value,d=a.immediate;var s=X.value;let{mode:i,modalOptions:r,drawerOptions:n,allowVisible:m,allowSort:v,allowFixed:p,allowResizable:x,checkMethod:h,visibleMethod:_}=a,b=ie.value,u=b.maxFixedSize,{minWidth:g,maxWidth:C}=re.value;var f=Object.assign({},r),I=Object.assign({},n);let T=q.value,E=s.isCrossDrag;s=a.slots||{};let V=s.header,k=s.top,y=s.bottom,O=s.default,A=s.footer,B=[],S=t.isAll,N=t.isIndeterminate,w={$table:H,$grid:e,columns:o,isAllChecked:S,isAllIndeterminate:N,isCustomStatus:l};_xeUtils.default.eachTree(o,(o,a,e,t,s)=>{if(!_||_({column:o})){let e=0,t=0;x&&(a={$table:H,column:o,columnIndex:a,$columnIndex:a,$rowIndex:-1},g&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(g)?g(a):g)),C)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(C)?C(a):C));var a=o.renderVisible,i=o.halfVisible,r=(0,_utils.formatText)(o.getTitle(),1),n=o.children&&o.children.length;let l=!!h&&!h({column:o});var u=!a;B.push((0,_vue.h)("tr",{key:o.id,colid:o.id,class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":n}],onDragstart:le,onDragend:oe,onDragover:ae},[m?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":a,"is--indeterminate":i,"is--disabled":l}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{l||Z(o)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[v?E&&d||1===o.level?(0,_vue.h)("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":l||u||o.renderFixed}],title:getI18n("vxe.custom.setting.sortHelpTip")},l||u||o.renderFixed?{}:{onMousedown:ee,onMouseup:te}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):(0,_vue.createCommentVNode)(),"html"===o.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:r}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--title",title:r},r)])]),x?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:b.resizable||c)?(0,_vue.h)("span","-"):M?(0,_vue.h)(M,{type:"integer",immediate:!1,disabled:l||u,modelValue:o.renderResizeWidth,min:e||void 0,max:t||void 0,"onUpdate:modelValue"(e){e=Math.max(0,Number(e));o.renderResizeWidth=e},onChange(){ne(o)}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?(0,_vue.h)("span","-"):R?(0,_vue.h)(R,{modelValue:o.renderFixed||"",type:"button",size:"mini",disabled:l||u,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:l||u||T},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:l||u},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:l||u||T}],"onUpdate:modelValue"(e){J(o,e)}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}});s={default:()=>O?H.callSlot(O,w):(0,_vue.h)("div",{ref:$,class:"vxe-table-custom-popup--body"},[k?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},H.callSlot(k,w)):renderEmptyElement(H),(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[m?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-seq"}):(0,_vue.createCommentVNode)(),(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-title"}),x?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-width"}):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[m?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":S,"is--indeterminate":N}],title:getI18n("vxe.table.allTitle"),onClick:Q},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",N?getIcon().TABLE_CHECKBOX_INDETERMINATE:S?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),x?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(u?"colFixedMax":"colFixed"),[u])):(0,_vue.createCommentVNode)()])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>B})])]),y?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-bottom"},H.callSlot(y,w)):renderEmptyElement(H),se()]),footer:()=>A?H.callSlot(A,w):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[F?(0,_vue.h)(F,{content:a.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!l,onClick:Y}):(0,_vue.createCommentVNode)(),d?F?(0,_vue.h)(F,{content:a.closeButtonText||getI18n("vxe.table.customClose"),onClick:j}):(0,_vue.createCommentVNode)():F?(0,_vue.h)(F,{content:a.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:P}):(0,_vue.createCommentVNode)(),!d&&F?(0,_vue.h)(F,{status:"primary",content:a.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:G}):(0,_vue.createCommentVNode)()])};return V&&(s.header=()=>H.callSlot(V,w)),"drawer"===i?L?(0,_vue.h)(L,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",I.className||""].join(" "),modelValue:t.visible,title:I.title||getI18n("vxe.custom.cstmTitle"),width:I.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:I.position,resize:!!I.resize,escClosable:!!I.escClosable,maskClosable:!!I.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},s):(0,_vue.createCommentVNode)():U?(0,_vue.h)(U,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",f.className||""].join(" "),modelValue:t.visible,title:f.title||getI18n("vxe.custom.cstmTitle"),width:f.width||Math.min(880,document.documentElement.clientWidth),minWidth:f.minWidth||700,height:f.height||Math.min(680,document.documentElement.clientHeight),minHeight:f.minHeight||400,showZoom:f.showZoom,showMaximize:f.showMaximize,showMinimize:f.showMinimize,mask:f.mask,lockView:f.lockView,resize:f.resize,escClosable:!!f.escClosable,maskClosable:!!f.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},s):(0,_vue.createCommentVNode)()}:()=>{var e=H.xeGrid,t=D.customStore,{isCustomStatus:l,customColumnList:o}=K,a=W.value;let c=a.immediate;var s=X.value,i=t.maxHeight;let{checkMethod:d,visibleMethod:m,allowVisible:v,allowSort:p,allowFixed:x,trigger:r,placement:n}=a,h=q.value,_=s.isCrossDrag;var s=a.slots||{},u=s.header,b=s.top,g=s.bottom,C=s.default,s=s.footer;let f=[];var I={},T=t.isAll,E=t.isIndeterminate,e=("hover"===r&&(I.onMouseenter=k,I.onMouseleave=y),{$table:H,$grid:e,columns:o,isAllChecked:T,isAllIndeterminate:E,isCustomStatus:l});return _xeUtils.default.eachTree(o,(t,e,l,o,a)=>{if(!m||m({column:t})){var s=t.renderVisible,i=t.halfVisible,r=t.children&&t.children.length,n=(0,_utils.formatText)(t.getTitle(),1);let e=!!d&&!d({column:t});var u=!s;f.push((0,_vue.h)("li",{key:t.id,colid:t.id,class:["vxe-table-custom--option","level--"+t.level,{"is--hidden":e||u,"is--group":r}],onDragstart:le,onDragend:oe,onDragover:ae},[v?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":i,"is--disabled":e}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{e||Z(t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-custom--name-option"},[p&&(_&&c||1===t.level)?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":e||u||t.renderFixed}],title:getI18n("vxe.custom.setting.sortHelpTip")},e||u||t.renderFixed?{}:{onMousedown:ee,onMouseup:te}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):(0,_vue.createCommentVNode)(),"html"===t.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom--checkbox-label",innerHTML:n}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom--checkbox-label"},n)]),!a&&x?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[F?(0,_vue.h)(F,{mode:"text",icon:"left"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===t.renderFixed?"primary":"",disabled:e||u||h&&!t.renderFixed,title:getI18n("left"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{J(t,"left")}}):(0,_vue.createCommentVNode)(),F?(0,_vue.h)(F,{mode:"text",icon:"right"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===t.renderFixed?"primary":"",disabled:e||u||h&&!t.renderFixed,title:getI18n("right"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{J(t,"right")}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}}),(0,_vue.h)("div",{ref:V,key:"simple",class:["vxe-table-custom-wrapper","placement--"+n,{"is--active":t.visible}],style:i&&!["left","right"].includes(n)?{maxHeight:i+"px"}:{}},t.visible?[(0,_vue.h)("div",{class:"vxe-table-custom--header"},u?H.callSlot(u,e):[(0,_vue.h)("ul",{class:"vxe-table-custom--panel-list"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[v?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":T,"is--indeterminate":E}],title:getI18n("vxe.table.allTitle"),onClick:Q},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",E?getIcon().TABLE_CHECKBOX_INDETERMINATE:T?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),(0,_vue.h)("div",{ref:$,class:"vxe-table-custom--body"},[b?(0,_vue.h)("div",{class:"vxe-table-custom--panel-top"},H.callSlot(b,e)):renderEmptyElement(H),C?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},H.callSlot(C,e)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:"vxe-table-custom--list",tag:"ul"},I),{default:()=>f}),g?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},H.callSlot(g,e)):renderEmptyElement(H),se()]),a.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},s?H.callSlot(s,e):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[F?(0,_vue.h)(F,{mode:"text",content:a.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!l,onClick:Y}):(0,_vue.createCommentVNode)(),c?F?(0,_vue.h)(F,{mode:"text",content:a.closeButtonText||getI18n("vxe.table.customClose"),onClick:j}):(0,_vue.createCommentVNode)():F?(0,_vue.h)(F,{mode:"text",content:a.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:P}):(0,_vue.createCommentVNode)(),!c&&F?(0,_vue.h)(F,{mode:"text",status:"primary",content:a.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:G}):(0,_vue.createCommentVNode)()])]):null]:[])})()}}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_log=require("../../../ui/src/log"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,getIcon,renderEmptyElement}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(D){let U=_ui.VxeUI.getComponent("VxeModal"),L=_ui.VxeUI.getComponent("VxeDrawer"),F=_ui.VxeUI.getComponent("VxeButton"),M=_ui.VxeUI.getComponent("VxeNumberInput"),R=_ui.VxeUI.getComponent("VxeRadioGroup"),H=(0,_vue.inject)("$xeTable",{}),{props:z,reactData:K,internalData:s}=H,{computeCustomOpts:W,computeColumnDragOpts:X,computeColumnOpts:ie,computeIsMaxFixedColumn:$,computeResizableOpts:re}=H.getComputeMaps(),V=(0,_vue.ref)(),q=(0,_vue.ref)(),r=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),g,C=!1,f,k=e=>{var t=D.customStore;t.activeWrapper=!0,H.customOpenEvent(e)},y=e=>{let t=D.customStore;t.activeWrapper=!1,setTimeout(()=>{t.activeBtn||t.activeWrapper||H.customCloseEvent(e)},300)},G=({$event:e})=>{K.isCustomStatus=!0,H.saveCustom(),H.closeCustom(),H.emitCustomEvent("confirm",e)},j=({$event:e})=>{H.closeCustom(),H.emitCustomEvent("close",e)},P=({$event:e})=>{H.cancelCustom(),H.closeCustom(),H.emitCustomEvent("cancel",e)},l=e=>{H.resetCustom(!0),H.closeCustom(),H.emitCustomEvent("reset",e)},Y=({$event:t})=>{_ui.VxeUI.modal?_ui.VxeUI.modal.confirm({content:getI18n("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then(e=>{"confirm"===e&&l(t)}):l(t)},o=t=>{var e=K.customColumnList,e=_xeUtils.default.findTree(e,e=>e===t);e&&e.parent&&(e=e.parent,e.children)&&e.children.length&&(e.renderVisible=e.children.every(e=>e.renderVisible),e.halfVisible=!e.renderVisible&&e.children.some(e=>e.renderVisible||e.halfVisible),o(e))},Z=e=>{let t=!e.renderVisible;W.value.immediate?(_xeUtils.default.eachTree([e],e=>{e.visible=t,e.renderVisible=t,e.halfVisible=!1}),K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:visible")):_xeUtils.default.eachTree([e],e=>{e.renderVisible=t,e.halfVisible=!1}),o(e),H.checkCustomStatus()},ne=e=>{W.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:width"))},J=(e,t)=>{var l=$.value;W.value.immediate?(e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.fixed="",e.renderFixed=""}):l&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.fixed=t,e.renderFixed=t}),K.isCustomStatus=!0,H.handleCustom(),H.saveCustomStore("update:fixed")):e.renderFixed===t?_xeUtils.default.eachTree([e],e=>{e.renderFixed=""}):l&&!e.renderFixed||_xeUtils.default.eachTree([e],e=>{e.renderFixed=t})},Q=()=>{H.toggleCustomAllCheckbox()},c=(e,t,l,o)=>{var a,s,i=q.value;i&&(a=i.getBoundingClientRect(),t&&(s=r.value)&&(l?(t=t.getBoundingClientRect(),s.style.display="block",s.style.top=Math.max(1,t.y+i.scrollTop-a.y)+"px",s.style.height=t.height+"px",s.style.width=t.width+"px",s.setAttribute("drag-pos",o),s.setAttribute("drag-to-child",C?"y":"n")):s.style.display=""),t=n.value)&&(t.style.display="block",t.style.top=Math.min(i.clientHeight+i.scrollTop-t.clientHeight,e.clientY+i.scrollTop-a.y)+"px",t.style.left=Math.min(i.clientWidth+i.scrollLeft-t.clientWidth,e.clientX+i.scrollLeft-a.x)+"px",t.setAttribute("drag-status",l?C?"sub":"normal":"disabled"))},a=()=>{var e=n.value,t=r.value;e&&(e.style.display=""),t&&(t.style.display="")},ee=e=>{var e=e.currentTarget.parentElement.parentElement.parentElement,t=e.getAttribute("colid"),t=H.getColumnById(t);e.draggable=!0,u.value=t,(0,_dom.addClass)(e,"active--drag-origin")},te=e=>{e=e.currentTarget.parentElement.parentElement.parentElement;a(),e.draggable=!1,(u.value=null,_dom.removeClass)(e,"active--drag-origin")},le=e=>{e.dataTransfer&&e.dataTransfer.setDragImage((0,_dom.getTpImg)(),0,0)},oe=c=>{let d=z.mouseConfig,m=K.customColumnList,v=s.collectColumn;let p=W.value.immediate;var e=c.currentTarget,t=u.value;let{isCrossDrag:x,isSelfToChildDrag:h,isToChildDrag:_,dragEndMethod:l}=X.value,b="bottom"===f?1:0;if(g&&t&&g!==t){let n=t,u=g;Promise.resolve(!l||l({oldColumn:n,newColumn:u,dragColumn:n,dragPos:f,dragToChild:!!C,offsetIndex:b})).then(a=>{if(a){let e=-1,t=-1,l={},o=(_xeUtils.default.eachTree([n],e=>{l[e.id]=e}),!1);if(p){if(n.parentId&&u.parentId){if(!x)return;if(l[u.id]&&(o=!0,!x||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}else if(n.parentId){if(!x)return}else if(u.parentId){if(!x)return;if(l[u.id]&&(o=!0,!x||!h))return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({status:"error",content:getI18n("vxe.error.treeDragChild")}))}var s,i,r,a=_xeUtils.default.findTree(v,e=>e.id===n.id),a=(o&&x&&h?a&&({items:s,index:r}=a,(i=n.children||[]).forEach(e=>{e.parentId=n.parentId}),s.splice(r,1,...i),n.children=[]):a&&({items:s,index:r,parent:i}=a,s.splice(r,1),i||(e=r)),_xeUtils.default.findTree(v,e=>e.id===u.id));a&&({items:s,index:i,parent:r}=a,x&&_&&C?(n.parentId=u.id,u.children=(u.children||[]).concat([n])):(n.parentId=u.parentId,s.splice(i+b,0,n)),r||(t=i)),_xeUtils.default.eachTree(v,(e,t,l,o,a)=>{a||(e.renderSortNumber=t+1)})}else e=_xeUtils.default.findIndexOf(m,e=>e.id===n.id),m.splice(e,1),t=_xeUtils.default.findIndexOf(m,e=>e.id===u.id),m.splice(t+b,0,n);K.isDragColMove=!0,d&&(H.clearSelected&&H.clearSelected(),H.clearCellAreas)&&(H.clearCellAreas(),H.clearCopyCellArea()),H.dispatchEvent("column-dragend",{oldColumn:n,newColumn:u,dragColumn:n,dragPos:f,offsetIndex:b,_index:{newIndex:t,oldIndex:e}},c),p&&(K.customColumnList=v.slice(0),H.handleColDragSwapColumn())}}).catch(()=>{})}a(),u.value=null,e.draggable=!1,e.removeAttribute("drag-pos"),(0,_dom.removeClass)(e,"active--drag-target"),(0,_dom.removeClass)(e,"active--drag-origin")},ae=e=>{var t,l=W.value.immediate,{isCrossDrag:o,isToChildDrag:a}=X.value,s=e.currentTarget,i=(0,_dom.hasControlKey)(e),r=s.getAttribute("colid"),r=H.getColumnById(r),n=u.value;r&&(o||1===r.level)&&(e.preventDefault(),t=e.clientY-s.getBoundingClientRect().y<s.clientHeight/2?"top":"bottom",n&&n.id===r.id||!o&&1<r.level||!l&&1<r.level||r.renderFixed?c(e,s,!1,t):(C=!!(o&&a&&i&&l),g=r,f=t,c(e,s,!0,t)))},se=()=>{var e=u.value,t=X.value;return(0,_vue.h)("div",{},[(0,_vue.h)("div",{ref:r,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),(0,_vue.h)("div",{ref:n,class:"vxe-table-custom-popup--drag-tip"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-status"},[(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",getIcon().TABLE_DRAG_STATUS_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",getIcon().TABLE_DRAG_STATUS_SUB_ROW]}),(0,_vue.h)("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",getIcon().TABLE_DRAG_DISABLED]})]),(0,_vue.h)("div",{class:"vxe-table-custom-popup--drag-tip-content"},getI18n("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]))])])])};return(0,_vue.nextTick)(()=>{var e=W.value.mode;U||(0,_log.errLog)("vxe.error.reqComp",["vxe-modal"]),L||"drawer"!==e||(0,_log.errLog)("vxe.error.reqComp",["vxe-drawer"]),F||(0,_log.errLog)("vxe.error.reqComp",["vxe-button"]),M||(0,_log.errLog)("vxe.error.reqComp",["vxe-number-input"]),R||(0,_log.errLog)("vxe.error.reqComp",["vxe-radio-group"])}),()=>{var e=W.value;return(["modal","drawer","popup"].includes(""+e.mode)?()=>{var e=H.xeGrid;let t=D.customStore,c=z.resizable,{isCustomStatus:l,customColumnList:o}=K,a=W.value,d=a.immediate;var s=X.value;let{mode:i,modalOptions:r,drawerOptions:n,allowVisible:m,allowSort:v,allowFixed:p,allowResizable:x,checkMethod:h,visibleMethod:_}=a,b=ie.value,u=b.maxFixedSize,{minWidth:g,maxWidth:C}=re.value;var f=Object.assign({},r),I=Object.assign({},n);let T=$.value,E=s.isCrossDrag;s=a.slots||{};let V=s.header,k=s.top,y=s.bottom,O=s.default,A=s.footer,B=[],S=t.isAll,N=t.isIndeterminate,w={$table:H,$grid:e,columns:o,isAllChecked:S,isAllIndeterminate:N,isCustomStatus:l};_xeUtils.default.eachTree(o,(o,a,e,t,s)=>{if(!_||_({$table:H,column:o})){let e=0,t=0;x&&(a={$table:H,column:o,columnIndex:a,$columnIndex:a,$rowIndex:-1},g&&(e=_xeUtils.default.toNumber(_xeUtils.default.isFunction(g)?g(a):g)),C)&&(t=_xeUtils.default.toNumber(_xeUtils.default.isFunction(C)?C(a):C));var a=o.renderVisible,i=o.halfVisible,r=(0,_utils.formatText)(o.getTitle(),1),n=o.children&&o.children.length;let l=!!h&&!h({$table:H,column:o});var u=!a;B.push((0,_vue.h)("tr",{key:o.id,colid:o.id,class:["vxe-table-custom-popup--row level--"+o.level,{"is--group":n}],onDragstart:le,onDragend:oe,onDragover:ae},[m?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--visible"},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":a,"is--indeterminate":i,"is--disabled":l}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{l||Z(o)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:a?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--name"},[(0,_vue.h)("div",{class:"vxe-table-custom-popup--name"},[v?E&&d||1===o.level?(0,_vue.h)("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":l||u||o.renderFixed}],title:getI18n("vxe.custom.setting.sortHelpTip")},l||u||o.renderFixed?{}:{onMousedown:ee,onMouseup:te}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})]):(0,_vue.h)("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):(0,_vue.createCommentVNode)(),"html"===o.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:r}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom-popup--title",title:r},r)])]),x?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[o.children&&o.children.length||!(_xeUtils.default.isBoolean(o.resizable)?o.resizable:b.resizable||c)?(0,_vue.h)("span","-"):M?(0,_vue.h)(M,{type:"integer",immediate:!1,disabled:l||u,modelValue:o.renderResizeWidth,min:e||void 0,max:t||void 0,"onUpdate:modelValue"(e){e=Math.max(0,Number(e));o.renderResizeWidth=e},onChange(){ne(o)}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[s?(0,_vue.h)("span","-"):R?(0,_vue.h)(R,{modelValue:o.renderFixed||"",type:"button",size:"mini",disabled:l||u,options:[{label:getI18n("vxe.custom.setting.fixedLeft"),value:"left",disabled:l||u||T},{label:getI18n("vxe.custom.setting.fixedUnset"),value:"",disabled:l||u},{label:getI18n("vxe.custom.setting.fixedRight"),value:"right",disabled:l||u||T}],"onUpdate:modelValue"(e){J(o,e)}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}});s={default:()=>O?H.callSlot(O,w):(0,_vue.h)("div",{ref:q,class:"vxe-table-custom-popup--body"},[k?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-top"},H.callSlot(k,w)):renderEmptyElement(H),(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-wrapper"},[(0,_vue.h)("table",{},[(0,_vue.h)("colgroup",{},[m?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-seq"}):(0,_vue.createCommentVNode)(),(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-title"}),x?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-width"}):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("col",{class:"vxe-table-custom-popup--table-col-fixed"}):(0,_vue.createCommentVNode)()]),(0,_vue.h)("thead",{},[(0,_vue.h)("tr",{},[m?(0,_vue.h)("th",{},[(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":S,"is--indeterminate":N}],title:getI18n("vxe.table.allTitle"),onClick:Q},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",N?getIcon().TABLE_CHECKBOX_INDETERMINATE:S?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))])]):(0,_vue.createCommentVNode)(),(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colTitle")),x?(0,_vue.h)("th",{},getI18n("vxe.custom.setting.colResizable")):(0,_vue.createCommentVNode)(),p?(0,_vue.h)("th",{},getI18n("vxe.custom.setting."+(u?"colFixedMax":"colFixed"),[u])):(0,_vue.createCommentVNode)()])]),(0,_vue.h)(_vue.TransitionGroup,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>B})])]),y?(0,_vue.h)("div",{class:"vxe-table-custom-popup--table-bottom"},H.callSlot(y,w)):renderEmptyElement(H),se()]),footer:()=>A?H.callSlot(A,w):(0,_vue.h)("div",{class:"vxe-table-custom-popup--footer"},[F?(0,_vue.h)(F,{content:a.resetButtonText||getI18n("vxe.custom.cstmRestore"),disabled:!l,onClick:Y}):(0,_vue.createCommentVNode)(),d?F?(0,_vue.h)(F,{content:a.closeButtonText||getI18n("vxe.table.customClose"),onClick:j}):(0,_vue.createCommentVNode)():F?(0,_vue.h)(F,{content:a.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:P}):(0,_vue.createCommentVNode)(),!d&&F?(0,_vue.h)(F,{status:"primary",content:a.confirmButtonText||getI18n("vxe.custom.cstmConfirm"),onClick:G}):(0,_vue.createCommentVNode)()])};return V&&(s.header=()=>H.callSlot(V,w)),"drawer"===i?L?(0,_vue.h)(L,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",I.className||""].join(" "),modelValue:t.visible,title:I.title||getI18n("vxe.custom.cstmTitle"),width:I.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:I.position,resize:!!I.resize,escClosable:!!I.escClosable,maskClosable:!!I.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},s):(0,_vue.createCommentVNode)():U?(0,_vue.h)(U,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",f.className||""].join(" "),modelValue:t.visible,title:f.title||getI18n("vxe.custom.cstmTitle"),width:f.width||Math.min(880,document.documentElement.clientWidth),minWidth:f.minWidth||700,height:f.height||Math.min(680,document.documentElement.clientHeight),minHeight:f.minHeight||400,showZoom:f.showZoom,showMaximize:f.showMaximize,showMinimize:f.showMinimize,mask:f.mask,lockView:f.lockView,resize:f.resize,escClosable:!!f.escClosable,maskClosable:!!f.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){t.visible=e}},s):(0,_vue.createCommentVNode)()}:()=>{var e=H.xeGrid,t=D.customStore,{isCustomStatus:l,customColumnList:o}=K,a=W.value;let c=a.immediate;var s=X.value,i=t.maxHeight;let{checkMethod:d,visibleMethod:m,allowVisible:v,allowSort:p,allowFixed:x,trigger:r,placement:n}=a,h=$.value,_=s.isCrossDrag;var s=a.slots||{},u=s.header,b=s.top,g=s.bottom,C=s.default,s=s.footer;let f=[];var I={},T=t.isAll,E=t.isIndeterminate,e=("hover"===r&&(I.onMouseenter=k,I.onMouseleave=y),{$table:H,$grid:e,columns:o,isAllChecked:T,isAllIndeterminate:E,isCustomStatus:l});return _xeUtils.default.eachTree(o,(t,e,l,o,a)=>{if(!m||m({$table:H,column:t})){var s=t.renderVisible,i=t.halfVisible,r=t.children&&t.children.length,n=(0,_utils.formatText)(t.getTitle(),1);let e=!!d&&!d({$table:H,column:t});var u=!s;f.push((0,_vue.h)("li",{key:t.id,colid:t.id,class:["vxe-table-custom--option","level--"+t.level,{"is--hidden":e||u,"is--group":r}],onDragstart:le,onDragend:oe,onDragover:ae},[v?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":s,"is--indeterminate":i,"is--disabled":e}],title:getI18n("vxe.custom.setting.colVisible"),onClick:()=>{e||Z(t)}},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",i?getIcon().TABLE_CHECKBOX_INDETERMINATE:s?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-table-custom--name-option"},[p&&(_&&c||1===t.level)?(0,_vue.h)("div",{class:"vxe-table-custom--sort-option"},[(0,_vue.h)("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":e||u||t.renderFixed}],title:getI18n("vxe.custom.setting.sortHelpTip")},e||u||t.renderFixed?{}:{onMousedown:ee,onMouseup:te}),[(0,_vue.h)("i",{class:getIcon().TABLE_CUSTOM_SORT})])]):(0,_vue.createCommentVNode)(),"html"===t.type?(0,_vue.h)("div",{key:"1",class:"vxe-table-custom--checkbox-label",innerHTML:n}):(0,_vue.h)("div",{key:"0",class:"vxe-table-custom--checkbox-label"},n)]),!a&&x?(0,_vue.h)("div",{class:"vxe-table-custom--fixed-option"},[F?(0,_vue.h)(F,{mode:"text",icon:"left"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===t.renderFixed?"primary":"",disabled:e||u||h&&!t.renderFixed,title:getI18n("left"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{J(t,"left")}}):(0,_vue.createCommentVNode)(),F?(0,_vue.h)(F,{mode:"text",icon:"right"===t.renderFixed?getIcon().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:getIcon().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===t.renderFixed?"primary":"",disabled:e||u||h&&!t.renderFixed,title:getI18n("right"===t.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{J(t,"right")}}):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()]))}}),(0,_vue.h)("div",{ref:V,key:"simple",class:["vxe-table-custom-wrapper","placement--"+n,{"is--active":t.visible}],style:i&&!["left","right"].includes(n)?{maxHeight:i+"px"}:{}},t.visible?[(0,_vue.h)("div",{class:"vxe-table-custom--header"},u?H.callSlot(u,e):[(0,_vue.h)("ul",{class:"vxe-table-custom--panel-list"},[(0,_vue.h)("li",{class:"vxe-table-custom--option"},[v?(0,_vue.h)("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":T,"is--indeterminate":E}],title:getI18n("vxe.table.allTitle"),onClick:Q},[(0,_vue.h)("span",{class:["vxe-checkbox--icon",E?getIcon().TABLE_CHECKBOX_INDETERMINATE:T?getIcon().TABLE_CHECKBOX_CHECKED:getIcon().TABLE_CHECKBOX_UNCHECKED]}),(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.toolbar.customAll"))]):(0,_vue.h)("span",{class:"vxe-checkbox--label"},getI18n("vxe.table.customTitle"))])])]),(0,_vue.h)("div",{ref:q,class:"vxe-table-custom--body"},[b?(0,_vue.h)("div",{class:"vxe-table-custom--panel-top"},H.callSlot(b,e)):renderEmptyElement(H),C?(0,_vue.h)("div",{class:"vxe-table-custom--panel-body"},H.callSlot(C,e)):(0,_vue.h)(_vue.TransitionGroup,Object.assign({class:"vxe-table-custom--panel-list",name:"vxe-table-custom--list",tag:"ul"},I),{default:()=>f}),g?(0,_vue.h)("div",{class:"vxe-table-custom--panel-bottom"},H.callSlot(g,e)):renderEmptyElement(H),se()]),a.showFooter?(0,_vue.h)("div",{class:"vxe-table-custom--footer"},s?H.callSlot(s,e):[(0,_vue.h)("div",{class:"vxe-table-custom--footer-buttons"},[F?(0,_vue.h)(F,{mode:"text",content:a.resetButtonText||getI18n("vxe.table.customRestore"),disabled:!l,onClick:Y}):(0,_vue.createCommentVNode)(),c?F?(0,_vue.h)(F,{mode:"text",content:a.closeButtonText||getI18n("vxe.table.customClose"),onClick:j}):(0,_vue.createCommentVNode)():F?(0,_vue.h)(F,{mode:"text",content:a.cancelButtonText||getI18n("vxe.table.customCancel"),onClick:P}):(0,_vue.createCommentVNode)(),!c&&F?(0,_vue.h)(F,{mode:"text",status:"primary",content:a.confirmButtonText||getI18n("vxe.table.customConfirm"),onClick:G}):(0,_vue.createCommentVNode)()])]):null]:[])})()}}});
|
|
@@ -83,11 +83,12 @@ function toTableBorder(border) {
|
|
|
83
83
|
function getBooleanValue(cellValue) {
|
|
84
84
|
return cellValue === 'TRUE' || cellValue === 'true' || cellValue === true;
|
|
85
85
|
}
|
|
86
|
-
function getFooterData(opts, footerTableData) {
|
|
86
|
+
function getFooterData($xeTable, opts, footerTableData) {
|
|
87
87
|
const {
|
|
88
88
|
footerFilterMethod
|
|
89
89
|
} = opts;
|
|
90
90
|
return footerFilterMethod ? footerTableData.filter((items, index) => footerFilterMethod({
|
|
91
|
+
$table: $xeTable,
|
|
91
92
|
items,
|
|
92
93
|
$rowIndex: index
|
|
93
94
|
})) : footerTableData;
|
|
@@ -302,6 +303,7 @@ hooks.add('tableExportModule', {
|
|
|
302
303
|
const seqMethod = seqOpts.seqMethod || column.seqMethod;
|
|
303
304
|
if (seqMethod) {
|
|
304
305
|
return seqMethod({
|
|
306
|
+
$table: $xeTable,
|
|
305
307
|
row,
|
|
306
308
|
rowIndex: $xeTable.getRowIndex(row),
|
|
307
309
|
$rowIndex,
|
|
@@ -390,6 +392,7 @@ hooks.add('tableExportModule', {
|
|
|
390
392
|
cellValue = toBooleanValue($xeTable.isCheckedByCheckboxRow(row));
|
|
391
393
|
item._checkboxLabel = checkboxOpts.labelField ? _xeUtils.default.get(row, checkboxOpts.labelField) : '';
|
|
392
394
|
item._checkboxDisabled = checkboxOpts.checkMethod && !checkboxOpts.checkMethod({
|
|
395
|
+
$table: $xeTable,
|
|
393
396
|
row
|
|
394
397
|
});
|
|
395
398
|
break;
|
|
@@ -397,6 +400,7 @@ hooks.add('tableExportModule', {
|
|
|
397
400
|
cellValue = toBooleanValue($xeTable.isCheckedByRadioRow(row));
|
|
398
401
|
item._radioLabel = radioOpts.labelField ? _xeUtils.default.get(row, radioOpts.labelField) : '';
|
|
399
402
|
item._radioDisabled = radioOpts.checkMethod && !radioOpts.checkMethod({
|
|
403
|
+
$table: $xeTable,
|
|
400
404
|
row
|
|
401
405
|
});
|
|
402
406
|
break;
|
|
@@ -460,6 +464,7 @@ hooks.add('tableExportModule', {
|
|
|
460
464
|
cellValue = toBooleanValue($xeTable.isCheckedByCheckboxRow(row));
|
|
461
465
|
item._checkboxLabel = checkboxOpts.labelField ? _xeUtils.default.get(row, checkboxOpts.labelField) : '';
|
|
462
466
|
item._checkboxDisabled = checkboxOpts.checkMethod && !checkboxOpts.checkMethod({
|
|
467
|
+
$table: $xeTable,
|
|
463
468
|
row
|
|
464
469
|
});
|
|
465
470
|
break;
|
|
@@ -467,6 +472,7 @@ hooks.add('tableExportModule', {
|
|
|
467
472
|
cellValue = toBooleanValue($xeTable.isCheckedByRadioRow(row));
|
|
468
473
|
item._radioLabel = radioOpts.labelField ? _xeUtils.default.get(row, radioOpts.labelField) : '';
|
|
469
474
|
item._radioDisabled = radioOpts.checkMethod && !radioOpts.checkMethod({
|
|
475
|
+
$table: $xeTable,
|
|
470
476
|
row
|
|
471
477
|
});
|
|
472
478
|
break;
|
|
@@ -500,6 +506,7 @@ hooks.add('tableExportModule', {
|
|
|
500
506
|
let datas = opts.data;
|
|
501
507
|
if (dataFilterMethod) {
|
|
502
508
|
datas = datas.filter((row, index) => dataFilterMethod({
|
|
509
|
+
$table: $xeTable,
|
|
503
510
|
row,
|
|
504
511
|
$rowIndex: index
|
|
505
512
|
}));
|
|
@@ -537,7 +544,7 @@ hooks.add('tableExportModule', {
|
|
|
537
544
|
}
|
|
538
545
|
return _xeUtils.default.get(row, column.field);
|
|
539
546
|
};
|
|
540
|
-
const toCsv = (opts, columns, datas) => {
|
|
547
|
+
const toCsv = ($xeTable, opts, columns, datas) => {
|
|
541
548
|
let content = csvBOM;
|
|
542
549
|
if (opts.isHeader) {
|
|
543
550
|
content += columns.map(column => toTxtCellLabel(getHeaderTitle(opts, column))).join(',') + enterSymbol;
|
|
@@ -549,14 +556,14 @@ hooks.add('tableExportModule', {
|
|
|
549
556
|
const {
|
|
550
557
|
footerTableData
|
|
551
558
|
} = reactData;
|
|
552
|
-
const footers = getFooterData(opts, footerTableData);
|
|
559
|
+
const footers = getFooterData($xeTable, opts, footerTableData);
|
|
553
560
|
footers.forEach(row => {
|
|
554
561
|
content += columns.map(column => toTxtCellLabel(getFooterCellValue(opts, row, column))).join(',') + enterSymbol;
|
|
555
562
|
});
|
|
556
563
|
}
|
|
557
564
|
return content;
|
|
558
565
|
};
|
|
559
|
-
const toTxt = (opts, columns, datas) => {
|
|
566
|
+
const toTxt = ($xeTable, opts, columns, datas) => {
|
|
560
567
|
let content = '';
|
|
561
568
|
if (opts.isHeader) {
|
|
562
569
|
content += columns.map(column => toTxtCellLabel(getHeaderTitle(opts, column))).join('\t') + enterSymbol;
|
|
@@ -568,7 +575,7 @@ hooks.add('tableExportModule', {
|
|
|
568
575
|
const {
|
|
569
576
|
footerTableData
|
|
570
577
|
} = reactData;
|
|
571
|
-
const footers = getFooterData(opts, footerTableData);
|
|
578
|
+
const footers = getFooterData($xeTable, opts, footerTableData);
|
|
572
579
|
footers.forEach(row => {
|
|
573
580
|
content += columns.map(column => toTxtCellLabel(getFooterCellValue(opts, row, column))).join('\t') + enterSymbol;
|
|
574
581
|
});
|
|
@@ -746,7 +753,7 @@ hooks.add('tableExportModule', {
|
|
|
746
753
|
const {
|
|
747
754
|
footerTableData
|
|
748
755
|
} = reactData;
|
|
749
|
-
const footers = getFooterData(opts, footerTableData);
|
|
756
|
+
const footers = getFooterData($xeTable, opts, footerTableData);
|
|
750
757
|
if (footers.length) {
|
|
751
758
|
tables.push('<tfoot>');
|
|
752
759
|
footers.forEach(row => {
|
|
@@ -780,20 +787,20 @@ hooks.add('tableExportModule', {
|
|
|
780
787
|
const {
|
|
781
788
|
footerTableData
|
|
782
789
|
} = reactData;
|
|
783
|
-
const footers = getFooterData(opts, footerTableData);
|
|
790
|
+
const footers = getFooterData($xeTable, opts, footerTableData);
|
|
784
791
|
footers.forEach(row => {
|
|
785
792
|
xml += `<Row>${columns.map(column => `<Cell><Data ss:Type="String">${getFooterCellValue(opts, row, column)}</Data></Cell>`).join('')}</Row>`;
|
|
786
793
|
});
|
|
787
794
|
}
|
|
788
795
|
return `${xml}</Table></Worksheet></Workbook>`;
|
|
789
796
|
};
|
|
790
|
-
const getContent = (opts, columns, datas) => {
|
|
797
|
+
const getContent = ($xeTable, opts, columns, datas) => {
|
|
791
798
|
if (columns.length) {
|
|
792
799
|
switch (opts.type) {
|
|
793
800
|
case 'csv':
|
|
794
|
-
return toCsv(opts, columns, datas);
|
|
801
|
+
return toCsv($xeTable, opts, columns, datas);
|
|
795
802
|
case 'txt':
|
|
796
|
-
return toTxt(opts, columns, datas);
|
|
803
|
+
return toTxt($xeTable, opts, columns, datas);
|
|
797
804
|
case 'html':
|
|
798
805
|
return toHtml(opts, columns, datas);
|
|
799
806
|
case 'xml':
|
|
@@ -857,7 +864,7 @@ hooks.add('tableExportModule', {
|
|
|
857
864
|
colgroups,
|
|
858
865
|
datas
|
|
859
866
|
}, () => {
|
|
860
|
-
return downloadFile(opts, getContent(opts, columns, datas));
|
|
867
|
+
return downloadFile(opts, getContent($xeTable, opts, columns, datas));
|
|
861
868
|
}));
|
|
862
869
|
}
|
|
863
870
|
}).then(params => {
|
|
@@ -1208,6 +1215,7 @@ hooks.add('tableExportModule', {
|
|
|
1208
1215
|
column.checked = isChecked;
|
|
1209
1216
|
column.halfChecked = false;
|
|
1210
1217
|
column.disabled = parent && parent.disabled || (checkMethod ? !checkMethod({
|
|
1218
|
+
$table: $xeTable,
|
|
1211
1219
|
column
|
|
1212
1220
|
}) : false);
|
|
1213
1221
|
});
|
|
@@ -1407,6 +1415,7 @@ hooks.add('tableExportModule', {
|
|
|
1407
1415
|
children: 'childNodes',
|
|
1408
1416
|
mapChildren: '_children'
|
|
1409
1417
|
}), (column, index) => (0, _util.isColumnInfo)(column) && (!columnFilterMethod || columnFilterMethod({
|
|
1418
|
+
$table: $xeTable,
|
|
1410
1419
|
column: column,
|
|
1411
1420
|
$columnIndex: index
|
|
1412
1421
|
})), {
|
|
@@ -1416,6 +1425,7 @@ hooks.add('tableExportModule', {
|
|
|
1416
1425
|
});
|
|
1417
1426
|
} else {
|
|
1418
1427
|
groups = _xeUtils.default.searchTree(isGroup ? collectColumn : tableFullColumn, (column, index) => column.visible && (!columnFilterMethod || columnFilterMethod({
|
|
1428
|
+
$table: $xeTable,
|
|
1419
1429
|
column,
|
|
1420
1430
|
$columnIndex: index
|
|
1421
1431
|
})), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,hooks,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.field||-1<["seq","checkbox","radio"].indexOf(e.type)}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(e,t){let l=e.footerFilterMethod;return l?t.filter((e,t)=>l({items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],s=[];if(e.length){let r={},o=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);s.length?(e.forEach((e,t)=>{t<s.length&&(l[s[t]]=getTxtCellValue(e.trim(),r))}),i.push(l)):s=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),r)))}})}return{fields:s,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{o.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}let tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];hooks.add("tableExportModule",{setupTable(F){let{props:U,reactData:j,internalData:I}=F,{computeTreeOpts:N,computePrintOpts:i,computeExportOpts:D,computeImportOpts:c,computeCustomOpts:E,computeSeqOpts:s,computeRadioOpts:r,computeCheckboxOpts:o,computeColumnOpts:n}=F.getComputeMaps(),O=(0,_vue.inject)("$xeGrid",null),g=e=>{var t=N.value,t=t.children||t.childrenField;return e[t]&&e[t].length},f=(e,t,l,r,o)=>{var a=s.value.seqMethod||r.seqMethod;return a?a({row:t,rowIndex:F.getRowIndex(t),$rowIndex:l,column:r,columnIndex:F.getColumnIndex(r),$columnIndex:o}):e};function C(e,t){var l=n.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:F}):(e.isTitle?t.getTitle():t.field)||""}let v=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,b=e=>(0,_utils.eqEmptyValue)(e)?"":""+e,d=(c,u,e)=>{let{isAllExpand:i,mode:p}=c;var t=U.treeConfig;let m=r.value,h=o.value;var l=N.value;let x=n.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let o=[],a=new Map;return _xeUtils.default.eachTree(e,(e,s,t,n,l,r)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(i||!e||a.has(e)&&F.isTreeExpandByRow(e)){l=g(d);let i={_row:d,_level:r.length-1,_hasChild:l,_expand:l&&F.isTreeExpandByRow(d)};u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||x.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||x.exportMethod)l=o({$table:F,row:d,column:e,options:c});else switch(e.type){case"seq":var a=n.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===p?a:f(a,d,s,e,t);break;case"checkbox":l=v(F.isCheckedByCheckboxRow(d)),i._checkboxLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",i._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:d});break;case"radio":l=v(F.isCheckedByRadioRow(d)),i._radioLabel=m.labelField?_xeUtils.default.get(d,m.labelField):"",i._radioDisabled=m.checkMethod&&!m.checkMethod({row:d});break;default:c.original?l=(0,_util.getCellValue)(d,e):(l=F.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=F.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=b(l)}),a.set(d,1),o.push(Object.assign(i,d))}},{children:t}),o}return e.map((i,s)=>{let n={_row:i};return u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||x.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:F,row:i,column:e,options:c});else switch(e.type){case"seq":var a=s+1;l="all"===p?a:f(a,i,s,e,t);break;case"checkbox":l=v(F.isCheckedByCheckboxRow(i)),n._checkboxLabel=h.labelField?_xeUtils.default.get(i,h.labelField):"",n._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:i});break;case"radio":l=v(F.isCheckedByRadioRow(i)),n._radioLabel=m.labelField?_xeUtils.default.get(i,m.labelField):"",n._radioDisabled=m.checkMethod&&!m.checkMethod({row:i});break;default:c.original?l=(0,_util.getCellValue)(i,e):(l=F.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=F.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=b(l)}),n})},T=(e,t,l)=>{var r=n.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.tableFooterExportMethod||o.footerExportMethod:a)||r.footerExportMethod;o=F.getVTColumnIndex(l);return a?a({$table:F,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e}):_xeUtils.default.isArray(t)?_xeUtils.default.toValueString(t[o]):_xeUtils.default.get(t,l.field)},u=(l,e,t)=>{let r=csvBOM;return l.isHeader&&(r+=e.map(e=>toTxtCellLabel(C(l,e))).join(",")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=j.footerTableData,getFooterData(l,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(T(l,t,e))).join(",")+enterSymbol})),r},p=(l,e,t)=>{let r="";return l.isHeader&&(r+=e.map(e=>toTxtCellLabel(C(l,e))).join("\t")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=j.footerTableData,getFooterData(l,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(T(l,t,e))).join("\t")+enterSymbol})),r},k=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=j;return r=l||e?r||!0:r},m=(s,e,t)=>{let{id:d,border:l,treeConfig:r,headerAlign:n,align:c,footerAlign:a,showOverflow:u,showHeaderOverflow:p}=U,{isAllSelected:m,isIndeterminate:o}=j,h=I.mergeBodyCellMaps,i=N.value,{print:x,isHeader:g,isFooter:f,isColgroup:v,isMerge:b,colgroups:_,original:y}=s,$="check-all";let w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(w.push("<thead>"),v&&!y?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||n||c,l=k(t,"showHeaderOverflow",p)?["col--ellipsis"]:[],r=C(s,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${i}px"`}><input type="checkbox" class="${$}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${x?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||n||c,l=k(e,"showHeaderOverflow",p)?["col--ellipsis"]:[],r=C(s,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${$}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),r?t.forEach(o=>{w.push("<tr>"+e.map(t=>{var l=t.id,e=t.align||c,r=k(t,"showOverflow",u)?["col--ellipsis"]:[],l=o[l];if(e&&r.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),r.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${l}</div></div></div></td>`}return"radio"===t.type?`<td class="${r.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(l,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=k(e,"showOverflow",u)?["col--ellipsis"]:[],r=n[e.id];let o=1,a=1;if(b){var i=F.getVTRowIndex(n._row),s=F.getVTColumnIndex(e),i=h[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),w.push("</tbody>")),f&&(t=j.footerTableData,(t=getFooterData(s,t)).length)&&(w.push("<tfoot>"),t.forEach(o=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=k(e,"showOverflow",u)?["col--ellipsis"]:[],r=T(s,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),w.push("</tfoot>"));t=!m&&o?`<script>(function(){var a=document.querySelector(".${$}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(s,w.join(""))},h=(l,e,t)=>{let r=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${C(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=j.footerTableData,getFooterData(l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${T(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},L=l=>{let{remote:r,columns:o,colgroups:a,exportMethod:i,afterExportMethod:t}=l;return new Promise(t=>{if(r){var e={options:l,$table:F,$grid:O};t(i?i(e):e)}else{let e=(e=>{let{columns:t,dataFilterMethod:l}=e,r=e.data;return l&&(r=r.filter((e,t)=>l({row:e,$rowIndex:t}))),d(e,t,r)})(l);t(F.preventEvent(null,"event.export",{options:l,columns:o,colgroups:a,datas:e},()=>((e,t)=>{var{filename:l,type:r,download:o}=e;if(!o)return o=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:r,content:t,blob:o});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:r,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})})(l,((e,t,l)=>{if(t.length)switch(e.type){case"csv":return u(e,t,l);case"txt":return p(e,t,l);case"html":return m(e,t,l);case"xml":return h(e,t,l)}return""})(l,o,e))))}}).then(e=>(clearColumnConvert(o),l.print||t&&t({status:!0,options:l,$table:F,$grid:O}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(o),l.print||t&&t({status:!1,options:l,$table:F,$grid:O});return Promise.reject({status:!1})})},a=(a,i)=>{let{importMethod:s,afterImportMethod:t}=i,{type:n,filename:d}=(0,_utils.parseFile)(a);var e=c.value;return s||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{let e=e=>{t(e),I._importResolve=null,I._importReject=null},r=e=>{l(e),I._importResolve=null,I._importReject=null};if(I._importResolve=e,I._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:n,filename:d});var o;t.remote?s?Promise.resolve(s({file:a,options:t,$table:F})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=I.tableFullColumn,F.preventEvent(null,"event.import",{file:a,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[n]),r({status:!1})},e.onload=e=>{((e,l)=>{let{tableFullColumn:t,_importResolve:r,_importReject:o}=I,a={fields:[],rows:[]},i={},s={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(i[t]=e),l&&(s[e.getTitle()]=e)});var n={fieldMaps:i,titleMaps:s};switch(l.type){case"csv":a=parseCsv(n,e);break;case"txt":a=parseTxt(n,e);break;case"html":a=parseHTML(n,e);break;case"xml":a=parseXML(n,e)}let{fields:d,rows:c}=a;d.some(e=>i[e]||s[e])?F.createData(c).then(e=>{let t;return"insert"!==l.mode&&"insertBottom"!==l.mode||(t=F.insertAt(e,-1)),t="insertTop"===l.mode?F.insert(e):F.reloadData(e),!1!==l.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[c.length]),status:"success"}),t.then(()=>{r&&r({status:!0})})}):!1!==l.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),o)&&o({status:!1})})(e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:F})}).catch(e=>(t&&t({status:!1,options:i,$table:F}),Promise.reject(e))):(!1!==i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1}))},R=(e,r,t)=>t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r.id===e.id:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)}),V=(e,t,l,r)=>(!r||!_xeUtils.default.includes(r,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?t.field:defaultFilterExportColumn(t)),l=(e,t)=>{var{treeConfig:l,showHeader:r,showFooter:o}=U,{initStore:a,isGroup:i,footerTableData:s,exportStore:n,exportParams:d}=j,{collectColumn:c,mergeBodyList:u,mergeFooterList:p}=I,m=D.value,h=E.value,x=F.getCheckboxRecords(),g=O?O.getComputeMaps().computeProxyOpts.value:{},s=!!s.length,u=!(!u.length&&!p.length);let f=Object.assign({message:!0,isHeader:r,isTitle:r,isFooter:o,isColgroup:i,isMerge:u,useStyle:!0,current:"current",modes:(g.ajax&&g.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);p=f.types||_xeUtils.default.keys(m._typeMaps),r=f.modes||[];let v=h.checkMethod;o=c.slice(0);let{columns:b,excludeFields:_,includeFields:y}=f;g=p.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=r.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});_xeUtils.default.eachTree(o,(e,t,l,r,o)=>{var a=e.children&&e.children.length;let i=!1;i=b&&b.length?R(f,e,b):_||y?V(f,e,y,_):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!v&&!v({column:e})}),Object.assign(n,{columns:o,typeList:g,modeList:e,hasFooter:s,hasMerge:u,hasTree:l,isPrint:t,hasColgroup:i,visible:!0}),Object.assign(d,{mode:x.length?"selected":"current"},f);let{filename:$,sheetName:w,mode:C,type:T}=d;return $&&(_xeUtils.default.isFunction($)?d.filename=$({options:f,$table:F,$grid:O}):d.filename=""+$),w&&(_xeUtils.default.isFunction(w)?d.sheetName=w({options:f,$table:F,$grid:O}):d.sheetName=""+w),e.some(e=>e.value===C)||(d.mode=e[0].value),g.some(e=>e.value===T)||(d.type=g[0].value),a.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();let x={exportData(s){var{treeConfig:e,showHeader:n,showFooter:d}=U,t=j.isGroup;let{tableFullColumn:a,afterFullData:l,collectColumn:r,mergeBodyList:o,mergeFooterList:i}=I;var c=D.value,u=N.value;let p=O?O.getComputeMaps().computeProxyOpts.value:{};var m=!(!o.length&&!i.length);let h=Object.assign({message:!0,isHeader:n,isTitle:n,isFooter:d,isColgroup:t,isMerge:m,useStyle:!0,current:"current",modes:(p.ajax&&p.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},c,s),{filename:x,sheetName:g,type:f,mode:v,columns:b,original:_,columnFilterMethod:y,beforeExportMethod:$,includeFields:w,excludeFields:C}=h,T=[],E=F.getCheckboxRecords();v=v||(E.length?"selected":"current");n=b&&b.length?b:_xeUtils.default.searchTree(r,e=>{var t=e.children&&e.children.length;let l=!1;return l=b&&b.length?R(h,e,b):C||w?V(h,e,w,C):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let k=Object.assign({},h,{filename:"",sheetName:""}),M=(n||y||(k.columnFilterMethod=({column:e})=>(!C||!_xeUtils.default.includes(C,e.field))&&(w?!!_xeUtils.default.includes(w,e.field):_?e.field:defaultFilterExportColumn(e))),T=n?(k._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(n,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=F.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=F.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=F.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!y||y({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?r:a,(e,t)=>e.visible&&(!y||y({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(T,e=>{e.children&&e.children.length||M.push(e)},{children:"childNodes"}),k.columns=M,k.colgroups=convertToRows(T),x&&(_xeUtils.default.isFunction(x)?k.filename=x({options:h,$table:F,$grid:O}):k.filename=""+x),k.filename||(k.filename=getI18n(k.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),g&&(_xeUtils.default.isFunction(g)?k.sheetName=g({options:h,$table:F,$grid:O}):k.sheetName=""+g),k.sheetName||(k.sheetName=document.title||""),!k.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(c._typeMaps),f))return(0,_log.errLog)("vxe.error.notType",[f]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(f)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(k.print||$&&$({options:k,$table:F,$grid:O}),!k.data){if(k.data=[],"selected"===v)-1<["html","pdf"].indexOf(f)&&e?k.data=_xeUtils.default.searchTree(F.getTableData().fullData,e=>-1<F.findRowIndexOf(E,e),Object.assign({},u,{data:"_row"})):k.data=E;else if("all"===v&&("development"!==process.env.NODE_ENV||O||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),O)&&!k.remote){d=O.reactData,m=O.getComputeMaps().computeProxyOpts;let e=m.value;s=d.sortData;let{beforeQueryAll:t,afterQueryAll:r,ajax:l={}}=e,o=e.response||e.props||{};n=l.queryAll;let a=l.queryAllSuccess,i=l.queryAllError;if("development"!==process.env.NODE_ENV||n||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),n){let l={$table:F,$grid:O,sort:s.length?s[0]:{},sorts:s,filters:d.filterData,form:d.formData,options:k};return Promise.resolve((t||n)(l)).then(e=>{var t=o.list;return k.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:O}):_xeUtils.default.get(e,t):e)||[],r&&r(l),a&&a(Object.assign(Object.assign({},l),{response:e})),L(k)}).catch(e=>{i&&i(Object.assign(Object.assign({},l),{response:e}))})}}"current"===v&&(k.data=l)}return L(k)},importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:F}),a(e,t)},importData(e){var t=c.value;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;return r&&r({options:l,$table:F}),_ui.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:F}),Promise.reject(e))).then(e=>{e=e.file;return a(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){var t=i.value;let l=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=l.sheetName;let r="",o=(r=(r=t?_xeUtils.default.isFunction(t)?t({options:l,$table:F,$grid:O}):""+t:r)||document.title||"",l.beforePrintMethod),a=l.html||l.content;return new Promise((e,t)=>{_ui.VxeUI.print?a?e(_ui.VxeUI.print({title:r,html:a,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:F}):void 0})):e(x.exportData(l).then(({content:e})=>_ui.VxeUI.print({title:r,html:e,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:F}):void 0}))):t({status:!1})})},getPrintHtml(e){var t=i.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return F.exportData(t).then(({content:e})=>({html:e}))},closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},openImport(e){var{treeConfig:t,importConfig:l}=U;let{initStore:r,importStore:o,importParams:a}=j;var i=c.value,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],s=i.modes||[];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=s.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),r.import=!0):i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},closeExport:e,openExport(e){var t=D.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);U.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=i.value,t=Object.assign({message:!0},t,e);U.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),l(t,!0)}};return x},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)}});
|
|
1
|
+
var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_dom=require("../../../ui/src/dom"),_util2=require("./util"),_log=require("../../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getI18n,hooks,renderer}=_ui.VxeUI,htmlCellElem,csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.field||-1<["seq","checkbox","radio"].indexOf(e.type)}let getConvertColumns=e=>{let t=[];return e.forEach(e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...getConvertColumns(e.childNodes))):t.push(e)}),t},convertToRows=e=>{let t=1,r=(l,e)=>{if(e&&(l._level=e._level+1,t<l._level)&&(t=l._level),l.childNodes&&l.childNodes.length){let t=0;l.childNodes.forEach(e=>{r(e,l),t+=e._colSpan}),l._colSpan=t}else l._colSpan=1},l=(e.forEach(e=>{e._level=1,r(e)}),[]);for(let e=0;e<t;e++)l.push([]);return getConvertColumns(e).forEach(e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,l[e._level-1].push(e)}),l};function toTableBorder(e){return!0===e?"full":e||"default"}function getBooleanValue(e){return"TRUE"===e||"true"===e||!0===e}function getFooterData(l,e,t){let r=e.footerFilterMethod;return r?t.filter((e,t)=>r({$table:l,items:e,$rowIndex:t})):t}function getCsvCellTypeLabel(e,t){if(t){if("seq"===e.type)return` `+t;switch(e.cellType){case"string":if(isNaN(t))break;return` `+t;case"number":break;default:if(12<=t.length&&!isNaN(t))return` `+t}}return t}function toTxtCellLabel(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function getElementsByTagName(e,t){return e.getElementsByTagName(t)}function getTxtCellKey(e){return`#${e}@`+_xeUtils.default.uniqueId()}function replaceTxtCell(e,t){return e.replace(/#\d+@\d+/g,e=>_xeUtils.default.hasOwnProp(t,e)?t[e]:e)}function getTxtCellValue(e,t){return replaceTxtCell(e,t).replace(/^"+$/g,e=>'"'.repeat(Math.ceil(e.length/2)))}function toExportField(e,t){var{fieldMaps:e,titleMaps:l}=e;return e[t]||(e=l[t])&&e.field&&(t=e.field),t}function parseCsvAndTxt(t,e,a){e=e.split(enterSymbol);let i=[],s=[];if(e.length){let r={},o=Date.now();e.forEach(e=>{if(e){let l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(o);return r[l]=replaceTxtCell(t,r),l})).split(a);s.length?(e.forEach((e,t)=>{t<s.length&&(l[s[t]]=getTxtCellValue(e.trim(),r))}),i.push(l)):s=e.map(e=>toExportField(t,getTxtCellValue(e.trim(),r)))}})}return{fields:s,rows:i}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(t,e){var l,e=getElementsByTagName((new DOMParser).parseFromString(e,"text/html"),"body");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"table")).length&&(l=getElementsByTagName(e[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(toExportField(t,e.textContent||""))})}),(l=getElementsByTagName(e[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{let l={};_xeUtils.default.arrayEach(getElementsByTagName(e,"td"),(e,t)=>{o[t]&&(l[o[t]]=e.textContent||"")}),r.push(l)}),{fields:o,rows:r}}function parseXML(t,e){var e=getElementsByTagName((new DOMParser).parseFromString(e,"application/xml"),"Worksheet");let r=[],o=[];return e.length&&(e=getElementsByTagName(e[0],"Table")).length&&(e=getElementsByTagName(e[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(e[0],"Cell"),e=>{o.push(toExportField(t,e.textContent||""))}),_xeUtils.default.arrayEach(e,(e,t)=>{if(t){let l={};t=getElementsByTagName(e,"Cell");_xeUtils.default.arrayEach(t,(e,t)=>{o[t]&&(l[o[t]]=e.textContent)}),r.push(l)}})),{fields:o,rows:r}}function clearColumnConvert(e){_xeUtils.default.eachTree(e,e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes},{children:"children"})}let tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];hooks.add("tableExportModule",{setupTable(F){let{props:U,reactData:j,internalData:I}=F,{computeTreeOpts:N,computePrintOpts:i,computeExportOpts:D,computeImportOpts:c,computeCustomOpts:E,computeSeqOpts:s,computeRadioOpts:r,computeCheckboxOpts:o,computeColumnOpts:n}=F.getComputeMaps(),O=(0,_vue.inject)("$xeGrid",null),g=e=>{var t=N.value,t=t.children||t.childrenField;return e[t]&&e[t].length},f=(e,t,l,r,o)=>{var a=s.value.seqMethod||r.seqMethod;return a?a({$table:F,row:t,rowIndex:F.getRowIndex(t),$rowIndex:l,column:r,columnIndex:F.getColumnIndex(r),$columnIndex:o}):e};function C(e,t){var l=n.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:F}):(e.isTitle?t.getTitle():t.field)||""}let v=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,b=e=>(0,_utils.eqEmptyValue)(e)?"":""+e,d=(c,u,e)=>{let{isAllExpand:i,mode:p}=c;var t=U.treeConfig;let m=r.value,h=o.value;var l=N.value;let x=n.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;let o=[],a=new Map;return _xeUtils.default.eachTree(e,(e,s,t,n,l,r)=>{let d=e._row||e;e=l&&l._row?l._row:l;if(i||!e||a.has(e)&&F.isTreeExpandByRow(e)){l=g(d);let i={_row:d,_level:r.length-1,_hasChild:l,_expand:l&&F.isTreeExpandByRow(d)};u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||x.exportMethod;if(o=(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)||x.exportMethod)l=o({$table:F,row:d,column:e,options:c});else switch(e.type){case"seq":var a=n.map((e,t)=>t%2==0?Number(e)+1:".").join("");l="all"===p?a:f(a,d,s,e,t);break;case"checkbox":l=v(F.isCheckedByCheckboxRow(d)),i._checkboxLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",i._checkboxDisabled=h.checkMethod&&!h.checkMethod({$table:F,row:d});break;case"radio":l=v(F.isCheckedByRadioRow(d)),i._radioLabel=m.labelField?_xeUtils.default.get(d,m.labelField):"",i._radioDisabled=m.checkMethod&&!m.checkMethod({$table:F,row:d});break;default:c.original?l=(0,_util.getCellValue)(d,e):(l=F.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=F.getCellElement(d,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}i[e.id]=b(l)}),a.set(d,1),o.push(Object.assign(i,d))}},{children:t}),o}return e.map((i,s)=>{let n={_row:i};return u.forEach((e,t)=>{let l="";var r=e.editRender||e.cellRender;let o=e.exportMethod||x.exportMethod;if(o=!o&&r&&r.name&&(r=renderer.get(r.name))?r.tableExportMethod||r.exportMethod:o)l=o({$table:F,row:i,column:e,options:c});else switch(e.type){case"seq":var a=s+1;l="all"===p?a:f(a,i,s,e,t);break;case"checkbox":l=v(F.isCheckedByCheckboxRow(i)),n._checkboxLabel=h.labelField?_xeUtils.default.get(i,h.labelField):"",n._checkboxDisabled=h.checkMethod&&!h.checkMethod({$table:F,row:i});break;case"radio":l=v(F.isCheckedByRadioRow(i)),n._radioLabel=m.labelField?_xeUtils.default.get(i,m.labelField):"",n._radioDisabled=m.checkMethod&&!m.checkMethod({$table:F,row:i});break;default:c.original?l=(0,_util.getCellValue)(i,e):(l=F.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(a=F.getCellElement(i,e))&&!(0,_dom.hasClass)(a,"is--progress")&&(l=a.innerText.trim()))}n[e.id]=b(l)}),n})},T=(e,t,l)=>{var r=n.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.tableFooterExportMethod||o.footerExportMethod:a)||r.footerExportMethod;o=F.getVTColumnIndex(l);return a?a({$table:F,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e}):_xeUtils.default.isArray(t)?_xeUtils.default.toValueString(t[o]):_xeUtils.default.get(t,l.field)},u=(e,l,r,t)=>{let o=csvBOM;return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(C(l,e))).join(",")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=j.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(T(l,t,e))).join(",")+enterSymbol})),o},p=(e,l,r,t)=>{let o="";return l.isHeader&&(o+=r.map(e=>toTxtCellLabel(C(l,e))).join("\t")+enterSymbol),t.forEach(t=>{o+=r.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=j.footerTableData,getFooterData(e,l,t).forEach(t=>{o+=r.map(e=>toTxtCellLabel(T(l,t,e))).join("\t")+enterSymbol})),o},k=(e,t,l)=>{e=e[t],t=_xeUtils.default.isUndefined(e)||_xeUtils.default.isNull(e)?l:e;let r="title"===t||(!0===t||"tooltip"===t)||"ellipsis"===t;var{scrollXLoad:l,scrollYLoad:e}=j;return r=l||e?r||!0:r},m=(s,e,t)=>{let{id:d,border:l,treeConfig:r,headerAlign:n,align:c,footerAlign:a,showOverflow:u,showHeaderOverflow:p}=U,{isAllSelected:m,isIndeterminate:o}=j,h=I.mergeBodyCellMaps,i=N.value,{print:x,isHeader:g,isFooter:f,isColgroup:v,isMerge:b,colgroups:_,original:y}=s,$="check-all";let w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",g?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];g&&(w.push("<thead>"),v&&!y?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||n||c,l=k(t,"showHeaderOverflow",p)?["col--ellipsis"]:[],r=C(s,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var i=o-a;return e&&l.push("col--"+e),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${x?"":`style="width: ${i}px"`}><input type="checkbox" class="${$}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${x?"":`style="width: ${i}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||n||c,l=k(e,"showHeaderOverflow",p)?["col--ellipsis"]:[],r=C(s,e);return t&&l.push("col--"+t),"checkbox"===e.type?`<th class="${l.join(" ")}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" class="${$}" ${m?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`),w.push("</thead>")),t.length&&(w.push("<tbody>"),r?t.forEach(o=>{w.push("<tr>"+e.map(t=>{var l=t.id,e=t.align||c,r=k(t,"showOverflow",u)?["col--ellipsis"]:[],l=o[l];if(e&&r.push("col--"+e),t.treeNode){let e="";return o._hasChild&&(e=`<i class="${o._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),r.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*i.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${l}</div></div></div></td>`}return"radio"===t.type?`<td class="${r.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(l)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" title="${l}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(l,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(n=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=k(e,"showOverflow",u)?["col--ellipsis"]:[],r=n[e.id];let o=1,a=1;if(b){var i=F.getVTRowIndex(n._row),s=F.getVTColumnIndex(e),i=h[i+":"+s];if(i){var{rowspan:s,colspan:i}=i;if(!s||!i)return"";1<s&&(o=s),1<i&&(a=i)}}return t&&l.push("col--"+t),"radio"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="radio" name="radio_${d}" ${n._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._radioLabel}</span></div></td>`:"checkbox"===e.type?`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}"><div ${x?"":`style="width: ${e.renderWidth}px"`}><input type="checkbox" ${n._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${n._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" rowspan="${o}" colspan="${a}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}),w.push("</tbody>")),f&&(t=j.footerTableData,(t=getFooterData(F,s,t)).length)&&(w.push("<tfoot>"),t.forEach(o=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=k(e,"showOverflow",u)?["col--ellipsis"]:[],r=T(s,o,e);return t&&l.push("col--"+t),`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${e.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")}</tr>`)}),w.push("</tfoot>"));t=!m&&o?`<script>(function(){var a=document.querySelector(".${$}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(s,w.join(""))},h=(l,e,t)=>{let r=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${l.sheetName}">`,"<Table>",e.map(e=>`<Column ss:Width="${e.renderWidth}"/>`).join("")].join("");return l.isHeader&&(r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${C(l,e)}</Data></Cell>`).join("")}</Row>`),t.forEach(t=>{r+="<Row>"+e.map(e=>`<Cell><Data ss:Type="String">${t[e.id]}</Data></Cell>`).join("")+"</Row>"}),l.isFooter&&(t=j.footerTableData,getFooterData(F,l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${T(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},L=l=>{let{remote:r,columns:o,colgroups:a,exportMethod:i,afterExportMethod:t}=l;return new Promise(t=>{if(r){var e={options:l,$table:F,$grid:O};t(i?i(e):e)}else{let e=(e=>{let{columns:t,dataFilterMethod:l}=e,r=e.data;return l&&(r=r.filter((e,t)=>l({$table:F,row:e,$rowIndex:t}))),d(e,t,r)})(l);t(F.preventEvent(null,"event.export",{options:l,columns:o,colgroups:a,datas:e},()=>((e,t)=>{var{filename:l,type:r,download:o}=e;if(!o)return o=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:r,content:t,blob:o});_ui.VxeUI.saveFile&&_ui.VxeUI.saveFile({filename:l,type:r,content:t}).then(()=>{!1!==e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.expSuccess"),status:"success"})})})(l,((e,t,l,r)=>{if(l.length)switch(t.type){case"csv":return u(e,t,l,r);case"txt":return p(e,t,l,r);case"html":return m(t,l,r);case"xml":return h(t,l,r)}return""})(F,l,o,e))))}}).then(e=>(clearColumnConvert(o),l.print||t&&t({status:!0,options:l,$table:F,$grid:O}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(o),l.print||t&&t({status:!1,options:l,$table:F,$grid:O});return Promise.reject({status:!1})})},a=(a,i)=>{let{importMethod:s,afterImportMethod:t}=i,{type:n,filename:d}=(0,_utils.parseFile)(a);var e=c.value;return s||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),n)?new Promise((t,l)=>{let e=e=>{t(e),I._importResolve=null,I._importReject=null},r=e=>{l(e),I._importResolve=null,I._importReject=null};if(I._importResolve=e,I._importReject=r,window.FileReader){let t=Object.assign({mode:"insertTop"},i,{type:n,filename:d});var o;t.remote?s?Promise.resolve(s({file:a,options:t,$table:F})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=I.tableFullColumn,F.preventEvent(null,"event.import",{file:a,options:t,columns:o},()=>{var e=new FileReader;e.onerror=()=>{(0,_log.errLog)("vxe.error.notType",[n]),r({status:!1})},e.onload=e=>{((e,l)=>{let{tableFullColumn:t,_importResolve:r,_importReject:o}=I,a={fields:[],rows:[]},i={},s={};t.forEach(e=>{var t=e.field,l=e.getTitle();t&&(i[t]=e),l&&(s[e.getTitle()]=e)});var n={fieldMaps:i,titleMaps:s};switch(l.type){case"csv":a=parseCsv(n,e);break;case"txt":a=parseTxt(n,e);break;case"html":a=parseHTML(n,e);break;case"xml":a=parseXML(n,e)}let{fields:d,rows:c}=a;d.some(e=>i[e]||s[e])?F.createData(c).then(e=>{let t;return"insert"!==l.mode&&"insertBottom"!==l.mode||(t=F.insertAt(e,-1)),t="insertTop"===l.mode?F.insert(e):F.reloadData(e),!1!==l.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[c.length]),status:"success"}),t.then(()=>{r&&r({status:!0})})}):!1!==l.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),o)&&o({status:!1})})(e.target.result,t)},e.readAsText(a,t.encoding||"UTF-8")}))}else(0,_log.errLog)("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:F})}).catch(e=>(t&&t({status:!1,options:i,$table:F}),Promise.reject(e))):(!1!==i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[n]),status:"error"}),Promise.reject({status:!1}))},R=(e,r,t)=>t.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r.id===e.id:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.field,t?r.id===t:e&&l?r.field===e&&r.type===l:e?r.field===e:!!l&&r.type===l)}),V=(e,t,l,r)=>(!r||!_xeUtils.default.includes(r,t.field))&&(l?!!_xeUtils.default.includes(l,t.field):e.original?t.field:defaultFilterExportColumn(t)),l=(e,t)=>{var{treeConfig:l,showHeader:r,showFooter:o}=U,{initStore:a,isGroup:i,footerTableData:s,exportStore:n,exportParams:d}=j,{collectColumn:c,mergeBodyList:u,mergeFooterList:p}=I,m=D.value,h=E.value,x=F.getCheckboxRecords(),g=O?O.getComputeMaps().computeProxyOpts.value:{},s=!!s.length,u=!(!u.length&&!p.length);let f=Object.assign({message:!0,isHeader:r,isTitle:r,isFooter:o,isColgroup:i,isMerge:u,useStyle:!0,current:"current",modes:(g.ajax&&g.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e);p=f.types||_xeUtils.default.keys(m._typeMaps),r=f.modes||[];let v=h.checkMethod;o=c.slice(0);let{columns:b,excludeFields:_,includeFields:y}=f;g=p.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),e=r.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.export.modes."+e)});_xeUtils.default.eachTree(o,(e,t,l,r,o)=>{var a=e.children&&e.children.length;let i=!1;i=b&&b.length?R(f,e,b):_||y?V(f,e,y,_):e.visible&&(a||defaultFilterExportColumn(e)),e.checked=i,e.halfChecked=!1,e.disabled=o&&o.disabled||!!v&&!v({$table:F,column:e})}),Object.assign(n,{columns:o,typeList:g,modeList:e,hasFooter:s,hasMerge:u,hasTree:l,isPrint:t,hasColgroup:i,visible:!0}),Object.assign(d,{mode:x.length?"selected":"current"},f);let{filename:$,sheetName:w,mode:C,type:T}=d;return $&&(_xeUtils.default.isFunction($)?d.filename=$({options:f,$table:F,$grid:O}):d.filename=""+$),w&&(_xeUtils.default.isFunction(w)?d.sheetName=w({options:f,$table:F,$grid:O}):d.sheetName=""+w),e.some(e=>e.value===C)||(d.mode=e[0].value),g.some(e=>e.value===T)||(d.type=g[0].value),a.export=!0,(0,_vue.nextTick)()};var e=()=>_ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_EXPORT_MODAL"):Promise.resolve();let x={exportData(s){var{treeConfig:e,showHeader:n,showFooter:d}=U,t=j.isGroup;let{tableFullColumn:a,afterFullData:l,collectColumn:r,mergeBodyList:o,mergeFooterList:i}=I;var c=D.value,u=N.value;let p=O?O.getComputeMaps().computeProxyOpts.value:{};var m=!(!o.length&&!i.length);let h=Object.assign({message:!0,isHeader:n,isTitle:n,isFooter:d,isColgroup:t,isMerge:m,useStyle:!0,current:"current",modes:(p.ajax&&p.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},c,s),{filename:x,sheetName:g,type:f,mode:v,columns:b,original:_,columnFilterMethod:y,beforeExportMethod:$,includeFields:w,excludeFields:C}=h,T=[],E=F.getCheckboxRecords();v=v||(E.length?"selected":"current");n=b&&b.length?b:_xeUtils.default.searchTree(r,e=>{var t=e.children&&e.children.length;let l=!1;return l=b&&b.length?R(h,e,b):C||w?V(h,e,w,C):e.visible&&(t||defaultFilterExportColumn(e))},{children:"children",mapChildren:"childNodes",original:!0});let k=Object.assign({},h,{filename:"",sheetName:""}),M=(n||y||(k.columnFilterMethod=({column:e})=>(!C||!_xeUtils.default.includes(C,e.field))&&(w?!!_xeUtils.default.includes(w,e.field):_?e.field:defaultFilterExportColumn(e))),T=n?(k._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(n,e=>{let r;if(e){if((0,_util.isColumnInfo)(e))r=e;else if(_xeUtils.default.isString(e))r=F.getColumnByField(e);else{var o=e.id||e.colId;let t=e.type,l=e.field;o?r=F.getColumnById(o):l&&t?r=a.find(e=>e.field===l&&e.type===t):l?r=F.getColumnByField(l):t&&(r=a.find(e=>e.type===t))}return r||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!y||y({$table:F,column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(t?r:a,(e,t)=>e.visible&&(!y||y({$table:F,column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0}),[]);if(_xeUtils.default.eachTree(T,e=>{e.children&&e.children.length||M.push(e)},{children:"childNodes"}),k.columns=M,k.colgroups=convertToRows(T),x&&(_xeUtils.default.isFunction(x)?k.filename=x({options:h,$table:F,$grid:O}):k.filename=""+x),k.filename||(k.filename=getI18n(k.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),g&&(_xeUtils.default.isFunction(g)?k.sheetName=g({options:h,$table:F,$grid:O}):k.sheetName=""+g),k.sheetName||(k.sheetName=document.title||""),!k.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(c._typeMaps),f))return(0,_log.errLog)("vxe.error.notType",[f]),"development"===process.env.NODE_ENV&&["xlsx","pdf"].includes(f)&&(0,_log.warnLog)("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]),Promise.reject({status:!1});if(k.print||$&&$({options:k,$table:F,$grid:O}),!k.data){if(k.data=[],"selected"===v)-1<["html","pdf"].indexOf(f)&&e?k.data=_xeUtils.default.searchTree(F.getTableData().fullData,e=>-1<F.findRowIndexOf(E,e),Object.assign({},u,{data:"_row"})):k.data=E;else if("all"===v&&("development"!==process.env.NODE_ENV||O||(0,_log.warnLog)("vxe.error.errProp",["all","mode=current,selected"]),O)&&!k.remote){d=O.reactData,m=O.getComputeMaps().computeProxyOpts;let e=m.value;s=d.sortData;let{beforeQueryAll:t,afterQueryAll:r,ajax:l={}}=e,o=e.response||e.props||{};n=l.queryAll;let a=l.queryAllSuccess,i=l.queryAllError;if("development"!==process.env.NODE_ENV||n||(0,_log.warnLog)("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),n){let l={$table:F,$grid:O,sort:s.length?s[0]:{},sorts:s,filters:d.filterData,form:d.formData,options:k};return Promise.resolve((t||n)(l)).then(e=>{var t=o.list;return k.data=(t?_xeUtils.default.isFunction(t)?t({data:e,$grid:O}):_xeUtils.default.get(e,t):e)||[],r&&r(l),a&&a(Object.assign(Object.assign({},l),{response:e})),L(k)}).catch(e=>{i&&i(Object.assign(Object.assign({},l),{response:e}))})}}"current"===v&&(k.data=l)}return L(k)},importByFile(e,t){var t=Object.assign({},t),l=t.beforeImportMethod;return l&&l({options:t,$table:F}),a(e,t)},importData(e){var t=c.value;let l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;return r&&r({options:l,$table:F}),_ui.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:F}),Promise.reject(e))).then(e=>{e=e.file;return a(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){var t=i.value;let l=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});t=l.sheetName;let r="",o=(r=(r=t?_xeUtils.default.isFunction(t)?t({options:l,$table:F,$grid:O}):""+t:r)||document.title||"",l.beforePrintMethod),a=l.html||l.content;return new Promise((e,t)=>{_ui.VxeUI.print?a?e(_ui.VxeUI.print({title:r,html:a,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:F}):void 0})):e(x.exportData(l).then(({content:e})=>_ui.VxeUI.print({title:r,html:e,customStyle:l.style,beforeMethod:o?({html:e})=>o({html:e,content:e,options:l,$table:F}):void 0}))):t({status:!1})})},getPrintHtml(e){var t=i.value,t=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return F.exportData(t).then(({content:e})=>({html:e}))},closeImport(){return _ui.VxeUI.modal?_ui.VxeUI.modal.close("VXE_IMPORT_MODAL"):Promise.resolve()},openImport(e){var{treeConfig:t,importConfig:l}=U;let{initStore:r,importStore:o,importParams:a}=j;var i=c.value,i=Object.assign({mode:"insertTop",message:!0,types:_xeUtils.default.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),e=i.types||[],s=i.modes||[];!t?(l||(0,_log.errLog)("vxe.error.reqProp",["import-config"]),t=e.map(e=>({value:e,label:getI18n("vxe.export.types."+e)})),l=s.map(e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:getI18n("vxe.import.modes."+e)}),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,i),l.some(e=>e.value===a.mode)||(a.mode=l[0].value),r.import=!0):i.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},closeExport:e,openExport(e){var t=D.value,t=Object.assign({message:!0,types:_xeUtils.default.keys(t._typeMaps)},t,e);U.exportConfig||(0,_log.errLog)("vxe.error.reqProp",["export-config"]),l(t)},closePrint:e,openPrint(e){var t=i.value,t=Object.assign({message:!0},t,e);U.printConfig||(0,_log.errLog)("vxe.error.reqProp",["print-config"]),l(t,!0)}};return x},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)}});
|
|
@@ -217,8 +217,9 @@ hooks.add('tableKeyboardModule', {
|
|
|
217
217
|
const rangeRows = getCheckboxRangeRows(evnt, params, trElem, trRect, offsetClientTop, offsetTop < marginSize ? -rangeHeight : rangeHeight);
|
|
218
218
|
// 至少滑动 10px 才能有效匹配
|
|
219
219
|
if (rangeHeight > 10 && rangeRows.length !== lastRangeRows.length) {
|
|
220
|
+
const isControlKey = (0, _dom.hasControlKey)(evnt);
|
|
220
221
|
lastRangeRows = rangeRows;
|
|
221
|
-
if (
|
|
222
|
+
if (isControlKey) {
|
|
222
223
|
rangeRows.forEach(row => {
|
|
223
224
|
$xeTable.handleBatchSelectRows([row], selectRecords.indexOf(row) === -1);
|
|
224
225
|
});
|