vxe-table 4.7.1 → 4.7.4

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.
Files changed (129) hide show
  1. package/es/colgroup/index.js +1 -1
  2. package/es/column/index.js +1 -1
  3. package/es/components.js +3 -1
  4. package/es/grid/index.js +1 -1
  5. package/es/grid/src/grid.js +3 -2
  6. package/es/index.esm.js +2 -2
  7. package/es/style.css +1 -1
  8. package/es/style.min.css +1 -1
  9. package/es/table/index.js +1 -1
  10. package/es/table/module/custom/hook.js +2 -2
  11. package/es/table/module/custom/panel.js +2 -1
  12. package/es/table/module/edit/hook.js +2 -1
  13. package/es/table/module/export/export-panel.js +2 -1
  14. package/es/table/module/export/hook.js +2 -1
  15. package/es/table/module/export/import-panel.js +2 -1
  16. package/es/table/module/filter/hook.js +2 -1
  17. package/es/table/module/filter/panel.js +2 -1
  18. package/es/table/module/keyboard/hook.js +2 -1
  19. package/es/table/module/menu/hook.js +2 -1
  20. package/es/table/module/validator/hook.js +2 -1
  21. package/es/table/render/index.js +2 -1
  22. package/es/table/src/body.js +2 -1
  23. package/es/table/src/cell.js +2 -1
  24. package/es/table/src/columnInfo.js +2 -1
  25. package/es/table/src/props.js +2 -1
  26. package/es/table/src/table.js +3 -2
  27. package/es/table/style.css +4 -2
  28. package/es/table/style.min.css +1 -1
  29. package/es/toolbar/index.js +1 -1
  30. package/es/toolbar/src/toolbar.js +3 -2
  31. package/es/ui/index.js +6 -4
  32. package/es/ui/src/utils.js +3 -3
  33. package/es/vxe-table/style.css +4 -2
  34. package/es/vxe-table/style.min.css +1 -1
  35. package/lib/colgroup/index.js +4 -4
  36. package/lib/colgroup/index.min.js +1 -1
  37. package/lib/column/index.js +4 -4
  38. package/lib/column/index.min.js +1 -1
  39. package/lib/components.js +10 -2
  40. package/lib/components.min.js +1 -1
  41. package/lib/grid/index.js +3 -3
  42. package/lib/grid/index.min.js +1 -1
  43. package/lib/grid/src/grid.js +59 -48
  44. package/lib/grid/src/grid.min.js +1 -1
  45. package/lib/index.common.js +5 -5
  46. package/lib/index.umd.js +1017 -905
  47. package/lib/index.umd.min.js +1 -1
  48. package/lib/style.css +1 -1
  49. package/lib/style.min.css +1 -1
  50. package/lib/table/index.js +3 -3
  51. package/lib/table/index.min.js +1 -1
  52. package/lib/table/module/custom/hook.js +2 -2
  53. package/lib/table/module/custom/hook.min.js +1 -1
  54. package/lib/table/module/custom/panel.js +30 -26
  55. package/lib/table/module/custom/panel.min.js +1 -1
  56. package/lib/table/module/edit/hook.js +21 -14
  57. package/lib/table/module/edit/hook.min.js +1 -1
  58. package/lib/table/module/export/export-panel.js +36 -32
  59. package/lib/table/module/export/export-panel.min.js +1 -1
  60. package/lib/table/module/export/hook.js +43 -37
  61. package/lib/table/module/export/hook.min.js +1 -1
  62. package/lib/table/module/export/import-panel.js +13 -9
  63. package/lib/table/module/export/import-panel.min.js +1 -1
  64. package/lib/table/module/filter/hook.js +8 -4
  65. package/lib/table/module/filter/hook.min.js +1 -1
  66. package/lib/table/module/filter/panel.js +14 -9
  67. package/lib/table/module/filter/panel.min.js +1 -1
  68. package/lib/table/module/keyboard/hook.js +4 -1
  69. package/lib/table/module/keyboard/hook.min.js +1 -1
  70. package/lib/table/module/menu/hook.js +12 -6
  71. package/lib/table/module/menu/hook.min.js +1 -1
  72. package/lib/table/module/validator/hook.js +14 -8
  73. package/lib/table/module/validator/hook.min.js +1 -1
  74. package/lib/table/render/index.js +12 -6
  75. package/lib/table/render/index.min.js +1 -1
  76. package/lib/table/src/body.js +8 -4
  77. package/lib/table/src/body.min.js +1 -1
  78. package/lib/table/src/cell.js +27 -22
  79. package/lib/table/src/cell.min.js +1 -1
  80. package/lib/table/src/columnInfo.js +16 -11
  81. package/lib/table/src/columnInfo.min.js +1 -1
  82. package/lib/table/src/props.js +28 -25
  83. package/lib/table/src/props.min.js +1 -1
  84. package/lib/table/src/table.js +163 -149
  85. package/lib/table/src/table.min.js +1 -1
  86. package/lib/table/style/style.css +4 -2
  87. package/lib/table/style/style.min.css +1 -1
  88. package/lib/toolbar/index.js +3 -3
  89. package/lib/toolbar/index.min.js +1 -1
  90. package/lib/toolbar/src/toolbar.js +49 -39
  91. package/lib/toolbar/src/toolbar.min.js +1 -1
  92. package/lib/ui/index.js +5 -30
  93. package/lib/ui/index.min.js +1 -1
  94. package/lib/ui/src/utils.js +2 -2
  95. package/lib/ui/src/utils.min.js +1 -1
  96. package/lib/vxe-table/style/style.css +4 -2
  97. package/lib/vxe-table/style/style.min.css +1 -1
  98. package/package.json +2 -2
  99. package/packages/colgroup/index.ts +1 -1
  100. package/packages/column/index.ts +1 -1
  101. package/packages/components.ts +4 -1
  102. package/packages/grid/index.ts +1 -1
  103. package/packages/grid/src/grid.ts +5 -4
  104. package/packages/index.ts +2 -2
  105. package/packages/table/index.ts +1 -1
  106. package/packages/table/module/custom/hook.ts +2 -2
  107. package/packages/table/module/custom/panel.ts +4 -3
  108. package/packages/table/module/edit/hook.ts +3 -1
  109. package/packages/table/module/export/export-panel.ts +4 -3
  110. package/packages/table/module/export/hook.ts +3 -1
  111. package/packages/table/module/export/import-panel.ts +4 -3
  112. package/packages/table/module/filter/hook.ts +3 -1
  113. package/packages/table/module/filter/panel.ts +3 -1
  114. package/packages/table/module/keyboard/hook.ts +3 -1
  115. package/packages/table/module/menu/hook.ts +3 -1
  116. package/packages/table/module/validator/hook.ts +3 -1
  117. package/packages/table/render/index.ts +4 -3
  118. package/packages/table/src/body.ts +4 -2
  119. package/packages/table/src/cell.ts +4 -2
  120. package/packages/table/src/columnInfo.ts +2 -1
  121. package/packages/table/src/props.ts +3 -1
  122. package/packages/table/src/table.ts +5 -4
  123. package/packages/toolbar/index.ts +1 -1
  124. package/packages/toolbar/src/toolbar.ts +5 -4
  125. package/packages/ui/index.ts +5 -6
  126. package/packages/ui/src/utils.ts +3 -3
  127. package/packages/ui/src/vn.ts +2 -1
  128. package/styles/components/table.scss +5 -2
  129. package/styles/theme/base.scss +1 -0
@@ -2,11 +2,17 @@
2
2
 
3
3
  var _vue = require("vue");
4
4
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
5
- var _vxePcUi = require("vxe-pc-ui");
5
+ var _ui = require("../../../ui");
6
6
  var _util = require("../../src/util");
7
7
  var _utils = require("../../../ui/src/utils");
8
8
  var _util2 = require("./util");
9
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
+ const {
11
+ getI18n,
12
+ hooks,
13
+ renderer,
14
+ log
15
+ } = _ui.VxeUI;
10
16
  let htmlCellElem;
11
17
  const csvBOM = '\ufeff';
12
18
  const enterSymbol = '\r\n';
@@ -267,7 +273,7 @@ function checkImportData(columns, fields) {
267
273
  return fields.some(field => tableFields.indexOf(field) > -1);
268
274
  }
269
275
  const tableExportMethodKeys = ['exportData', 'importByFile', 'importData', 'saveFile', 'readFile', 'print', 'openImport', 'openExport', 'openPrint'];
