vxe-table 3.13.15 → 3.14.0-beta.0

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 (33) hide show
  1. package/es/grid/src/grid.js +41 -31
  2. package/es/style.css +1 -1
  3. package/es/table/module/edit/mixin.js +3 -1
  4. package/es/table/src/methods.js +275 -160
  5. package/es/table/src/table.js +52 -51
  6. package/es/ui/index.js +1 -1
  7. package/es/ui/src/log.js +1 -1
  8. package/lib/grid/src/grid.js +41 -32
  9. package/lib/grid/src/grid.min.js +1 -1
  10. package/lib/index.umd.js +1595 -2542
  11. package/lib/index.umd.min.js +1 -1
  12. package/lib/style.css +1 -1
  13. package/lib/table/module/edit/mixin.js +3 -1
  14. package/lib/table/module/edit/mixin.min.js +1 -1
  15. package/lib/table/src/methods.js +289 -166
  16. package/lib/table/src/methods.min.js +1 -1
  17. package/lib/table/src/table.js +52 -51
  18. package/lib/table/src/table.min.js +1 -1
  19. package/lib/ui/index.js +1 -1
  20. package/lib/ui/index.min.js +1 -1
  21. package/lib/ui/src/log.js +1 -1
  22. package/lib/ui/src/log.min.js +1 -1
  23. package/package.json +1 -1
  24. package/packages/grid/src/grid.ts +41 -31
  25. package/packages/table/module/edit/mixin.ts +3 -1
  26. package/packages/table/src/methods.ts +286 -164
  27. package/packages/table/src/table.ts +55 -53
  28. /package/es/{iconfont.1740723810366.ttf → iconfont.1740732119954.ttf} +0 -0
  29. /package/es/{iconfont.1740723810366.woff → iconfont.1740732119954.woff} +0 -0
  30. /package/es/{iconfont.1740723810366.woff2 → iconfont.1740732119954.woff2} +0 -0
  31. /package/lib/{iconfont.1740723810366.ttf → iconfont.1740732119954.ttf} +0 -0
  32. /package/lib/{iconfont.1740723810366.woff → iconfont.1740732119954.woff} +0 -0
  33. /package/lib/{iconfont.1740723810366.woff2 → iconfont.1740732119954.woff2} +0 -0
