vxe-table 3.19.20 → 3.19.22

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 (38) hide show
  1. package/es/grid/src/grid.js +148 -33
  2. package/es/style.css +1 -1
  3. package/es/table/render/index.js +113 -4
  4. package/es/table/src/cell.js +10 -8
  5. package/es/table/src/methods.js +176 -74
  6. package/es/table/src/table.js +12 -2
  7. package/es/ui/index.js +3 -2
  8. package/es/ui/src/log.js +1 -1
  9. package/lib/grid/src/grid.js +166 -48
  10. package/lib/grid/src/grid.min.js +1 -1
  11. package/lib/index.umd.js +367 -89
  12. package/lib/index.umd.min.js +1 -1
  13. package/lib/style.css +1 -1
  14. package/lib/table/render/index.js +140 -10
  15. package/lib/table/render/index.min.js +1 -1
  16. package/lib/table/src/cell.js +13 -7
  17. package/lib/table/src/cell.min.js +1 -1
  18. package/lib/table/src/methods.js +160 -56
  19. package/lib/table/src/methods.min.js +1 -1
  20. package/lib/table/src/table.js +15 -2
  21. package/lib/table/src/table.min.js +1 -1
  22. package/lib/ui/index.js +3 -2
  23. package/lib/ui/index.min.js +1 -1
  24. package/lib/ui/src/log.js +1 -1
  25. package/lib/ui/src/log.min.js +1 -1
  26. package/package.json +2 -2
  27. package/packages/grid/src/grid.ts +148 -35
  28. package/packages/table/render/index.ts +115 -4
  29. package/packages/table/src/cell.ts +10 -8
  30. package/packages/table/src/methods.ts +176 -72
  31. package/packages/table/src/table.ts +13 -2
  32. package/packages/ui/index.ts +2 -1
  33. /package/es/{iconfont.1764045838630.ttf → iconfont.1764380622607.ttf} +0 -0
  34. /package/es/{iconfont.1764045838630.woff → iconfont.1764380622607.woff} +0 -0
  35. /package/es/{iconfont.1764045838630.woff2 → iconfont.1764380622607.woff2} +0 -0
  36. /package/lib/{iconfont.1764045838630.ttf → iconfont.1764380622607.ttf} +0 -0
  37. /package/lib/{iconfont.1764045838630.woff → iconfont.1764380622607.woff} +0 -0
  38. /package/lib/{iconfont.1764045838630.woff2 → iconfont.1764380622607.woff2} +0 -0
@@ -60,7 +60,9 @@ _xeUtils.default.each(_table.default.methods, (fn, name) => {
60
60
  };
61
61
  });
62
62
  function createInternalData() {
63
- return {};
63
+ return {
64
+ uFoot: false
65
+ };
64
66
  }
65
67
  var _default = exports.default = /* define-vxe-component start */(0, _comp.defineVxeComponent)({
66
68
  name: 'VxeGrid',
@@ -97,6 +99,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
97
99
  filterData: [],
98
100
  formData: {},
99
101
  sortData: [],
102
+ footerData: [],
100
103
  tZindex: 0,
101
104
  tablePage: {
102
105
  total: 0,
@@ -206,7 +209,9 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
206
209
  const rest = {};
207
210
  const gridProps = props;
208
211
  propKeys.forEach(key => {
209
- rest[key] = gridProps[key];
212
+ if (gridProps[key] !== undefined) {
213
+ rest[key] = gridProps[key];
214
+ }
210
215
  });
211
216
  return rest;
212
217
  },
@@ -215,6 +220,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
215
220
  const props = $xeGrid;
216
221
  const reactData = $xeGrid.reactData;
217
222
  const {
223
+ showFooter,
218
224
  seqConfig,
219
225
  pagerConfig,
220
226
  editConfig,
@@ -222,15 +228,23 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
222
228
  } = props;
223
229
  const {
224
230
  isZMax,
225
- tablePage
231
+ tablePage,
232
+ footerData
226
233
  } = reactData;
227
234
  const tableExtendProps = $xeGrid.computeTableExtendProps;
228
235
  const proxyOpts = $xeGrid.computeProxyOpts;
229
236
  const pagerOpts = $xeGrid.computePagerOpts;
230
237
  const isLoading = $xeGrid.computeIsLoading;
231
238
  const tProps = Object.assign({}, tableExtendProps);
239
+ if (showFooter && !tProps.footerData) {
240
+ // 如果未设置自己的标位数据,则使用代理的
241
+ tProps.footerData = footerData;
242
+ } else if (proxyOpts.footer && footerData.length) {
243
+ // 如果代理标为数据,且未请求到数据,则用自己的
244
+ tProps.footerData = footerData;
245
+ }
232
246
  if (isZMax) {
233
- if (tableExtendProps.maxHeight) {
247
+ if (tProps.maxHeight) {
234
248
  tProps.maxHeight = '100%';
235
249
  } else {
236
250
  tProps.height = '100%';
@@ -507,6 +521,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
507
521
  const $xeGrid = this;
508
522
  const props = $xeGrid;
509
523
  const reactData = $xeGrid.reactData;
524
+ const internalData = $xeGrid.internalData;
510
525
  const {
511
526
  proxyConfig,
512
527
  formConfig
@@ -520,16 +535,34 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
520
535
  if ((0, _utils.isEnableConf)(formConfig) && proxyOpts.form && formOpts.items) {
521
536
  reactData.formData = $xeGrid.getDefaultFormData();
522
537
  }
523
- if (!proxyInited && proxyOpts.autoLoad !== false) {
538
+ if (!proxyInited) {
524
539
  reactData.proxyInited = true;
525
- $xeGrid.$nextTick().then(() => $xeGrid.commitProxy('initial')).then(rest => {
526
- $xeGrid.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), {
527
- isInited: true
528
- }), new Event('initial'));
529
- });
540
+ if (proxyOpts.autoLoad !== false) {
541
+ $xeGrid.$nextTick().then(() => {
542
+ internalData.uFoot = true;
543
+ const rest = $xeGrid.commitProxy('initial');
544
+ internalData.uFoot = false;
545
+ $xeGrid.updateQueryFooter();
546
+ return rest;
547
+ }).then(rest => {
548
+ $xeGrid.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), {
549
+ isInited: true
550
+ }), new Event('initial'));
551
+ });
552
+ }
530
553
  }
531
554
  }
532
555
  },