270
- _vxePcUi.hooks.add('tableExportModule', {
276
+ hooks.add('tableExportModule', {
271
277
  setupTable($xeTable) {
272
278
  const {
273
279
  props,
@@ -354,7 +360,7 @@ _vxePcUi.hooks.add('tableExportModule', {
354
360
  const renderOpts = column.editRender || column.cellRender;
355
361
  let bodyExportMethod = column.exportMethod;
356
362
  if (!bodyExportMethod && renderOpts && renderOpts.name) {
357
- const compConf = _vxePcUi.renderer.get(renderOpts.name);
363
+ const compConf = renderer.get(renderOpts.name);
358
364
  if (compConf) {
359
365
  bodyExportMethod = compConf.exportMethod;
360
366
  }
@@ -424,7 +430,7 @@ _vxePcUi.hooks.add('tableExportModule', {
424
430
  const renderOpts = column.editRender || column.cellRender;
425
431
  let exportLabelMethod = column.exportMethod;
426
432
  if (!exportLabelMethod && renderOpts && renderOpts.name) {
427
- const compConf = _vxePcUi.renderer.get(renderOpts.name);
433
+ const compConf = renderer.get(renderOpts.name);
428
434
  if (compConf) {
429
435
  exportLabelMethod = compConf.exportMethod;
430
436
  }
@@ -496,7 +502,7 @@ _vxePcUi.hooks.add('tableExportModule', {
496
502
  const renderOpts = column.editRender || column.cellRender;
497
503
  let footLabelMethod = column.footerExportMethod;
498
504
  if (!footLabelMethod && renderOpts && renderOpts.name) {
499
- const compConf = _vxePcUi.renderer.get(renderOpts.name);
505
+ const compConf = renderer.get(renderOpts.name);
500
506
  if (compConf) {
501
507
  footLabelMethod = compConf.footerExportMethod;
502
508
  }
@@ -792,16 +798,16 @@ _vxePcUi.hooks.add('tableExportModule', {
792
798
  blob
793
799
  });
794
800
  }
795
- if (_vxePcUi.VxeUI.saveFile) {
796
- _vxePcUi.VxeUI.saveFile({
801
+ if (_ui.VxeUI.saveFile) {
802
+ _ui.VxeUI.saveFile({
797
803
  filename,
798
804
  type,
799
805
  content
800
806
  }).then(() => {
801
807
  if (opts.message !== false) {
802
- if (_vxePcUi.VxeUI.modal) {
803
- _vxePcUi.VxeUI.modal.message({
804
- content: (0, _vxePcUi.getI18n)('vxe.table.expSuccess'),
808
+ if (_ui.VxeUI.modal) {
809
+ _ui.VxeUI.modal.message({
810
+ content: getI18n('vxe.table.expSuccess'),
805
811
  status: 'success'
806
812
  });
807
813
  }
@@ -907,9 +913,9 @@ _vxePcUi.hooks.add('tableExportModule', {
907
913
  loadRest = $xeTable.reloadData(data);
908
914
  }
909
915
  if (opts.message !== false) {
910
- if (_vxePcUi.VxeUI.modal) {
911
- _vxePcUi.VxeUI.modal.message({
912
- content: (0, _vxePcUi.getI18n)('vxe.table.impSuccess', [rows.length]),
916
+ if (_ui.VxeUI.modal) {
917
+ _ui.VxeUI.modal.message({
918
+ content: getI18n('vxe.table.impSuccess', [rows.length]),
913
919
  status: 'success'
914
920
  });
915
921
  }
@@ -923,9 +929,9 @@ _vxePcUi.hooks.add('tableExportModule', {
923
929
  });
924
930
  });
925
931
  } else if (opts.message !== false) {
926
- if (_vxePcUi.VxeUI.modal) {
927
- _vxePcUi.VxeUI.modal.message({
928
- content: (0, _vxePcUi.getI18n)('vxe.error.impFields'),
932
+ if (_ui.VxeUI.modal) {
933
+ _ui.VxeUI.modal.message({
934
+ content: getI18n('vxe.error.impFields'),
929
935
  status: 'error'
930
936
  });
931
937
  }
@@ -949,9 +955,9 @@ _vxePcUi.hooks.add('tableExportModule', {
949
955
  // 检查类型,如果为自定义导出,则不需要校验类型
950
956
  if (!importMethod && !_xeUtils.default.includes(_xeUtils.default.keys(importOpts._typeMaps), type)) {
951
957
  if (opts.message !== false) {
952
- if (_vxePcUi.VxeUI.modal) {
953
- _vxePcUi.VxeUI.modal.message({
954
- content: (0, _vxePcUi.getI18n)('vxe.error.notType', [type]),
958
+ if (_ui.VxeUI.modal) {
959
+ _ui.VxeUI.modal.message({
960
+ content: getI18n('vxe.error.notType', [type]),
955
961
  status: 'error'
956
962
  });
957
963
  }
@@ -1012,7 +1018,7 @@ _vxePcUi.hooks.add('tableExportModule', {
1012
1018
  }, () => {
1013
1019
  const reader = new FileReader();
1014
1020
  reader.onerror = () => {
1015
- _vxePcUi.log.err('vxe.error.notType', [type]);
1021
+ log.err('vxe.error.notType', [type]);
1016
1022
  _importReject({
1017
1023
  status: false
1018
1024
  });
@@ -1026,7 +1032,7 @@ _vxePcUi.hooks.add('tableExportModule', {
1026
1032
  } else {
1027
1033
  // 不支持的浏览器
1028
1034
  if (process.env.NODE_ENV === 'development') {
1029
- _vxePcUi.log.err('vxe.error.notExp');
1035
+ log.err('vxe.error.notExp');
1030
1036
  }
1031
1037
  _importResolve({
1032
1038
  status: true
@@ -1279,7 +1285,7 @@ _vxePcUi.hooks.add('tableExportModule', {
1279
1285
  opts.columns = cols;
1280
1286
  opts.colgroups = convertToRows(groups);
1281
1287
  if (!opts.filename) {
1282
- opts.filename = (0, _vxePcUi.getI18n)(opts.original ? 'vxe.table.expOriginFilename' : 'vxe.table.expFilename', [_xeUtils.default.toDateString(Date.now(), 'yyyyMMddHHmmss')]);
1288
+ opts.filename = getI18n(opts.original ? 'vxe.table.expOriginFilename' : 'vxe.table.expFilename', [_xeUtils.default.toDateString(Date.now(), 'yyyyMMddHHmmss')]);
1283
1289
  }
1284
1290
  if (!opts.sheetName) {
1285
1291
  opts.sheetName = document.title;
@@ -1287,7 +1293,7 @@ _vxePcUi.hooks.add('tableExportModule', {
1287
1293
  // 检查类型,如果为自定义导出,则不需要校验类型
1288
1294
  if (!opts.exportMethod && !_xeUtils.default.includes(_xeUtils.default.keys(exportOpts._typeMaps), type)) {
1289
1295
  if (process.env.NODE_ENV === 'development') {
1290
- _vxePcUi.log.err('vxe.error.notType', [type]);
1296
+ log.err('vxe.error.notType', [type]);
1291
1297
  }
1292
1298
  const params = {
1293
1299
  status: false
@@ -1317,7 +1323,7 @@ _vxePcUi.hooks.add('tableExportModule', {
1317
1323
  } else if (mode === 'all') {
1318
1324
  if (process.env.NODE_ENV === 'development') {
1319
1325
  if (!$xeGrid) {
1320
- _vxePcUi.log.warn('vxe.error.errProp', ['all', 'mode=current,selected']);
1326
+ log.warn('vxe.error.errProp', ['all', 'mode=current,selected']);
1321
1327
  }
1322
1328
  }
1323
1329
  if ($xeGrid && !opts.remote) {
@@ -1337,7 +1343,7 @@ _vxePcUi.hooks.add('tableExportModule', {
1337
1343
  const ajaxMethods = ajax.queryAll;
1338
1344
  if (process.env.NODE_ENV === 'development') {
1339
1345
  if (!ajaxMethods) {
1340
- _vxePcUi.log.warn('vxe.error.notFunc', ['proxy-config.ajax.queryAll']);
1346
+ log.warn('vxe.error.notFunc', ['proxy-config.ajax.queryAll']);
1341
1347
  }
1342
1348
  }
1343
1349
  if (ajaxMethods) {
@@ -1393,7 +1399,7 @@ _vxePcUi.hooks.add('tableExportModule', {
1393
1399
  $table: $xeTable
1394
1400
  });
1395
1401
  }
1396
- return _vxePcUi.VxeUI.readFile(opts).catch(e => {
1402
+ return _ui.VxeUI.readFile(opts).catch(e => {
1397
1403
  if (afterImportMethod) {
1398
1404
  afterImportMethod({
1399
1405
  status: false,
@@ -1410,10 +1416,10 @@ _vxePcUi.hooks.add('tableExportModule', {
1410
1416
  });
1411
1417
  },
1412
1418
  saveFile(options) {
1413
- return _vxePcUi.VxeUI.saveFile(options);
1419
+ return _ui.VxeUI.saveFile(options);
1414
1420
  },
1415
1421
  readFile(options) {
1416
- return _vxePcUi.VxeUI.readFile(options);
1422
+ return _ui.VxeUI.readFile(options);
1417
1423
  },
1418
1424
  print(options) {
1419
1425
  const printOpts = computePrintOpts.value;
@@ -1430,16 +1436,16 @@ _vxePcUi.hooks.add('tableExportModule', {
1430
1436
  opts.sheetName = document.title;
1431
1437
  }
1432
1438
  return new Promise((resolve, reject) => {
1433
- if (_vxePcUi.VxeUI.print) {
1439
+ if (_ui.VxeUI.print) {
1434
1440
  if (opts.content) {
1435
- resolve(_vxePcUi.VxeUI.print({
1441
+ resolve(_ui.VxeUI.print({
1436
1442
  content: opts.content
1437
1443
  }));
1438
1444
  } else {
1439
1445
  resolve(exportMethods.exportData(opts).then(({
1440
1446
  content
1441
1447
  }) => {
1442
- return _vxePcUi.VxeUI.print({
1448
+ return _ui.VxeUI.print({
1443
1449
  content
1444
1450
  });
1445
1451
  }));
@@ -1474,9 +1480,9 @@ _vxePcUi.hooks.add('tableExportModule', {
1474
1480
  const isTree = !!treeConfig;
1475
1481
  if (isTree) {
1476
1482
  if (defOpts.message) {
1477
- if (_vxePcUi.VxeUI.modal) {
1478
- _vxePcUi.VxeUI.modal.message({
1479
- content: (0, _vxePcUi.getI18n)('vxe.error.treeNotImp'),
1483
+ if (_ui.VxeUI.modal) {
1484
+ _ui.VxeUI.modal.message({
1485
+ content: getI18n('vxe.error.treeNotImp'),
1480
1486
  status: 'error'
1481
1487
  });
1482
1488
  }
@@ -1484,7 +1490,7 @@ _vxePcUi.hooks.add('tableExportModule', {
1484
1490
  return;
1485
1491
  }
1486
1492
  if (!importConfig) {
1487
- _vxePcUi.log.err('vxe.error.reqProp', ['import-config']);
1493
+ log.err('vxe.error.reqProp', ['import-config']);
1488
1494
  }
1489
1495
  // 处理类型
1490
1496
  const typeList = types.map(value => {
@@ -1514,7 +1520,7 @@ _vxePcUi.hooks.add('tableExportModule', {
1514
1520
  const exportOpts = computeExportOpts.value;
1515
1521
  if (process.env.NODE_ENV === 'development') {
1516
1522
  if (!props.exportConfig) {
1517
- _vxePcUi.log.err('vxe.error.reqProp', ['export-config']);
1523
+ log.err('vxe.error.reqProp', ['export-config']);
1518
1524
  }
1519
1525
  }
1520
1526
  handleExportAndPrint(Object.assign({}, exportOpts, options));
@@ -1523,7 +1529,7 @@ _vxePcUi.hooks.add('tableExportModule', {
1523
1529
  const printOpts = computePrintOpts.value;
1524
1530
  if (process.env.NODE_ENV === 'development') {
1525
1531
  if (!props.printConfig) {
1526
- _vxePcUi.log.err('vxe.error.reqProp', ['print-config']);
1532
+ log.err('vxe.error.reqProp', ['print-config']);
1527
1533
  }
1528
1534
  }
1529
1535
  handleExportAndPrint(Object.assign({}, printOpts, options), true);
@@ -1 +1 @@
1
- "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_util2=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let htmlCellElem;const csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}const getConvertColumns=e=>{const 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;const 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){const 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 parseCsvAndTxt(e,t,r){t=t.split(enterSymbol);const o=[];let a=[];if(t.length){const i={},n=Date.now();t.forEach(e=>{if(e){const l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(n);return i[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(n);return i[l]=replaceTxtCell(t,i),l})).split(r);a.length?(e.forEach((e,t)=>{t<a.length&&(l[a[t]]=getTxtCellValue(e.trim(),i))}),o.push(l)):a=e.map(e=>getTxtCellValue(e.trim(),i))}})}return{fields:a,rows:o}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");const r=[],o=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{const 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(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");const r=[],o=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{o.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){const 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"})}function checkImportData(e,t){const l=[];return e.forEach(e=>{e=e.property;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}const tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","openImport","openExport","openPrint"];_vxePcUi.hooks.add("tableExportModule",{setupTable(C){const{props:T,reactData:U,internalData:y}=C,{computeTreeOpts:E,computePrintOpts:r,computeExportOpts:$,computeImportOpts:d,computeCustomOpts:f,computeSeqOpts:a,computeRadioOpts:i,computeCheckboxOpts:n,computeColumnOpts:s}=C.getComputeMaps(),w=(0,_vue.inject)("$xeGrid",null),g=(e,t,l,r)=>{var o=a.value.seqMethod||l.seqMethod;return o?o({row:e,rowIndex:C.getRowIndex(e),$rowIndex:t,column:l,columnIndex:C.getColumnIndex(l),$columnIndex:r}):C.getRowSeq(e)};function k(e,t){var l=s.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:C}):(e.original?t.property:t.getTitle())||""}const b=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,c=(c,o,e)=>{const{isAllExpand:a,mode:p}=c;var t=T["treeConfig"];const u=i.value,h=n.value;var l=E.value;const m=s.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;const x=[],v=new Map;return _xeUtils.default.eachTree(e,(i,n,e,s,t,l)=>{const d=i._row||i;var r,i=t&&t._row?t._row:t;if(a||!i||v.has(i)&&C.isTreeExpandByRow(i)){t=d,r=(r=E.value).children||r.childrenField;t=t[r]&&t[r].length;const i={_row:d,_level:l.length-1,_hasChild:t,_expand:t&&C.isTreeExpandByRow(d)};o.forEach((e,t)=>{let l="";var r,o=e.editRender||e.cellRender;let a=e.exportMethod;if(a=(a=!a&&o&&o.name&&(o=_vxePcUi.renderer.get(o.name))?o.exportMethod:a)||m.exportMethod)l=a({$table:C,row:d,column:e,options:c});else switch(e.type){case"seq":l="all"===p?s.map((e,t)=>t%2==0?Number(e)+1:".").join(""):g(d,n,e,t);break;case"checkbox":l=b(C.isCheckedByCheckboxRow(d)),i._checkboxLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",i._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:d});break;case"radio":l=b(C.isCheckedByRadioRow(d)),i._radioLabel=u.labelField?_xeUtils.default.get(d,u.labelField):"",i._radioDisabled=u.checkMethod&&!u.checkMethod({row:d});break;default:c.original?l=(0,_util.getCellValue)(d,e):(l=C.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(r=C.getCell(d,e))&&(l=r.innerText.trim()))}i[e.id]=_xeUtils.default.toValueString(l)}),v.set(d,1),x.push(Object.assign(i,d))}},{children:t}),x}return e.map((i,n)=>{const s={_row:i};return o.forEach((e,t)=>{let l="";var r,o=e.editRender||e.cellRender;let a=e.exportMethod;if(a=!a&&o&&o.name&&(o=_vxePcUi.renderer.get(o.name))?o.exportMethod:a)l=a({$table:C,row:i,column:e,options:c});else switch(e.type){case"seq":l="all"===p?n+1:g(i,n,e,t);break;case"checkbox":l=b(C.isCheckedByCheckboxRow(i)),s._checkboxLabel=h.labelField?_xeUtils.default.get(i,h.labelField):"",s._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:i});break;case"radio":l=b(C.isCheckedByRadioRow(i)),s._radioLabel=u.labelField?_xeUtils.default.get(i,u.labelField):"",s._radioDisabled=u.checkMethod&&!u.checkMethod({row:i});break;default:c.original?l=(0,_util.getCellValue)(i,e):(l=C.getCellLabel(i,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(r=C.getCell(i,e))&&(l=r.innerText.trim()))}s[e.id]=_xeUtils.default.toValueString(l)}),s})},P=(e,t,l)=>{var r=s.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&o&&o.name&&(o=_vxePcUi.renderer.get(o.name))?o.footerExportMethod:a)||r.footerExportMethod;o=C.getVTColumnIndex(l);return a?a({$table:C,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e}):_xeUtils.default.toValueString(t[o])},p=(l,e,t)=>{let r=csvBOM;return l.isHeader&&(r+=e.map(e=>toTxtCellLabel(k(l,e))).join(",")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=U["footerTableData"],getFooterData(l,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(P(l,t,e))).join(",")+enterSymbol})),r},u=(l,e,t)=>{let r="";return l.isHeader&&(r+=e.map(e=>toTxtCellLabel(k(l,e))).join("\t")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=U["footerTableData"],getFooterData(l,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(P(l,t,e))).join(",")+enterSymbol})),r},j=(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}=U;return r=l||e?r||!0:r},h=(n,e,t)=>{const{id:d,border:l,treeConfig:r,headerAlign:s,align:c,footerAlign:a,showOverflow:p,showHeaderOverflow:u}=T,{isAllSelected:h,isIndeterminate:o,mergeList:m}=U,i=E.value,{print:x,isHeader:v,isFooter:f,isColgroup:g,isMerge:b,colgroups:_,original:y}=n,$="check-all";const w=[`<table class="${["vxe-table","border--"+toTableBorder(l),x?"is--print":"",v?"is--header":""].filter(e=>e).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${e.map(e=>`<col style="width:${e.renderWidth}px">`).join("")}</colgroup>`];v&&(w.push("<thead>"),g&&!y?_.forEach(e=>{w.push(`<tr>${e.map(t=>{var e=t.headerAlign||t.align||s||c,l=j(t,"showHeaderOverflow",u)?["col--ellipsis"]:[],r=k(n,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="${$}" ${h?"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||s||c,l=j(e,"showHeaderOverflow",u)?["col--ellipsis"]:[],r=k(n,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="${$}" ${h?"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 e=t.align||c,l=j(t,"showOverflow",p)?["col--ellipsis"]:[],r=o[t.id];if(e&&l.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>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${r}"><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(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><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(r)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${r}"><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">${r}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(s=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=j(e,"showOverflow",p)?["col--ellipsis"]:[],r=s[e.id];let o=1,a=1;if(b&&m.length){var i=C.getVTRowIndex(s._row),n=C.getVTColumnIndex(e),i=(0,_util.mergeBodyMethod)(m,i,n);if(i){var{rowspan:n,colspan:i}=i;if(!n||!i)return"";1<n&&(o=n),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}" ${s._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${s._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" ${s._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${s._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=U["footerTableData"],(t=getFooterData(n,t)).length)&&(w.push("<tfoot>"),t.forEach(o=>{w.push(`<tr>${e.map(e=>{var t=e.footerAlign||e.align||a||c,l=j(e,"showOverflow",p)?["col--ellipsis"]:[],r=P(n,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=!h&&o?`<script>(function(){var a=document.querySelector(".${$}");if(a){a.indeterminate=true}})()</script>`:"";return w.push("</table>",t),x?w.join(""):(0,_util2.createHtmlPage)(n,w.join(""))},m=(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">${k(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=U["footerTableData"],getFooterData(l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${P(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},M=i=>{const{remote:l,columns:n,colgroups:r,exportMethod:o,afterExportMethod:t}=i;return new Promise(e=>{if(l){var t={options:i,$table:C,$grid:w};e(o?o(t):t)}else{const a=(e=>{const{columns:t,dataFilterMethod:l}=e;let r=e.data;return l&&(r=r.filter((e,t)=>l({row:e,$rowIndex:t}))),c(e,t,r)})(i);e(C.preventEvent(null,"event.export",{options:i,columns:n,colgroups:r,datas:a},()=>{var e=i,t=((e,t,l)=>{if(t.length)switch(e.type){case"csv":return p(e,t,l);case"txt":return u(e,t,l);case"html":return h(e,t,l);case"xml":return m(e,t,l)}return""})(i,n,a),{filename:l,type:r,download:o}=e;if(!o)return o=(0,_util2.getExportBlobByContent)(t,e),Promise.resolve({type:r,content:t,blob:o});_vxePcUi.VxeUI.saveFile&&_vxePcUi.VxeUI.saveFile({filename:l,type:r,content:t}).then(()=>{!1!==e.message&&_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:(0,_vxePcUi.getI18n)("vxe.table.expSuccess"),status:"success"})})}))}}).then(e=>(clearColumnConvert(n),i.print||t&&t({status:!0,options:i,$table:C,$grid:w}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(n),i.print||t&&t({status:!1,options:i,$table:C,$grid:w});return Promise.reject({status:!1})})},x=(a,i)=>{const{importMethod:n,afterImportMethod:t}=i,{type:s,filename:c}=(0,_utils.parseFile)(a);var e=d.value;return n||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),s)?new Promise((t,l)=>{const e=e=>{t(e),y._importResolve=null,y._importReject=null},r=e=>{l(e),y._importResolve=null,y._importReject=null};if(y._importResolve=e,y._importReject=r,window.FileReader){const d=Object.assign({mode:"insert"},i,{type:s,filename:c});var o;d.remote?n?Promise.resolve(n({file:a,options:d,$table:C})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=y["tableFullColumn"],C.preventEvent(null,"event.import",{file:a,options:d,columns:o},()=>{var e=new FileReader;e.onerror=()=>{_vxePcUi.log.err("vxe.error.notType",[s]),r({status:!1})},e.onload=t=>{{var l=t.target.result,r=d;const{tableFullColumn:o,_importResolve:a,_importReject:i}=y;let e={fields:[],rows:[]};switch(r.type){case"csv":e=parseCsv(o,l);break;case"txt":e=parseTxt(o,l);break;case"html":e=parseHTML(o,l);break;case"xml":e=parseXML(o,l)}const{fields:n,rows:s}=e;checkImportData(o,n)?C.createData(s).then(e=>{let t;return t="insert"===r.mode?C.insert(e):C.reloadData(e),!1!==r.message&&_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:(0,_vxePcUi.getI18n)("vxe.table.impSuccess",[s.length]),status:"success"}),t.then(()=>{a&&a({status:!0})})}):!1!==r.message&&(_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:(0,_vxePcUi.getI18n)("vxe.error.impFields"),status:"error"}),i)&&i({status:!1})}},e.readAsText(a,d.encoding||"UTF-8")}))}else"development"===process.env.NODE_ENV&&_vxePcUi.log.err("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:i,$table:C})}).catch(e=>(t&&t({status:!1,options:i,$table:C}),Promise.reject(e))):(!1!==i.message&&_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:(0,_vxePcUi.getI18n)("vxe.error.notType",[s]),status:"error"}),Promise.reject({status:!1}))},l=(e,t)=>{var{treeConfig:l,showHeader:r,showFooter:o}=T,{initStore:a,mergeList:i,isGroup:n,footerTableData:s,exportStore:d,exportParams:c}=U,p=y["collectColumn"],u=$.value,h=f.value,m=C.getCheckboxRecords(),s=!!s.length,i=!l&&i.length,r=Object.assign({message:!0,isHeader:r,isFooter:o},e),o=r.types||_xeUtils.default.keys(u._typeMaps),e=r.modes;const x=h.checkMethod;u=p.slice(0);const v=r["columns"];h=o.map(e=>({value:e,label:"vxe.export.types."+e})),p=e.map(e=>({value:e,label:"vxe.export.modes."+e}));return _xeUtils.default.eachTree(u,(r,e,t,l,o)=>{(r.children&&r.children.length||defaultFilterExportColumn(r))&&(r.checked=v?v.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r===e:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.property||e.field,t?r.id===t:e&&l?r.property===e&&r.type===l:e?r.property===e:!!l&&r.type===l)}):r.visible,r.halfChecked=!1,r.disabled=o&&o.disabled||!!x&&!x({column:r}))}),Object.assign(d,{columns:u,typeList:h,modeList:p,hasFooter:s,hasMerge:i,hasTree:l,isPrint:t,hasColgroup:n,visible:!0}),Object.assign(c,{mode:m.length?"selected":"current"},r),-1===e.indexOf(c.mode)&&(c.mode=e[0]),-1===o.indexOf(c.type)&&(c.type=o[0]),a.export=!0,(0,_vue.nextTick)()},o={exportData(e){var t=T["treeConfig"],{isGroup:l,tableGroupColumn:r}=U;const{tableFullColumn:a,afterFullData:o}=y;var i=$.value,n=E.value;const s=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},i,{print:!1},e);var{type:e,mode:d,columns:c,original:p,beforeExportMethod:u}=s;let h=[];c=c&&c.length?c:null;let m=s.columnFilterMethod;c||(m=m||(p?({column:e})=>e.property:({column:e})=>defaultFilterExportColumn(e))),h=c?(s._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(c,e=>{let t;if(e){if((0,_util.isColumnInfo)(e))t=e;else if(_xeUtils.default.isString(e))t=C.getColumnByField(e);else{var l=e.id||e.colId;const r=e.type,o=e.property||e.field;l?t=C.getColumnById(l):o&&r?t=a.find(e=>e.property===o&&e.type===r):o?t=C.getColumnByField(o):r&&(t=a.find(e=>e.type===r))}return t||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!m||m({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?r:a,(e,t)=>e.visible&&(!m||m({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0});const x=[];if(_xeUtils.default.eachTree(h,e=>{e.children&&e.children.length||x.push(e)},{children:"childNodes"}),s.columns=x,s.colgroups=convertToRows(h),s.filename||(s.filename=(0,_vxePcUi.getI18n)(s.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),s.sheetName||(s.sheetName=document.title),!s.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(i._typeMaps),e))return"development"===process.env.NODE_ENV&&_vxePcUi.log.err("vxe.error.notType",[e]),Promise.reject({status:!1});if(s.print||u&&u({options:s,$table:C,$grid:w}),!s.data)if(s.data=o,"selected"===d){const v=C.getCheckboxRecords();-1<["html","pdf"].indexOf(e)&&t?s.data=_xeUtils.default.searchTree(C.getTableData().fullData,e=>-1<C.findRowIndexOf(v,e),Object.assign({},n,{data:"_row"})):s.data=v}else if("all"===d&&("development"!==process.env.NODE_ENV||w||_vxePcUi.log.warn("vxe.error.errProp",["all","mode=current,selected"]),w)&&!s.remote){p=w["reactData"],c=w.getComputeMaps()["computeProxyOpts"];const{beforeQueryAll:f,afterQueryAll:g,ajax:b={},props:T={}}=c.value;l=b.queryAll;if("development"!==process.env.NODE_ENV||l||_vxePcUi.log.warn("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),l){const _={$table:C,$grid:w,sort:p.sortData,filters:p.filterData,form:p.formData,target:l,options:s};return Promise.resolve((f||l)(_)).catch(e=>e).then(e=>(s.data=(T.list?_xeUtils.default.get(e,T.list):e)||[],g&&g(_),M(s)))}}return M(s)},importByFile(e,t){var t=Object.assign({},t),l=t["beforeImportMethod"];return l&&l({options:t,$table:C}),x(e,t)},importData(e){var t=d.value;const l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;return r&&r({options:l,$table:C}),_vxePcUi.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:C}),Promise.reject(e))).then(e=>{e=e.file;return x(e,l)})},saveFile(e){return _vxePcUi.VxeUI.saveFile(e)},readFile(e){return _vxePcUi.VxeUI.readFile(e)},print(e){var t=r.value;const l=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return l.sheetName||(l.sheetName=document.title),new Promise((e,t)=>{_vxePcUi.VxeUI.print?l.content?e(_vxePcUi.VxeUI.print({content:l.content})):e(o.exportData(l).then(({content:e})=>_vxePcUi.VxeUI.print({content:e}))):t({status:!1})})},openImport(e){var{treeConfig:t,importConfig:l}=T,{initStore:r,importStore:o,importParams:a}=U,i=d.value,e=Object.assign({mode:"insert",message:!0,types:_xeUtils.default.keys(i._typeMaps)},e,i),i=e["types"];!t?(l||_vxePcUi.log.err("vxe.error.reqProp",["import-config"]),t=i.map(e=>({value:e,label:"vxe.export.types."+e})),l=e.modes.map(e=>({value:e,label:"vxe.import.modes."+e})),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,e),r.import=!0):e.message&&_vxePcUi.VxeUI.modal&&_vxePcUi.VxeUI.modal.message({content:(0,_vxePcUi.getI18n)("vxe.error.treeNotImp"),status:"error"})},openExport(e){var t=$.value;"development"!==process.env.NODE_ENV||T.exportConfig||_vxePcUi.log.err("vxe.error.reqProp",["export-config"]),l(Object.assign({},t,e))},openPrint(e){var t=r.value;"development"!==process.env.NODE_ENV||T.printConfig||_vxePcUi.log.err("vxe.error.reqProp",["print-config"]),l(Object.assign({},t,e),!0)}};return o},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)}});
1
+ "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_utils=require("../../../ui/src/utils"),_util2=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,hooks,renderer,log}=_ui.VxeUI;let htmlCellElem;const csvBOM="\ufeff",enterSymbol="\r\n";function defaultFilterExportColumn(e){return e.property||-1<["seq","checkbox","radio"].indexOf(e.type)}const getConvertColumns=e=>{const 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;const 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){const 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 parseCsvAndTxt(e,t,r){t=t.split(enterSymbol);const o=[];let a=[];if(t.length){const n={},s=Date.now();t.forEach(e=>{if(e){const l={};e=(e=e.replace(/("")|(\n)/g,(e,t)=>{var l=getTxtCellKey(s);return n[l]=t?'"':"\n",l}).replace(/"(.*?)"/g,(e,t)=>{var l=getTxtCellKey(s);return n[l]=replaceTxtCell(t,n),l})).split(r);a.length?(e.forEach((e,t)=>{t<a.length&&(l[a[t]]=getTxtCellValue(e.trim(),n))}),o.push(l)):a=e.map(e=>getTxtCellValue(e.trim(),n))}})}return{fields:a,rows:o}}function parseCsv(e,t){return parseCsvAndTxt(e,t,",")}function parseTxt(e,t){return parseCsvAndTxt(e,t,"\t")}function parseHTML(e,t){var l,t=getElementsByTagName((new DOMParser).parseFromString(t,"text/html"),"body");const r=[],o=[];return t.length&&(t=getElementsByTagName(t[0],"table")).length&&(l=getElementsByTagName(t[0],"thead")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{_xeUtils.default.arrayEach(getElementsByTagName(e,"th"),e=>{o.push(e.textContent)})}),(l=getElementsByTagName(t[0],"tbody")).length)&&_xeUtils.default.arrayEach(getElementsByTagName(l[0],"tr"),e=>{const 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(e,t){var t=getElementsByTagName((new DOMParser).parseFromString(t,"application/xml"),"Worksheet");const r=[],o=[];return t.length&&(t=getElementsByTagName(t[0],"Table")).length&&(t=getElementsByTagName(t[0],"Row")).length&&(_xeUtils.default.arrayEach(getElementsByTagName(t[0],"Cell"),e=>{o.push(e.textContent)}),_xeUtils.default.arrayEach(t,(e,t)=>{if(t){const 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"})}function checkImportData(e,t){const l=[];return e.forEach(e=>{e=e.property;e&&l.push(e)}),t.some(e=>-1<l.indexOf(e))}const tableExportMethodKeys=["exportData","importByFile","importData","saveFile","readFile","print","openImport","openExport","openPrint"];hooks.add("tableExportModule",{setupTable(C){const{props:T,reactData:E,internalData:y}=C,{computeTreeOpts:k,computePrintOpts:r,computeExportOpts:$,computeImportOpts:d,computeCustomOpts:f,computeSeqOpts:a,computeRadioOpts:n,computeCheckboxOpts:s,computeColumnOpts:i}=C.getComputeMaps(),w=(0,_vue.inject)("$xeGrid",null),v=(e,t,l,r)=>{var o=a.value.seqMethod||l.seqMethod;return o?o({row:e,rowIndex:C.getRowIndex(e),$rowIndex:t,column:l,columnIndex:C.getColumnIndex(l),$columnIndex:r}):C.getRowSeq(e)};function j(e,t){var l=i.value,l=t.headerExportMethod||l.headerExportMethod;return l?l({column:t,options:e,$table:C}):(e.original?t.property:t.getTitle())||""}const b=e=>_xeUtils.default.isBoolean(e)?e?"TRUE":"FALSE":e,c=(c,o,e)=>{const{isAllExpand:a,mode:p}=c;var t=T["treeConfig"];const u=n.value,h=s.value;var l=k.value;const m=i.value;if(htmlCellElem=htmlCellElem||document.createElement("div"),t){t=l.children||l.childrenField;const x=[],g=new Map;return _xeUtils.default.eachTree(e,(n,s,e,i,t,l)=>{const d=n._row||n;var r,n=t&&t._row?t._row:t;if(a||!n||g.has(n)&&C.isTreeExpandByRow(n)){t=d,r=(r=k.value).children||r.childrenField;t=t[r]&&t[r].length;const n={_row:d,_level:l.length-1,_hasChild:t,_expand:t&&C.isTreeExpandByRow(d)};o.forEach((e,t)=>{let l="";var r,o=e.editRender||e.cellRender;let a=e.exportMethod;if(a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.exportMethod:a)||m.exportMethod)l=a({$table:C,row:d,column:e,options:c});else switch(e.type){case"seq":l="all"===p?i.map((e,t)=>t%2==0?Number(e)+1:".").join(""):v(d,s,e,t);break;case"checkbox":l=b(C.isCheckedByCheckboxRow(d)),n._checkboxLabel=h.labelField?_xeUtils.default.get(d,h.labelField):"",n._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:d});break;case"radio":l=b(C.isCheckedByRadioRow(d)),n._radioLabel=u.labelField?_xeUtils.default.get(d,u.labelField):"",n._radioDisabled=u.checkMethod&&!u.checkMethod({row:d});break;default:c.original?l=(0,_util.getCellValue)(d,e):(l=C.getCellLabel(d,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(r=C.getCell(d,e))&&(l=r.innerText.trim()))}n[e.id]=_xeUtils.default.toValueString(l)}),g.set(d,1),x.push(Object.assign(n,d))}},{children:t}),x}return e.map((n,s)=>{const i={_row:n};return o.forEach((e,t)=>{let l="";var r,o=e.editRender||e.cellRender;let a=e.exportMethod;if(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.exportMethod:a)l=a({$table:C,row:n,column:e,options:c});else switch(e.type){case"seq":l="all"===p?s+1:v(n,s,e,t);break;case"checkbox":l=b(C.isCheckedByCheckboxRow(n)),i._checkboxLabel=h.labelField?_xeUtils.default.get(n,h.labelField):"",i._checkboxDisabled=h.checkMethod&&!h.checkMethod({row:n});break;case"radio":l=b(C.isCheckedByRadioRow(n)),i._radioLabel=u.labelField?_xeUtils.default.get(n,u.labelField):"",i._radioDisabled=u.checkMethod&&!u.checkMethod({row:n});break;default:c.original?l=(0,_util.getCellValue)(n,e):(l=C.getCellLabel(n,e),"html"===e.type?(htmlCellElem.innerHTML=l,l=htmlCellElem.innerText.trim()):(r=C.getCell(n,e))&&(l=r.innerText.trim()))}i[e.id]=_xeUtils.default.toValueString(l)}),i})},U=(e,t,l)=>{var r=i.value,o=l.editRender||l.cellRender;let a=l.footerExportMethod;a=(a=!a&&o&&o.name&&(o=renderer.get(o.name))?o.footerExportMethod:a)||r.footerExportMethod;o=C.getVTColumnIndex(l);return a?a({$table:C,items:t,itemIndex:o,row:t,_columnIndex:o,column:l,options:e}):_xeUtils.default.toValueString(t[o])},p=(l,e,t)=>{let r=csvBOM;return l.isHeader&&(r+=e.map(e=>toTxtCellLabel(j(l,e))).join(",")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(getCsvCellTypeLabel(e,t[e.id]))).join(",")+enterSymbol}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(U(l,t,e))).join(",")+enterSymbol})),r},u=(l,e,t)=>{let r="";return l.isHeader&&(r+=e.map(e=>toTxtCellLabel(j(l,e))).join("\t")+enterSymbol),t.forEach(t=>{r+=e.map(e=>toTxtCellLabel(t[e.id])).join("\t")+enterSymbol}),l.isFooter&&(t=E["footerTableData"],getFooterData(l,t).forEach(t=>{r+=e.map(e=>toTxtCellLabel(U(l,t,e))).join(",")+enterSymbol})),r},M=(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}=E;return r=l||e?r||!0:r},h=(s,e,t)=>{const{id:d,border:l,treeConfig:r,headerAlign:i,align:c,footerAlign:a,showOverflow:p,showHeaderOverflow:u}=T,{isAllSelected:h,isIndeterminate:o,mergeList:m}=E,n=k.value,{print:x,isHeader:g,isFooter:f,isColgroup:v,isMerge:b,colgroups:_,original:y}=s,$="check-all";const 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||i||c,l=M(t,"showHeaderOverflow",u)?["col--ellipsis"]:[],r=j(s,t);let o=0,a=0;_xeUtils.default.eachTree([t],e=>{e.childNodes&&t.childNodes.length||a++,o+=e.renderWidth},{children:"childNodes"});var n=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: ${n}px"`}><input type="checkbox" class="${$}" ${h?"checked":""}><span>${r}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${r}"><div ${x?"":`style="width: ${n}px"`}><span>${(0,_utils.formatText)(r,!0)}</span></div></th>`}).join("")}</tr>`)}):w.push(`<tr>${e.map(e=>{var t=e.headerAlign||e.align||i||c,l=M(e,"showHeaderOverflow",u)?["col--ellipsis"]:[],r=j(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="${$}" ${h?"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 e=t.align||c,l=M(t,"showOverflow",p)?["col--ellipsis"]:[],r=o[t.id];if(e&&l.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>`),l.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.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(r)?"checked":""}><span>${o._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></div></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${o._level*n.indent}px"><div class="vxe-table--tree-icon-wrapper">${e}</div><div class="vxe-table--tree-cell">${r}</div></div></div></td>`}return"radio"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${d}" ${o._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${l.join(" ")}"><div ${x?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${o._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${o._checkboxLabel}</span></div></td>`:`<td class="${l.join(" ")}" title="${r}"><div ${x?"":`style="width: ${t.renderWidth}px"`}>${(0,_utils.formatText)(r,!0)}</div></td>`}).join("")+"</tr>")}):t.forEach(i=>{w.push("<tr>"+e.map(e=>{var t=e.align||c,l=M(e,"showOverflow",p)?["col--ellipsis"]:[],r=i[e.id];let o=1,a=1;if(b&&m.length){var n=C.getVTRowIndex(i._row),s=C.getVTColumnIndex(e),n=(0,_util.mergeBodyMethod)(m,n,s);if(n){var{rowspan:s,colspan:n}=n;if(!s||!n)return"";1<s&&(o=s),1<n&&(a=n)}}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}" ${i._radioDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${i._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" ${i._checkboxDisabled?"disabled ":""}${getBooleanValue(r)?"checked":""}><span>${i._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=E["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=M(e,"showOverflow",p)?["col--ellipsis"]:[],r=U(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=!h&&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(""))},m=(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">${j(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=E["footerTableData"],getFooterData(l,t).forEach(t=>{r+=`<Row>${e.map(e=>`<Cell><Data ss:Type="String">${U(l,t,e)}</Data></Cell>`).join("")}</Row>`})),r+"</Table></Worksheet></Workbook>"},I=n=>{const{remote:l,columns:s,colgroups:r,exportMethod:o,afterExportMethod:t}=n;return new Promise(e=>{if(l){var t={options:n,$table:C,$grid:w};e(o?o(t):t)}else{const a=(e=>{const{columns:t,dataFilterMethod:l}=e;let r=e.data;return l&&(r=r.filter((e,t)=>l({row:e,$rowIndex:t}))),c(e,t,r)})(n);e(C.preventEvent(null,"event.export",{options:n,columns:s,colgroups:r,datas:a},()=>{var e=n,t=((e,t,l)=>{if(t.length)switch(e.type){case"csv":return p(e,t,l);case"txt":return u(e,t,l);case"html":return h(e,t,l);case"xml":return m(e,t,l)}return""})(n,s,a),{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"})})}))}}).then(e=>(clearColumnConvert(s),n.print||t&&t({status:!0,options:n,$table:C,$grid:w}),Object.assign({status:!0},e))).catch(()=>{clearColumnConvert(s),n.print||t&&t({status:!1,options:n,$table:C,$grid:w});return Promise.reject({status:!1})})},x=(a,n)=>{const{importMethod:s,afterImportMethod:t}=n,{type:i,filename:c}=(0,_utils.parseFile)(a);var e=d.value;return s||_xeUtils.default.includes(_xeUtils.default.keys(e._typeMaps),i)?new Promise((t,l)=>{const e=e=>{t(e),y._importResolve=null,y._importReject=null},r=e=>{l(e),y._importResolve=null,y._importReject=null};if(y._importResolve=e,y._importReject=r,window.FileReader){const d=Object.assign({mode:"insert"},n,{type:i,filename:c});var o;d.remote?s?Promise.resolve(s({file:a,options:d,$table:C})).then(()=>{e({status:!0})}).catch(()=>{e({status:!0})}):e({status:!0}):(o=y["tableFullColumn"],C.preventEvent(null,"event.import",{file:a,options:d,columns:o},()=>{var e=new FileReader;e.onerror=()=>{log.err("vxe.error.notType",[i]),r({status:!1})},e.onload=t=>{{var l=t.target.result,r=d;const{tableFullColumn:o,_importResolve:a,_importReject:n}=y;let e={fields:[],rows:[]};switch(r.type){case"csv":e=parseCsv(o,l);break;case"txt":e=parseTxt(o,l);break;case"html":e=parseHTML(o,l);break;case"xml":e=parseXML(o,l)}const{fields:s,rows:i}=e;checkImportData(o,s)?C.createData(i).then(e=>{let t;return t="insert"===r.mode?C.insert(e):C.reloadData(e),!1!==r.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.table.impSuccess",[i.length]),status:"success"}),t.then(()=>{a&&a({status:!0})})}):!1!==r.message&&(_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.impFields"),status:"error"}),n)&&n({status:!1})}},e.readAsText(a,d.encoding||"UTF-8")}))}else"development"===process.env.NODE_ENV&&log.err("vxe.error.notExp"),e({status:!0})}).then(()=>{t&&t({status:!0,options:n,$table:C})}).catch(e=>(t&&t({status:!1,options:n,$table:C}),Promise.reject(e))):(!1!==n.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.notType",[i]),status:"error"}),Promise.reject({status:!1}))},l=(e,t)=>{var{treeConfig:l,showHeader:r,showFooter:o}=T,{initStore:a,mergeList:n,isGroup:s,footerTableData:i,exportStore:d,exportParams:c}=E,p=y["collectColumn"],u=$.value,h=f.value,m=C.getCheckboxRecords(),i=!!i.length,n=!l&&n.length,r=Object.assign({message:!0,isHeader:r,isFooter:o},e),o=r.types||_xeUtils.default.keys(u._typeMaps),e=r.modes;const x=h.checkMethod;u=p.slice(0);const g=r["columns"];h=o.map(e=>({value:e,label:"vxe.export.types."+e})),p=e.map(e=>({value:e,label:"vxe.export.modes."+e}));return _xeUtils.default.eachTree(u,(r,e,t,l,o)=>{(r.children&&r.children.length||defaultFilterExportColumn(r))&&(r.checked=g?g.some(e=>{var t,l;return(0,_util.isColumnInfo)(e)?r===e:_xeUtils.default.isString(e)?r.field===e:(t=e.id||e.colId,l=e.type,e=e.property||e.field,t?r.id===t:e&&l?r.property===e&&r.type===l:e?r.property===e:!!l&&r.type===l)}):r.visible,r.halfChecked=!1,r.disabled=o&&o.disabled||!!x&&!x({column:r}))}),Object.assign(d,{columns:u,typeList:h,modeList:p,hasFooter:i,hasMerge:n,hasTree:l,isPrint:t,hasColgroup:s,visible:!0}),Object.assign(c,{mode:m.length?"selected":"current"},r),-1===e.indexOf(c.mode)&&(c.mode=e[0]),-1===o.indexOf(c.type)&&(c.type=o[0]),a.export=!0,(0,_vue.nextTick)()},o={exportData(e){var t=T["treeConfig"],{isGroup:l,tableGroupColumn:r}=E;const{tableFullColumn:a,afterFullData:o}=y;var n=$.value,s=k.value;const i=Object.assign({isHeader:!0,isFooter:!0,isColgroup:!0,download:!0,type:"csv",mode:"current"},n,{print:!1},e);var{type:e,mode:d,columns:c,original:p,beforeExportMethod:u}=i;let h=[];c=c&&c.length?c:null;let m=i.columnFilterMethod;c||(m=m||(p?({column:e})=>e.property:({column:e})=>defaultFilterExportColumn(e))),h=c?(i._isCustomColumn=!0,_xeUtils.default.searchTree(_xeUtils.default.mapTree(c,e=>{let t;if(e){if((0,_util.isColumnInfo)(e))t=e;else if(_xeUtils.default.isString(e))t=C.getColumnByField(e);else{var l=e.id||e.colId;const r=e.type,o=e.property||e.field;l?t=C.getColumnById(l):o&&r?t=a.find(e=>e.property===o&&e.type===r):o?t=C.getColumnByField(o):r&&(t=a.find(e=>e.type===r))}return t||{}}},{children:"childNodes",mapChildren:"_children"}),(e,t)=>(0,_util.isColumnInfo)(e)&&(!m||m({column:e,$columnIndex:t})),{children:"_children",mapChildren:"childNodes",original:!0})):_xeUtils.default.searchTree(l?r:a,(e,t)=>e.visible&&(!m||m({column:e,$columnIndex:t})),{children:"children",mapChildren:"childNodes",original:!0});const x=[];if(_xeUtils.default.eachTree(h,e=>{e.children&&e.children.length||x.push(e)},{children:"childNodes"}),i.columns=x,i.colgroups=convertToRows(h),i.filename||(i.filename=getI18n(i.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[_xeUtils.default.toDateString(Date.now(),"yyyyMMddHHmmss")])),i.sheetName||(i.sheetName=document.title),!i.exportMethod&&!_xeUtils.default.includes(_xeUtils.default.keys(n._typeMaps),e))return"development"===process.env.NODE_ENV&&log.err("vxe.error.notType",[e]),Promise.reject({status:!1});if(i.print||u&&u({options:i,$table:C,$grid:w}),!i.data)if(i.data=o,"selected"===d){const g=C.getCheckboxRecords();-1<["html","pdf"].indexOf(e)&&t?i.data=_xeUtils.default.searchTree(C.getTableData().fullData,e=>-1<C.findRowIndexOf(g,e),Object.assign({},s,{data:"_row"})):i.data=g}else if("all"===d&&("development"!==process.env.NODE_ENV||w||log.warn("vxe.error.errProp",["all","mode=current,selected"]),w)&&!i.remote){p=w["reactData"],c=w.getComputeMaps()["computeProxyOpts"];const{beforeQueryAll:f,afterQueryAll:v,ajax:b={},props:T={}}=c.value;l=b.queryAll;if("development"!==process.env.NODE_ENV||l||log.warn("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),l){const _={$table:C,$grid:w,sort:p.sortData,filters:p.filterData,form:p.formData,target:l,options:i};return Promise.resolve((f||l)(_)).catch(e=>e).then(e=>(i.data=(T.list?_xeUtils.default.get(e,T.list):e)||[],v&&v(_),I(i)))}}return I(i)},importByFile(e,t){var t=Object.assign({},t),l=t["beforeImportMethod"];return l&&l({options:t,$table:C}),x(e,t)},importData(e){var t=d.value;const l=Object.assign({types:_xeUtils.default.keys(t._typeMaps)},t,e),{beforeImportMethod:r,afterImportMethod:o}=l;return r&&r({options:l,$table:C}),_ui.VxeUI.readFile(l).catch(e=>(o&&o({status:!1,options:l,$table:C}),Promise.reject(e))).then(e=>{e=e.file;return x(e,l)})},saveFile(e){return _ui.VxeUI.saveFile(e)},readFile(e){return _ui.VxeUI.readFile(e)},print(e){var t=r.value;const l=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return l.sheetName||(l.sheetName=document.title),new Promise((e,t)=>{_ui.VxeUI.print?l.content?e(_ui.VxeUI.print({content:l.content})):e(o.exportData(l).then(({content:e})=>_ui.VxeUI.print({content:e}))):t({status:!1})})},openImport(e){var{treeConfig:t,importConfig:l}=T,{initStore:r,importStore:o,importParams:a}=E,n=d.value,e=Object.assign({mode:"insert",message:!0,types:_xeUtils.default.keys(n._typeMaps)},e,n),n=e["types"];!t?(l||log.err("vxe.error.reqProp",["import-config"]),t=n.map(e=>({value:e,label:"vxe.export.types."+e})),l=e.modes.map(e=>({value:e,label:"vxe.import.modes."+e})),Object.assign(o,{file:null,type:"",filename:"",modeList:l,typeList:t,visible:!0}),Object.assign(a,e),r.import=!0):e.message&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:getI18n("vxe.error.treeNotImp"),status:"error"})},openExport(e){var t=$.value;"development"!==process.env.NODE_ENV||T.exportConfig||log.err("vxe.error.reqProp",["export-config"]),l(Object.assign({},t,e))},openPrint(e){var t=r.value;"development"!==process.env.NODE_ENV||T.printConfig||log.err("vxe.error.reqProp",["print-config"]),l(Object.assign({},t,e),!0)}};return o},setupGrid(e){return e.extendTableMethods(tableExportMethodKeys)}});
@@ -5,10 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _vue = require("vue");
8
- var _vxePcUi = require("vxe-pc-ui");
8
+ var _ui = require("../../../ui");
9
9
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
10
10
  var _utils = require("../../../ui/src/utils");
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ const {
13
+ getI18n,
14
+ getIcon
15
+ } = _ui.VxeUI;
12
16
  var _default = exports.default = (0, _vue.defineComponent)({
13
17
  name: 'VxeTableImportPanel',
14
18
  props: {
@@ -46,7 +50,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
46
50
  } = storeData;
47
51
  if (type) {
48
52
  const selectItem = _xeUtils.default.find(typeList, item => type === item.value);
49
- return selectItem ? (0, _vxePcUi.getI18n)(selectItem.label) : '*.*';
53
+ return selectItem ? getI18n(selectItem.label) : '*.*';
50
54
  }
51
55
  return `*.${typeList.map(item => item.value).join(', *.')}`;
52
56
  });
@@ -112,7 +116,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
112
116
  const parseTypeLabel = computeParseTypeLabel.value;
113
117
  return (0, _vue.h)((0, _vue.resolveComponent)('vxe-modal'), {
114
118
  modelValue: storeData.visible,
115
- title: (0, _vxePcUi.getI18n)('vxe.import.impTitle'),
119
+ title: getI18n('vxe.import.impTitle'),
116
120
  className: 'vxe-table-import-popup-wrapper',
117
121
  width: 440,
118
122
  mask: true,
@@ -133,17 +137,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
133
137
  cellspacing: 0,
134
138
  cellpadding: 0,
135
139
  border: 0
136
- }, [(0, _vue.h)('tbody', [(0, _vue.h)('tr', [(0, _vue.h)('td', (0, _vxePcUi.getI18n)('vxe.import.impFile')), (0, _vue.h)('td', [hasFile ? (0, _vue.h)('div', {
140
+ }, [(0, _vue.h)('tbody', [(0, _vue.h)('tr', [(0, _vue.h)('td', getI18n('vxe.import.impFile')), (0, _vue.h)('td', [hasFile ? (0, _vue.h)('div', {
137
141
  class: 'vxe-import-selected--file',
138
142
  title: selectName
139
143
  }, [(0, _vue.h)('span', selectName), (0, _vue.h)('i', {
140
- class: (0, _vxePcUi.getIcon)().INPUT_CLEAR,
144
+ class: getIcon().INPUT_CLEAR,
141
145
  onClick: clearFileEvent
142
146
  })]) : (0, _vue.h)('button', {
143
147
  ref: refFileBtn,
144
148
  class: 'vxe-import-select--file',
145
149
  onClick: selectFileEvent
146
- }, (0, _vxePcUi.getI18n)('vxe.import.impSelect'))])]), (0, _vue.h)('tr', [(0, _vue.h)('td', (0, _vxePcUi.getI18n)('vxe.import.impType')), (0, _vue.h)('td', parseTypeLabel)]), (0, _vue.h)('tr', [(0, _vue.h)('td', (0, _vxePcUi.getI18n)('vxe.import.impOpts')), (0, _vue.h)('td', [(0, _vue.h)((0, _vue.resolveComponent)('vxe-radio-group'), {
150
+ }, getI18n('vxe.import.impSelect'))])]), (0, _vue.h)('tr', [(0, _vue.h)('td', getI18n('vxe.import.impType')), (0, _vue.h)('td', parseTypeLabel)]), (0, _vue.h)('tr', [(0, _vue.h)('td', getI18n('vxe.import.impOpts')), (0, _vue.h)('td', [(0, _vue.h)((0, _vue.resolveComponent)('vxe-radio-group'), {
147
151
  modelValue: defaultOptions.mode,
148
152
  'onUpdate:modelValue'(value) {
149
153
  defaultOptions.mode = value;
@@ -151,17 +155,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
151
155
  }, {
152
156
  default: () => storeData.modeList.map(item => (0, _vue.h)((0, _vue.resolveComponent)('vxe-radio'), {
153
157
  label: item.value,
154
- content: (0, _vxePcUi.getI18n)(item.label)
158
+ content: getI18n(item.label)
155
159
  }))
156
160
  })])])])]), (0, _vue.h)('div', {
157
161
  class: 'vxe-export--panel-btns'
158
162
  }, [(0, _vue.h)((0, _vue.resolveComponent)('vxe-button'), {
159
- content: (0, _vxePcUi.getI18n)('vxe.import.impCancel'),
163
+ content: getI18n('vxe.import.impCancel'),
160
164
  onClick: cancelEvent
161
165
  }), (0, _vue.h)((0, _vue.resolveComponent)('vxe-button'), {
162
166
  status: 'primary',
163
167
  disabled: !hasFile,
164
- content: (0, _vxePcUi.getI18n)('vxe.import.impConfirm'),
168
+ content: getI18n('vxe.import.impConfirm'),
165
169
  onClick: importEvent
166
170
  })])]);
167
171
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_vxePcUi=require("vxe-pc-ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableImportPanel",props:{defaultOptions:Object,storeData:Object},setup(l){const o=(0,_vue.inject)("$xeTable",{}),a=o.getComputeMaps()["computeImportOpts"],u=(0,_vue.reactive)({loading:!1}),v=(0,_vue.ref)(),r=(0,_vue.computed)(()=>{var e=l["storeData"];return e.filename+"."+e.type}),n=(0,_vue.computed)(()=>{var e=l["storeData"];return e.file&&e.type}),s=(0,_vue.computed)(()=>{var e=l["storeData"];const{type:t,typeList:i}=e;return t?(e=_xeUtils.default.find(i,e=>t===e.value))?(0,_vxePcUi.getI18n)(e.label):"*.*":"*."+i.map(e=>e.value).join(", *.")}),p=()=>{var e=l["storeData"];Object.assign(e,{filename:"",sheetName:"",type:""})},c=()=>{const{storeData:t,defaultOptions:e}=l;o.readFile(e).then(e=>{e=e.file;Object.assign(t,(0,_utils.parseFile)(e),{file:e})}).catch(e=>e)},_=()=>{(0,_vue.nextTick)(()=>{var e=v.value;e&&e.focus()})},d=()=>{var e=l["storeData"];e.visible=!1},m=()=>{const{storeData:e,defaultOptions:t}=l;var i=a.value;u.loading=!0,o.importByFile(e.file,Object.assign({},i,t)).then(()=>{u.loading=!1,e.visible=!1}).catch(()=>{u.loading=!1})};return()=>{const{defaultOptions:t,storeData:i}=l,e=r.value,o=n.value,a=s.value;return(0,_vue.h)((0,_vue.resolveComponent)("vxe-modal"),{modelValue:i.visible,title:(0,_vxePcUi.getI18n)("vxe.import.impTitle"),className:"vxe-table-import-popup-wrapper",width:440,mask:!0,lockView:!0,showFooter:!1,escClosable:!0,maskClosable:!0,loading:u.loading,"onUpdate:modelValue"(e){i.visible=e},onShow:_},{default:()=>(0,_vue.h)("div",{class:"vxe-export--panel"},[(0,_vue.h)("table",{cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",[(0,_vue.h)("tr",[(0,_vue.h)("td",(0,_vxePcUi.getI18n)("vxe.import.impFile")),(0,_vue.h)("td",[o?(0,_vue.h)("div",{class:"vxe-import-selected--file",title:e},[(0,_vue.h)("span",e),(0,_vue.h)("i",{class:(0,_vxePcUi.getIcon)().INPUT_CLEAR,onClick:p})]):(0,_vue.h)("button",{ref:v,class:"vxe-import-select--file",onClick:c},(0,_vxePcUi.getI18n)("vxe.import.impSelect"))])]),(0,_vue.h)("tr",[(0,_vue.h)("td",(0,_vxePcUi.getI18n)("vxe.import.impType")),(0,_vue.h)("td",a)]),(0,_vue.h)("tr",[(0,_vue.h)("td",(0,_vxePcUi.getI18n)("vxe.import.impOpts")),(0,_vue.h)("td",[(0,_vue.h)((0,_vue.resolveComponent)("vxe-radio-group"),{modelValue:t.mode,"onUpdate:modelValue"(e){t.mode=e}},{default:()=>i.modeList.map(e=>(0,_vue.h)((0,_vue.resolveComponent)("vxe-radio"),{label:e.value,content:(0,_vxePcUi.getI18n)(e.label)}))})])])])]),(0,_vue.h)("div",{class:"vxe-export--panel-btns"},[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{content:(0,_vxePcUi.getI18n)("vxe.import.impCancel"),onClick:d}),(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{status:"primary",disabled:!o,content:(0,_vxePcUi.getI18n)("vxe.import.impConfirm"),onClick:m})])])})}}});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_ui=require("../../../ui"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../../ui/src/utils");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{getI18n,getIcon}=_ui.VxeUI;var _default=exports.default=(0,_vue.defineComponent)({name:"VxeTableImportPanel",props:{defaultOptions:Object,storeData:Object},setup(i){const a=(0,_vue.inject)("$xeTable",{}),l=a.getComputeMaps()["computeImportOpts"],u=(0,_vue.reactive)({loading:!1}),n=(0,_vue.ref)(),r=(0,_vue.computed)(()=>{var e=i["storeData"];return e.filename+"."+e.type}),v=(0,_vue.computed)(()=>{var e=i["storeData"];return e.file&&e.type}),s=(0,_vue.computed)(()=>{var e=i["storeData"];const{type:t,typeList:o}=e;return t?(e=_xeUtils.default.find(o,e=>t===e.value))?getI18n(e.label):"*.*":"*."+o.map(e=>e.value).join(", *.")}),p=()=>{var e=i["storeData"];Object.assign(e,{filename:"",sheetName:"",type:""})},d=()=>{const{storeData:t,defaultOptions:e}=i;a.readFile(e).then(e=>{e=e.file;Object.assign(t,(0,_utils.parseFile)(e),{file:e})}).catch(e=>e)},c=()=>{(0,_vue.nextTick)(()=>{var e=n.value;e&&e.focus()})},m=()=>{var e=i["storeData"];e.visible=!1},_=()=>{const{storeData:e,defaultOptions:t}=i;var o=l.value;u.loading=!0,a.importByFile(e.file,Object.assign({},o,t)).then(()=>{u.loading=!1,e.visible=!1}).catch(()=>{u.loading=!1})};return()=>{const{defaultOptions:t,storeData:o}=i,e=r.value,a=v.value,l=s.value;return(0,_vue.h)((0,_vue.resolveComponent)("vxe-modal"),{modelValue:o.visible,title:getI18n("vxe.import.impTitle"),className:"vxe-table-import-popup-wrapper",width:440,mask:!0,lockView:!0,showFooter:!1,escClosable:!0,maskClosable:!0,loading:u.loading,"onUpdate:modelValue"(e){o.visible=e},onShow:c},{default:()=>(0,_vue.h)("div",{class:"vxe-export--panel"},[(0,_vue.h)("table",{cellspacing:0,cellpadding:0,border:0},[(0,_vue.h)("tbody",[(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.import.impFile")),(0,_vue.h)("td",[a?(0,_vue.h)("div",{class:"vxe-import-selected--file",title:e},[(0,_vue.h)("span",e),(0,_vue.h)("i",{class:getIcon().INPUT_CLEAR,onClick:p})]):(0,_vue.h)("button",{ref:n,class:"vxe-import-select--file",onClick:d},getI18n("vxe.import.impSelect"))])]),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.import.impType")),(0,_vue.h)("td",l)]),(0,_vue.h)("tr",[(0,_vue.h)("td",getI18n("vxe.import.impOpts")),(0,_vue.h)("td",[(0,_vue.h)((0,_vue.resolveComponent)("vxe-radio-group"),{modelValue:t.mode,"onUpdate:modelValue"(e){t.mode=e}},{default:()=>o.modeList.map(e=>(0,_vue.h)((0,_vue.resolveComponent)("vxe-radio"),{label:e.value,content:getI18n(e.label)}))})])])])]),(0,_vue.h)("div",{class:"vxe-export--panel-btns"},[(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{content:getI18n("vxe.import.impCancel"),onClick:m}),(0,_vue.h)((0,_vue.resolveComponent)("vxe-button"),{status:"primary",disabled:!a,content:getI18n("vxe.import.impConfirm"),onClick:_})])])})}}});
@@ -2,12 +2,16 @@
2
2
 
3
3
  var _vue = require("vue");
4
4
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
5
- var _vxePcUi = require("vxe-pc-ui");
5
+ var _ui = require("../../../ui");
6
6
  var _util = require("../../src/util");
7
7
  var _dom = require("../../../ui/src/dom");
8
8
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ const {
10
+ renderer,
11
+ hooks
12
+ } = _ui.VxeUI;
9
13
  const tableFilterMethodKeys = ['setFilter', 'clearFilter', 'getCheckedFilters'];
10
- _vxePcUi.hooks.add('tableFilterModule', {
14
+ hooks.add('tableFilterModule', {
11
15
  setupTable($xeTable) {
12
16
  const {
13
17
  props,
@@ -59,7 +63,7 @@ _vxePcUi.hooks.add('tableFilterModule', {
59
63
  filterMultiple,
60
64
  filterRender
61
65
  } = column;
62
- const compConf = filterRender ? _vxePcUi.renderer.get(filterRender.name) : null;
66
+ const compConf = filterRender ? renderer.get(filterRender.name) : null;
63
67
  const filterRecoverMethod = column.filterRecoverMethod || (compConf ? compConf.filterRecoverMethod : null);
64
68
  internalData._currFilterParams = params;
65
69
  Object.assign(filterStore, {
@@ -154,7 +158,7 @@ _vxePcUi.hooks.add('tableFilterModule', {
154
158
  filterRender
155
159
  } = column;
156
160
  if (filters) {
157
- const compConf = filterRender ? _vxePcUi.renderer.get(filterRender.name) : null;
161
+ const compConf = filterRender ? renderer.get(filterRender.name) : null;
158
162
  const filterResetMethod = column.filterResetMethod || (compConf ? compConf.filterResetMethod : null);
159
163
  filters.forEach(item => {
160
164
  item._checked = false;
@@ -1 +1 @@
1
- "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_vxePcUi=require("vxe-pc-ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const tableFilterMethodKeys=["setFilter","clearFilter","getCheckedFilters"];_vxePcUi.hooks.add("tableFilterModule",{setupTable(m){const{props:d,reactData:g,internalData:s}=m,{refTableBody:F,refTableFilter:_}=m.getRefMaps(),{computeFilterOpts:h,computeMouseOpts:v}=m.getComputeMaps(),a={checkFilterOptions(){var e=g["filterStore"];e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(e,u,t){const{initStore:l,filterStore:d}=g;if(d.column===u&&d.visible)d.visible=!1;else{const{target:h,pageX:v}=e,p=(0,_dom.getDomNode)()["visibleWidth"];var{filters:r,filterMultiple:i,filterRender:a}=u,a=a?_vxePcUi.renderer.get(a.name):null;const o=u.filterRecoverMethod||(a?a.filterRecoverMethod:null);s._currFilterParams=t,Object.assign(d,{multiple:i,options:r,column:u,style:null}),d.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||o&&o({option:e,column:u,$table:m})}),this.checkFilterOptions(),d.visible=!0,l.filter=!0,(0,_vue.nextTick)(()=>{var e=F.value.$el,t=_.value,t=t?t.$el:null;let l=0,r=0,i=null,a=null;t&&(l=t.offsetWidth,r=t.offsetHeight,i=t.querySelector(".vxe-table--filter-header"),a=t.querySelector(".vxe-table--filter-footer"));var t=l/2,o=e.clientWidth-l-10;let s,n;var c={top:h.offsetTop+h.offsetParent.offsetTop+h.offsetHeight+8+"px"};let f=null;r>=e.clientHeight&&(f=Math.max(60,e.clientHeight-(a?a.offsetHeight:0)-(i?i.offsetHeight:0))),"left"===u.fixed?s=h.offsetLeft+h.offsetParent.offsetLeft-t:"right"===u.fixed?n=h.offsetParent.offsetWidth-h.offsetLeft+(h.offsetParent.offsetParent.offsetWidth-h.offsetParent.offsetLeft)-u.renderWidth-t:s=h.offsetLeft+h.offsetParent.offsetLeft-t-e.scrollLeft,s?(0<(e=v+l-t+10-p)&&(s-=e),c.left=Math.min(o,Math.max(10,s))+"px"):n&&(0<(e=v+l-t+10-p)&&(n+=e),c.right=Math.max(10,n)+"px"),d.style=c,d.maxHeight=f})}m.dispatchEvent("filter-visible",{column:u,field:u.field,property:u.field,filterList:m.getCheckedFilters(),visible:d.visible},e)},handleClearFilter(e){if(e){var{filters:t,filterRender:l}=e;if(t){l=l?_vxePcUi.renderer.get(l.name):null;const r=e.filterResetMethod||(l?l.filterResetMethod:null);t.forEach(e=>{e._checked=!1,e.checked=!1,r||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),r&&r({options:t,column:e,$table:m})}}},confirmFilterEvent(e){var t=d["mouseConfig"];const{filterStore:l,scrollXLoad:r,scrollYLoad:i}=g;var a=h.value,o=v.value,s=l["column"],n=s["field"];const c=[],f=[];s.filters.forEach(e=>{e.checked&&(c.push(e.value),f.push(e.data))});var u=m.getCheckedFilters(),s={$table:m,$event:e,column:s,field:n,property:n,values:c,datas:f,filters:u,filterList:u};a.remote||(m.handleTableData(!0),m.checkSelectionStatus()),t&&o.area&&m.handleFilterEvent&&m.handleFilterEvent(e,s),m.dispatchEvent("filter-change",s,e),m.closeFilter(),m.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=g;if(r||e||i||t)return(r||e)&&m.updateScrollXSpace(),(i||t)&&m.updateScrollYSpace(),m.refreshScroll()}).then(()=>(m.updateCellAreas(),m.recalculate(!0))).then(()=>{setTimeout(()=>m.recalculate(),50)})}};return Object.assign(Object.assign({},{openFilter(e){const t=(0,_util.handleFieldOrColumn)(m,e);if(t&&t.filters){const l=s["elemStore"],r=t["fixed"];return m.scrollToColumn(t).then(()=>{var e=l[`${r||"main"}-header-wrapper`]||l["main-header-wrapper"],e=e?e.value:null;e&&(e=e.querySelector(`.vxe-header--column.${t.id} .vxe-filter--btn`),(0,_dom.triggerEvent)(e,"click"))})}return(0,_vue.nextTick)()},setFilter(e,t){e=(0,_util.handleFieldOrColumn)(m,e);return e&&e.filters&&(e.filters=(0,_util.toFilters)(t||[])),(0,_vue.nextTick)()},clearFilter(e){var t=g["filterStore"],l=s["tableFullColumn"],r=h.value;let i;return e?(i=(0,_util.handleFieldOrColumn)(m,e))&&a.handleClearFilter(i):l.forEach(a.handleClearFilter),e&&i===t.column||Object.assign(t,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),r.remote?(0,_vue.nextTick)():m.updateData()},getCheckedFilters(){var e=s["tableFullColumn"];const a=[];return e.forEach(e=>{var{field:t,filters:l}=e;const r=[],i=[];l&&l.length&&(l.forEach(e=>{e.checked&&(r.push(e.value),i.push(e.data))}),r.length)&&a.push({column:e,field:t,property:t,values:r,datas:i})}),a}}),a)},setupGrid(e){return e.extendTableMethods(tableFilterMethodKeys)}});
1
+ "use strict";var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../../ui"),_util=require("../../src/util"),_dom=require("../../../ui/src/dom");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const{renderer,hooks}=_ui.VxeUI,tableFilterMethodKeys=["setFilter","clearFilter","getCheckedFilters"];hooks.add("tableFilterModule",{setupTable(m){const{props:d,reactData:g,internalData:s}=m,{refTableBody:F,refTableFilter:b}=m.getRefMaps(),{computeFilterOpts:h,computeMouseOpts:p}=m.getComputeMaps(),o={checkFilterOptions(){var e=g["filterStore"];e.isAllSelected=e.options.every(e=>e._checked),e.isIndeterminate=!e.isAllSelected&&e.options.some(e=>e._checked)},triggerFilterEvent(e,c,t){const{initStore:l,filterStore:d}=g;if(d.column===c&&d.visible)d.visible=!1;else{const{target:h,pageX:p}=e,v=(0,_dom.getDomNode)()["visibleWidth"];var{filters:r,filterMultiple:i,filterRender:o}=c,o=o?renderer.get(o.name):null;const a=c.filterRecoverMethod||(o?o.filterRecoverMethod:null);s._currFilterParams=t,Object.assign(d,{multiple:i,options:r,column:c,style:null}),d.options.forEach(e=>{var{_checked:t,checked:l}=e;(e._checked=l)||t===l||a&&a({option:e,column:c,$table:m})}),this.checkFilterOptions(),d.visible=!0,l.filter=!0,(0,_vue.nextTick)(()=>{var e=F.value.$el,t=b.value,t=t?t.$el:null;let l=0,r=0,i=null,o=null;t&&(l=t.offsetWidth,r=t.offsetHeight,i=t.querySelector(".vxe-table--filter-header"),o=t.querySelector(".vxe-table--filter-footer"));var t=l/2,a=e.clientWidth-l-10;let s,n;var f={top:h.offsetTop+h.offsetParent.offsetTop+h.offsetHeight+8+"px"};let u=null;r>=e.clientHeight&&(u=Math.max(60,e.clientHeight-(o?o.offsetHeight:0)-(i?i.offsetHeight:0))),"left"===c.fixed?s=h.offsetLeft+h.offsetParent.offsetLeft-t:"right"===c.fixed?n=h.offsetParent.offsetWidth-h.offsetLeft+(h.offsetParent.offsetParent.offsetWidth-h.offsetParent.offsetLeft)-c.renderWidth-t:s=h.offsetLeft+h.offsetParent.offsetLeft-t-e.scrollLeft,s?(0<(e=p+l-t+10-v)&&(s-=e),f.left=Math.min(a,Math.max(10,s))+"px"):n&&(0<(e=p+l-t+10-v)&&(n+=e),f.right=Math.max(10,n)+"px"),d.style=f,d.maxHeight=u})}m.dispatchEvent("filter-visible",{column:c,field:c.field,property:c.field,filterList:m.getCheckedFilters(),visible:d.visible},e)},handleClearFilter(e){if(e){var{filters:t,filterRender:l}=e;if(t){l=l?renderer.get(l.name):null;const r=e.filterResetMethod||(l?l.filterResetMethod:null);t.forEach(e=>{e._checked=!1,e.checked=!1,r||(e.data=_xeUtils.default.clone(e.resetValue,!0))}),r&&r({options:t,column:e,$table:m})}}},confirmFilterEvent(e){var t=d["mouseConfig"];const{filterStore:l,scrollXLoad:r,scrollYLoad:i}=g;var o=h.value,a=p.value,s=l["column"],n=s["field"];const f=[],u=[];s.filters.forEach(e=>{e.checked&&(f.push(e.value),u.push(e.data))});var c=m.getCheckedFilters(),s={$table:m,$event:e,column:s,field:n,property:n,values:f,datas:u,filters:c,filterList:c};o.remote||(m.handleTableData(!0),m.checkSelectionStatus()),t&&a.area&&m.handleFilterEvent&&m.handleFilterEvent(e,s),m.dispatchEvent("filter-change",s,e),m.closeFilter(),m.updateFooter().then(()=>{var{scrollXLoad:e,scrollYLoad:t}=g;if(r||e||i||t)return(r||e)&&m.updateScrollXSpace(),(i||t)&&m.updateScrollYSpace(),m.refreshScroll()}).then(()=>(m.updateCellAreas(),m.recalculate(!0))).then(()=>{setTimeout(()=>m.recalculate(),50)})}};return Object.assign(Object.assign({},{openFilter(e){const t=(0,_util.handleFieldOrColumn)(m,e);if(t&&t.filters){const l=s["elemStore"],r=t["fixed"];return m.scrollToColumn(t).then(()=>{var e=l[`${r||"main"}-header-wrapper`]||l["main-header-wrapper"],e=e?e.value:null;e&&(e=e.querySelector(`.vxe-header--column.${t.id} .vxe-filter--btn`),(0,_dom.triggerEvent)(e,"click"))})}return(0,_vue.nextTick)()},setFilter(e,t){e=(0,_util.handleFieldOrColumn)(m,e);return e&&e.filters&&(e.filters=(0,_util.toFilters)(t||[])),(0,_vue.nextTick)()},clearFilter(e){var t=g["filterStore"],l=s["tableFullColumn"],r=h.value;let i;return e?(i=(0,_util.handleFieldOrColumn)(m,e))&&o.handleClearFilter(i):l.forEach(o.handleClearFilter),e&&i===t.column||Object.assign(t,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),r.remote?(0,_vue.nextTick)():m.updateData()},getCheckedFilters(){var e=s["tableFullColumn"];const o=[];return e.forEach(e=>{var{field:t,filters:l}=e;const r=[],i=[];l&&l.length&&(l.forEach(e=>{e.checked&&(r.push(e.value),i.push(e.data))}),r.length)&&o.push({column:e,field:t,property:t,values:r,datas:i})}),o}}),o)},setupGrid(e){return e.extendTableMethods(tableFilterMethodKeys)}});
@@ -5,10 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _vue = require("vue");
8
- var _vxePcUi = require("vxe-pc-ui");
8
+ var _ui = require("../../../ui");
9
9
  var _utils = require("../../../ui/src/utils");
10
10
  var _dom = require("../../../ui/src/dom");
11
11
  var _vn = require("../../../ui/src/vn");
12
+ const {
13
+ getI18n,
14
+ getIcon,
15
+ renderer
16
+ } = _ui.VxeUI;
12
17
  var _default = exports.default = (0, _vue.defineComponent)({
13
18
  name: 'VxeTableFilterPanel',
14
19
  props: {
@@ -151,15 +156,15 @@ var _default = exports.default = (0, _vue.defineComponent)({
151
156
  'is--checked': isAllChecked,
152
157
  'is--indeterminate': isAllIndeterminate
153
158
  }],
154
- title: (0, _vxePcUi.getI18n)(multiple ? 'vxe.table.allTitle' : 'vxe.table.allFilter'),
159
+ title: getI18n(multiple ? 'vxe.table.allTitle' : 'vxe.table.allFilter'),
155
160
  onClick: evnt => {
156
161
  changeAllOption(evnt, !filterStore.isAllSelected);
157
162
  }
158
163
  }, (multiple ? [(0, _vue.h)('span', {
159
- class: ['vxe-checkbox--icon', isAllIndeterminate ? (0, _vxePcUi.getIcon)().TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? (0, _vxePcUi.getIcon)().TABLE_CHECKBOX_CHECKED : (0, _vxePcUi.getIcon)().TABLE_CHECKBOX_UNCHECKED]
164
+ class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
160
165
  })] : []).concat([(0, _vue.h)('span', {
161
166
  class: 'vxe-checkbox--label'
162
- }, (0, _vxePcUi.getI18n)('vxe.table.allFilter'))]))]), (0, _vue.h)('ul', {
167
+ }, getI18n('vxe.table.allFilter'))]))]), (0, _vue.h)('ul', {
163
168
  class: 'vxe-table--filter-body',
164
169
  style: maxHeight ? {
165
170
  maxHeight: `${maxHeight}px`
@@ -176,7 +181,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
176
181
  changeOption(evnt, !item._checked, item);
177
182
  }
178
183
  }, (multiple ? [(0, _vue.h)('span', {
179
- class: ['vxe-checkbox--icon', isIndeterminate ? (0, _vxePcUi.getIcon)().TABLE_CHECKBOX_INDETERMINATE : isChecked ? (0, _vxePcUi.getIcon)().TABLE_CHECKBOX_CHECKED : (0, _vxePcUi.getIcon)().TABLE_CHECKBOX_UNCHECKED]
184
+ class: ['vxe-checkbox--icon', isIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : isChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED]
180
185
  })] : []).concat([(0, _vue.h)('span', {
181
186
  class: 'vxe-checkbox--label'
182
187
  }, (0, _utils.formatText)(item.label, 1))]));
@@ -193,7 +198,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
193
198
  const filterOpts = computeFilterOpts.value;
194
199
  const hasCheckOption = computeHasCheckOption.value;
195
200
  const filterRender = column.filterRender;
196
- const compConf = filterRender ? _vxePcUi.renderer.get(filterRender.name) : null;
201
+ const compConf = filterRender ? renderer.get(filterRender.name) : null;
197
202
  const isDisabled = !hasCheckOption && !filterStore.isAllSelected && !filterStore.isIndeterminate;
198
203
  return multiple && (!compConf || compConf.showFilterFooter !== false) ? [(0, _vue.h)('div', {
199
204
  class: 'vxe-table--filter-footer'
@@ -203,9 +208,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
203
208
  },
204
209
  disabled: isDisabled,
205
210
  onClick: confirmFilter
206
- }, filterOpts.confirmButtonText || (0, _vxePcUi.getI18n)('vxe.table.confirmFilter')), (0, _vue.h)('button', {
211
+ }, filterOpts.confirmButtonText || getI18n('vxe.table.confirmFilter')), (0, _vue.h)('button', {
207
212
  onClick: resetFilter
208
- }, filterOpts.resetButtonText || (0, _vxePcUi.getI18n)('vxe.table.resetFilter'))])] : [];
213
+ }, filterOpts.resetButtonText || getI18n('vxe.table.resetFilter'))])] : [];
209
214
  };
210
215
  const renderVN = () => {
211
216
  const {
@@ -218,7 +223,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
218
223
  column
219
224
  } = filterStore;
220
225
  const filterRender = column ? column.filterRender : null;
221
- const compConf = filterRender ? _vxePcUi.renderer.get(filterRender.name) : null;
226
+ const compConf = filterRender ? renderer.get(filterRender.name) : null;
222
227
  const filterClassName = compConf ? compConf.filterClassName : '';
223
228
  const params = Object.assign({}, tableInternalData._currFilterParams, {
224
229
  $panel,