@@ -1297,28 +1297,28 @@ export default {
1297
1297
  const mouseOpts = $xeTable.computeMouseOpts;
1298
1298
  const exportOpts = $xeTable.computeExportOpts;
1299
1299
  const importOpts = $xeTable.computeImportOpts;
1300
- if (this.rowId) {
1300
+ if (props.rowId) {
1301
1301
  warnLog('vxe.error.delProp', ['row-id', 'row-config.keyField']);
1302
1302
  }
1303
- if (this.rowKey) {
1303
+ if (props.rowKey) {
1304
1304
  warnLog('vxe.error.delProp', ['row-key', 'row-config.useKey']);
1305
1305
  }
1306
- if (this.columnKey) {
1306
+ if (props.columnKey) {
1307
1307
  warnLog('vxe.error.delProp', ['column-id', 'column-config.useKey']);
1308
1308
  }
1309
- if (!(this.rowId || rowOpts.keyField) && (checkboxOpts.reserve || checkboxOpts.checkRowKeys || radioOpts.reserve || radioOpts.checkRowKey || expandOpts.expandRowKeys || this.treeOpts.expandRowKeys)) {
1309
+ if (!(props.rowId || rowOpts.keyField) && (checkboxOpts.reserve || checkboxOpts.checkRowKeys || radioOpts.reserve || radioOpts.checkRowKey || expandOpts.expandRowKeys || treeOpts.expandRowKeys)) {
1310
1310
  warnLog('vxe.error.reqProp', ['row-config.keyField']);
1311
1311
  }
1312
- if (this.editConfig && editOpts.showStatus && !this.keepSource) {
1312
+ if (props.editConfig && editOpts.showStatus && !props.keepSource) {
1313
1313
  warnLog('vxe.error.reqProp', ['keep-source']);
1314
1314
  }
1315
- if (treeConfig && (treeOpts.showLine || treeOpts.line) && (!(this.rowKey || rowOpts.useKey) || !showOverflow)) {
1315
+ if (treeConfig && (treeOpts.showLine || treeOpts.line) && (!(props.rowKey || rowOpts.useKey) || !showOverflow)) {
1316
1316
  warnLog('vxe.error.reqProp', ['row-config.useKey | show-overflow']);
1317
1317
  }
1318
- if (treeConfig && !treeOpts.transform && this.stripe) {
1318
+ if (treeConfig && !treeOpts.transform && props.stripe) {
1319
1319
  warnLog('vxe.error.noTree', ['stripe']);
1320
1320
  }
1321
- if (this.showFooter && !(this.footerMethod || this.footerData)) {
1321
+ if (props.showFooter && !(props.footerMethod || props.footerData)) {
1322
1322
  warnLog('vxe.error.reqProp', ['footer-data | footer-method']);
1323
1323
  }
1324
1324
  if (rowOpts.height) {
@@ -1346,25 +1346,25 @@ export default {
1346
1346
  if (exportConfig && exportOpts.types && !exportOpts.exportMethod && !XEUtils.includeArrays(XEUtils.keys(exportOpts._typeMaps), exportOpts.types)) {
1347
1347
  warnLog('vxe.error.errProp', [`export-config.types=${exportOpts.types.join(',')}`, exportOpts.types.filter((type) => XEUtils.includes(XEUtils.keys(exportOpts._typeMaps), type)).join(',') || XEUtils.keys(exportOpts._typeMaps).join(',')]);
1348
1348
  }
1349
- if (!this.id) {
1350
- if ((this.customConfig ? isEnableConf(customOpts) : customOpts.enabled) && customOpts.storage) {
1349
+ if (!props.id) {
1350
+ if ((props.customConfig ? isEnableConf(customOpts) : customOpts.enabled) && customOpts.storage) {
1351
1351
  errLog('vxe.error.reqProp', ['id']);
1352
1352
  }
1353
1353
  }
1354
- if (this.treeConfig && this.checkboxOpts.range) {
1354
+ if (treeConfig && checkboxOpts.range) {
1355
1355
  errLog('vxe.error.noTree', ['checkbox-config.range']);
1356
1356
  }
1357
- if (this.rowOpts.height && !this.showOverflow) {
1357
+ if (rowOpts.height && !this.showOverflow) {
1358
1358
  warnLog('vxe.error.notProp', ['table.show-overflow']);
1359
1359
  }
1360
- if (!this.handleMousedownCellAreaEvent) {
1361
- if (this.areaConfig) {
1360
+ if (!$xeTable.handleMousedownCellAreaEvent) {
1361
+ if (props.areaConfig) {
1362
1362
  warnLog('vxe.error.notProp', ['area-config']);
1363
1363
  }
1364
- if (this.clipConfig) {
1364
+ if (props.clipConfig) {
1365
1365
  warnLog('vxe.error.notProp', ['clip-config']);
1366
1366
  }
1367
- if (this.fnrConfig) {
1367
+ if (props.fnrConfig) {
1368
1368
  warnLog('vxe.error.notProp', ['fnr-config']);
1369
1369
  }
1370
1370
  if (mouseOpts.area) {
@@ -1375,21 +1375,30 @@ export default {
1375
1375
  if (treeConfig && rowOpts.drag && !treeOpts.transform) {
1376
1376
  warnLog('vxe.error.notSupportProp', ['column-config.drag', 'tree-config.transform=false', 'tree-config.transform=true']);
1377
1377
  }
1378
- if (this.dragConfig) {
1378
+ if (props.dragConfig) {
1379
1379
  warnLog('vxe.error.delProp', ['drag-config', 'row-drag-config']);
1380
1380
  }
1381
- if (this.treeConfig && treeOpts.children) {
1381
+ if (props.treeConfig && treeOpts.children) {
1382
1382
  warnLog('vxe.error.delProp', ['tree-config.children', 'tree-config.childrenField']);
1383
1383
  }
1384
- if (this.treeConfig && treeOpts.line) {
1384
+ if (props.treeConfig && treeOpts.line) {
1385
1385
  warnLog('vxe.error.delProp', ['tree-config.line', 'tree-config.showLine']);
1386
1386
  }
1387
1387
  if (mouseOpts.area && mouseOpts.selected) {
1388
1388
  warnLog('vxe.error.errConflicts', ['mouse-config.area', 'mouse-config.selected']);
1389
1389
  }
1390
- if (mouseOpts.area && (this.treeConfig && !treeOpts.transform)) {
1390
+ if (mouseOpts.area && (props.treeConfig && !treeOpts.transform)) {
1391
1391
  errLog('vxe.error.noTree', ['mouse-config.area']);
1392
1392
  }
1393
+ if (props.editConfig && editOpts.activeMethod) {
1394
+ warnLog('vxe.error.delProp', ['table.edit-config.activeMethod', 'table.edit-config.beforeEditMethod']);
1395
+ }
1396
+ if (props.treeConfig && checkboxOpts.isShiftKey) {
1397
+ errLog('vxe.error.errConflicts', ['tree-config', 'checkbox-config.isShiftKey']);
1398
+ }
1399
+ if (checkboxOpts.halfField) {
1400
+ warnLog('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField']);
1401
+ }
1393
1402
  // 在 v3.0 中废弃 context-menu
1394
1403
  if (this.contextMenu) {
1395
1404
  warnLog('vxe.error.delProp', ['context-menu', 'menu-config']);
@@ -1421,26 +1430,17 @@ export default {
1421
1430
  if (this.emptyRender && !XEUtils.isObject(this.emptyRender)) {
1422
1431
  warnLog('vxe.error.errProp', [`table.empty-render=${this.emptyRender}`, 'table.empty-render={}']);
1423
1432
  }
1424
- if (this.editConfig && this.editOpts.activeMethod) {
1425
- warnLog('vxe.error.delProp', ['table.edit-config.activeMethod', 'table.edit-config.beforeEditMethod']);
1426
- }
1427
- if (this.treeConfig && this.checkboxOpts.isShiftKey) {
1428
- errLog('vxe.error.errConflicts', ['tree-config', 'checkbox-config.isShiftKey']);
1429
- }
1430
- if (this.checkboxOpts.halfField) {
1431
- warnLog('vxe.error.delProp', ['checkbox-config.halfField', 'checkbox-config.indeterminateField']);
1432
- }
1433
1433
  // 检查是否有安装需要的模块
1434
- if (this.editConfig && !this._insert) {
1434
+ if (props.editConfig && !$xeTable.insert) {
1435
1435
  errLog('vxe.error.reqModule', ['Edit']);
1436
1436
  }
1437
- if (this.editRules && !this._validate) {
1437
+ if (props.editRules && !$xeTable.validate) {
1438
1438
  errLog('vxe.error.reqModule', ['Validator']);
1439
1439
  }
1440
- if ((this.checkboxOpts.range || this.keyboardConfig || this.mouseConfig) && !this.handleCellMousedownEvent) {
1440
+ if ((checkboxOpts.range || props.keyboardConfig || props.mouseConfig) && !$xeTable.handleCellMousedownEvent) {
1441
1441
  errLog('vxe.error.reqModule', ['Keyboard']);
1442
1442
  }
1443
- if ((this.printConfig || this.importConfig || this.exportConfig) && !this._exportData) {
1443
+ if ((props.printConfig || props.importConfig || props.exportConfig) && !$xeTable.exportData) {
1444
1444
  errLog('vxe.error.reqModule', ['Export']);
1445
1445
  }
1446
1446
  Object.assign(scrollYStore, {
@@ -1463,15 +1463,15 @@ export default {
1463
1463
  this.handleInitDefaults();
1464
1464
  this.updateStyle();
1465
1465
  });
1466
- globalEvents.on(this, 'paste', this.handleGlobalPasteEvent);
1467
- globalEvents.on(this, 'copy', this.handleGlobalCopyEvent);
1468
- globalEvents.on(this, 'cut', this.handleGlobalCutEvent);
1469
- globalEvents.on(this, 'mousedown', this.handleGlobalMousedownEvent);
1470
- globalEvents.on(this, 'blur', this.handleGlobalBlurEvent);
1471
- globalEvents.on(this, 'mousewheel', this.handleGlobalMousewheelEvent);
1472
- globalEvents.on(this, 'keydown', this.handleGlobalKeydownEvent);
1473
- globalEvents.on(this, 'resize', this.handleGlobalResizeEvent);
1474
- globalEvents.on(this, 'contextmenu', this.handleGlobalContextmenuEvent);
1466
+ globalEvents.on($xeTable, 'paste', this.handleGlobalPasteEvent);
1467
+ globalEvents.on($xeTable, 'copy', this.handleGlobalCopyEvent);
1468
+ globalEvents.on($xeTable, 'cut', this.handleGlobalCutEvent);
1469
+ globalEvents.on($xeTable, 'mousedown', this.handleGlobalMousedownEvent);
1470
+ globalEvents.on($xeTable, 'blur', this.handleGlobalBlurEvent);
1471
+ globalEvents.on($xeTable, 'mousewheel', this.handleGlobalMousewheelEvent);
1472
+ globalEvents.on($xeTable, 'keydown', this.handleGlobalKeydownEvent);
1473
+ globalEvents.on($xeTable, 'resize', this.handleGlobalResizeEvent);
1474
+ globalEvents.on($xeTable, 'contextmenu', this.handleGlobalContextmenuEvent);
1475
1475
  $xeTable.preventEvent(null, 'created');
1476
1476
  },
1477
1477
  mounted() {
@@ -1549,15 +1549,16 @@ export default {
1549
1549
  this.preventEvent(null, 'beforeDestroy');
1550
1550
  },
1551
1551
  destroyed() {
1552
- globalEvents.off(this, 'paste');
1553
- globalEvents.off(this, 'copy');
1554
- globalEvents.off(this, 'cut');
1555
- globalEvents.off(this, 'mousedown');
1556
- globalEvents.off(this, 'blur');
1557
- globalEvents.off(this, 'mousewheel');
1558
- globalEvents.off(this, 'keydown');
1559
- globalEvents.off(this, 'resize');
1560
- globalEvents.off(this, 'contextmenu');
1552
+ const $xeTable = this;
1553
+ globalEvents.off($xeTable, 'paste');
1554
+ globalEvents.off($xeTable, 'copy');
1555
+ globalEvents.off($xeTable, 'cut');
1556
+ globalEvents.off($xeTable, 'mousedown');
1557
+ globalEvents.off($xeTable, 'blur');
1558
+ globalEvents.off($xeTable, 'mousewheel');
1559
+ globalEvents.off($xeTable, 'keydown');
1560
+ globalEvents.off($xeTable, 'resize');
1561
+ globalEvents.off($xeTable, 'contextmenu');
1561
1562
  this.preventEvent(null, 'destroyed');
1562
1563
  },
1563
1564
  render(h) {
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { getFuncText } from './src/utils';
3
- export const version = "3.13.15";
3
+ export const version = "3.14.0-beta.0";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `table v${"3.13.15"}`;
3
+ const version = `table v${"3.14.0-beta.0"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
@@ -503,7 +503,7 @@ var _default = exports.default = {
503
503
  });
504
504
  return rest;
505
505
  },
506
- tableProps() {
506
+ computeTableProps() {
507
507
  const {
508
508
  isZMax,
509
509
  seqConfig,
@@ -514,30 +514,31 @@ var _default = exports.default = {
514
514
  proxyOpts,
515
515
  tableExtendProps,
516
516
  tableLoading,
517
- tablePage,
518
- tableData
517
+ tablePage
519
518
  } = this;
520
- const tableProps = Object.assign({}, tableExtendProps);
519
+ const tProps = Object.assign({}, tableExtendProps);
521
520
  if (isZMax) {
522
521
  if (tableExtendProps.maxHeight) {
523
- tableProps.maxHeight = '100%';
522
+ tProps.maxHeight = '100%';
524
523
  } else {
525
- tableProps.height = '100%';
524
+ tProps.height = '100%';
526
525
  }
527
526
  }
528
527
  if (proxyConfig) {
529
- tableProps.loading = loading || tableLoading;
530
- tableProps.data = tableData;
528
+ tProps.loading = loading || tableLoading;
531
529
  if (proxyOpts.seq && (0, _utils.isEnableConf)(pagerConfig)) {
532
- tableProps.seqConfig = Object.assign({}, seqConfig, {
530
+ tProps.seqConfig = Object.assign({}, seqConfig, {
533
531
  startIndex: (tablePage.currentPage - 1) * tablePage.pageSize
534
532
  });
535
533
  }
536
534
  }
537
535
  if (editConfig) {
538
- tableProps.editConfig = Object.assign({}, editConfig);
536
+ tProps.editConfig = Object.assign({}, editConfig);
539
537
  }
540
- return tableProps;
538
+ return tProps;
539
+ },
540
+ tableProps() {
541
+ return this.computeTableProps;
541
542
  },
542
543
  computeCurrLayoutConf() {
543
544
  const $xeGrid = this;
@@ -815,7 +816,7 @@ var _default = exports.default = {
815
816
  ajax = {}
816
817
  } = proxyOpts;
817
818
  const resConfigs = proxyOpts.response || proxyOpts.props || {};
818
- const $xetable = $refs.xTable;
819
+ const $xeTable = $refs.xTable;
819
820
  const formData = this.getFormData();
820
821
  let button;
821
822
  let code;
@@ -886,10 +887,10 @@ var _default = exports.default = {
886
887
  }
887
888
  if (isInited) {
888
889
  let defaultSort = null;
889
- if ($xetable) {
890
+ if ($xeTable) {
890
891
  const {
891
892
  sortOpts
892
- } = $xetable;
893
+ } = $xeTable;
893
894
  defaultSort = sortOpts.defaultSort;
894
895
  }
895
896
  // 如果使用默认排序
@@ -905,16 +906,16 @@ var _default = exports.default = {
905
906
  };
906
907
  });
907
908
  }
908
- if ($xetable) {
909
- filterList = $xetable.getCheckedFilters();
909
+ if ($xeTable) {
910
+ filterList = $xeTable.getCheckedFilters();
910
911
  }
911
912
  } else {
912
- if ($xetable) {
913
+ if ($xeTable) {
913
914
  if (isReload) {
914
- $xetable.clearAll();
915
+ $xeTable.clearAll();
915
916
  } else {
916
- sortList = $xetable.getSortColumns();
917
- filterList = $xetable.getCheckedFilters();
917
+ sortList = $xeTable.getSortColumns();
918
+ filterList = $xeTable.getCheckedFilters();
918
919
  }
919
920
  }
920
921
  }
@@ -936,6 +937,7 @@ var _default = exports.default = {
936
937
  this.tableLoading = true;
937
938
  const applyArgs = [commitParams].concat(args);
938
939
  return Promise.resolve((beforeQuery || ajaxMethods)(...applyArgs)).then(rest => {
940
+ let tableData = [];
939
941
  this.tableLoading = false;
940
942
  if (rest) {
941
943
  if (pagerConfig && (0, _utils.isEnableConf)(pagerOpts)) {
@@ -946,7 +948,7 @@ var _default = exports.default = {
946
948
  }) : _xeUtils.default.get(rest, totalProp || 'page.total')) || 0;
947
949
  tablePage.total = _xeUtils.default.toNumber(total);
948
950
  const resultProp = resConfigs.result;
949
- this.tableData = (_xeUtils.default.isFunction(resultProp) ? resultProp({
951
+ tableData = (_xeUtils.default.isFunction(resultProp) ? resultProp({
950
952
  data: rest,
951
953
  $grid: this
952
954
  }) : _xeUtils.default.get(rest, resultProp || 'result')) || [];
@@ -957,13 +959,20 @@ var _default = exports.default = {
957
959
  }
958
960
  } else {
959
961
  const listProp = resConfigs.list;
960
- this.tableData = (listProp ? _xeUtils.default.isFunction(listProp) ? listProp({
962
+ tableData = (listProp ? _xeUtils.default.isFunction(listProp) ? listProp({
961
963
  data: rest,
962
964
  $grid: this
963
965
  }) : _xeUtils.default.get(rest, listProp) : rest) || [];
964
966
  }
967
+ }
968
+ if ($xeTable) {
969
+ $xeTable.loadData(tableData);
965
970
  } else {
966
- this.tableData = [];
971
+ $xeTable.$nextTick(() => {
972
+ if ($xeTable) {
973
+ $xeTable.loadData(tableData);
974
+ }
975
+ });
967
976
  }
968
977
  if (afterQuery) {
969
978
  afterQuery(...applyArgs);
@@ -1000,8 +1009,8 @@ var _default = exports.default = {
1000
1009
  const deleteSuccessMethods = ajax.deleteSuccess;
1001
1010
  const deleteErrorMethods = ajax.deleteError;
1002
1011
  if (ajaxMethods) {
1003
- const selectRecords = $xetable.getCheckboxRecords();
1004
- const removeRecords = selectRecords.filter(row => !$xetable.isInsertByRow(row));
1012
+ const selectRecords = $xeTable.getCheckboxRecords();
1013
+ const removeRecords = selectRecords.filter(row => !$xeTable.isInsertByRow(row));
1005
1014
  const body = {
1006
1015
  removeRecords
1007
1016
  };
@@ -1017,12 +1026,12 @@ var _default = exports.default = {
1017
1026
  if (selectRecords.length) {
1018
1027
  return this.handleDeleteRow(code, 'vxe.grid.deleteSelectRecord', () => {
1019
1028
  if (!removeRecords.length) {
1020
- return $xetable.remove(selectRecords);
1029
+ return $xeTable.remove(selectRecords);
1021
1030
  }
1022
1031
  this.tableLoading = true;
1023
1032
  return Promise.resolve((beforeDelete || ajaxMethods)(...applyArgs)).then(rest => {
1024
1033
  this.tableLoading = false;
1025
- $xetable.setPendingRow(removeRecords, false);
1034
+ $xeTable.setPendingRow(removeRecords, false);
1026
1035
  if (isRespMsg) {
1027
1036
  // 检测弹窗模块
1028
1037
  if (process.env.NODE_ENV === 'development') {
@@ -1139,7 +1148,7 @@ var _default = exports.default = {
1139
1148
  this.tableLoading = true;
1140
1149
  return Promise.resolve((beforeSave || ajaxMethods)(...applyArgs)).then(rest => {
1141
1150
  this.tableLoading = false;
1142
- $xetable.clearPendingRow();
1151
+ $xeTable.clearPendingRow();
1143
1152
  if (isRespMsg) {
1144
1153
  // 检测弹窗模块
1145
1154
  if (process.env.NODE_ENV === 'development') {
@@ -1221,7 +1230,7 @@ var _default = exports.default = {
1221
1230
  code,
1222
1231
  button,
1223
1232
  $grid: this,
1224
- $table: $xetable
1233
+ $table: $xeTable
1225
1234
  }, ...args);
1226
1235
  } else {
1227
1236
  if (process.env.NODE_ENV === 'development') {
@@ -1515,16 +1524,16 @@ var _default = exports.default = {
1515
1524
  sortData,
1516
1525
  proxyConfig
1517
1526
  } = this;
1518
- const $xetable = $refs.xTable;
1527
+ const $xeTable = $refs.xTable;
1519
1528
  if (proxyConfig) {
1520
1529
  return {
1521
- data: this.tableData,
1530
+ data: $xeTable ? $xeTable.getFullData() : [],
1522
1531
  filter: this.filterData,
1523
1532
  form: this.getFormData(),
1524
1533
  sort: sortData.length ? sortData[0] : {},
1525
1534
  sorts: sortData,
1526
1535
  pager: this.tablePage,
1527
- pendingRecords: $xetable ? $xetable.getPendingRecords() : []
1536
+ pendingRecords: $xeTable ? $xeTable.getPendingRecords() : []
1528
1537
  };
1529
1538
  }
1530
1539
  return null;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,globalEvents,globalMixins,renderEmptyElement}=_ui.VxeUI,methods={},propKeys=Object.keys(_props.default),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function renderDefaultForm(e,r){var o=_ui.VxeUI.getComponent("VxeForm");let s=r.$scopedSlots;var{proxyConfig:i,formConfig:t}=r,{proxyOpts:a,formData:n,formOpts:l}=r;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&t&&l.items.forEach(e=>{t.call(r,{$grid:r,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),[o?e(o,{props:Object.assign({},l,{data:i&&a.form?n:l.data}),on:{submit:r.submitEvent,reset:r.resetEvent,collapse:r.collapseEvent,"submit-invalid":r.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(r)]}return[]}function getFuncSlot(e,t,r){e=e.$scopedSlots,t=t[r];if(t){if(!_xeUtils.default.isString(t))return t;if(e[t])return e[t];"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notSlot",[t])}return null}function getToolbarSlots(e){var{$scopedSlots:t,toolbarOpts:r}=e,r=r.slots,o={};return"development"===process.env.NODE_ENV&&(!t.buttons||r&&"buttons"===r.buttons||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!t.tools||r&&"tools"===r.tools||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.tools"])),r&&(t=getFuncSlot(e,r,"buttons"),e=getFuncSlot(e,r,"tools"),t&&(o.buttons=t),e)&&(o.tools=e),o}function getPagerSlots(e){var t,r=e.pagerOpts,r=r.slots,o={};return r&&(t=getFuncSlot(e,r,"left"),e=getFuncSlot(e,r,"right"),t&&(o.left=t),e)&&(o.right=e),o}function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:o}=r;let s={};return _xeUtils.default.each(e,(e,t)=>{s[t]=(...e)=>{r.$emit(t,...e)}}),t&&(o.sort&&(s["sort-change"]=r.sortChangeEvent),o.filter)&&(s["filter-change"]=r.filterChangeEvent),s}function renderForm(e,t){var{_e:r,$scopedSlots:o,formConfig:s}=t,o=o.form;return!o&&!(0,_utils.isEnableConf)(s)?r():e("div",{key:"form",ref:"formWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t},e):renderDefaultForm(e,t))}function renderToolbar(e,t){var{_e:r,$scopedSlots:o,toolbarConfig:s,toolbar:i}=t,o=o.toolbar;return!(o||(0,_utils.isEnableConf)(s)||i)?r():e("div",{key:"toolbar",ref:"toolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t},e):[e(_toolbar.default,{props:t.toolbarOpts,ref:"xToolbar",scopedSlots:getToolbarSlots(t)})])}function renderTop(e,t){var{_e:r,$scopedSlots:o}=t,o=o.top;return o?e("div",{key:"top",ref:"topWrapper",class:"vxe-grid--top-wrapper"},o.call(t,{$grid:t},e)):r()}function renderTableLeft(e,t){var{_e:r,$scopedSlots:o}=t,o=o.left;return o?e("div",{class:"vxe-grid--left-wrapper"},o({$grid:t})):r()}function renderTableRight(e,t){var{_e:r,$scopedSlots:o}=t,o=o.right;return o?e("div",{class:"vxe-grid--right-wrapper"},o({$grid:t})):r()}function renderTable(e,t){var{$scopedSlots:r,tableProps:o}=t;return e("div",{class:"vxe-grid--table-wrapper"},[e("vxe-table",{key:"table",props:o,on:getTableOns(t),scopedSlots:r,ref:"xTable"})])}function renderBottom(e,t){var{_e:r,$scopedSlots:o}=t,o=o.bottom;return o?e("div",{key:"bottom",ref:"bottomWrapper",class:"vxe-grid--bottom-wrapper"},o.call(t,{$grid:t},e)):r()}function renderPager(e,t){var r=_ui.VxeUI.getComponent("VxePager"),{pagerConfig:o,proxyConfig:s}=t,{$scopedSlots:i,tablePage:a}=t,i=i.pager;return!i&&!(0,_utils.isEnableConf)(o)?renderEmptyElement(t):e("div",{key:"pager",ref:"pagerWrapper",class:"vxe-grid--pager-wrapper"},i?i.call(t,{$grid:t},e):[r?e(r,{props:Object.assign(Object.assign({},t.pagerOpts),s?a:{}),on:{"page-change":t.pageChangeEvent},scopedSlots:getPagerSlots(t)}):renderEmptyElement(t)])}function renderChildLayout(t,r,e){let o=[];return e.forEach(e=>{switch(e){case"Form":o.push(renderForm(t,r));break;case"Toolbar":o.push(renderToolbar(t,r));break;case"Top":o.push(renderTop(t,r));break;case"Table":o.push(t("div",{key:"table",class:"vxe-grid--table-container"},[renderTableLeft(t,r),renderTable(t,r),renderTableRight(t,r)]));break;case"Bottom":o.push(renderBottom(t,r));break;case"Pager":o.push(renderPager(t,r));break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),o}function renderLayout(e,t){var r=t.$scopedSlots,{headKeys:o,bodyKeys:s,footKeys:i}=t.computeCurrLayoutConf,a=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},renderChildLayout(e,t,o)),e("div",{class:"vxe-grid--layout-body-wrapper"},[a?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},renderChildLayout(e,t,s)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},renderChildLayout(e,t,i))]}Object.keys(_table.default.methods).forEach(t=>{methods[t]=function(...e){return this.$refs.xTable&&this.$refs.xTable[t](...e)}});var _default=exports.default={name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:[Boolean,Object],proxyConfig:Object,toolbar:[Boolean,Object],toolbarConfig:[Boolean,Object],formConfig:[Boolean,Object],zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this,$xegrid:this}},data(){var e;return{tableLoading:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}},computed:{isRespMsg(){var e=this.proxyOpts;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg},isActiveMsg(){return this.proxyOpts.showActiveMsg},proxyOpts(){return this.computeProxyOpts},computeProxyOpts(){return _xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),this.proxyConfig)},pagerOpts(){return this.computePagerOpts},computePagerOpts(){return Object.assign({},getConfig().grid.pagerConfig,this.pagerConfig)},formOpts(){return this.computeFormOpts},computeFormOpts(){return Object.assign({},getConfig().grid.formConfig,this.formConfig)},toolbarOpts(){return this.computeToolbarOpts},computeToolbarOpts(){return Object.assign({},getConfig().grid.toolbarConfig,this.toolbarConfig||this.toolbar)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:o}=this,s={};return r?s.zIndex=o:(e&&(s.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(s.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),s},tableExtendProps(){let t={};return propKeys.forEach(e=>{t[e]=this[e]}),t},tableProps(){var{isZMax:e,seqConfig:t,pagerConfig:r,loading:o,editConfig:s,proxyConfig:i,proxyOpts:a,tableExtendProps:n,tableLoading:l,tablePage:g,tableData:d}=this,c=Object.assign({},n);return e&&(n.maxHeight?c.maxHeight="100%":c.height="100%"),i&&(c.loading=o||l,c.data=d,a.seq)&&(0,_utils.isEnableConf)(r)&&(c.seqConfig=Object.assign({},t,{startIndex:(g.currentPage-1)*g.pageSize})),s&&(c.editConfig=Object.assign({},s)),c},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],o=[],s=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],s=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:s}},computePageConfFlag(){var e=this.computePagerOpts;return""+e.currentPage+e.pageSize}},watch:{columns(e){this.$nextTick(()=>this.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computePageConfFlag(){this.initPages()}},created(){let r=this;if("development"===process.env.NODE_ENV&&(this.toolbar&&(0,_log.warnLog)("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),this.toolbarConfig)&&!_xeUtils.default.isObject(this.toolbarConfig)&&(0,_log.warnLog)("vxe.error.errProp",["grid.toolbar-config="+this.toolbarConfig,"grid.toolbar-config={}"]),"development"===process.env.NODE_ENV){let e=_ui.VxeUI.getComponent("VxeForm"),t=_ui.VxeUI.getComponent("VxePager");this.$nextTick(()=>{r.formConfig&&!e&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),r.pagerConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])})}this.initPages(),globalEvents.on(this,"keydown",this.handleGlobalKeydownEvent)},mounted(){this.columns&&this.columns.length&&this.loadColumn(this.columns),this.initToolbar(),this.initProxy()},destroyed(){globalEvents.off(this,"keydown")},render(e){var t=this,r=t.computeSize;return e("div",{class:["vxe-grid",{["size--"+r]:r,"is--animat":!!this.animat,"is--round":this.round,"is--maximize":t.isZMax,"is--loading":t.loading||t.tableLoading}],style:t.computeStyles},renderLayout(e,t))},methods:Object.assign(Object.assign(Object.assign({},methods),{callSlot(e,t,r,o){if(e){var s=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))return(0,_vn.getSlotVNs)(e.call(this,t,r,o))}return[]},getParentHeight(){var{$el:e,isZMax:t}=this;return(t?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-this.getExcludeHeight()},getExcludeHeight(){var{$refs:e,$el:t,isZMax:r,height:o}=this,{formWrapper:e,toolbarWrapper:s,topWrapper:i,bottomWrapper:a,pagerWrapper:n}=e;return(r||"auto"!==o&&"100%"!==o?0:(0,_dom.getPaddingTopBottomSize)(t.parentNode))+(0,_dom.getPaddingTopBottomSize)(t)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(n)},initToolbar(){this.$nextTick(()=>{var{xTable:e,xToolbar:t}=this.$refs;e&&t&&e.connect(t)})},initPages(){var{tablePage:e,pagerConfig:t,pagerOpts:r}=this,{currentPage:r,pageSize:o}=r;t&&(r&&(e.currentPage=r),o)&&(e.pageSize=o)},initProxy(){var{proxyInited:e,proxyConfig:t,proxyOpts:r,formConfig:o,formOpts:i}=this;if(t){if((0,_utils.isEnableConf)(o)&&r.form&&i.items){let s={};i.items.forEach(t=>{var{field:r,itemRender:o}=t;if(r){let e=null;o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o)),s[r]=e}}),this.formData=s}e||!1===r.autoLoad||(this.proxyInited=!0,this.$nextTick().then(()=>this.commitProxy("_init")).then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isInited:!0,$grid:this,$event:new Event("init")}))}))}},handleGlobalKeydownEvent(e){27===e.keyCode&&this.isZMax&&!1!==this.zoomOpts.escRestore&&this.triggerZoomEvent(e)},commitProxy(t,...c){let{$refs:e,toolbar:r,toolbarConfig:o,toolbarOpts:s,proxyOpts:i,tablePage:n,pagerConfig:l,editRules:u,isRespMsg:p,isActiveMsg:h,validConfig:m,pagerOpts:g}=this,{beforeQuery:d,afterQuery:f,beforeDelete:b,afterDelete:x,beforeSave:v,afterSave:_,ajax:y={}}=i,O=i.response||i.props||{},C=e.xTable;var a,$=this.getFormData();let E,P;_xeUtils.default.isString(t)?(a=o||r?_xeUtils.default.findTree(s.buttons,e=>e.code===t,{children:"dropdowns"}):null,P=t,E=a?a.item:null):(E=t,P=E.code);var j=E?E.params:null;switch(P){case"insert":return this.insert();case"insert_edit":return this.insert().then(({row:e})=>this.setEditRow(e));case"insert_actived":return this.insert().then(({row:e})=>this.setEditRow(e));case"mark_cancel":this.triggerPendingEvent(P);break;case"remove":return this.handleDeleteRow(P,"vxe.grid.removeSelectRecord",()=>this.removeCheckboxRow());case"import":this.importData(j);break;case"open_import":this.openImport(j);break;case"export":this.exportData(j);break;case"open_export":this.openExport(j);break;case"reset_custom":this.resetCustom(!0);break;case"_init":case"reload":case"query":{var S=y.query;let i=y.querySuccess,a=y.queryError;if(S){var U="_init"===P,R="reload"===P;let t=[],r=[],e={};if(l&&((U||R)&&(n.currentPage=1),(0,_utils.isEnableConf)(l))&&(e=Object.assign({},n)),U){let e=null;C&&(T=C.sortOpts,e=T.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),C&&(r=C.getCheckedFilters())}else C&&(R?C.clearAll():(t=C.getSortColumns(),r=C.getCheckedFilters()));let o={code:P,button:E,isInited:U,isReload:R,$grid:this,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:$,options:S},s=(this.sortData=t,this.filterData=r,this.tableLoading=!0,[o].concat(c));return Promise.resolve((d||S)(...s)).then(e=>{var t,r;return this.tableLoading=!1,e?l&&(0,_utils.isEnableConf)(g)?(r=O.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r||"page.total"))||0,n.total=_xeUtils.default.toNumber(r),t=O.result,this.tableData=(_xeUtils.default.isFunction(t)?t({data:e,$grid:this}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(r/n.pageSize),1),n.currentPage>t&&(n.currentPage=t)):(r=O.list,this.tableData=(r?_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r):e)||[]):this.tableData=[],f&&f(...s),i&&i(Object.assign(Object.assign({},o),{response:e})),{status:!0}}).catch(e=>(this.tableLoading=!1,a&&a(Object.assign(Object.assign({},o),{response:e})),{status:!1}))}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let s=y.delete,i=y.deleteSuccess,a=y.deleteError;if(s){let e=C.getCheckboxRecords(),t=e.filter(e=>!C.isInsertByRow(e));var T={removeRecords:t};let r={$grid:this,code:P,button:E,body:T,form:$,options:s},o=[r].concat(c);if(e.length)return this.handleDeleteRow(P,"vxe.grid.deleteSelectRecord",()=>t.length?(this.tableLoading=!0,Promise.resolve((b||s)(...o)).then(e=>(this.tableLoading=!1,C.setPendingRow(t,!1),p&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"})),x?x(...o):this.commitProxy("query"),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):C.remove(e));h&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=y.save,g=y.saveSuccess,d=y.saveError;if(l){let t=this.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:s,pendingRecords:i}=t,a={$grid:this,code:P,button:E,body:t,form:$,options:l},n=[a].concat(c),e=(r.length&&(t.pendingRecords=i.filter(e=>-1===r.indexOf(e))),i.length&&(t.insertRecords=r.filter(e=>-1===i.indexOf(e))),Promise.resolve());return(e=u?this[m&&"full"===m.msgMode?"fullValidate":"validate"](t.insertRecords.concat(s)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||s.length||t.pendingRecords.length?(this.tableLoading=!0,Promise.resolve((v||l)(...n)).then(e=>(this.tableLoading=!1,C.clearPendingRow(),p&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),_?_(...n):this.commitProxy("query"),g&&g(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),d&&d(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):void(h&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))})}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:U=commands.get(P);U&&(U.commandMethod?U.commandMethod({code:P,button:E,$grid:this,$table:C},...c):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[P]))}return this.$nextTick()},getRespMsg(e,t){var r=this.proxyOpts,r=r.response||r.props||{};let o;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||getI18n(t)},handleDeleteRow(e,t,r){var o=this.getCheckboxRecords();if(this.isActiveMsg){if(o.length)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()});"development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else o.length&&r();return Promise.resolve()},getFormData(){var{proxyConfig:e,proxyOpts:t,formOpts:r,formData:o}=this;return e&&(0,_utils.isEnableConf)(t)&&t.form?o:r.data},getFormItems(e){var{formConfig:t,formOpts:r}=this;let o=[];return _xeUtils.default.eachTree((0,_utils.isEnableConf)(t)&&r.items?r.items:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},triggerToolbarCommitEvent(e,t){let r=e.code;return this.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&this.$emit("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r,$grid:this,$event:t}))})},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-button-click",{code:e.code,button:e,$grid:this,$event:t})},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-tool-click",{code:e.code,tool:e,$grid:this,$event:t})},triggerPendingEvent(e){var t=this.isActiveMsg,r=this.getCheckboxRecords();r.length?(this.togglePendingRow(r),this.clearCheckboxRow()):t&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))},pageChangeEvent(t){var{proxyConfig:e,tablePage:r}=this,{currentPage:o,pageSize:s}=t;r.currentPage=o,r.pageSize=s,this.$emit("page-change",Object.assign({$grid:this},t)),e&&this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})},sortChangeEvent(t){var{$table:e,column:r,sortList:o}=t;(_xeUtils.default.isBoolean(r.remoteSort)?r.remoteSort:e.sortOpts.remote)&&(this.sortData=o,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("sort-change",Object.assign({$grid:this},t))},filterChangeEvent(t){var{$table:e,filterList:r}=t;e.filterOpts.remote&&(this.filterData=r,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("filter-change",Object.assign({$grid:this},t))},submitEvent(t){var e=this.proxyConfig;e&&this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))}),this.$emit("form-submit",Object.assign({$grid:this},t))},resetEvent(t){var e=this.proxyConfig,r=this.$refs.xTable;e&&(r.clearScroll(),this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))})),this.$emit("form-reset",Object.assign({$grid:this},t))},submitInvalidEvent(e){this.$emit("form-submit-invalid",Object.assign({$grid:this},e))},collapseEvent(e){this.$nextTick(()=>this.recalculate(!0)),this.$emit("form-toggle-collapse",Object.assign({$grid:this},e)),this.$emit("form-collapse",Object.assign({$grid:this},e))},triggerZoomEvent(e){this.zoom(),this.$emit("zoom",{$grid:this,type:this.isZMax?"max":"revert",$event:e})},zoom(){return this[this.isZMax?"revert":"maximize"]()},isMaximized(){return this.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){var t=this.isZMax;return(e?!t:t)&&(this.isZMax=!t,this.tZindex<(0,_utils.getLastZIndex)())&&(this.tZindex=(0,_utils.nextZIndex)()),this.$nextTick().then(()=>this.recalculate(!0)).then(()=>(setTimeout(()=>this.recalculate(!0),15),this.isZMax))},getProxyInfo(){var{$refs:e,sortData:t,proxyConfig:r}=this,e=e.xTable;return r?{data:this.tableData,filter:this.filterData,form:this.getFormData(),sort:t.length?t[0]:{},sorts:t,pager:this.tablePage,pendingRecords:e?e.getPendingRecords():[]}:null}}),"development"===process.env.NODE_ENV?{loadColumn(e){let t=this.$scopedSlots;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||t[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),this.$refs.xTable.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)}}:null)};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,globalEvents,globalMixins,renderEmptyElement}=_ui.VxeUI,methods={},propKeys=Object.keys(_props.default),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function renderDefaultForm(e,r){var o=_ui.VxeUI.getComponent("VxeForm");let s=r.$scopedSlots;var{proxyConfig:i,formConfig:t}=r,{proxyOpts:a,formData:n,formOpts:l}=r;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&t&&l.items.forEach(e=>{t.call(r,{$grid:r,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),[o?e(o,{props:Object.assign({},l,{data:i&&a.form?n:l.data}),on:{submit:r.submitEvent,reset:r.resetEvent,collapse:r.collapseEvent,"submit-invalid":r.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(r)]}return[]}function getFuncSlot(e,t,r){e=e.$scopedSlots,t=t[r];if(t){if(!_xeUtils.default.isString(t))return t;if(e[t])return e[t];"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notSlot",[t])}return null}function getToolbarSlots(e){var{$scopedSlots:t,toolbarOpts:r}=e,r=r.slots,o={};return"development"===process.env.NODE_ENV&&(!t.buttons||r&&"buttons"===r.buttons||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!t.tools||r&&"tools"===r.tools||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.tools"])),r&&(t=getFuncSlot(e,r,"buttons"),e=getFuncSlot(e,r,"tools"),t&&(o.buttons=t),e)&&(o.tools=e),o}function getPagerSlots(e){var t,r=e.pagerOpts,r=r.slots,o={};return r&&(t=getFuncSlot(e,r,"left"),e=getFuncSlot(e,r,"right"),t&&(o.left=t),e)&&(o.right=e),o}function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:o}=r;let s={};return _xeUtils.default.each(e,(e,t)=>{s[t]=(...e)=>{r.$emit(t,...e)}}),t&&(o.sort&&(s["sort-change"]=r.sortChangeEvent),o.filter)&&(s["filter-change"]=r.filterChangeEvent),s}function renderForm(e,t){var{_e:r,$scopedSlots:o,formConfig:s}=t,o=o.form;return!o&&!(0,_utils.isEnableConf)(s)?r():e("div",{key:"form",ref:"formWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t},e):renderDefaultForm(e,t))}function renderToolbar(e,t){var{_e:r,$scopedSlots:o,toolbarConfig:s,toolbar:i}=t,o=o.toolbar;return!(o||(0,_utils.isEnableConf)(s)||i)?r():e("div",{key:"toolbar",ref:"toolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t},e):[e(_toolbar.default,{props:t.toolbarOpts,ref:"xToolbar",scopedSlots:getToolbarSlots(t)})])}function renderTop(e,t){var{_e:r,$scopedSlots:o}=t,o=o.top;return o?e("div",{key:"top",ref:"topWrapper",class:"vxe-grid--top-wrapper"},o.call(t,{$grid:t},e)):r()}function renderTableLeft(e,t){var{_e:r,$scopedSlots:o}=t,o=o.left;return o?e("div",{class:"vxe-grid--left-wrapper"},o({$grid:t})):r()}function renderTableRight(e,t){var{_e:r,$scopedSlots:o}=t,o=o.right;return o?e("div",{class:"vxe-grid--right-wrapper"},o({$grid:t})):r()}function renderTable(e,t){var{$scopedSlots:r,tableProps:o}=t;return e("div",{class:"vxe-grid--table-wrapper"},[e("vxe-table",{key:"table",props:o,on:getTableOns(t),scopedSlots:r,ref:"xTable"})])}function renderBottom(e,t){var{_e:r,$scopedSlots:o}=t,o=o.bottom;return o?e("div",{key:"bottom",ref:"bottomWrapper",class:"vxe-grid--bottom-wrapper"},o.call(t,{$grid:t},e)):r()}function renderPager(e,t){var r=_ui.VxeUI.getComponent("VxePager"),{pagerConfig:o,proxyConfig:s}=t,{$scopedSlots:i,tablePage:a}=t,i=i.pager;return!i&&!(0,_utils.isEnableConf)(o)?renderEmptyElement(t):e("div",{key:"pager",ref:"pagerWrapper",class:"vxe-grid--pager-wrapper"},i?i.call(t,{$grid:t},e):[r?e(r,{props:Object.assign(Object.assign({},t.pagerOpts),s?a:{}),on:{"page-change":t.pageChangeEvent},scopedSlots:getPagerSlots(t)}):renderEmptyElement(t)])}function renderChildLayout(t,r,e){let o=[];return e.forEach(e=>{switch(e){case"Form":o.push(renderForm(t,r));break;case"Toolbar":o.push(renderToolbar(t,r));break;case"Top":o.push(renderTop(t,r));break;case"Table":o.push(t("div",{key:"table",class:"vxe-grid--table-container"},[renderTableLeft(t,r),renderTable(t,r),renderTableRight(t,r)]));break;case"Bottom":o.push(renderBottom(t,r));break;case"Pager":o.push(renderPager(t,r));break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),o}function renderLayout(e,t){var r=t.$scopedSlots,{headKeys:o,bodyKeys:s,footKeys:i}=t.computeCurrLayoutConf,a=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},renderChildLayout(e,t,o)),e("div",{class:"vxe-grid--layout-body-wrapper"},[a?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},renderChildLayout(e,t,s)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},renderChildLayout(e,t,i))]}Object.keys(_table.default.methods).forEach(t=>{methods[t]=function(...e){return this.$refs.xTable&&this.$refs.xTable[t](...e)}});var _default=exports.default={name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:[Boolean,Object],proxyConfig:Object,toolbar:[Boolean,Object],toolbarConfig:[Boolean,Object],formConfig:[Boolean,Object],zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this,$xegrid:this}},data(){var e;return{tableLoading:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}},computed:{isRespMsg(){var e=this.proxyOpts;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg},isActiveMsg(){return this.proxyOpts.showActiveMsg},proxyOpts(){return this.computeProxyOpts},computeProxyOpts(){return _xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),this.proxyConfig)},pagerOpts(){return this.computePagerOpts},computePagerOpts(){return Object.assign({},getConfig().grid.pagerConfig,this.pagerConfig)},formOpts(){return this.computeFormOpts},computeFormOpts(){return Object.assign({},getConfig().grid.formConfig,this.formConfig)},toolbarOpts(){return this.computeToolbarOpts},computeToolbarOpts(){return Object.assign({},getConfig().grid.toolbarConfig,this.toolbarConfig||this.toolbar)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:o}=this,s={};return r?s.zIndex=o:(e&&(s.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(s.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),s},tableExtendProps(){let t={};return propKeys.forEach(e=>{t[e]=this[e]}),t},computeTableProps(){var{isZMax:e,seqConfig:t,pagerConfig:r,loading:o,editConfig:s,proxyConfig:i,proxyOpts:a,tableExtendProps:n,tableLoading:l,tablePage:g}=this,d=Object.assign({},n);return e&&(n.maxHeight?d.maxHeight="100%":d.height="100%"),i&&(d.loading=o||l,a.seq)&&(0,_utils.isEnableConf)(r)&&(d.seqConfig=Object.assign({},t,{startIndex:(g.currentPage-1)*g.pageSize})),s&&(d.editConfig=Object.assign({},s)),d},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],o=[],s=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],s=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:s}},computePageConfFlag(){var e=this.computePagerOpts;return""+e.currentPage+e.pageSize}},watch:{columns(e){this.$nextTick(()=>this.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computePageConfFlag(){this.initPages()}},created(){let r=this;if("development"===process.env.NODE_ENV&&(this.toolbar&&(0,_log.warnLog)("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),this.toolbarConfig)&&!_xeUtils.default.isObject(this.toolbarConfig)&&(0,_log.warnLog)("vxe.error.errProp",["grid.toolbar-config="+this.toolbarConfig,"grid.toolbar-config={}"]),"development"===process.env.NODE_ENV){let e=_ui.VxeUI.getComponent("VxeForm"),t=_ui.VxeUI.getComponent("VxePager");this.$nextTick(()=>{r.formConfig&&!e&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),r.pagerConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])})}this.initPages(),globalEvents.on(this,"keydown",this.handleGlobalKeydownEvent)},mounted(){this.columns&&this.columns.length&&this.loadColumn(this.columns),this.initToolbar(),this.initProxy()},destroyed(){globalEvents.off(this,"keydown")},render(e){var t=this,r=t.computeSize;return e("div",{class:["vxe-grid",{["size--"+r]:r,"is--animat":!!this.animat,"is--round":this.round,"is--maximize":t.isZMax,"is--loading":t.loading||t.tableLoading}],style:t.computeStyles},renderLayout(e,t))},methods:Object.assign(Object.assign(Object.assign({},methods),{callSlot(e,t,r,o){if(e){var s=this.$scopedSlots;if(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))return(0,_vn.getSlotVNs)(e.call(this,t,r,o))}return[]},getParentHeight(){var{$el:e,isZMax:t}=this;return(t?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-this.getExcludeHeight()},getExcludeHeight(){var{$refs:e,$el:t,isZMax:r,height:o}=this,{formWrapper:e,toolbarWrapper:s,topWrapper:i,bottomWrapper:a,pagerWrapper:n}=e;return(r||"auto"!==o&&"100%"!==o?0:(0,_dom.getPaddingTopBottomSize)(t.parentNode))+(0,_dom.getPaddingTopBottomSize)(t)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(n)},initToolbar(){this.$nextTick(()=>{var{xTable:e,xToolbar:t}=this.$refs;e&&t&&e.connect(t)})},initPages(){var{tablePage:e,pagerConfig:t,pagerOpts:r}=this,{currentPage:r,pageSize:o}=r;t&&(r&&(e.currentPage=r),o)&&(e.pageSize=o)},initProxy(){var{proxyInited:e,proxyConfig:t,proxyOpts:r,formConfig:o,formOpts:i}=this;if(t){if((0,_utils.isEnableConf)(o)&&r.form&&i.items){let s={};i.items.forEach(t=>{var{field:r,itemRender:o}=t;if(r){let e=null;o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o)),s[r]=e}}),this.formData=s}e||!1===r.autoLoad||(this.proxyInited=!0,this.$nextTick().then(()=>this.commitProxy("_init")).then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isInited:!0,$grid:this,$event:new Event("init")}))}))}},handleGlobalKeydownEvent(e){27===e.keyCode&&this.isZMax&&!1!==this.zoomOpts.escRestore&&this.triggerZoomEvent(e)},commitProxy(t,...c){let{$refs:e,toolbar:r,toolbarConfig:o,toolbarOpts:s,proxyOpts:i,tablePage:n,pagerConfig:l,editRules:u,isRespMsg:p,isActiveMsg:h,validConfig:m,pagerOpts:g}=this,{beforeQuery:d,afterQuery:f,beforeDelete:b,afterDelete:x,beforeSave:v,afterSave:_,ajax:y={}}=i,O=i.response||i.props||{},C=e.xTable;var a,$=this.getFormData();let E,P;_xeUtils.default.isString(t)?(a=o||r?_xeUtils.default.findTree(s.buttons,e=>e.code===t,{children:"dropdowns"}):null,P=t,E=a?a.item:null):(E=t,P=E.code);var j=E?E.params:null;switch(P){case"insert":return this.insert();case"insert_edit":return this.insert().then(({row:e})=>this.setEditRow(e));case"insert_actived":return this.insert().then(({row:e})=>this.setEditRow(e));case"mark_cancel":this.triggerPendingEvent(P);break;case"remove":return this.handleDeleteRow(P,"vxe.grid.removeSelectRecord",()=>this.removeCheckboxRow());case"import":this.importData(j);break;case"open_import":this.openImport(j);break;case"export":this.exportData(j);break;case"open_export":this.openExport(j);break;case"reset_custom":this.resetCustom(!0);break;case"_init":case"reload":case"query":{var S=y.query;let a=y.querySuccess,o=y.queryError;if(S){var U="_init"===P,T="reload"===P;let t=[],r=[],e={};if(l&&((U||T)&&(n.currentPage=1),(0,_utils.isEnableConf)(l))&&(e=Object.assign({},n)),U){let e=null;C&&(R=C.sortOpts,e=R.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),C&&(r=C.getCheckedFilters())}else C&&(T?C.clearAll():(t=C.getSortColumns(),r=C.getCheckedFilters()));let s={code:P,button:E,isInited:U,isReload:T,$grid:this,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:$,options:S},i=(this.sortData=t,this.filterData=r,this.tableLoading=!0,[s].concat(c));return Promise.resolve((d||S)(...i)).then(e=>{let t=[];var r,o;return this.tableLoading=!1,e&&(l&&(0,_utils.isEnableConf)(g)?(o=O.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:this}):_xeUtils.default.get(e,o||"page.total"))||0,n.total=_xeUtils.default.toNumber(o),r=O.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(o/n.pageSize),1),n.currentPage>r&&(n.currentPage=r)):(o=O.list,t=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:this}):_xeUtils.default.get(e,o):e)||[])),C?C.loadData(t):C.$nextTick(()=>{C&&C.loadData(t)}),f&&f(...i),a&&a(Object.assign(Object.assign({},s),{response:e})),{status:!0}}).catch(e=>(this.tableLoading=!1,o&&o(Object.assign(Object.assign({},s),{response:e})),{status:!1}))}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let s=y.delete,i=y.deleteSuccess,a=y.deleteError;if(s){let e=C.getCheckboxRecords(),t=e.filter(e=>!C.isInsertByRow(e));var R={removeRecords:t};let r={$grid:this,code:P,button:E,body:R,form:$,options:s},o=[r].concat(c);if(e.length)return this.handleDeleteRow(P,"vxe.grid.deleteSelectRecord",()=>t.length?(this.tableLoading=!0,Promise.resolve((b||s)(...o)).then(e=>(this.tableLoading=!1,C.setPendingRow(t,!1),p&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"})),x?x(...o):this.commitProxy("query"),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):C.remove(e));h&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=y.save,g=y.saveSuccess,d=y.saveError;if(l){let t=this.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:s,pendingRecords:i}=t,a={$grid:this,code:P,button:E,body:t,form:$,options:l},n=[a].concat(c),e=(r.length&&(t.pendingRecords=i.filter(e=>-1===r.indexOf(e))),i.length&&(t.insertRecords=r.filter(e=>-1===i.indexOf(e))),Promise.resolve());return(e=u?this[m&&"full"===m.msgMode?"fullValidate":"validate"](t.insertRecords.concat(s)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||s.length||t.pendingRecords.length?(this.tableLoading=!0,Promise.resolve((v||l)(...n)).then(e=>(this.tableLoading=!1,C.clearPendingRow(),p&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),_?_(...n):this.commitProxy("query"),g&&g(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),d&&d(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):void(h&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))})}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:U=commands.get(P);U&&(U.commandMethod?U.commandMethod({code:P,button:E,$grid:this,$table:C},...c):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[P]))}return this.$nextTick()},getRespMsg(e,t){var r=this.proxyOpts,r=r.response||r.props||{};let o;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||getI18n(t)},handleDeleteRow(e,t,r){var o=this.getCheckboxRecords();if(this.isActiveMsg){if(o.length)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()});"development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else o.length&&r();return Promise.resolve()},getFormData(){var{proxyConfig:e,proxyOpts:t,formOpts:r,formData:o}=this;return e&&(0,_utils.isEnableConf)(t)&&t.form?o:r.data},getFormItems(e){var{formConfig:t,formOpts:r}=this;let o=[];return _xeUtils.default.eachTree((0,_utils.isEnableConf)(t)&&r.items?r.items:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},triggerToolbarCommitEvent(e,t){let r=e.code;return this.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&this.$emit("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r,$grid:this,$event:t}))})},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-button-click",{code:e.code,button:e,$grid:this,$event:t})},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-tool-click",{code:e.code,tool:e,$grid:this,$event:t})},triggerPendingEvent(e){var t=this.isActiveMsg,r=this.getCheckboxRecords();r.length?(this.togglePendingRow(r),this.clearCheckboxRow()):t&&("development"!==process.env.NODE_ENV||_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))},pageChangeEvent(t){var{proxyConfig:e,tablePage:r}=this,{currentPage:o,pageSize:s}=t;r.currentPage=o,r.pageSize=s,this.$emit("page-change",Object.assign({$grid:this},t)),e&&this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})},sortChangeEvent(t){var{$table:e,column:r,sortList:o}=t;(_xeUtils.default.isBoolean(r.remoteSort)?r.remoteSort:e.sortOpts.remote)&&(this.sortData=o,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("sort-change",Object.assign({$grid:this},t))},filterChangeEvent(t){var{$table:e,filterList:r}=t;e.filterOpts.remote&&(this.filterData=r,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("filter-change",Object.assign({$grid:this},t))},submitEvent(t){var e=this.proxyConfig;e&&this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))}),this.$emit("form-submit",Object.assign({$grid:this},t))},resetEvent(t){var e=this.proxyConfig,r=this.$refs.xTable;e&&(r.clearScroll(),this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))})),this.$emit("form-reset",Object.assign({$grid:this},t))},submitInvalidEvent(e){this.$emit("form-submit-invalid",Object.assign({$grid:this},e))},collapseEvent(e){this.$nextTick(()=>this.recalculate(!0)),this.$emit("form-toggle-collapse",Object.assign({$grid:this},e)),this.$emit("form-collapse",Object.assign({$grid:this},e))},triggerZoomEvent(e){this.zoom(),this.$emit("zoom",{$grid:this,type:this.isZMax?"max":"revert",$event:e})},zoom(){return this[this.isZMax?"revert":"maximize"]()},isMaximized(){return this.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){var t=this.isZMax;return(e?!t:t)&&(this.isZMax=!t,this.tZindex<(0,_utils.getLastZIndex)())&&(this.tZindex=(0,_utils.nextZIndex)()),this.$nextTick().then(()=>this.recalculate(!0)).then(()=>(setTimeout(()=>this.recalculate(!0),15),this.isZMax))},getProxyInfo(){var{$refs:e,sortData:t,proxyConfig:r}=this,e=e.xTable;return r?{data:e?e.getFullData():[],filter:this.filterData,form:this.getFormData(),sort:t.length?t[0]:{},sorts:t,pager:this.tablePage,pendingRecords:e?e.getPendingRecords():[]}:null}}),"development"===process.env.NODE_ENV?{loadColumn(e){let t=this.$scopedSlots;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||t[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),this.$refs.xTable.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)}}:null)};