556
+ updateQueryFooter() {
557
+ const $xeGrid = this;
558
+ const proxyOpts = $xeGrid.computeProxyOpts;
559
+ const {
560
+ ajax
561
+ } = proxyOpts;
562
+ if (ajax && ajax.queryFooter) {
563
+ return $xeGrid.commitProxy('queryFooter');
564
+ }
565
+ },
533
566
  handleGlobalKeydownEvent(evnt) {
534
567
  const $xeGrid = this;
535
568
  const reactData = $xeGrid.reactData;
@@ -617,12 +650,14 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
617
650
  const $xeGrid = this;
618
651
  const props = $xeGrid;
619
652
  const reactData = $xeGrid.reactData;
653
+ const internalData = $xeGrid.internalData;
620
654
  /**
621
655
  * 已废弃
622
656
  * @deprecated
623
657
  */
624
658
  const toolbar = props.toolbar;
625
659
  const {
660
+ showFooter,
626
661
  proxyConfig,
627
662
  toolbarConfig,
628
663
  pagerConfig,
@@ -640,6 +675,8 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
640
675
  const {
641
676
  beforeQuery,
642
677
  afterQuery,
678
+ beforeQueryFooter,
679
+ afterQueryFooter,
643
680
  beforeDelete,
644
681
  afterDelete,
645
682
  beforeSave,
@@ -702,10 +739,10 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
702
739
  case 'reload':
703
740
  case 'query':
704
741
  {
705
- const ajaxMethods = ajax.query;
706
- const querySuccessMethods = ajax.querySuccess;
707
- const queryErrorMethods = ajax.queryError;
708
- if (ajaxMethods) {
742
+ const qMethods = ajax.query;
743
+ const qsMethods = ajax.querySuccess;
744
+ const qeMethods = ajax.queryError;
745
+ if (qMethods) {
709
746
  const isInited = code === 'initial';
710
747
  const isReload = code === 'reload';
711
748
  if (!isInited && reactData.tableLoading) {
@@ -789,31 +826,27 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
789
826
  sorts: sortList,
790
827
  filters: filterList,
791
828
  form: formData,
792
- options: ajaxMethods
829
+ options: qMethods
793
830
  };
794
831
  reactData.sortData = sortList;
795
832
  reactData.filterData = filterList;
796
833
  reactData.tableLoading = true;
797
- return Promise.all([Promise.resolve((beforeQuery || ajaxMethods)(commitParams, ...args)), operPromise]).then(([rest]) => {
834
+ return Promise.all([Promise.resolve((beforeQuery || qMethods)(commitParams, ...args)), operPromise]).then(([rest]) => {
798
835
  let tableData = [];
799
836
  reactData.tableLoading = false;
800
837
  if (rest) {
838
+ const reParams = {
839
+ data: rest,
840
+ $table: $xeTable,
841
+ $grid: $xeGrid,
842
+ $gantt: null
843
+ };
801
844
  if (pagerConfig && (0, _utils.isEnableConf)(pagerOpts)) {
802
845
  const totalProp = resConfigs.total;
803
- const total = (_xeUtils.default.isFunction(totalProp) ? totalProp({
804
- data: rest,
805
- $table: $xeTable,
806
- $grid: $xeGrid,
807
- $gantt: null
808
- }) : _xeUtils.default.get(rest, totalProp || 'page.total')) || 0;
846
+ const total = (_xeUtils.default.isFunction(totalProp) ? totalProp(reParams) : _xeUtils.default.get(rest, totalProp || 'page.total')) || 0;
809
847
  tablePage.total = _xeUtils.default.toNumber(total);
810
848
  const resultProp = resConfigs.result;
811
- tableData = (_xeUtils.default.isFunction(resultProp) ? resultProp({
812
- data: rest,
813
- $table: $xeTable,
814
- $grid: $xeGrid,
815
- $gantt: null
816
- }) : _xeUtils.default.get(rest, resultProp || 'result')) || [];
849
+ tableData = (_xeUtils.default.isFunction(resultProp) ? resultProp(reParams) : _xeUtils.default.get(rest, resultProp || 'result')) || [];
817
850
  // 检验当前页码,不能超出当前最大页数
818
851
  const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1);
819
852
  if (tablePage.currentPage > pageCount) {
@@ -821,12 +854,18 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
821
854
  }
822
855
  } else {
823
856
  const listProp = resConfigs.list;
824
- tableData = (listProp ? _xeUtils.default.isFunction(listProp) ? listProp({
825
- data: rest,
826
- $table: $xeTable,
827
- $grid: $xeGrid,
828
- $gantt: null
829
- }) : _xeUtils.default.get(rest, listProp) : rest) || [];
857
+ if (_xeUtils.default.isArray(rest)) {
858
+ tableData = rest;
859
+ } else if (listProp) {
860
+ tableData = (_xeUtils.default.isFunction(listProp) ? listProp(reParams) : _xeUtils.default.get(rest, listProp)) || [];
861
+ }
862
+ }
863
+ if (showFooter) {
864
+ const fdProp = resConfigs.footerData;
865
+ const footerList = fdProp ? _xeUtils.default.isFunction(fdProp) ? fdProp(reParams) : _xeUtils.default.get(rest, fdProp) : [];
866
+ if (_xeUtils.default.isArray(footerList)) {
867
+ reactData.footerData = footerList;
868
+ }
830
869
  }
831
870
  }
832
871
  if ($xeTable) {
@@ -842,8 +881,8 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
842
881
  if (afterQuery) {
843
882
  afterQuery(commitParams, ...args);
844
883
  }
845
- if (querySuccessMethods) {
846
- querySuccessMethods(Object.assign(Object.assign({}, commitParams), {
884
+ if (qsMethods) {
885
+ qsMethods(Object.assign(Object.assign({}, commitParams), {
847
886
  response: rest
848
887
  }));
849
888
  }
@@ -852,8 +891,8 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
852
891
  };
853
892
  }).catch(rest => {
854
893
  reactData.tableLoading = false;
855
- if (queryErrorMethods) {
856
- queryErrorMethods(Object.assign(Object.assign({}, commitParams), {
894
+ if (qeMethods) {
895
+ qeMethods(Object.assign(Object.assign({}, commitParams), {
857
896
  response: rest
858
897
  }));
859
898
  }
@@ -866,12 +905,60 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
866
905
  }
867
906
  break;
868
907
  }
908
+ case 'queryFooter':
909
+ {
910
+ const qfMethods = ajax.queryFooter;
911
+ const qfSuccessMethods = ajax.queryFooterSuccess;
912
+ const qfErrorMethods = ajax.queryFooterError;
913
+ if (qfMethods) {
914
+ let filterList = [];
915
+ if ($xeTable) {
916
+ filterList = $xeTable.getCheckedFilters();
917
+ }
918
+ const commitParams = {
919
+ $table: $xeTable,
920
+ $grid: $xeGrid,
921
+ $gantt: null,
922
+ code,
923
+ button,
924
+ filters: filterList,
925
+ form: formData,
926
+ options: qfMethods
927
+ };
928
+ return Promise.resolve((beforeQueryFooter || qfMethods)(commitParams, ...args)).then(rest => {
929
+ reactData.footerData = _xeUtils.default.isArray(rest) ? rest : [];
930
+ if (afterQueryFooter) {
931
+ afterQueryFooter(commitParams, ...args);
932
+ }
933
+ if (qfSuccessMethods) {
934
+ qfSuccessMethods(Object.assign(Object.assign({}, commitParams), {
935
+ response: rest
936
+ }));
937
+ }
938
+ return {
939
+ status: true
940
+ };
941
+ }).catch(rest => {
942
+ if (qfErrorMethods) {
943
+ qfErrorMethods(Object.assign(Object.assign({}, commitParams), {
944
+ response: rest
945
+ }));
946
+ }
947
+ return {
948
+ status: false
949
+ };
950
+ });
951
+ } else {
952
+ (0, _log.errLog)('vxe.error.notFunc', ['[grid] proxy-config.ajax.queryFooter']);
953
+ }
954
+ break;
955
+ }
869
956
  case 'delete':
870
957
  {
871
- const ajaxMethods = ajax.delete;
958
+ const dMethods = ajax.delete;
872
959
  const deleteSuccessMethods = ajax.deleteSuccess;
873
960
  const deleteErrorMethods = ajax.deleteError;
874
- if (ajaxMethods) {
961
+ if (dMethods) {
875
962
  const selectRecords = $xeTable.getCheckboxRecords();
876
963
  const removeRecords = selectRecords.filter(row => !$xeTable.isInsertByRow(row));
877
964
  const body = {
@@ -885,7 +972,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
885
972
  button,
886
973
  body,
887
974
  form: formData,
888
- options: ajaxMethods
975
+ options: dMethods
889
976
  };
890
977
  const applyArgs = [commitParams].concat(args);
891
978
  if (selectRecords.length) {
@@ -894,7 +981,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
894
981
  return $xeTable.remove(selectRecords);
895
982
  }
896
983
  reactData.tableLoading = true;
897
- return Promise.resolve((beforeDelete || ajaxMethods)(...applyArgs)).then(rest => {
984
+ return Promise.resolve((beforeDelete || dMethods)(...applyArgs)).then(rest => {
898
985
  reactData.tableLoading = false;
899
986
  $xeTable.setPendingRow(removeRecords, false);
900
987
  if (isRespMsg) {
@@ -908,7 +995,10 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
908
995
  if (afterDelete) {
909
996
  afterDelete(...applyArgs);
910
997
  } else {
998
+ internalData.uFoot = true;
911
999
  $xeGrid.commitProxy('query');
1000
+ internalData.uFoot = false;
1001
+ $xeGrid.updateQueryFooter();
912
1002
  }
913
1003
  if (deleteSuccessMethods) {
914
1004
  deleteSuccessMethods(Object.assign(Object.assign({}, commitParams), {
@@ -1013,7 +1103,10 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
1013
1103
  if (afterSave) {
1014
1104
  afterSave(...applyArgs);
1015
1105
  } else {
1106
+ internalData.uFoot = true;
1016
1107
  $xeGrid.commitProxy('query');
1108
+ internalData.uFoot = false;
1109
+ $xeGrid.updateQueryFooter();
1017
1110
  }
1018
1111
  if (saveSuccessMethods) {
1019
1112
  saveSuccessMethods(Object.assign(Object.assign({}, commitParams), {
@@ -1229,16 +1322,29 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
1229
1322
  },
1230
1323
  triggerToolbarCommitEvent(params, evnt) {
1231
1324
  const $xeGrid = this;
1325
+ const internalData = $xeGrid.internalData;
1232
1326
  const {
1233
1327
  code
1234
1328
  } = params;
1235
- return $xeGrid.commitProxy(params, evnt).then(rest => {
1236
- if (code && rest && rest.status && ['query', 'reload', 'delete', 'save'].includes(code)) {
1237
- $xeGrid.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code}` : 'proxy-query', Object.assign(Object.assign({}, rest), {
1238
- isReload: code === 'reload'
1239
- }), evnt);
1329
+ if (code) {
1330
+ const isUf = ['reload', 'delete', 'save'].includes(code);
1331
+ if (isUf) {
1332
+ internalData.uFoot = true;
1240
1333
  }
1241
- });
1334
+ const rest = $xeGrid.commitProxy(params, evnt).then(rest => {
1335
+ if (code && rest && rest.status && ['query', 'reload', 'delete', 'save'].includes(code)) {
1336
+ $xeGrid.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code}` : 'proxy-query', Object.assign(Object.assign({}, rest), {
1337
+ isReload: code === 'reload'
1338
+ }), evnt);
1339
+ }
1340
+ });
1341
+ if (isUf) {
1342
+ $xeGrid.updateQueryFooter();
1343
+ }
1344
+ internalData.uFoot = false;
1345
+ return rest;
1346
+ }
1347
+ return $xeGrid.$nextTick();
1242
1348
  },
1243
1349
  triggerToolbarBtnEvent(button, evnt) {
1244
1350
  const $xeGrid = this;
@@ -1316,6 +1422,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
1316
1422
  const $xeGrid = this;
1317
1423
  const props = $xeGrid;
1318
1424
  const reactData = $xeGrid.reactData;
1425
+ const internalData = $xeGrid.internalData;
1319
1426
  const $xeTable = $xeGrid.$refs.refTable;
1320
1427
  const {
1321
1428
  proxyConfig
@@ -1327,9 +1434,12 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
1327
1434
  reactData.filterData = params.filterList;
1328
1435
  if (proxyConfig && (0, _utils.isEnableConf)(proxyOpts)) {
1329
1436
  reactData.tablePage.currentPage = 1;
1437
+ internalData.uFoot = true;
1330
1438
  $xeGrid.commitProxy('query').then(rest => {
1331
1439
  $xeGrid.dispatchEvent('proxy-query', rest, params.$event);
1332
1440
  });
1441
+ internalData.uFoot = false;
1442
+ $xeGrid.updateQueryFooter();
1333
1443
  }
1334
1444
  }
1335
1445
  },
@@ -1347,6 +1457,7 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
1347
1457
  const $xeGrid = this;
1348
1458
  const props = $xeGrid;
1349
1459
  const reactData = $xeGrid.reactData;
1460
+ const internalData = $xeGrid.internalData;
1350
1461
  const {
1351
1462
  proxyConfig
1352
1463
  } = props;
@@ -1355,17 +1466,21 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
1355
1466
  return;
1356
1467
  }
1357
1468
  if (proxyConfig && (0, _utils.isEnableConf)(proxyOpts)) {
1469
+ internalData.uFoot = true;
1358
1470
  $xeGrid.commitProxy('reload').then(rest => {
1359
1471
  $xeGrid.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), {
1360
1472
  isReload: true
1361
1473
  }), params.$event);
1362
1474
  });
1475
+ internalData.uFoot = false;
1476
+ $xeGrid.updateQueryFooter();
1363
1477
  }
1364
1478
  $xeGrid.dispatchEvent('form-submit', params, params.$event);
1365
1479
  },
1366
1480
  resetFormEvent(params) {
1367
1481
  const $xeGrid = this;
1368
1482
  const props = $xeGrid;
1483
+ const internalData = $xeGrid.internalData;
1369
1484
  const $xeTable = $xeGrid.$refs.refTable;
1370
1485
  const {
1371
1486
  proxyConfig
@@ -1376,11 +1491,14 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
1376
1491
  const proxyOpts = $xeGrid.computeProxyOpts;
1377
1492
  if (proxyConfig && (0, _utils.isEnableConf)(proxyOpts)) {
1378
1493
  $xeTable.clearScroll();
1494
+ internalData.uFoot = true;
1379
1495
  $xeGrid.commitProxy('reload').then(rest => {
1380
1496
  $xeGrid.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), {
1381
1497
  isReload: true
1382
1498
  }), $event);
1383
1499
  });
1500
+ internalData.uFoot = false;
1501
+ $xeGrid.updateQueryFooter();
1384
1502
  }
1385
1503
  $xeGrid.dispatchEvent('form-reset', params, $event);
1386
1504
  },
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_props=require("../../table/src/props"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,globalEvents,globalMixins,createEvent,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableMethods={},propKeys=Object.keys(_props.tableProps),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:a}=r;let o={};return _xeUtils.default.each(e,(e,t)=>{o[t]=(...e)=>{r.$emit(t,...e)}}),t&&(a.sort&&(o["sort-change"]=r.sortChangeEvent,o["clear-all-sort"]=r.clearAllSortEvent),a.filter)&&(o["filter-change"]=r.filterChangeEvent,o["clear-all-filter"]=r.clearAllFilterEvent),o}function createInternalData(){return{}}_xeUtils.default.each(_table.default.methods,(e,r)=>{tableMethods[r]=function(...e){var t=this.$refs.refTable;return t&&t[r](...e)}});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.tableProps),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this,$xeGantt:null}},data(){var e;return{xID:_xeUtils.default.uniqueId(),reactData:{tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}},internalData:createInternalData()}},computed:Object.assign(Object.assign({},{}),{isRespMsg(){return this.computeIsRespMsg},computeIsRespMsg(){var e=this.computeProxyOpts;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)},isActiveMsg(){return this.computeIsActiveMsg},computeIsActiveMsg(){var e=this.computeProxyOpts;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.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)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:a}=this.reactData,o={};return r?o.zIndex=a:(e&&(o.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(o.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),o},computeTableExtendProps(){let t={},r=this;return propKeys.forEach(e=>{t[e]=r[e]}),t},computeTableProps(){var e=this,{seqConfig:t,pagerConfig:r,editConfig:a,proxyConfig:o}=e,{isZMax:s,tablePage:i}=e.reactData,n=e.computeTableExtendProps,l=e.computeProxyOpts,g=e.computePagerOpts,e=e.computeIsLoading,u=Object.assign({},n);return s&&(n.maxHeight?u.maxHeight="100%":u.height="100%"),o&&(0,_utils.isEnableConf)(l)&&(u.loading=e,r)&&l.seq&&(0,_utils.isEnableConf)(g)&&(u.seqConfig=Object.assign({},t,{startIndex:(i.currentPage-1)*i.pageSize})),a&&(u.editConfig=Object.assign({},a)),u},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],a=[],o=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],a=t[1]||[],o=t[2]||[]):a=t),{headKeys:r,bodyKeys:a,footKeys:o}},computeCustomCurrentPageFlag(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag(){return this.computePagerOpts.pageSize},computeCustomTotalFlag(){return this.computePagerOpts.total},computePageCount(){var e=this.reactData.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)},computeIsLoading(){var{loading:e,proxyConfig:t}=this,r=this.reactData.tableLoading,a=this.computeProxyOpts,o=a.showLoading;return e||r&&o&&t&&(0,_utils.isEnableConf)(a)}}),watch:{columns(e){let t=this;t.$nextTick(()=>t.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computeCustomCurrentPageFlag(){this.initPages("currentPage")},computeCustomPageSizeFlag(){this.initPages("pageSize")},computeCustomTotalFlag(){this.initPages("total")}},methods:Object.assign(Object.assign({},tableMethods),{dispatchEvent(e,t,r){this.$emit(e,createEvent(r,{$grid:this,$gantt:null},t))},initPages(e){var t=this.reactData.tablePage,r=this.pagerConfig,a=this.computePagerOpts;r&&(0,_utils.isEnableConf)(a)&&(e?a[e]&&(t[e]=_xeUtils.default.toNumber(a[e])):({currentPage:r,pageSize:e,total:a}=a,r&&(t.currentPage=r),e&&(t.pageSize=e),a&&(t.total=a)))},callSlot(e,t,r){var a=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=a[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r)):[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var t=this,r=t.height,a=t.reactData.isZMax,o=t.$refs.refElem;if(o){var s=t.$refs.refFormWrapper,i=t.$refs.refToolbarWrapper,n=t.$refs.refTopWrapper,l=t.$refs.refBottomWrapper,t=t.$refs.refPagerWrapper,g=o.parentElement;let e=0;return(e=!g||"100%"!==r&&"auto"!==r?e:a?0:(0,_dom.getPaddingTopBottomSize)(g))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(t)}return 0},getParentHeight(){var e=this.reactData,t=this.$refs.refElem;return t?(t=t.parentElement,(e.isZMax?(0,_dom.getDomNode)().visibleHeight:t?_xeUtils.default.toNumber(getComputedStyle(t).height):0)-this.getExcludeHeight()):0},initToolbar(){let r=this;r.$nextTick(()=>{var e=r.$refs.refTable,t=r.$refs.refToolbar;e&&t&&e.connectToolbar(t)})},getDefaultFormData(){var e=this.computeFormOpts;if(e.items){let i={};return e.items.forEach(t=>{var r,a,{field:o,itemRender:s}=t;if(o){let e=null;s&&({startField:s,endField:r,defaultValue:a}=s,_xeUtils.default.isFunction(a)?e=a({item:t}):_xeUtils.default.isUndefined(a)||(e=a),s)&&r&&(_xeUtils.default.set(i,s,null),_xeUtils.default.set(i,r,null)),i[o]=e}}),i}return{}},initProxy(){let t=this;var e=t,r=t.reactData,{proxyConfig:e,formConfig:a}=e,o=r.proxyInited,s=t.computeProxyOpts,i=t.computeFormOpts;e&&((0,_utils.isEnableConf)(a)&&s.form&&i.items&&(r.formData=t.getDefaultFormData()),o||!1===s.autoLoad||(r.proxyInited=!0,t.$nextTick().then(()=>t.commitProxy("initial")).then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))})))},handleGlobalKeydownEvent(e){var t=this.reactData,r=this.computeZoomOpts;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&t.isZMax&&!1!==r.escRestore&&this.triggerZoomEvent(e)},getRespMsg(e,t){var r=this.computeProxyOpts,r=(r.response||r.props||{}).message,a=this.$refs.refTable;let o;return(o=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:a,$grid:this,$gantt:null}):_xeUtils.default.get(e,r):o)||getI18n(t)},handleDeleteRow(e,t,r){var a=this.computeIsActiveMsg,o=this.getCheckboxRecords();if(a)if(o.length){if(_ui.VxeUI.modal)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else o.length&&r();return Promise.resolve()},triggerPendingEvent(e){var t=this.computeIsActiveMsg,r=this.$refs.refTable,a=r.getCheckboxRecords();a.length?(r.togglePendingRow(a),this.clearCheckboxRow()):t&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})},commitProxy(t,...d){let c=this;var e=c;let p=c.reactData;var r=e.toolbar;let{proxyConfig:n,toolbarConfig:a,pagerConfig:l,editRules:m,validConfig:f}=e,g=p.tablePage,h=c.computeIsActiveMsg,b=c.computeIsRespMsg;var u=c.computeProxyOpts;let v=c.computePagerOpts;var o,e=c.computeToolbarOpts;let{beforeQuery:x,afterQuery:y,beforeDelete:_,afterDelete:E,beforeSave:P,afterSave:C,ajax:$={}}=u,O=u.response||u.props||{},S=c.$refs.refTable,T=c.getFormData(),D=null,F=null;F=_xeUtils.default.isString(t)?(o=e.buttons,r=(a||r)&&(0,_utils.isEnableConf)(e)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,D=r?r.item:null,t):(D=t).code;var s=D?D.params:null;switch(F){case"insert":return S.insert({});case"insert_edit":return S.insert({}).then(({row:e})=>S.setEditRow(e,!0));case"insert_actived":return S.insert({}).then(({row:e})=>S.setEditRow(e,!0));case"mark_cancel":c.triggerPendingEvent(F);break;case"remove":return c.handleDeleteRow(F,"vxe.grid.removeSelectRecord",()=>S.removeCheckboxRow());case"import":S.importData(s);break;case"open_import":S.openImport(s);break;case"export":S.exportData(s);break;case"open_export":S.openExport(s);break;case"reset_custom":S.resetCustom(!0);break;case"initial":case"reload":case"query":{var U=$.query;let i=$.querySuccess,a=$.queryError;if(U){var I="initial"===F,R="reload"===F;if(!I&&p.tableLoading)return c.$nextTick();let e=null,r=[],o=[],t={};if(l&&((I||R)&&(g.currentPage=1),(0,_utils.isEnableConf)(l))&&(t=Object.assign({},g)),I){if(n&&(0,_utils.isEnableConf)(u)&&u.form&&(T=c.getDefaultFormData(),p.formData=T),S){let{tableFullColumn:e,fullColumnFieldData:a}=S,t=S.computeSortOpts.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),r=t.map(e=>{var{field:e,order:t}=e,r=a[e];return r&&(r=r.column)&&(r.order=t),{field:e,property:e,order:t}})),o=S.getCheckedFilters()}}else S&&(R?e=S.clearAll():(r=S.getSortColumns(),o=S.getCheckedFilters()));let s={$table:S,$grid:c,$gantt:null,code:F,button:D,isInited:I,isReload:R,page:t,sort:r.length?r[0]:{},sorts:r,filters:o,form:T,options:U};return p.sortData=r,p.filterData=o,p.tableLoading=!0,Promise.all([Promise.resolve((x||U)(s,...d)),e]).then(([e])=>{let t=[];var r,a;return p.tableLoading=!1,e&&(l&&(0,_utils.isEnableConf)(v)?(a=O.total,a=(_xeUtils.default.isFunction(a)?a({data:e,$table:S,$grid:c,$gantt:null}):_xeUtils.default.get(e,a||"page.total"))||0,g.total=_xeUtils.default.toNumber(a),r=O.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$table:S,$grid:c,$gantt:null}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(a/g.pageSize),1),g.currentPage>r&&(g.currentPage=r)):(a=O.list,t=(a?_xeUtils.default.isFunction(a)?a({data:e,$table:S,$grid:c,$gantt:null}):_xeUtils.default.get(e,a):e)||[])),S?S.loadData(t):c.$nextTick(()=>{var e=c.$refs.refTable;e&&e.loadData(t)}),y&&y(s,...d),i&&i(Object.assign(Object.assign({},s),{response:e})),{status:!0}}).catch(e=>(p.tableLoading=!1,a&&a(Object.assign(Object.assign({},s),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.query"]);break}case"delete":{let o=$.delete,s=$.deleteSuccess,i=$.deleteError;if(o){let e=S.getCheckboxRecords(),t=e.filter(e=>!S.isInsertByRow(e));I={removeRecords:t};let r={$table:S,$grid:c,$gantt:null,code:F,button:D,body:I,form:T,options:o},a=[r].concat(d);if(e.length)return c.handleDeleteRow(F,"vxe.grid.deleteSelectRecord",()=>t.length?(p.tableLoading=!0,Promise.resolve((_||o)(...a)).then(e=>(p.tableLoading=!1,S.setPendingRow(t,!1),b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:c.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"}),E?E(...a):c.commitProxy("query"),s&&s(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(p.tableLoading=!1,b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:F,content:c.getRespMsg(e,"vxe.grid.operError"),status:"error"}),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):S.remove(e));h&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:F,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.delete"]);break}case"save":{let l=$.save,g=$.saveSuccess,u=$.saveError;if(l){let t=c.getRecordset(),{insertRecords:r,removeRecords:a,updateRecords:o,pendingRecords:s}=t,i={$table:S,$grid:c,$gantt:null,code:F,button:D,body:t,form:T,options:l},n=[i].concat(d),e=(r.length&&(t.pendingRecords=s.filter(e=>-1===r.indexOf(e))),s.length&&(t.insertRecords=r.filter(e=>-1===s.indexOf(e))),Promise.resolve());return(e=m?c[f&&"full"===f.msgMode?"fullValidate":"validate"](t.insertRecords.concat(o)):e).then(e=>{if(!e)return t.insertRecords.length||a.length||o.length||t.pendingRecords.length?(p.tableLoading=!0,Promise.resolve((P||l)(...n)).then(e=>(p.tableLoading=!1,S.clearPendingRow(),b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:c.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"}),C?C(...n):c.commitProxy("query"),g&&g(Object.assign(Object.assign({},i),{response:e})),{status:!0})).catch(e=>(p.tableLoading=!1,b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:F,content:c.getRespMsg(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},i),{response:e})),{status:!1}))):void(h&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:F,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.save"]);break}default:R=commands.get(F);R&&((U=R.tableCommandMethod||R.commandMethod)?U({code:F,button:D,$grid:c,$table:S,$gantt:null},...d):(0,_log.errLog)("vxe.error.notCommands",["[grid] "+F]))}return c.$nextTick()},getFormData(){var e=this.proxyConfig,t=this.reactData.formData,r=this.computeProxyOpts,a=this.computeFormOpts;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:a.data},getFormItems(e){var t=this.computeFormOpts,r=this.formConfig,a=t.items;let o=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&a?a:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},resetForm(){var e=this.$refs.refForm;return e?e.reset():this.$nextTick()},validateForm(){var e=this.$refs.refForm;return e?e.validate():this.$nextTick()},validateFormField(e){var t=this.$refs.refForm;return t?t.validateField(e):this.$nextTick()},clearFormValidate(e){var t=this.$refs.refForm;return t?t.clearValidate(e):this.$nextTick()},homePage(){var e=this.reactData.tablePage;return e.currentPage=1,this.$nextTick()},homePageByEvent(e){var t=this.$refs.refPager;t&&t.homePageByEvent(e)},endPage(){var e=this.reactData.tablePage,t=this.computePageCount;return e.currentPage=t,this.$nextTick()},endPageByEvent(e){var t=this.$refs.refPager;t&&t.endPageByEvent(e)},getCurrentPage(){var e=this.reactData.tablePage;return e.currentPage},setCurrentPage(e){var t=this.reactData.tablePage,r=this.computePageCount;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),this.$nextTick()},setCurrentPageByEvent(e,t){var r=this.$refs.refPager;r&&r.setCurrentPageByEvent(e,t)},getPageSize(){var e=this.reactData.tablePage;return e.pageSize},setPageSize(e){var t=this.reactData.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),this.$nextTick()},setPageSizeByEvent(e,t){var r=this.$refs.refPager;r&&r.setPageSizeByEvent(e,t)},triggerToolbarCommitEvent(e,t){let r=this,a=e.code;return r.commitProxy(e,t).then(e=>{a&&e&&e.status&&["query","reload","delete","save"].includes(a)&&r.dispatchEvent("delete"===a||"save"===a?"proxy-"+a:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===a}),t)})},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},pageChangeEvent(e){let t=this;var r=t.proxyConfig,a=t.reactData.tablePage;let{$event:o,currentPage:s,pageSize:i}=e;var n=t.computeProxyOpts;a.currentPage=s,a.pageSize=i,t.dispatchEvent("page-change",e,o),r&&(0,_utils.isEnableConf)(n)&&t.commitProxy("query").then(e=>{t.dispatchEvent("proxy-query",e,o)})},handleSortEvent(t){let r=this;var e=r,a=r.reactData,o=r.$refs.refTable,e=e.proxyConfig,s=r.computeProxyOpts;o.computeSortOpts.remote&&(a.sortData=t.sortList,e)&&(0,_utils.isEnableConf)(s)&&(a.tablePage.currentPage=1,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}))},sortChangeEvent(e){this.handleSortEvent(e),this.dispatchEvent("sort-change",e,e.$event)},clearAllSortEvent(e){this.handleSortEvent(e),this.dispatchEvent("clear-all-sort",e,e.$event)},handleFilterEvent(t){let r=this;var e=r,a=r.reactData,o=r.$refs.refTable,e=e.proxyConfig,s=r.computeProxyOpts;o.computeFilterOpts.remote&&(a.filterData=t.filterList,e)&&(0,_utils.isEnableConf)(s)&&(a.tablePage.currentPage=1,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}))},filterChangeEvent(e){this.handleFilterEvent(e),this.dispatchEvent("filter-change",e,e.$event)},clearAllFilterEvent(e){this.handleFilterEvent(e),this.dispatchEvent("clear-all-filter",e,e.$event)},submitFormEvent(t){let r=this;var e=r,a=r.reactData,e=e.proxyConfig,o=r.computeProxyOpts;a.tableLoading||(e&&(0,_utils.isEnableConf)(o)&&r.commitProxy("reload").then(e=>{r.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),r.dispatchEvent("form-submit",t,t.$event))},resetFormEvent(e){let t=this;var r=t,a=t.$refs.refTable,r=r.proxyConfig;let o=e.$event;var s=t.computeProxyOpts;r&&(0,_utils.isEnableConf)(s)&&(a.clearScroll(),t.commitProxy("reload").then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)})),t.dispatchEvent("form-reset",e,o)},submitInvalidEvent(e){this.dispatchEvent("form-submit-invalid",e,e.$event)},collapseEvent(e){var t=e.$event;this.dispatchEvent("form-toggle-collapse",e,t),this.dispatchEvent("form-collapse",e,t)},triggerZoomEvent(e){var t=this.reactData;this.zoom(),this.dispatchEvent("zoom",{type:t.isZMax?"max":"revert"},e)},getParams(){return this.params},zoom(){return this.reactData.isZMax?this.revert():this.maximize()},isMaximized(){return this.reactData.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){let t=this,r=t.reactData;var a=r.isZMax;return(e?!a:a)&&(r.isZMax=!a,r.tZindex<(0,_utils.getLastZIndex)())&&(r.tZindex=(0,_utils.nextZIndex)()),t.$nextTick().then(()=>t.recalculate(!0)).then(()=>(setTimeout(()=>t.recalculate(!0),15),r.isZMax))},getProxyInfo(){var e,t=this.$refs.refTable,r=this.reactData;return this.proxyConfig?(e=r.sortData,{data:t?t.getFullData():[],filter:r.filterData,form:this.getFormData(),sort:e.length?e[0]:{},sorts:e,pager:r.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},loadColumn(e){let t=this.$scopedSlots;var r=this.$refs.refTable;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",["[grid] "+e])})}),r.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)},getConfigSlot(e){let r=this.$scopedSlots,a={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?r[e]?a[t]=r[e]:(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e]):a[t]=e)}),a},getToolbarSlots(){var e,t,r,a,o=this,s=o.$scopedSlots,i=o.computeToolbarOpts.slots,n={};return!s.buttons||i&&"buttons"===i.buttons||(0,_log.warnLog)("vxe.error.reqProp",["[grid] toolbar-config.slots.buttons"]),!s.tools||i&&"tools"===i.tools||(0,_log.warnLog)("vxe.error.reqProp",["[grid] toolbar-config.slots.tools"]),i&&(s=o.getFuncSlot(i,"buttons"),e=o.getFuncSlot(i,"buttonPrefix"),t=o.getFuncSlot(i,"buttonSuffix"),r=o.getFuncSlot(i,"tools"),a=o.getFuncSlot(i,"toolPrefix"),o=o.getFuncSlot(i,"toolSuffix"),s&&(n.buttons=s),e&&(n.buttonPrefix=e),t&&(n.buttonSuffix=t),r&&(n.tools=r),a&&(n.toolPrefix=a),o)&&(n.toolSuffix=o),n},getFuncSlot(e,t){var r=this.$scopedSlots,e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(r[e])return r[e];(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e])}return null},renderDefaultForm(e){var r=_ui.VxeUI.getComponent("VxeForm");let a=this;var o=a;let s=a.$scopedSlots;var{proxyConfig:o,formConfig:t}=o,i=a.reactData.formData,n=a.computeProxyOpts,l=a.computeFormOpts;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=n.beforeItem;n&&t&&l.items.forEach(e=>{t.call(a,{$grid:a,$gantt:null,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),[r?e(r,{props:Object.assign({},l,{data:o&&n.form?i:l.data}),on:{submit:a.submitFormEvent,reset:a.resetFormEvent,collapse:a.collapseEvent,"submit-invalid":a.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(a)]}return[]},renderForm(e){var t=this,r=t.formConfig,a=t.$scopedSlots.form;return!a&&!(0,_utils.isEnableConf)(r)?renderEmptyElement(t):e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},a?a.call(t,{$grid:t,$gantt:null}):t.renderDefaultForm(e))},renderToolbar(e){var t=this,r=t.toolbarConfig,a=t.$scopedSlots.toolbar,o=t.computeToolbarOpts;return r&&(0,_utils.isEnableConf)(o)||a?e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},a?a.call(t,{$grid:t,$gantt:null}):[e(_toolbar.default,{props:Object.assign({},o,{slots:void 0}),ref:"refToolbar",scopedSlots:t.getToolbarSlots()})]):renderEmptyElement(t)},renderTop(e){var t=this.$scopedSlots.top;return t?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableLeft(e){var t=this.$scopedSlots.left;return t?e("div",{class:"vxe-grid--left-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableRight(e){var t=this.$scopedSlots.right;return t?e("div",{class:"vxe-grid--right-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTable(e){var t=this.$scopedSlots,r=this.computeTableProps;return e("div",{class:"vxe-grid--table-wrapper"},[e(_table.default,{key:"table",props:r,on:getTableOns(this),scopedSlots:t,ref:"refTable"})])},renderBottom(e){var t=this.$scopedSlots.bottom;return t?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderPager(e){var t=_ui.VxeUI.getComponent("VxePager"),r=this,a=r.$scopedSlots,o=r.reactData,{proxyConfig:s,pagerConfig:i}=r,n=r.computeProxyOpts,l=r.computePagerOpts,g=a.pager;return i&&(0,_utils.isEnableConf)(l)||a.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},g?g.call(r,{$grid:r,$gantt:null}):[t?e(t,{ref:"refPager",props:Object.assign(Object.assign({},l),s&&(0,_utils.isEnableConf)(n)?o.tablePage:{}),on:{"page-change":r.pageChangeEvent},scopedSlots:r.getConfigSlot(l.slots)}):renderEmptyElement(r)]):renderEmptyElement(r)},renderChildLayout(t,e){let r=this,a=[];return e.forEach(e=>{switch(e){case"Form":a.push(r.renderForm(t));break;case"Toolbar":a.push(r.renderToolbar(t));break;case"Top":a.push(r.renderTop(t));break;case"Table":a.push(t("div",{key:"table",class:"vxe-grid--table-container"},[r.renderTableLeft(t),r.renderTable(t),r.renderTableRight(t)]));break;case"Bottom":a.push(r.renderBottom(t));break;case"Pager":a.push(r.renderPager(t));break;default:(0,_log.errLog)("vxe.error.notProp",["[grid] layouts -> "+e])}}),a},renderLayout(e){var t=this,r=t.$scopedSlots,{headKeys:a,bodyKeys:o,footKeys:s}=t.computeCurrLayoutConf,i=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},t.renderChildLayout(e,a)),e("div",{class:"vxe-grid--layout-body-wrapper"},[i?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},i({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},t.renderChildLayout(e,o)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},t.renderChildLayout(e,s)),e("div",{ref:"refPopupContainerElem"})]},renderVN(e){var t=this,r=t.reactData,a=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+a]:a,"is--animat":!!t.animat,"is--round":t.round,"is--maximize":r.isZMax,"is--loading":t.computeIsLoading}],style:t.computeStyles},t.renderLayout(e))}}),created(){let e=_ui.VxeUI.getComponent("VxeForm"),t=_ui.VxeUI.getComponent("VxePager");var r=this;let a=r;var o=r.computeProxyOpts;a.toolbar&&(0,_log.errLog)("vxe.error.delProp",["[grid] toolbar","toolbar-config"]),a.toolbarConfig&&!_xeUtils.default.isObject(a.toolbarConfig)&&(0,_log.errLog)("vxe.error.errProp",["[grid] toolbar-config="+a.toolbarConfig,"toolbar-config={}"]),o.props&&(0,_log.warnLog)("vxe.error.delProp",["[grid] proxy-config.props","proxy-config.response"]),r.$nextTick(()=>{a.formConfig&&!e&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),a.pagerConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),r.initPages(),globalEvents.on(r,"keydown",r.handleGlobalKeydownEvent)},mounted(){var e=this.columns;e&&e.length&&this.loadColumn(e),this.initToolbar(),this.initProxy()},destroyed(){var e=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createInternalData())},render(e){return this.renderVN(e)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_props=require("../../table/src/props"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,globalEvents,globalMixins,createEvent,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableMethods={},propKeys=Object.keys(_props.tableProps),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:o}=r;let a={};return _xeUtils.default.each(e,(e,t)=>{a[t]=(...e)=>{r.$emit(t,...e)}}),t&&(o.sort&&(a["sort-change"]=r.sortChangeEvent,a["clear-all-sort"]=r.clearAllSortEvent),o.filter)&&(a["filter-change"]=r.filterChangeEvent,a["clear-all-filter"]=r.clearAllFilterEvent),a}function createInternalData(){return{uFoot:!1}}_xeUtils.default.each(_table.default.methods,(e,r)=>{tableMethods[r]=function(...e){var t=this.$refs.refTable;return t&&t[r](...e)}});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.tableProps),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this,$xeGantt:null}},data(){var e;return{xID:_xeUtils.default.uniqueId(),reactData:{tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],footerData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}},internalData:createInternalData()}},computed:Object.assign(Object.assign({},{}),{isRespMsg(){return this.computeIsRespMsg},computeIsRespMsg(){var e=this.computeProxyOpts;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)},isActiveMsg(){return this.computeIsActiveMsg},computeIsActiveMsg(){var e=this.computeProxyOpts;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.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)},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.reactData,a={};return r?a.zIndex=o:(e&&(a.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(a.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),a},computeTableExtendProps(){let t={},r=this;return propKeys.forEach(e=>{void 0!==r[e]&&(t[e]=r[e])}),t},computeTableProps(){var e=this,{showFooter:t,seqConfig:r,pagerConfig:o,editConfig:a,proxyConfig:s}=e,{isZMax:i,tablePage:n,footerData:l}=e.reactData,u=e.computeProxyOpts,g=e.computePagerOpts,d=e.computeIsLoading,e=Object.assign({},e.computeTableExtendProps);return(t&&!e.footerData||u.footer&&l.length)&&(e.footerData=l),i&&(e.maxHeight?e.maxHeight="100%":e.height="100%"),s&&(0,_utils.isEnableConf)(u)&&(e.loading=d,o)&&u.seq&&(0,_utils.isEnableConf)(g)&&(e.seqConfig=Object.assign({},r,{startIndex:(n.currentPage-1)*n.pageSize})),a&&(e.editConfig=Object.assign({},a)),e},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],o=[],a=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],a=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:a}},computeCustomCurrentPageFlag(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag(){return this.computePagerOpts.pageSize},computeCustomTotalFlag(){return this.computePagerOpts.total},computePageCount(){var e=this.reactData.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)},computeIsLoading(){var{loading:e,proxyConfig:t}=this,r=this.reactData.tableLoading,o=this.computeProxyOpts,a=o.showLoading;return e||r&&a&&t&&(0,_utils.isEnableConf)(o)}}),watch:{columns(e){let t=this;t.$nextTick(()=>t.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computeCustomCurrentPageFlag(){this.initPages("currentPage")},computeCustomPageSizeFlag(){this.initPages("pageSize")},computeCustomTotalFlag(){this.initPages("total")}},methods:Object.assign(Object.assign({},tableMethods),{dispatchEvent(e,t,r){this.$emit(e,createEvent(r,{$grid:this,$gantt:null},t))},initPages(e){var t=this.reactData.tablePage,r=this.pagerConfig,o=this.computePagerOpts;r&&(0,_utils.isEnableConf)(o)&&(e?o[e]&&(t[e]=_xeUtils.default.toNumber(o[e])):({currentPage:r,pageSize:e,total:o}=o,r&&(t.currentPage=r),e&&(t.pageSize=e),o&&(t.total=o)))},callSlot(e,t,r){var o=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=o[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r)):[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var t=this,r=t.height,o=t.reactData.isZMax,a=t.$refs.refElem;if(a){var s=t.$refs.refFormWrapper,i=t.$refs.refToolbarWrapper,n=t.$refs.refTopWrapper,l=t.$refs.refBottomWrapper,t=t.$refs.refPagerWrapper,u=a.parentElement;let e=0;return(e=!u||"100%"!==r&&"auto"!==r?e:o?0:(0,_dom.getPaddingTopBottomSize)(u))+(0,_dom.getPaddingTopBottomSize)(a)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(t)}return 0},getParentHeight(){var e=this.reactData,t=this.$refs.refElem;return t?(t=t.parentElement,(e.isZMax?(0,_dom.getDomNode)().visibleHeight:t?_xeUtils.default.toNumber(getComputedStyle(t).height):0)-this.getExcludeHeight()):0},initToolbar(){let r=this;r.$nextTick(()=>{var e=r.$refs.refTable,t=r.$refs.refToolbar;e&&t&&e.connectToolbar(t)})},getDefaultFormData(){var e=this.computeFormOpts;if(e.items){let i={};return e.items.forEach(t=>{var r,o,{field:a,itemRender:s}=t;if(a){let e=null;s&&({startField:s,endField:r,defaultValue:o}=s,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o),s)&&r&&(_xeUtils.default.set(i,s,null),_xeUtils.default.set(i,r,null)),i[a]=e}}),i}return{}},initProxy(){let t=this;var e=t,r=t.reactData;let o=t.internalData;var{proxyConfig:e,formConfig:a}=e,s=r.proxyInited,i=t.computeProxyOpts,n=t.computeFormOpts;e&&((0,_utils.isEnableConf)(a)&&i.form&&n.items&&(r.formData=t.getDefaultFormData()),s||!(r.proxyInited=!0)!==i.autoLoad&&t.$nextTick().then(()=>{o.uFoot=!0;var e=t.commitProxy("initial");return o.uFoot=!1,t.updateQueryFooter(),e}).then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},updateQueryFooter(){var e=this.computeProxyOpts.ajax;if(e&&e.queryFooter)return this.commitProxy("queryFooter")},handleGlobalKeydownEvent(e){var t=this.reactData,r=this.computeZoomOpts;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&t.isZMax&&!1!==r.escRestore&&this.triggerZoomEvent(e)},getRespMsg(e,t){var r=this.computeProxyOpts,r=(r.response||r.props||{}).message,o=this.$refs.refTable;let a;return(a=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:o,$grid:this,$gantt:null}):_xeUtils.default.get(e,r):a)||getI18n(t)},handleDeleteRow(e,t,r){var o=this.computeIsActiveMsg,a=this.getCheckboxRecords();if(o)if(a.length){if(_ui.VxeUI.modal)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&r();return Promise.resolve()},triggerPendingEvent(e){var t=this.computeIsActiveMsg,r=this.$refs.refTable,o=r.getCheckboxRecords();o.length?(r.togglePendingRow(o),this.clearCheckboxRow()):t&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})},commitProxy(t,...d){let c=this;var e=c;let p=c.reactData,m=c.internalData;var r=e.toolbar;let{showFooter:n,proxyConfig:l,toolbarConfig:o,pagerConfig:u,editRules:f,validConfig:h}=e,g=p.tablePage,v=c.computeIsActiveMsg,x=c.computeIsRespMsg;var b=c.computeProxyOpts;let y=c.computePagerOpts;var a,e=c.computeToolbarOpts;let{beforeQuery:_,afterQuery:P,beforeQueryFooter:s,afterQueryFooter:i,beforeDelete:E,afterDelete:C,beforeSave:L,afterSave:O,ajax:$={}}=b,F=b.response||b.props||{},S=c.$refs.refTable,D=c.getFormData(),T=null,U=null;U=_xeUtils.default.isString(t)?(a=e.buttons,r=(o||r)&&(0,_utils.isEnableConf)(e)&&a?_xeUtils.default.findTree(a,e=>e.code===t,{children:"dropdowns"}):null,T=r?r.item:null,t):(T=t).code;var I=T?T.params:null;switch(U){case"insert":return S.insert({});case"insert_edit":return S.insert({}).then(({row:e})=>S.setEditRow(e,!0));case"insert_actived":return S.insert({}).then(({row:e})=>S.setEditRow(e,!0));case"mark_cancel":c.triggerPendingEvent(U);break;case"remove":return c.handleDeleteRow(U,"vxe.grid.removeSelectRecord",()=>S.removeCheckboxRow());case"import":S.importData(I);break;case"open_import":S.openImport(I);break;case"export":S.exportData(I);break;case"open_export":S.openExport(I);break;case"reset_custom":S.resetCustom(!0);break;case"initial":case"reload":case"query":{var j=$.query;let i=$.querySuccess,o=$.queryError;if(j){var R="initial"===U,k="reload"===U;if(!R&&p.tableLoading)return c.$nextTick();let e=null,r=[],a=[],t={};if(u&&((R||k)&&(g.currentPage=1),(0,_utils.isEnableConf)(u))&&(t=Object.assign({},g)),R){if(l&&(0,_utils.isEnableConf)(b)&&b.form&&(D=c.getDefaultFormData(),p.formData=D),S){let{tableFullColumn:e,fullColumnFieldData:o}=S,t=S.computeSortOpts.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),r=t.map(e=>{var{field:e,order:t}=e,r=o[e];return r&&(r=r.column)&&(r.order=t),{field:e,property:e,order:t}})),a=S.getCheckedFilters()}}else S&&(k?e=S.clearAll():(r=S.getSortColumns(),a=S.getCheckedFilters()));let s={$table:S,$grid:c,$gantt:null,code:U,button:T,isInited:R,isReload:k,page:t,sort:r.length?r[0]:{},sorts:r,filters:a,form:D,options:j};return p.sortData=r,p.filterData=a,p.tableLoading=!0,Promise.all([Promise.resolve((_||j)(s,...d)),e]).then(([e])=>{let t=[];var r,o,a;return p.tableLoading=!1,e&&(r={data:e,$table:S,$grid:c,$gantt:null},u&&(0,_utils.isEnableConf)(y)?(a=F.total,a=(_xeUtils.default.isFunction(a)?a(r):_xeUtils.default.get(e,a||"page.total"))||0,g.total=_xeUtils.default.toNumber(a),o=F.result,t=(_xeUtils.default.isFunction(o)?o(r):_xeUtils.default.get(e,o||"result"))||[],o=Math.max(Math.ceil(a/g.pageSize),1),g.currentPage>o&&(g.currentPage=o)):(a=F.list,_xeUtils.default.isArray(e)?t=e:a&&(t=(_xeUtils.default.isFunction(a)?a(r):_xeUtils.default.get(e,a))||[])),n)&&(a=(o=F.footerData)?_xeUtils.default.isFunction(o)?o(r):_xeUtils.default.get(e,o):[],_xeUtils.default.isArray(a))&&(p.footerData=a),S?S.loadData(t):c.$nextTick(()=>{var e=c.$refs.refTable;e&&e.loadData(t)}),P&&P(s,...d),i&&i(Object.assign(Object.assign({},s),{response:e})),{status:!0}}).catch(e=>(p.tableLoading=!1,o&&o(Object.assign(Object.assign({},s),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.query"]);break}case"queryFooter":{R=$.queryFooter;let r=$.queryFooterSuccess,o=$.queryFooterError;if(R){let e=[],t=(S&&(e=S.getCheckedFilters()),{$table:S,$grid:c,$gantt:null,code:U,button:T,filters:e,form:D,options:R});return Promise.resolve((s||R)(t,...d)).then(e=>(p.footerData=_xeUtils.default.isArray(e)?e:[],i&&i(t,...d),r&&r(Object.assign(Object.assign({},t),{response:e})),{status:!0})).catch(e=>(o&&o(Object.assign(Object.assign({},t),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.queryFooter"]);break}case"delete":{let a=$.delete,s=$.deleteSuccess,i=$.deleteError;if(a){let e=S.getCheckboxRecords(),t=e.filter(e=>!S.isInsertByRow(e));k={removeRecords:t};let r={$table:S,$grid:c,$gantt:null,code:U,button:T,body:k,form:D,options:a},o=[r].concat(d);if(e.length)return c.handleDeleteRow(U,"vxe.grid.deleteSelectRecord",()=>t.length?(p.tableLoading=!0,Promise.resolve((E||a)(...o)).then(e=>(p.tableLoading=!1,S.setPendingRow(t,!1),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:c.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"}),C?C(...o):(m.uFoot=!0,c.commitProxy("query"),m.uFoot=!1,c.updateQueryFooter()),s&&s(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(p.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:c.getRespMsg(e,"vxe.grid.operError"),status:"error"}),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):S.remove(e));v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.delete"]);break}case"save":{let l=$.save,u=$.saveSuccess,g=$.saveError;if(l){let t=c.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:s}=t,i={$table:S,$grid:c,$gantt:null,code:U,button:T,body:t,form:D,options:l},n=[i].concat(d),e=(r.length&&(t.pendingRecords=s.filter(e=>-1===r.indexOf(e))),s.length&&(t.insertRecords=r.filter(e=>-1===s.indexOf(e))),Promise.resolve());return(e=f?c[h&&"full"===h.msgMode?"fullValidate":"validate"](t.insertRecords.concat(a)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||a.length||t.pendingRecords.length?(p.tableLoading=!0,Promise.resolve((L||l)(...n)).then(e=>(p.tableLoading=!1,S.clearPendingRow(),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:c.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"}),O?O(...n):(m.uFoot=!0,c.commitProxy("query"),m.uFoot=!1,c.updateQueryFooter()),u&&u(Object.assign(Object.assign({},i),{response:e})),{status:!0})).catch(e=>(p.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:c.getRespMsg(e,"vxe.grid.operError"),status:"error"}),g&&g(Object.assign(Object.assign({},i),{response:e})),{status:!1}))):void(v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.save"]);break}default:j=commands.get(U);j&&((R=j.tableCommandMethod||j.commandMethod)?R({code:U,button:T,$grid:c,$table:S,$gantt:null},...d):(0,_log.errLog)("vxe.error.notCommands",["[grid] "+U]))}return c.$nextTick()},getFormData(){var e=this.proxyConfig,t=this.reactData.formData,r=this.computeProxyOpts,o=this.computeFormOpts;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:o.data},getFormItems(e){var t=this.computeFormOpts,r=this.formConfig,o=t.items;let a=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&o?o:[],e=>{a.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?a:a[e]},resetForm(){var e=this.$refs.refForm;return e?e.reset():this.$nextTick()},validateForm(){var e=this.$refs.refForm;return e?e.validate():this.$nextTick()},validateFormField(e){var t=this.$refs.refForm;return t?t.validateField(e):this.$nextTick()},clearFormValidate(e){var t=this.$refs.refForm;return t?t.clearValidate(e):this.$nextTick()},homePage(){var e=this.reactData.tablePage;return e.currentPage=1,this.$nextTick()},homePageByEvent(e){var t=this.$refs.refPager;t&&t.homePageByEvent(e)},endPage(){var e=this.reactData.tablePage,t=this.computePageCount;return e.currentPage=t,this.$nextTick()},endPageByEvent(e){var t=this.$refs.refPager;t&&t.endPageByEvent(e)},getCurrentPage(){var e=this.reactData.tablePage;return e.currentPage},setCurrentPage(e){var t=this.reactData.tablePage,r=this.computePageCount;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),this.$nextTick()},setCurrentPageByEvent(e,t){var r=this.$refs.refPager;r&&r.setCurrentPageByEvent(e,t)},getPageSize(){var e=this.reactData.tablePage;return e.pageSize},setPageSize(e){var t=this.reactData.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),this.$nextTick()},setPageSizeByEvent(e,t){var r=this.$refs.refPager;r&&r.setPageSizeByEvent(e,t)},triggerToolbarCommitEvent(e,t){let r=this;var o,a=r.internalData;let s=e.code;return s?((o=["reload","delete","save"].includes(s))&&(a.uFoot=!0),e=r.commitProxy(e,t).then(e=>{s&&e&&e.status&&["query","reload","delete","save"].includes(s)&&r.dispatchEvent("delete"===s||"save"===s?"proxy-"+s:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===s}),t)}),o&&r.updateQueryFooter(),a.uFoot=!1,e):r.$nextTick()},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},pageChangeEvent(e){let t=this;var r=t.proxyConfig,o=t.reactData.tablePage;let{$event:a,currentPage:s,pageSize:i}=e;var n=t.computeProxyOpts;o.currentPage=s,o.pageSize=i,t.dispatchEvent("page-change",e,a),r&&(0,_utils.isEnableConf)(n)&&t.commitProxy("query").then(e=>{t.dispatchEvent("proxy-query",e,a)})},handleSortEvent(t){let r=this;var e=r,o=r.reactData,a=r.$refs.refTable,e=e.proxyConfig,s=r.computeProxyOpts;a.computeSortOpts.remote&&(o.sortData=t.sortList,e)&&(0,_utils.isEnableConf)(s)&&(o.tablePage.currentPage=1,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}))},sortChangeEvent(e){this.handleSortEvent(e),this.dispatchEvent("sort-change",e,e.$event)},clearAllSortEvent(e){this.handleSortEvent(e),this.dispatchEvent("clear-all-sort",e,e.$event)},handleFilterEvent(t){let r=this;var e=r,o=r.reactData,a=r.internalData,s=r.$refs.refTable,e=e.proxyConfig,i=r.computeProxyOpts;s.computeFilterOpts.remote&&(o.filterData=t.filterList,e)&&(0,_utils.isEnableConf)(i)&&(o.tablePage.currentPage=1,a.uFoot=!0,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}),a.uFoot=!1,r.updateQueryFooter())},filterChangeEvent(e){this.handleFilterEvent(e),this.dispatchEvent("filter-change",e,e.$event)},clearAllFilterEvent(e){this.handleFilterEvent(e),this.dispatchEvent("clear-all-filter",e,e.$event)},submitFormEvent(t){let r=this;var e=r,o=r.reactData,a=r.internalData,e=e.proxyConfig,s=r.computeProxyOpts;o.tableLoading||(e&&(0,_utils.isEnableConf)(s)&&(a.uFoot=!0,r.commitProxy("reload").then(e=>{r.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),a.uFoot=!1,r.updateQueryFooter()),r.dispatchEvent("form-submit",t,t.$event))},resetFormEvent(e){let t=this;var r=t,o=t.internalData,a=t.$refs.refTable,r=r.proxyConfig;let s=e.$event;var i=t.computeProxyOpts;r&&(0,_utils.isEnableConf)(i)&&(a.clearScroll(),o.uFoot=!0,t.commitProxy("reload").then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),s)}),o.uFoot=!1,t.updateQueryFooter()),t.dispatchEvent("form-reset",e,s)},submitInvalidEvent(e){this.dispatchEvent("form-submit-invalid",e,e.$event)},collapseEvent(e){var t=e.$event;this.dispatchEvent("form-toggle-collapse",e,t),this.dispatchEvent("form-collapse",e,t)},triggerZoomEvent(e){var t=this.reactData;this.zoom(),this.dispatchEvent("zoom",{type:t.isZMax?"max":"revert"},e)},getParams(){return this.params},zoom(){return this.reactData.isZMax?this.revert():this.maximize()},isMaximized(){return this.reactData.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){let t=this,r=t.reactData;var o=r.isZMax;return(e?!o:o)&&(r.isZMax=!o,r.tZindex<(0,_utils.getLastZIndex)())&&(r.tZindex=(0,_utils.nextZIndex)()),t.$nextTick().then(()=>t.recalculate(!0)).then(()=>(setTimeout(()=>t.recalculate(!0),15),r.isZMax))},getProxyInfo(){var e,t=this.$refs.refTable,r=this.reactData;return this.proxyConfig?(e=r.sortData,{data:t?t.getFullData():[],filter:r.filterData,form:this.getFormData(),sort:e.length?e[0]:{},sorts:e,pager:r.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},loadColumn(e){let t=this.$scopedSlots;var r=this.$refs.refTable;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",["[grid] "+e])})}),r.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)},getConfigSlot(e){let r=this.$scopedSlots,o={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?r[e]?o[t]=r[e]:(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e]):o[t]=e)}),o},getToolbarSlots(){var e,t,r,o,a=this,s=a.$scopedSlots,i=a.computeToolbarOpts.slots,n={};return!s.buttons||i&&"buttons"===i.buttons||(0,_log.warnLog)("vxe.error.reqProp",["[grid] toolbar-config.slots.buttons"]),!s.tools||i&&"tools"===i.tools||(0,_log.warnLog)("vxe.error.reqProp",["[grid] toolbar-config.slots.tools"]),i&&(s=a.getFuncSlot(i,"buttons"),e=a.getFuncSlot(i,"buttonPrefix"),t=a.getFuncSlot(i,"buttonSuffix"),r=a.getFuncSlot(i,"tools"),o=a.getFuncSlot(i,"toolPrefix"),a=a.getFuncSlot(i,"toolSuffix"),s&&(n.buttons=s),e&&(n.buttonPrefix=e),t&&(n.buttonSuffix=t),r&&(n.tools=r),o&&(n.toolPrefix=o),a)&&(n.toolSuffix=a),n},getFuncSlot(e,t){var r=this.$scopedSlots,e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(r[e])return r[e];(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e])}return null},renderDefaultForm(e){var r=_ui.VxeUI.getComponent("VxeForm");let o=this;var a=o;let s=o.$scopedSlots;var{proxyConfig:a,formConfig:t}=a,i=o.reactData.formData,n=o.computeProxyOpts,l=o.computeFormOpts;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=n.beforeItem;n&&t&&l.items.forEach(e=>{t.call(o,{$grid:o,$gantt:null,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),[r?e(r,{props:Object.assign({},l,{data:a&&n.form?i:l.data}),on:{submit:o.submitFormEvent,reset:o.resetFormEvent,collapse:o.collapseEvent,"submit-invalid":o.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(o)]}return[]},renderForm(e){var t=this,r=t.formConfig,o=t.$scopedSlots.form;return!o&&!(0,_utils.isEnableConf)(r)?renderEmptyElement(t):e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t,$gantt:null}):t.renderDefaultForm(e))},renderToolbar(e){var t=this,r=t.toolbarConfig,o=t.$scopedSlots.toolbar,a=t.computeToolbarOpts;return r&&(0,_utils.isEnableConf)(a)||o?e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t,$gantt:null}):[e(_toolbar.default,{props:Object.assign({},a,{slots:void 0}),ref:"refToolbar",scopedSlots:t.getToolbarSlots()})]):renderEmptyElement(t)},renderTop(e){var t=this.$scopedSlots.top;return t?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableLeft(e){var t=this.$scopedSlots.left;return t?e("div",{class:"vxe-grid--left-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableRight(e){var t=this.$scopedSlots.right;return t?e("div",{class:"vxe-grid--right-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTable(e){var t=this.$scopedSlots,r=this.computeTableProps;return e("div",{class:"vxe-grid--table-wrapper"},[e(_table.default,{key:"table",props:r,on:getTableOns(this),scopedSlots:t,ref:"refTable"})])},renderBottom(e){var t=this.$scopedSlots.bottom;return t?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderPager(e){var t=_ui.VxeUI.getComponent("VxePager"),r=this,o=r.$scopedSlots,a=r.reactData,{proxyConfig:s,pagerConfig:i}=r,n=r.computeProxyOpts,l=r.computePagerOpts,u=o.pager;return i&&(0,_utils.isEnableConf)(l)||o.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},u?u.call(r,{$grid:r,$gantt:null}):[t?e(t,{ref:"refPager",props:Object.assign(Object.assign({},l),s&&(0,_utils.isEnableConf)(n)?a.tablePage:{}),on:{"page-change":r.pageChangeEvent},scopedSlots:r.getConfigSlot(l.slots)}):renderEmptyElement(r)]):renderEmptyElement(r)},renderChildLayout(t,e){let r=this,o=[];return e.forEach(e=>{switch(e){case"Form":o.push(r.renderForm(t));break;case"Toolbar":o.push(r.renderToolbar(t));break;case"Top":o.push(r.renderTop(t));break;case"Table":o.push(t("div",{key:"table",class:"vxe-grid--table-container"},[r.renderTableLeft(t),r.renderTable(t),r.renderTableRight(t)]));break;case"Bottom":o.push(r.renderBottom(t));break;case"Pager":o.push(r.renderPager(t));break;default:(0,_log.errLog)("vxe.error.notProp",["[grid] layouts -> "+e])}}),o},renderLayout(e){var t=this,r=t.$scopedSlots,{headKeys:o,bodyKeys:a,footKeys:s}=t.computeCurrLayoutConf,i=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},t.renderChildLayout(e,o)),e("div",{class:"vxe-grid--layout-body-wrapper"},[i?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},i({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},t.renderChildLayout(e,a)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},t.renderChildLayout(e,s)),e("div",{ref:"refPopupContainerElem"})]},renderVN(e){var t=this,r=t.reactData,o=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+o]:o,"is--animat":!!t.animat,"is--round":t.round,"is--maximize":r.isZMax,"is--loading":t.computeIsLoading}],style:t.computeStyles},t.renderLayout(e))}}),created(){let e=_ui.VxeUI.getComponent("VxeForm"),t=_ui.VxeUI.getComponent("VxePager");var r=this;let o=r;var a=r.computeProxyOpts;o.toolbar&&(0,_log.errLog)("vxe.error.delProp",["[grid] toolbar","toolbar-config"]),o.toolbarConfig&&!_xeUtils.default.isObject(o.toolbarConfig)&&(0,_log.errLog)("vxe.error.errProp",["[grid] toolbar-config="+o.toolbarConfig,"toolbar-config={}"]),a.props&&(0,_log.warnLog)("vxe.error.delProp",["[grid] proxy-config.props","proxy-config.response"]),r.$nextTick(()=>{o.formConfig&&!e&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),o.pagerConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),r.initPages(),globalEvents.on(r,"keydown",r.handleGlobalKeydownEvent)},mounted(){var e=this.columns;e&&e.length&&this.loadColumn(e),this.initToolbar(),this.initProxy()},destroyed(){var e=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createInternalData())},render(e){return this.renderVN(e)}});