vxe-table 4.17.20 → 4.17.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 (34) hide show
  1. package/es/grid/src/grid.js +136 -30
  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/table.js +172 -67
  6. package/es/ui/index.js +3 -2
  7. package/es/ui/src/log.js +1 -1
  8. package/lib/grid/src/grid.js +152 -43
  9. package/lib/grid/src/grid.min.js +1 -1
  10. package/lib/index.umd.js +331 -75
  11. package/lib/index.umd.min.js +1 -1
  12. package/lib/style.css +1 -1
  13. package/lib/table/render/index.js +140 -10
  14. package/lib/table/render/index.min.js +1 -1
  15. package/lib/table/src/cell.js +13 -7
  16. package/lib/table/src/cell.min.js +1 -1
  17. package/lib/table/src/table.js +19 -11
  18. package/lib/table/src/table.min.js +1 -1
  19. package/lib/ui/index.js +3 -2
  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 +2 -2
  24. package/packages/grid/src/grid.ts +132 -29
  25. package/packages/table/render/index.ts +115 -4
  26. package/packages/table/src/cell.ts +10 -8
  27. package/packages/table/src/table.ts +170 -63
  28. package/packages/ui/index.ts +2 -1
  29. /package/es/{iconfont.1764045862093.ttf → iconfont.1764380640866.ttf} +0 -0
  30. /package/es/{iconfont.1764045862093.woff → iconfont.1764380640866.woff} +0 -0
  31. /package/es/{iconfont.1764045862093.woff2 → iconfont.1764380640866.woff2} +0 -0
  32. /package/lib/{iconfont.1764045862093.ttf → iconfont.1764380640866.ttf} +0 -0
  33. /package/lib/{iconfont.1764045862093.woff → iconfont.1764380640866.woff} +0 -0
  34. /package/lib/{iconfont.1764045862093.woff2 → iconfont.1764380640866.woff2} +0 -0
@@ -33,7 +33,9 @@ const {
33
33
  const tableComponentPropKeys = Object.keys(_props2.tableProps);
34
34
  const tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'setRow', 'createData', 'createRow', 'revertData', 'clearData', 'isRemoveByRow', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getFullColumns', 'getData', 'getCheckboxRecords', 'getParentRow', 'getTreeRowChildren', 'getTreeRowLevel', 'getTreeParentRow', 'getRowSeq', 'getRowById', 'getRowid', 'getTableData', 'getFullData', 'setColumnFixed', 'clearColumnFixed', 'setColumnWidth', 'getColumnWidth', 'recalcRowHeight', 'setRowHeightConf', 'getRowHeightConf', 'setRowHeight', 'getRowHeight', 'hideColumn', 'showColumn', 'resetColumn', 'refreshColumn', 'refreshScroll', 'recalculate', 'closeTooltip', 'isAllCheckboxChecked', 'isAllCheckboxIndeterminate', 'getCheckboxIndeterminateRecords', 'setCheckboxRow', 'setCheckboxRowKey', 'isCheckedByCheckboxRow', 'isCheckedByCheckboxRowKey', 'isIndeterminateByCheckboxRow', 'isIndeterminateByCheckboxRowKey', 'toggleCheckboxRow', 'setAllCheckboxRow', 'getRadioReserveRecord', 'clearRadioReserve', 'getCheckboxReserveRecords', 'clearCheckboxReserve', 'toggleAllCheckboxRow', 'clearCheckboxRow', 'setCurrentRow', 'isCheckedByRadioRow', 'isCheckedByRadioRowKey', 'setRadioRow', 'setRadioRowKey', 'clearCurrentRow', 'clearRadioRow', 'getCurrentRecord', 'getRadioRecord', 'getCurrentColumn', 'setCurrentColumn', 'clearCurrentColumn', 'setPendingRow', 'togglePendingRow', 'hasPendingByRow', 'isPendingByRow', 'getPendingRecords', 'clearPendingRow', 'setFilterByEvent', 'sort', 'setSort', 'setSortByEvent', 'clearSort', 'clearSortByEvent', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', 'clearFilterByEvent', 'isActiveFilterByColumn', 'isRowExpandLoaded', 'clearRowExpandLoaded', 'reloadRowExpand', 'reloadRowExpand', 'toggleRowExpand', 'setAllRowExpand', 'setRowExpand', 'isExpandByRow', 'isRowExpandByRow', 'clearRowExpand', 'clearRowExpandReserve', 'getRowExpandRecords', 'getTreeExpandRecords', 'isTreeExpandLoaded', 'clearTreeExpandLoaded', 'reloadTreeExpand', 'reloadTreeChilds', 'toggleTreeExpand', 'setAllTreeExpand', 'setTreeExpand', 'isTreeExpandByRow', 'clearTreeExpand', 'clearTreeExpandReserve', 'getScroll', 'getScrollData', 'scrollTo', 'scrollToRow', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'setMergeHeaderCells', 'removeMergeHeaderCells', 'getMergeHeaderCells', 'clearMergeHeaderCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'getCustomStoreData', 'setRowGroupExpand', 'setRowGroupExpandByField', 'setAllRowGroupExpand', 'clearRowGroupExpand', 'isRowGroupExpandByRow', 'isRowGroupRecord', 'isAggregateRecord', 'isAggregateExpandByRow', 'getAggregateContentByRow', 'getAggregateRowChildren', 'setRowGroups', 'clearRowGroups', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect', 'connectToolbar'];
35
35
  function createInternalData() {
36
- return {};
36
+ return {
37
+ uFoot: false
38
+ };
37
39
  }
38
40
  var _default = exports.default = (0, _comp.defineVxeComponent)({
39
41
  name: 'VxeGrid',
@@ -61,6 +63,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
61
63
  filterData: [],
62
64
  formData: {},
63
65
  sortData: [],
66
+ footerData: [],
64
67
  tZindex: 0,
65
68
  tablePage: {
66
69
  total: 0,
@@ -149,12 +152,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
149
152
  const computeTableExtendProps = (0, _vue.computed)(() => {
150
153
  const rest = {};
151
154
  tableComponentPropKeys.forEach(key => {
152
- rest[key] = props[key];
155
+ if (props[key] !== undefined) {
156
+ rest[key] = props[key];
157
+ }
153
158
  });
154
159
  return rest;
155
160
  });
156
161
  const computeTableProps = (0, _vue.computed)(() => {
157
162
  const {
163
+ showFooter,
158
164
  seqConfig,
159
165
  pagerConfig,
160
166
  editConfig,
@@ -162,15 +168,23 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
162
168
  } = props;
163
169
  const {
164
170
  isZMax,
165
- tablePage
171
+ tablePage,
172
+ footerData
166
173
  } = reactData;
167
174
  const tableExtendProps = computeTableExtendProps.value;
168
175
  const proxyOpts = computeProxyOpts.value;
169
176
  const pagerOpts = computePagerOpts.value;
170
177
  const isLoading = computeIsLoading.value;
171
178
  const tProps = Object.assign({}, tableExtendProps);
179
+ if (showFooter && !tProps.footerData) {
180
+ // 如果未设置自己的标位数据,则使用代理的
181
+ tProps.footerData = footerData;
182
+ } else if (proxyOpts.footer && footerData.length) {
183
+ // 如果代理标为数据,且未请求到数据,则用自己的
184
+ tProps.footerData = footerData;
185
+ }
172
186
  if (isZMax) {
173
- if (tableExtendProps.maxHeight) {
187
+ if (tProps.maxHeight) {
174
188
  tProps.maxHeight = '100%';
175
189
  } else {
176
190
  tProps.height = '100%';
@@ -468,9 +482,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
468
482
  reactData.filterData = params.filterList;
469
483
  if (proxyConfig && (0, _utils.isEnableConf)(proxyOpts)) {
470
484
  reactData.tablePage.currentPage = 1;
485
+ internalData.uFoot = true;
471
486
  $xeGrid.commitProxy('query').then(rest => {
472
487
  $xeGrid.dispatchEvent('proxy-query', rest, params.$event);
473
488
  });
489
+ internalData.uFoot = false;
490
+ updateQueryFooter();
474
491
  }
475
492
  }
476
493
  };
@@ -491,11 +508,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
491
508
  return;
492
509
  }
493
510
  if (proxyConfig && (0, _utils.isEnableConf)(proxyOpts)) {
511
+ internalData.uFoot = true;
494
512
  $xeGrid.commitProxy('reload').then(rest => {
495
513
  $xeGrid.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), {
496
514
  isReload: true
497
515
  }), params.$event);
498
516
  });
517
+ internalData.uFoot = false;
518
+ updateQueryFooter();
499
519
  }
500
520
  $xeGrid.dispatchEvent('form-submit', params, params.$event);
501
521
  };
@@ -512,11 +532,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
512
532
  if ($xeTable) {
513
533
  $xeTable.clearScroll();
514
534
  }
535
+ internalData.uFoot = true;
515
536
  $xeGrid.commitProxy('reload').then(rest => {
516
537
  $xeGrid.dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), {
517
538
  isReload: true
518
539
  }), $event);
519
540
  });
541
+ internalData.uFoot = false;
542
+ updateQueryFooter();
520
543
  }
521
544
  $xeGrid.dispatchEvent('form-reset', params, $event);
522
545
  };
@@ -958,7 +981,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
958
981
  if (!proxyInited) {
959
982
  reactData.proxyInited = true;
960
983
  if (proxyOpts.autoLoad !== false) {
961
- (0, _vue.nextTick)().then(() => $xeGrid.commitProxy('initial')).then(rest => {
984
+ (0, _vue.nextTick)().then(() => {
985
+ internalData.uFoot = true;
986
+ const rest = $xeGrid.commitProxy('initial');
987
+ internalData.uFoot = false;
988
+ updateQueryFooter();
989
+ return rest;
990
+ }).then(rest => {
962
991
  dispatchEvent('proxy-query', Object.assign(Object.assign({}, rest), {
963
992
  isInited: true
964
993
  }), new Event('initial'));
@@ -967,6 +996,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
967
996
  }
968
997
  }
969
998
  };
999
+ const updateQueryFooter = () => {
1000
+ const proxyOpts = computeProxyOpts.value;
1001
+ const {
1002
+ ajax
1003
+ } = proxyOpts;
1004
+ if (ajax && ajax.queryFooter) {
1005
+ return $xeGrid.commitProxy('queryFooter');
1006
+ }
1007
+ };
970
1008
  const handleGlobalKeydownEvent = evnt => {
971
1009
  const zoomOpts = computeZoomOpts.value;
972
1010
  const isEsc = globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ESCAPE);
@@ -991,6 +1029,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
991
1029
  */
992
1030
  commitProxy(proxyTarget, ...args) {
993
1031
  const {
1032
+ showFooter,
994
1033
  proxyConfig,
995
1034
  toolbarConfig,
996
1035
  pagerConfig,
@@ -1008,6 +1047,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1008
1047
  const {
1009
1048
  beforeQuery,
1010
1049
  afterQuery,
1050
+ beforeQueryFooter,
1051
+ afterQueryFooter,
1011
1052
  beforeDelete,
1012
1053
  afterDelete,
1013
1054
  beforeSave,
@@ -1072,10 +1113,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1072
1113
  case 'reload':
1073
1114
  case 'query':
1074
1115
  {
1075
- const ajaxMethods = ajax.query;
1076
- const querySuccessMethods = ajax.querySuccess;
1077
- const queryErrorMethods = ajax.queryError;
1078
- if (ajaxMethods) {
1116
+ const qMethods = ajax.query;
1117
+ const qsMethods = ajax.querySuccess;
1118
+ const qeMethods = ajax.queryError;
1119
+ if (qMethods) {
1079
1120
  const isInited = code === 'initial';
1080
1121
  const isReload = code === 'reload';
1081
1122
  if (!isInited && reactData.tableLoading) {
@@ -1163,31 +1204,27 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1163
1204
  sorts: sortList,
1164
1205
  filters: filterList,
1165
1206
  form: formData,
1166
- options: ajaxMethods
1207
+ options: qMethods
1167
1208
  };
1168
1209
  reactData.sortData = sortList;
1169
1210
  reactData.filterData = filterList;
1170
1211
  reactData.tableLoading = true;
1171
- return Promise.all([Promise.resolve((beforeQuery || ajaxMethods)(commitParams, ...args)), operPromise]).then(([rest]) => {
1212
+ return Promise.all([Promise.resolve((beforeQuery || qMethods)(commitParams, ...args)), operPromise]).then(([rest]) => {
1172
1213
  let tableData = [];
1173
1214
  reactData.tableLoading = false;
1174
1215
  if (rest) {
1216
+ const reParams = {
1217
+ data: rest,
1218
+ $table: $xeTable,
1219
+ $grid: $xeGrid,
1220
+ $gantt: null
1221
+ };
1175
1222
  if (pagerConfig && (0, _utils.isEnableConf)(pagerOpts)) {
1176
1223
  const totalProp = resConfigs.total;
1177
- const total = (_xeUtils.default.isFunction(totalProp) ? totalProp({
1178
- data: rest,
1179
- $table: $xeTable,
1180
- $grid: $xeGrid,
1181
- $gantt: null
1182
- }) : _xeUtils.default.get(rest, totalProp || 'page.total')) || 0;
1224
+ const total = (_xeUtils.default.isFunction(totalProp) ? totalProp(reParams) : _xeUtils.default.get(rest, totalProp || 'page.total')) || 0;
1183
1225
  tablePage.total = _xeUtils.default.toNumber(total);
1184
1226
  const resultProp = resConfigs.result;
1185
- tableData = (_xeUtils.default.isFunction(resultProp) ? resultProp({
1186
- data: rest,
1187
- $table: $xeTable,
1188
- $grid: $xeGrid,
1189
- $gantt: null
1190
- }) : _xeUtils.default.get(rest, resultProp || 'result')) || [];
1227
+ tableData = (_xeUtils.default.isFunction(resultProp) ? resultProp(reParams) : _xeUtils.default.get(rest, resultProp || 'result')) || [];
1191
1228
  // 检验当前页码,不能超出当前最大页数
1192
1229
  const pageCount = Math.max(Math.ceil(total / tablePage.pageSize), 1);
1193
1230
  if (tablePage.currentPage > pageCount) {
@@ -1195,12 +1232,18 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1195
1232
  }
1196
1233
  } else {
1197
1234
  const listProp = resConfigs.list;
1198
- tableData = (listProp ? _xeUtils.default.isFunction(listProp) ? listProp({
1199
- data: rest,
1200
- $table: $xeTable,
1201
- $grid: $xeGrid,
1202
- $gantt: null
1203
- }) : _xeUtils.default.get(rest, listProp) : rest) || [];
1235
+ if (_xeUtils.default.isArray(rest)) {
1236
+ tableData = rest;
1237
+ } else if (listProp) {
1238
+ tableData = (_xeUtils.default.isFunction(listProp) ? listProp(reParams) : _xeUtils.default.get(rest, listProp)) || [];
1239
+ }
1240
+ }
1241
+ if (showFooter) {
1242
+ const fdProp = resConfigs.footerData;
1243
+ const footerList = fdProp ? _xeUtils.default.isFunction(fdProp) ? fdProp(reParams) : _xeUtils.default.get(rest, fdProp) : [];
1244
+ if (_xeUtils.default.isArray(footerList)) {
1245
+ reactData.footerData = footerList;
1246
+ }
1204
1247
  }
1205
1248
  }
1206
1249
  if ($xeTable) {
@@ -1216,8 +1259,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1216
1259
  if (afterQuery) {
1217
1260
  afterQuery(commitParams, ...args);
1218
1261
  }
1219
- if (querySuccessMethods) {
1220
- querySuccessMethods(Object.assign(Object.assign({}, commitParams), {
1262
+ if (qsMethods) {
1263
+ qsMethods(Object.assign(Object.assign({}, commitParams), {
1221
1264
  response: rest
1222
1265
  }));
1223
1266
  }
@@ -1226,8 +1269,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1226
1269
  };
1227
1270
  }).catch(rest => {
1228
1271
  reactData.tableLoading = false;
1229
- if (queryErrorMethods) {
1230
- queryErrorMethods(Object.assign(Object.assign({}, commitParams), {
1272
+ if (qeMethods) {
1273
+ qeMethods(Object.assign(Object.assign({}, commitParams), {
1231
1274
  response: rest
1232
1275
  }));
1233
1276
  }
@@ -1240,12 +1283,60 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1240
1283
  }
1241
1284
  break;
1242
1285
  }
1286
+ case 'queryFooter':
1287
+ {
1288
+ const qfMethods = ajax.queryFooter;
1289
+ const qfSuccessMethods = ajax.queryFooterSuccess;
1290
+ const qfErrorMethods = ajax.queryFooterError;
1291
+ if (qfMethods) {
1292
+ let filterList = [];
1293
+ if ($xeTable) {
1294
+ filterList = $xeTable.getCheckedFilters();
1295
+ }
1296
+ const commitParams = {
1297
+ $table: $xeTable,
1298
+ $grid: $xeGrid,
1299
+ $gantt: null,
1300
+ code,
1301
+ button,
1302
+ filters: filterList,
1303
+ form: formData,
1304
+ options: qfMethods
1305
+ };
1306
+ return Promise.resolve((beforeQueryFooter || qfMethods)(commitParams, ...args)).then(rest => {
1307
+ reactData.footerData = _xeUtils.default.isArray(rest) ? rest : [];
1308
+ if (afterQueryFooter) {
1309
+ afterQueryFooter(commitParams, ...args);
1310
+ }
1311
+ if (qfSuccessMethods) {
1312
+ qfSuccessMethods(Object.assign(Object.assign({}, commitParams), {
1313
+ response: rest
1314
+ }));
1315
+ }
1316
+ return {
1317
+ status: true
1318
+ };
1319
+ }).catch(rest => {
1320
+ if (qfErrorMethods) {
1321
+ qfErrorMethods(Object.assign(Object.assign({}, commitParams), {
1322
+ response: rest
1323
+ }));
1324
+ }
1325
+ return {
1326
+ status: false
1327
+ };
1328
+ });
1329
+ } else {
1330
+ (0, _log.errLog)('vxe.error.notFunc', ['[grid] proxy-config.ajax.queryFooter']);
1331
+ }
1332
+ break;
1333
+ }
1243
1334
  case 'delete':
1244
1335
  {
1245
- const ajaxMethods = ajax.delete;
1336
+ const dMethods = ajax.delete;
1246
1337
  const deleteSuccessMethods = ajax.deleteSuccess;
1247
1338
  const deleteErrorMethods = ajax.deleteError;
1248
- if (ajaxMethods) {
1339
+ if (dMethods) {
1249
1340
  const selectRecords = $xeGrid.getCheckboxRecords();
1250
1341
  const removeRecords = selectRecords.filter(row => !$xeTable.isInsertByRow(row));
1251
1342
  const body = {
@@ -1259,7 +1350,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1259
1350
  button,
1260
1351
  body,
1261
1352
  form: formData,
1262
- options: ajaxMethods
1353
+ options: dMethods
1263
1354
  };
1264
1355
  if (selectRecords.length) {
1265
1356
  return handleDeleteRow(code, 'vxe.grid.deleteSelectRecord', () => {
@@ -1267,7 +1358,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1267
1358
  return $xeTable.remove(selectRecords);
1268
1359
  }
1269
1360
  reactData.tableLoading = true;
1270
- return Promise.resolve((beforeDelete || ajaxMethods)(commitParams, ...args)).then(rest => {
1361
+ return Promise.resolve((beforeDelete || dMethods)(commitParams, ...args)).then(rest => {
1271
1362
  reactData.tableLoading = false;
1272
1363
  $xeTable.setPendingRow(removeRecords, false);
1273
1364
  if (isRespMsg) {
@@ -1281,7 +1372,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1281
1372
  if (afterDelete) {
1282
1373
  afterDelete(commitParams, ...args);
1283
1374
  } else {
1375
+ internalData.uFoot = true;
1284
1376
  $xeGrid.commitProxy('query');
1377
+ internalData.uFoot = false;
1378
+ updateQueryFooter();
1285
1379
  }
1286
1380
  if (deleteSuccessMethods) {
1287
1381
  deleteSuccessMethods(Object.assign(Object.assign({}, commitParams), {
@@ -1385,7 +1479,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1385
1479
  if (afterSave) {
1386
1480
  afterSave(commitParams, ...args);
1387
1481
  } else {
1482
+ internalData.uFoot = true;
1388
1483
  $xeGrid.commitProxy('query');
1484
+ internalData.uFoot = false;
1485
+ updateQueryFooter();
1389
1486
  }
1390
1487
  if (saveSuccessMethods) {
1391
1488
  saveSuccessMethods(Object.assign(Object.assign({}, commitParams), {
@@ -1670,13 +1767,25 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1670
1767
  const {
1671
1768
  code
1672
1769
  } = params;
1673
- return $xeGrid.commitProxy(params, evnt).then(rest => {
1674
- if (code && rest && rest.status && ['query', 'reload', 'delete', 'save'].includes(code)) {
1675
- $xeGrid.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code}` : 'proxy-query', Object.assign(Object.assign({}, rest), {
1676
- isReload: code === 'reload'
1677
- }), evnt);
1770
+ if (code) {
1771
+ const isUf = ['reload', 'delete', 'save'].includes(code);
1772
+ if (isUf) {
1773
+ internalData.uFoot = true;
1678
1774
  }
1679
- });
1775
+ const rest = $xeGrid.commitProxy(params, evnt).then(rest => {
1776
+ if (rest && rest.status && ['query', 'reload', 'delete', 'save'].includes(code)) {
1777
+ $xeGrid.dispatchEvent(code === 'delete' || code === 'save' ? `proxy-${code}` : 'proxy-query', Object.assign(Object.assign({}, rest), {
1778
+ isReload: code === 'reload'
1779
+ }), evnt);
1780
+ }
1781
+ });
1782
+ internalData.uFoot = false;
1783
+ if (isUf) {
1784
+ updateQueryFooter();
1785
+ }
1786
+ return rest;
1787
+ }
1788
+ return (0, _vue.nextTick)();
1680
1789
  },
1681
1790
  triggerToolbarBtnEvent(button, evnt) {
1682
1791
  $xeGrid.triggerToolbarCommitEvent(button, evnt);
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_props=require("./props"),_emits=require("./emits"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_emits2=require("../../table/src/emits"),_props2=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,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableComponentPropKeys=Object.keys(_props2.tableProps),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isRemoveByRow","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeRowChildren","getTreeRowLevel","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","recalcRowHeight","setRowHeightConf","getRowHeightConf","setRowHeight","getRowHeight","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","setCheckboxRowKey","isCheckedByCheckboxRow","isCheckedByCheckboxRowKey","isIndeterminateByCheckboxRow","isIndeterminateByCheckboxRowKey","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","isCheckedByRadioRowKey","setRadioRow","setRadioRowKey","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","hasPendingByRow","isPendingByRow","getPendingRecords","clearPendingRow","setFilterByEvent","sort","setSort","setSortByEvent","clearSort","clearSortByEvent","isSort","getSortColumns","closeFilter","isFilter","clearFilterByEvent","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","getScrollData","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","setMergeHeaderCells","removeMergeHeaderCells","getMergeHeaderCells","clearMergeHeaderCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setRowGroupExpandByField","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect","connectToolbar"];function createInternalData(){return{}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",props:_props.gridProps,emits:_emits.gridEmits,setup(d,e){let t,{slots:c,emit:a}=e;var r=_xeUtils.default.uniqueId();let n=_ui.VxeUI.getComponent("VxeForm"),l=_ui.VxeUI.getComponent("VxePager"),k=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]],I=useFns.useSize(d).computeSize,$=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1}}),o=createInternalData(),g=(0,_vue.ref)(),M=(0,_vue.ref)(),i=(0,_vue.ref)(),u=(0,_vue.ref)(),s=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)(),b=(0,_vue.ref)();var _=e=>{let t={};return e.forEach(r=>{t[r]=(...e)=>{var t=M.value;if(t&&t[r])return t[r](...e)}}),t};let h=_(tableComponentMethodKeys),F=(tableComponentMethodKeys.forEach(r=>{h[r]=(...e)=>{var t=M.value;if(t&&t[r])return t&&t[r](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),d.proxyConfig))),z=(0,_vue.computed)(()=>{var e=F.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),D=(0,_vue.computed)(()=>{var e=F.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),j=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,d.pagerConfig)),C=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,d.formConfig)),B=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,d.toolbarConfig)),y=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,d.zoomConfig)),T=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=d,{isZMax:r,tZindex:a}=$,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}),U=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{t[e]=d[e]}),t}),S=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,editConfig:r,proxyConfig:a}=d,{isZMax:o,tablePage:l}=$,n=U.value,i=F.value,s=j.value,u=G.value,g=Object.assign({},n);return o&&(n.maxHeight?g.maxHeight="100%":g.height="100%"),a&&(0,_utils.isEnableConf)(i)&&(g.loading=u,t)&&i.seq&&(0,_utils.isEnableConf)(s)&&(g.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize})),r&&(g.editConfig=Object.assign({},r)),g}),O=(0,_vue.computed)(()=>{var e=d.layouts;let t=[],r=[],a=[],o=[];return(t=e&&e.length?e:getConfig().grid.layouts||k).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],a=t[1]||[],o=t[2]||[]):a=t),{headKeys:r,bodyKeys:a,footKeys:o}});var A=(0,_vue.computed)(()=>j.value.currentPage),H=(0,_vue.computed)(()=>j.value.pageSize),Z=(0,_vue.computed)(()=>j.value.total);let K=(0,_vue.computed)(()=>{var e=$.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),G=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=d,r=$.tableLoading,a=F.value,o=a.showLoading;return e||r&&o&&t&&(0,_utils.isEnableConf)(a)}),N={refElem:g,refTable:M,refForm:i,refToolbar:u,refPager:s,refPopupContainerElem:v},Q={computeProxyOpts:F,computePagerOpts:j,computeFormOpts:C,computeToolbarOpts:B,computeZoomOpts:y},q={xID:r,props:d,context:e,reactData:$,internalData:o,getRefMaps:()=>N,getComputeMaps:()=>Q},W=()=>{var e=B.value;d.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=M.value,t=u.value;e&&t&&e.connectToolbar(t)})},L=()=>{var e=d.proxyConfig,t=$.formData,r=F.value,a=C.value;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:a.data},E=e=>{var t=$.tablePage,r=d.pagerConfig,a=j.value;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)))},V=(e,t)=>{var r=F.value,r=(r.response||r.props||{}).message,a=M.value;let o;return(o=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:a,$grid:q,$gantt:null}):_xeUtils.default.get(e,r):o)||getI18n(t)},Y=(e,t,r)=>{var a=D.value,o=q.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()},J=e=>{var t=d.proxyConfig,r=$.tablePage;let{$event:a,currentPage:o,pageSize:l}=e;var n=F.value;r.currentPage=o,r.pageSize=l,q.dispatchEvent("page-change",e,a),t&&(0,_utils.isEnableConf)(n)&&q.commitProxy("query").then(e=>{q.dispatchEvent("proxy-query",e,a)})},X=t=>{var e,r=M.value,a=d.proxyConfig;r&&(r=r.getComputeMaps().computeSortOpts,e=F.value,r.value.remote)&&($.sortData=t.sortList,a)&&(0,_utils.isEnableConf)(e)&&($.tablePage.currentPage=1,q.commitProxy("query").then(e=>{q.dispatchEvent("proxy-query",e,t.$event)}))},ee=e=>{X(e),q.dispatchEvent("sort-change",e,e.$event)},te=e=>{X(e),q.dispatchEvent("clear-all-sort",e,e.$event)},re=t=>{var e,r=M.value,a=d.proxyConfig;r&&(r=r.getComputeMaps().computeFilterOpts,e=F.value,r.value.remote)&&($.filterData=t.filterList,a)&&(0,_utils.isEnableConf)(e)&&($.tablePage.currentPage=1,q.commitProxy("query").then(e=>{q.dispatchEvent("proxy-query",e,t.$event)}))},ae=e=>{re(e),q.dispatchEvent("filter-change",e,e.$event)},oe=e=>{re(e),q.dispatchEvent("clear-all-filter",e,e.$event)},le=t=>{var e=d.proxyConfig,r=F.value;$.tableLoading||(e&&(0,_utils.isEnableConf)(r)&&q.commitProxy("reload").then(e=>{q.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),q.dispatchEvent("form-submit",t,t.$event))},ne=e=>{var t=M.value,r=d.proxyConfig;let a=e.$event;var o=F.value;r&&(0,_utils.isEnableConf)(o)&&(t&&t.clearScroll(),q.commitProxy("reload").then(e=>{q.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),a)})),q.dispatchEvent("form-reset",e,a)},ie=e=>{q.dispatchEvent("form-submit-invalid",e,e.$event)},se=e=>{var t=e.$event;q.dispatchEvent("form-toggle-collapse",e,t),q.dispatchEvent("form-collapse",e,t)},ue=e=>{var t=$.isZMax;return(e?!t:t)&&($.isZMax=!t,$.tZindex<(0,_utils.getLastZIndex)())&&($.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>q.recalculate(!0)).then(()=>(setTimeout(()=>q.recalculate(!0),15),$.isZMax))},R=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(c[e])return c[e];(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e])}return null},ge=e=>{let r={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?c[e]?r[t]=c[e]:(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e]):r[t]=e)}),r},de=()=>{var{formConfig:e,proxyConfig:r}=d,a=$.formData,o=F.value,l=C.value;if(e&&(0,_utils.isEnableConf)(l)||c.form){let e=[];if(c.form)e=c.form({$grid:q,$gantt:null});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=o.beforeItem;o&&t&&l.items.forEach(e=>{t({$grid:q,$gantt:null,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||c[e]&&(t[e]=c[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:i},Object.assign({},l,{data:r&&(0,_utils.isEnableConf)(o)&&o.form?a:l.data})),{onSubmit:le,onReset:ne,onSubmitInvalid:ie,onCollapse:se}),t))}return(0,_vue.h)("div",{ref:m,key:"form",class:"vxe-grid--form-wrapper"},e)}return renderEmptyElement(q)},ce=()=>{var t,r,a,o,l,n=d.toolbarConfig,i=B.value,s=c.toolbar;if(n&&(0,_utils.isEnableConf)(i)||s){let e=[];return s?e=s({$grid:q,$gantt:null}):(n={},(s=i.slots)&&(t=R(s,"buttons"),r=R(s,"buttonPrefix"),a=R(s,"buttonSuffix"),o=R(s,"tools"),l=R(s,"toolPrefix"),s=R(s,"toolSuffix"),t&&(n.buttons=t),r&&(n.buttonPrefix=r),a&&(n.buttonSuffix=a),o&&(n.tools=o),l&&(n.toolPrefix=l),s)&&(n.toolSuffix=s),e.push((0,_vue.h)(_toolbar.default,Object.assign(Object.assign({ref:u},i),{slots:void 0}),n))),(0,_vue.h)("div",{ref:p,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return renderEmptyElement(q)},ve=()=>{var e=c.top;return e?(0,_vue.h)("div",{ref:f,key:"top",class:"vxe-grid--top-wrapper"},e({$grid:q,$gantt:null})):renderEmptyElement(q)},me=()=>{var e=c.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:q,$gantt:null})):renderEmptyElement(q)},pe=()=>{var e=c.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:q,$gantt:null})):renderEmptyElement(q)},fe=()=>{var e=d.proxyConfig,t=S.value,r=F.value,a=Object.assign({},_e),o=c.empty,l=c.loading,n=c.rowDragIcon||c["row-drag-icon"],i=c.columnDragIcon||c["column-drag-icon"],s=c.headerTooltip||c["header-tooltip"],u=c.tooltip,g=c.footerTooltip||c["footer-tooltip"],e=(e&&(0,_utils.isEnableConf)(r)&&(r.sort&&(a.onSortChange=ee,a.onClearAllSort=te),r.filter)&&(a.onFilterChange=ae,a.onClearAllFilter=oe),{});return o&&(e.empty=o),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),s&&(e.headerTooltip=s),u&&(e.tooltip=u),g&&(e.footerTooltip=g),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:M},t),a),e)])},xe=()=>c.bottom?(0,_vue.h)("div",{ref:x,key:"bottom",class:"vxe-grid--bottom-wrapper"},c.bottom({$grid:q,$gantt:null})):renderEmptyElement(q),be=()=>{var{proxyConfig:e,pagerConfig:t}=d,r=F.value,a=j.value,o=c.pager;return t&&(0,_utils.isEnableConf)(a)||c.pager?(0,_vue.h)("div",{ref:b,key:"pager",class:"vxe-grid--pager-wrapper"},o?o({$grid:q,$gantt:null}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:s},a),e&&(0,_utils.isEnableConf)(r)?$.tablePage:{}),{onPageChange:J}),ge(a.slots)):renderEmptyElement(q)]):renderEmptyElement(q)},w=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(de());break;case"Toolbar":t.push(ce());break;case"Top":t.push(ve());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[me(),fe(),pe()]));break;case"Bottom":t.push(xe());break;case"Pager":t.push(be());break;default:(0,_log.errLog)("vxe.error.notProp",["[grid] layouts -> "+e])}}),t},_e={},he=(_emits2.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);_e[e]=(...e)=>a(t,...e)}),()=>{var e=C.value;if(e.items){let n={};return e.items.forEach(t=>{var r,a,{field:o,itemRender:l}=t;if(o){let e=null;l&&({startField:l,endField:r,defaultValue:a}=l,_xeUtils.default.isFunction(a)?e=a({item:t}):_xeUtils.default.isUndefined(a)||(e=a),l)&&r&&(_xeUtils.default.set(n,l,null),_xeUtils.default.set(n,r,null)),n[o]=e}}),n}return{}}),Ce=()=>{var{proxyConfig:e,formConfig:t}=d,r=$.proxyInited,a=F.value,o=C.value;e&&(0,_utils.isEnableConf)(a)&&(t&&(0,_utils.isEnableConf)(o)&&a.form&&o.items&&($.formData=he()),r||!($.proxyInited=!0)!==a.autoLoad&&(0,_vue.nextTick)().then(()=>q.commitProxy("initial")).then(e=>{Ee("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},ye=e=>{var t=y.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&$.isZMax&&!1!==t.escRestore&&q.triggerZoomEvent(e)},Ee=(e,t,r)=>{a(e,createEvent(r,{$grid:q,$gantt:null},t))};r={dispatchEvent:Ee,getEl(){return g.value},commitProxy(t,...v){let{proxyConfig:i,toolbarConfig:e,pagerConfig:s,editRules:m,validConfig:p}=d,u=$.tablePage,f=D.value,x=z.value;var b=F.value;let _=j.value;var r=B.value;let{beforeQuery:h,afterQuery:C,beforeDelete:n,afterDelete:y,beforeSave:E,afterSave:R,ajax:w={}}=b,P=b.response||b.props||{},k=M.value;if(k){let g=L(),d=null,c=null;c=_xeUtils.default.isString(t)?(a=r.buttons,r=e&&(0,_utils.isEnableConf)(r)&&a?_xeUtils.default.findTree(a,e=>e.code===t,{children:"dropdowns"}):null,d=r?r.item:null,t):(d=t).code;var a,o=d?d.params:null;switch(c){case"insert":return k.insert({});case"insert_edit":return k.insert({}).then(({row:e})=>k.setEditRow(e,!0));case"insert_actived":return k.insert({}).then(({row:e})=>k.setEditRow(e,!0));case"mark_cancel":S=c,U=D.value,I=M.value,(T=I?I.getCheckboxRecords():[]).length?(I&&I.togglePendingRow(T),q.clearCheckboxRow()):U&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:S,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return Y(c,"vxe.grid.removeSelectRecord",()=>k.removeCheckboxRow());case"import":k.importData(o);break;case"open_import":k.openImport(o);break;case"export":k.exportData(o);break;case"open_export":k.openExport(o);break;case"reset_custom":return k.resetCustom(!0);case"initial":case"reload":case"query":{var I=w.query;let n=w.querySuccess,a=w.queryError;if(I){var T="initial"===c,U="reload"===c;if(!T&&$.tableLoading)return(0,_vue.nextTick)();let e=null,r=[],o=[],t={};if(s&&((T||U)&&(u.currentPage=1),(0,_utils.isEnableConf)(_))&&(t=Object.assign({},u)),T){if(i&&(0,_utils.isEnableConf)(b)&&b.form&&(g=he(),$.formData=g),k){let{tableFullColumn:e,fullColumnFieldData:a}=k.internalData;var S=k.getComputeMaps().computeSortOpts;let t=S.value.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=k.getCheckedFilters()}}else k&&(U?e=k.clearAll():(r=k.getSortColumns(),o=k.getCheckedFilters()));let l={$table:k,$grid:q,$gantt:null,code:c,button:d,isInited:T,isReload:U,page:t,sort:r.length?r[0]:{},sorts:r,filters:o,form:g,options:I};return $.sortData=r,$.filterData=o,$.tableLoading=!0,Promise.all([Promise.resolve((h||I)(l,...v)),e]).then(([e])=>{let t=[];var r,a;return $.tableLoading=!1,e&&(s&&(0,_utils.isEnableConf)(_)?(a=P.total,a=(_xeUtils.default.isFunction(a)?a({data:e,$table:k,$grid:q,$gantt:null}):_xeUtils.default.get(e,a||"page.total"))||0,u.total=_xeUtils.default.toNumber(a),r=P.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$table:k,$grid:q,$gantt:null}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(a/u.pageSize),1),u.currentPage>r&&(u.currentPage=r)):(a=P.list,t=(a?_xeUtils.default.isFunction(a)?a({data:e,$table:k,$grid:q,$gantt:null}):_xeUtils.default.get(e,a):e)||[])),k?k.loadData(t):(0,_vue.nextTick)(()=>{var e=M.value;e&&e.loadData(t)}),C&&C(l,...v),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>($.tableLoading=!1,a&&a(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.query"]);break}case"delete":{let a=w.delete,o=w.deleteSuccess,l=w.deleteError;if(a){let e=q.getCheckboxRecords(),t=e.filter(e=>!k.isInsertByRow(e));var O={removeRecords:t};let r={$table:k,$grid:q,$gantt:null,code:c,button:d,body:O,form:g,options:a};if(e.length)return Y(c,"vxe.grid.deleteSelectRecord",()=>t.length?($.tableLoading=!0,Promise.resolve((n||a)(r,...v)).then(e=>($.tableLoading=!1,k.setPendingRow(t,!1),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:V(e,"vxe.grid.delSuccess"),status:"success"}),y?y(r,...v):q.commitProxy("query"),o&&o(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>($.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:V(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):k.remove(e));f&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.delete"]);break}case"save":{let i=w.save,s=w.saveSuccess,u=w.saveError;if(i){let t=k.getRecordset(),{insertRecords:r,removeRecords:a,updateRecords:o,pendingRecords:l}=t,n={$table:k,$grid:q,$gantt:null,code:c,button:d,body:t,form:g,options:i},e=(r.length&&(t.pendingRecords=l.filter(e=>-1===k.findRowIndexOf(r,e))),l.length&&(t.insertRecords=r.filter(e=>-1===k.findRowIndexOf(l,e))),Promise.resolve());return(e=m?k[p&&"full"===p.msgMode?"fullValidate":"validate"](t.insertRecords.concat(o)):e).then(e=>{if(!e)return t.insertRecords.length||a.length||o.length||t.pendingRecords.length?($.tableLoading=!0,Promise.resolve((E||i)(n,...v)).then(e=>($.tableLoading=!1,k.clearPendingRow(),x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:V(e,"vxe.grid.saveSuccess"),status:"success"}),R?R(n,...v):q.commitProxy("query"),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>($.tableLoading=!1,x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:V(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(f&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.save"]);break}default:var O=commands.get(c);O&&((O=O.tableCommandMethod||O.commandMethod)?O({code:c,button:d,$grid:q,$table:k,$gantt:null},...v):(0,_log.errLog)("vxe.error.notCommands",["[grid] "+c]))}}return(0,_vue.nextTick)()},getParams(){return d.params},zoom(){return $.isZMax?q.revert():q.maximize()},isMaximized(){return $.isZMax},maximize(){return ue(!0)},revert(){return ue()},getFormData:L,getFormItems(e){var t=C.value,r=d.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=i.value;return e?e.reset():(0,_vue.nextTick)()},validateForm(){var e=i.value;return e?e.validate():(0,_vue.nextTick)()},validateFormField(e){var t=i.value;return t?t.validateField(e):(0,_vue.nextTick)()},clearFormValidate(e){var t=i.value;return t?t.clearValidate(e):(0,_vue.nextTick)()},homePage(){var e=$.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=s.value;t&&t.homePageByEvent(e)},endPage(){var e=$.tablePage,t=K.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=s.value;t&&t.endPageByEvent(e)},getCurrentPage(){var e=$.tablePage;return e.currentPage},setCurrentPage(e){var t=$.tablePage,r=K.value;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var r=s.value;r&&r.setCurrentPageByEvent(e,t)},getPageSize(){var e=$.tablePage;return e.pageSize},setPageSize(e){var t=$.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var r=s.value;r&&r.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=M.value;return d.proxyConfig?(e=$.sortData,{data:t?t.getFullData():[],filter:$.filterData,form:L(),sort:e.length?e[0]:{},sorts:e,pager:$.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}};let Re={extendTableMethods:_,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=c[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var t=d.height,r=$.isZMax,a=g.value;if(a){var o=m.value,l=p.value,n=f.value,i=x.value,s=b.value,u=a.parentElement;let e=0;return(e=!u||"100%"!==t&&"auto"!==t?e:r?0:(0,_dom.getPaddingTopBottomSize)(u))+(0,_dom.getPaddingTopBottomSize)(a)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(s)}return 0},getParentHeight(){var e=g.value;return e?(e=e.parentElement,($.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-Re.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let r=e.code;return q.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&q.dispatchEvent("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r}),t)})},triggerToolbarBtnEvent(e,t){q.triggerToolbarCommitEvent(e,t),q.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){q.triggerToolbarCommitEvent(e,t),q.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){q.zoom(),q.dispatchEvent("zoom",{type:$.isZMax?"max":"revert"},e)}};Object.assign(q,h,r,Re,{loadColumn(e){var t=M.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||c[e]||(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return q.clearAll(),q.loadColumn(e)}});let P=(0,_vue.ref)(0);return(0,_vue.watch)(()=>d.columns?d.columns.length:-1,()=>{P.value++}),(0,_vue.watch)(()=>d.columns,()=>{P.value++}),(0,_vue.watch)(P,()=>{(0,_vue.nextTick)(()=>q.loadColumn(d.columns||[]))}),(0,_vue.watch)(()=>d.toolbarConfig,()=>{W()}),(0,_vue.watch)(A,()=>{E("currentPage")}),(0,_vue.watch)(H,()=>{E("pageSize")}),(0,_vue.watch)(Z,()=>{E("total")}),(0,_vue.watch)(()=>d.proxyConfig,()=>{Ce()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(q))&&_xeUtils.default.isObject(e)&&Object.assign(q,e)}),E(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=d.columns,t=F.value;d.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),d.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["[grid] proxy-config.props","proxy-config.response"]),e&&e.length&&q.loadColumn(e),W(),Ce()}),globalEvents.on(q,"keydown",ye)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(q,"keydown"),_xeUtils.default.assign(o,createInternalData())}),q.renderVN=()=>{var e=I.value,t=T.value,r=G.value;return(0,_vue.h)("div",{ref:g,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!d.animat,"is--round":d.round,"is--maximize":$.isZMax,"is--loading":r}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:r}=O.value,a=c.asideLeft||c["aside-left"],o=c.asideRight||c["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},w(e)),(0,_vue.h)("div",{class:"vxe-grid--layout-body-wrapper"},[a?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(q),(0,_vue.h)("div",{class:"vxe-grid--layout-body-content-wrapper"},w(t)),o?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-right-wrapper"},o({})):renderEmptyElement(q)]),(0,_vue.h)("div",{class:"vxe-grid--layout-footer-wrapper"},w(r)),(0,_vue.h)("div",{ref:v})]})())},(0,_vue.provide)("$xeGrid",q),(0,_vue.provide)("$xeGantt",null),q},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_props=require("./props"),_emits=require("./emits"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_emits2=require("../../table/src/emits"),_props2=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,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableComponentPropKeys=Object.keys(_props2.tableProps),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isRemoveByRow","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeRowChildren","getTreeRowLevel","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","recalcRowHeight","setRowHeightConf","getRowHeightConf","setRowHeight","getRowHeight","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","setCheckboxRowKey","isCheckedByCheckboxRow","isCheckedByCheckboxRowKey","isIndeterminateByCheckboxRow","isIndeterminateByCheckboxRowKey","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","isCheckedByRadioRowKey","setRadioRow","setRadioRowKey","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","hasPendingByRow","isPendingByRow","getPendingRecords","clearPendingRow","setFilterByEvent","sort","setSort","setSortByEvent","clearSort","clearSortByEvent","isSort","getSortColumns","closeFilter","isFilter","clearFilterByEvent","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","getScrollData","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","setMergeHeaderCells","removeMergeHeaderCells","getMergeHeaderCells","clearMergeHeaderCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setRowGroupExpandByField","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect","connectToolbar"];function createInternalData(){return{uFoot:!1}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",props:_props.gridProps,emits:_emits.gridEmits,setup(c,e){let t,{slots:d,emit:o}=e;var r=_xeUtils.default.uniqueId();let n=_ui.VxeUI.getComponent("VxeForm"),l=_ui.VxeUI.getComponent("VxePager"),w=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]],P=useFns.useSize(c).computeSize,j=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],footerData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1}}),M=createInternalData(),g=(0,_vue.ref)(),$=(0,_vue.ref)(),i=(0,_vue.ref)(),u=(0,_vue.ref)(),s=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)(),x=(0,_vue.ref)(),b=(0,_vue.ref)();var a=e=>{let t={};return e.forEach(r=>{t[r]=(...e)=>{var t=$.value;if(t&&t[r])return t[r](...e)}}),t};let _=a(tableComponentMethodKeys),q=(tableComponentMethodKeys.forEach(r=>{_[r]=(...e)=>{var t=$.value;if(t&&t[r])return t&&t[r](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),c.proxyConfig))),K=(0,_vue.computed)(()=>{var e=q.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),B=(0,_vue.computed)(()=>{var e=q.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),L=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,c.pagerConfig)),h=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,c.formConfig)),V=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,c.toolbarConfig)),F=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,c.zoomConfig)),k=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=c,{isZMax:r,tZindex:o}=j,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}),U=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{void 0!==c[e]&&(t[e]=c[e])}),t}),T=(0,_vue.computed)(()=>{var{showFooter:e,seqConfig:t,pagerConfig:r,editConfig:o,proxyConfig:a}=c,{isZMax:l,tablePage:n,footerData:i}=j,s=U.value,u=q.value,g=L.value,d=N.value,s=Object.assign({},s);return(e&&!s.footerData||u.footer&&i.length)&&(s.footerData=i),l&&(s.maxHeight?s.maxHeight="100%":s.height="100%"),a&&(0,_utils.isEnableConf)(u)&&(s.loading=d,r)&&u.seq&&(0,_utils.isEnableConf)(g)&&(s.seqConfig=Object.assign({},t,{startIndex:(n.currentPage-1)*n.pageSize})),o&&(s.editConfig=Object.assign({},o)),s}),I=(0,_vue.computed)(()=>{var e=c.layouts;let t=[],r=[],o=[],a=[];return(t=e&&e.length?e:getConfig().grid.layouts||w).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],a=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:a}});var S=(0,_vue.computed)(()=>L.value.currentPage),O=(0,_vue.computed)(()=>L.value.pageSize),D=(0,_vue.computed)(()=>L.value.total);let G=(0,_vue.computed)(()=>{var e=j.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),N=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=c,r=j.tableLoading,o=q.value,a=o.showLoading;return e||r&&a&&t&&(0,_utils.isEnableConf)(o)}),Q={refElem:g,refTable:$,refForm:i,refToolbar:u,refPager:s,refPopupContainerElem:v},W={computeProxyOpts:q,computePagerOpts:L,computeFormOpts:h,computeToolbarOpts:V,computeZoomOpts:F},z={xID:r,props:c,context:e,reactData:j,internalData:M,getRefMaps:()=>Q,getComputeMaps:()=>W},Y=()=>{var e=V.value;c.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=$.value,t=u.value;e&&t&&e.connectToolbar(t)})},A=()=>{var e=c.proxyConfig,t=j.formData,r=q.value,o=h.value;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:o.data},C=e=>{var t=j.tablePage,r=c.pagerConfig,o=L.value;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)))},H=(e,t)=>{var r=q.value,r=(r.response||r.props||{}).message,o=$.value;let a;return(a=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:o,$grid:z,$gantt:null}):_xeUtils.default.get(e,r):a)||getI18n(t)},J=(e,t,r)=>{var o=B.value,a=z.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()},X=e=>{var t=c.proxyConfig,r=j.tablePage;let{$event:o,currentPage:a,pageSize:l}=e;var n=q.value;r.currentPage=a,r.pageSize=l,z.dispatchEvent("page-change",e,o),t&&(0,_utils.isEnableConf)(n)&&z.commitProxy("query").then(e=>{z.dispatchEvent("proxy-query",e,o)})},ee=t=>{var e,r=$.value,o=c.proxyConfig;r&&(r=r.getComputeMaps().computeSortOpts,e=q.value,r.value.remote)&&(j.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(e)&&(j.tablePage.currentPage=1,z.commitProxy("query").then(e=>{z.dispatchEvent("proxy-query",e,t.$event)}))},te=e=>{ee(e),z.dispatchEvent("sort-change",e,e.$event)},re=e=>{ee(e),z.dispatchEvent("clear-all-sort",e,e.$event)},oe=t=>{var e,r=$.value,o=c.proxyConfig;r&&(r=r.getComputeMaps().computeFilterOpts,e=q.value,r.value.remote)&&(j.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(e)&&(j.tablePage.currentPage=1,M.uFoot=!0,z.commitProxy("query").then(e=>{z.dispatchEvent("proxy-query",e,t.$event)}),M.uFoot=!1,Z())},ae=e=>{oe(e),z.dispatchEvent("filter-change",e,e.$event)},le=e=>{oe(e),z.dispatchEvent("clear-all-filter",e,e.$event)},ne=t=>{var e=c.proxyConfig,r=q.value;j.tableLoading||(e&&(0,_utils.isEnableConf)(r)&&(M.uFoot=!0,z.commitProxy("reload").then(e=>{z.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),M.uFoot=!1,Z()),z.dispatchEvent("form-submit",t,t.$event))},ie=e=>{var t=$.value,r=c.proxyConfig;let o=e.$event;var a=q.value;r&&(0,_utils.isEnableConf)(a)&&(t&&t.clearScroll(),M.uFoot=!0,z.commitProxy("reload").then(e=>{z.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)}),M.uFoot=!1,Z()),z.dispatchEvent("form-reset",e,o)},se=e=>{z.dispatchEvent("form-submit-invalid",e,e.$event)},ue=e=>{var t=e.$event;z.dispatchEvent("form-toggle-collapse",e,t),z.dispatchEvent("form-collapse",e,t)},ge=e=>{var t=j.isZMax;return(e?!t:t)&&(j.isZMax=!t,j.tZindex<(0,_utils.getLastZIndex)())&&(j.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>z.recalculate(!0)).then(()=>(setTimeout(()=>z.recalculate(!0),15),j.isZMax))},y=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(d[e])return d[e];(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e])}return null},de=e=>{let r={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?d[e]?r[t]=d[e]:(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e]):r[t]=e)}),r},ce=()=>{var{formConfig:e,proxyConfig:r}=c,o=j.formData,a=q.value,l=h.value;if(e&&(0,_utils.isEnableConf)(l)||d.form){let e=[];if(d.form)e=d.form({$grid:z,$gantt:null});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&t&&l.items.forEach(e=>{t({$grid:z,$gantt:null,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]&&(t[e]=d[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:i},Object.assign({},l,{data:r&&(0,_utils.isEnableConf)(a)&&a.form?o:l.data})),{onSubmit:ne,onReset:ie,onSubmitInvalid:se,onCollapse:ue}),t))}return(0,_vue.h)("div",{ref:m,key:"form",class:"vxe-grid--form-wrapper"},e)}return renderEmptyElement(z)},ve=()=>{var t,r,o,a,l,n=c.toolbarConfig,i=V.value,s=d.toolbar;if(n&&(0,_utils.isEnableConf)(i)||s){let e=[];return s?e=s({$grid:z,$gantt:null}):(n={},(s=i.slots)&&(t=y(s,"buttons"),r=y(s,"buttonPrefix"),o=y(s,"buttonSuffix"),a=y(s,"tools"),l=y(s,"toolPrefix"),s=y(s,"toolSuffix"),t&&(n.buttons=t),r&&(n.buttonPrefix=r),o&&(n.buttonSuffix=o),a&&(n.tools=a),l&&(n.toolPrefix=l),s)&&(n.toolSuffix=s),e.push((0,_vue.h)(_toolbar.default,Object.assign(Object.assign({ref:u},i),{slots:void 0}),n))),(0,_vue.h)("div",{ref:p,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return renderEmptyElement(z)},me=()=>{var e=d.top;return e?(0,_vue.h)("div",{ref:f,key:"top",class:"vxe-grid--top-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},pe=()=>{var e=d.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},fe=()=>{var e=d.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},xe=()=>{var e=c.proxyConfig,t=T.value,r=q.value,o=Object.assign({},he),a=d.empty,l=d.loading,n=d.rowDragIcon||d["row-drag-icon"],i=d.columnDragIcon||d["column-drag-icon"],s=d.headerTooltip||d["header-tooltip"],u=d.tooltip,g=d.footerTooltip||d["footer-tooltip"],e=(e&&(0,_utils.isEnableConf)(r)&&(r.sort&&(o.onSortChange=te,o.onClearAllSort=re),r.filter)&&(o.onFilterChange=ae,o.onClearAllFilter=le),{});return a&&(e.empty=a),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),s&&(e.headerTooltip=s),u&&(e.tooltip=u),g&&(e.footerTooltip=g),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:$},t),o),e)])},be=()=>d.bottom?(0,_vue.h)("div",{ref:x,key:"bottom",class:"vxe-grid--bottom-wrapper"},d.bottom({$grid:z,$gantt:null})):renderEmptyElement(z),_e=()=>{var{proxyConfig:e,pagerConfig:t}=c,r=q.value,o=L.value,a=d.pager;return t&&(0,_utils.isEnableConf)(o)||d.pager?(0,_vue.h)("div",{ref:b,key:"pager",class:"vxe-grid--pager-wrapper"},a?a({$grid:z,$gantt:null}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:s},o),e&&(0,_utils.isEnableConf)(r)?j.tablePage:{}),{onPageChange:X}),de(o.slots)):renderEmptyElement(z)]):renderEmptyElement(z)},E=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(ce());break;case"Toolbar":t.push(ve());break;case"Top":t.push(me());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[pe(),xe(),fe()]));break;case"Bottom":t.push(be());break;case"Pager":t.push(_e());break;default:(0,_log.errLog)("vxe.error.notProp",["[grid] layouts -> "+e])}}),t},he={},Ce=(_emits2.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);he[e]=(...e)=>o(t,...e)}),()=>{var e=h.value;if(e.items){let n={};return e.items.forEach(t=>{var r,o,{field:a,itemRender:l}=t;if(a){let e=null;l&&({startField:l,endField:r,defaultValue:o}=l,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o),l)&&r&&(_xeUtils.default.set(n,l,null),_xeUtils.default.set(n,r,null)),n[a]=e}}),n}return{}}),ye=()=>{var{proxyConfig:e,formConfig:t}=c,r=j.proxyInited,o=q.value,a=h.value;e&&(0,_utils.isEnableConf)(o)&&(t&&(0,_utils.isEnableConf)(a)&&o.form&&a.items&&(j.formData=Ce()),r||!(j.proxyInited=!0)!==o.autoLoad&&(0,_vue.nextTick)().then(()=>{M.uFoot=!0;var e=z.commitProxy("initial");return M.uFoot=!1,Z(),e}).then(e=>{Re("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},Z=()=>{var e=q.value.ajax;if(e&&e.queryFooter)return z.commitProxy("queryFooter")},Ee=e=>{var t=F.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&j.isZMax&&!1!==t.escRestore&&z.triggerZoomEvent(e)},Re=(e,t,r)=>{o(e,createEvent(r,{$grid:z,$gantt:null},t))};r={dispatchEvent:Re,getEl(){return g.value},commitProxy(t,...v){let{showFooter:i,proxyConfig:s,toolbarConfig:e,pagerConfig:u,editRules:m,validConfig:p}=c,f=j.tablePage,x=B.value,b=K.value;var _=q.value;let h=L.value;var r=V.value;let{beforeQuery:C,afterQuery:y,beforeQueryFooter:a,afterQueryFooter:l,beforeDelete:n,afterDelete:E,beforeSave:R,afterSave:w,ajax:P={}}=_,F=_.response||_.props||{},k=$.value;if(k){let g=A(),d=null,c=null;c=_xeUtils.default.isString(t)?(o=r.buttons,r=e&&(0,_utils.isEnableConf)(r)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,d=r?r.item:null,t):(d=t).code;var o,U=d?d.params:null;switch(c){case"insert":return k.insert({});case"insert_edit":return k.insert({}).then(({row:e})=>k.setEditRow(e,!0));case"insert_actived":return k.insert({}).then(({row:e})=>k.setEditRow(e,!0));case"mark_cancel":O=c,S=B.value,T=$.value,(I=T?T.getCheckboxRecords():[]).length?(T&&T.togglePendingRow(I),z.clearCheckboxRow()):S&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:O,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return J(c,"vxe.grid.removeSelectRecord",()=>k.removeCheckboxRow());case"import":k.importData(U);break;case"open_import":k.openImport(U);break;case"export":k.exportData(U);break;case"open_export":k.openExport(U);break;case"reset_custom":return k.resetCustom(!0);case"initial":case"reload":case"query":{var T=P.query;let n=P.querySuccess,o=P.queryError;if(T){var I="initial"===c,S="reload"===c;if(!I&&j.tableLoading)return(0,_vue.nextTick)();let e=null,r=[],a=[],t={};if(u&&((I||S)&&(f.currentPage=1),(0,_utils.isEnableConf)(h))&&(t=Object.assign({},f)),I){if(s&&(0,_utils.isEnableConf)(_)&&_.form&&(g=Ce(),j.formData=g),k){let{tableFullColumn:e,fullColumnFieldData:o}=k.internalData;var O=k.getComputeMaps().computeSortOpts;let t=O.value.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=k.getCheckedFilters()}}else k&&(S?e=k.clearAll():(r=k.getSortColumns(),a=k.getCheckedFilters()));let l={$table:k,$grid:z,$gantt:null,code:c,button:d,isInited:I,isReload:S,page:t,sort:r.length?r[0]:{},sorts:r,filters:a,form:g,options:T};return j.sortData=r,j.filterData=a,j.tableLoading=!0,Promise.all([Promise.resolve((C||T)(l,...v)),e]).then(([e])=>{let t=[];var r,o,a;return j.tableLoading=!1,e&&(r={data:e,$table:k,$grid:z,$gantt:null},u&&(0,_utils.isEnableConf)(h)?(a=F.total,a=(_xeUtils.default.isFunction(a)?a(r):_xeUtils.default.get(e,a||"page.total"))||0,f.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/f.pageSize),1),f.currentPage>o&&(f.currentPage=o)):(a=F.list,_xeUtils.default.isArray(e)?t=e:a&&(t=(_xeUtils.default.isFunction(a)?a(r):_xeUtils.default.get(e,a))||[])),i)&&(a=(o=F.footerData)?_xeUtils.default.isFunction(o)?o(r):_xeUtils.default.get(e,o):[],_xeUtils.default.isArray(a))&&(j.footerData=a),k?k.loadData(t):(0,_vue.nextTick)(()=>{var e=$.value;e&&e.loadData(t)}),y&&y(l,...v),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(j.tableLoading=!1,o&&o(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.query"]);break}case"queryFooter":{var D=P.queryFooter;let r=P.queryFooterSuccess,o=P.queryFooterError;if(D){let e=[],t=(k&&(e=k.getCheckedFilters()),{$table:k,$grid:z,$gantt:null,code:c,button:d,filters:e,form:g,options:D});return Promise.resolve((a||D)(t,...v)).then(e=>(j.footerData=_xeUtils.default.isArray(e)?e:[],l&&l(t,...v),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 o=P.delete,a=P.deleteSuccess,l=P.deleteError;if(o){let e=z.getCheckboxRecords(),t=e.filter(e=>!k.isInsertByRow(e));D={removeRecords:t};let r={$table:k,$grid:z,$gantt:null,code:c,button:d,body:D,form:g,options:o};if(e.length)return J(c,"vxe.grid.deleteSelectRecord",()=>t.length?(j.tableLoading=!0,Promise.resolve((n||o)(r,...v)).then(e=>(j.tableLoading=!1,k.setPendingRow(t,!1),b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:H(e,"vxe.grid.delSuccess"),status:"success"}),E?E(r,...v):(M.uFoot=!0,z.commitProxy("query"),M.uFoot=!1,Z()),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:H(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):k.remove(e));x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.delete"]);break}case"save":{let i=P.save,s=P.saveSuccess,u=P.saveError;if(i){let t=k.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:l}=t,n={$table:k,$grid:z,$gantt:null,code:c,button:d,body:t,form:g,options:i},e=(r.length&&(t.pendingRecords=l.filter(e=>-1===k.findRowIndexOf(r,e))),l.length&&(t.insertRecords=r.filter(e=>-1===k.findRowIndexOf(l,e))),Promise.resolve());return(e=m?k[p&&"full"===p.msgMode?"fullValidate":"validate"](t.insertRecords.concat(a)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||a.length||t.pendingRecords.length?(j.tableLoading=!0,Promise.resolve((R||i)(n,...v)).then(e=>(j.tableLoading=!1,k.clearPendingRow(),b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:H(e,"vxe.grid.saveSuccess"),status:"success"}),w?w(n,...v):(M.uFoot=!0,z.commitProxy("query"),M.uFoot=!1,Z()),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:H(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["[grid] proxy-config.ajax.save"]);break}default:var D=commands.get(c);D&&((D=D.tableCommandMethod||D.commandMethod)?D({code:c,button:d,$grid:z,$table:k,$gantt:null},...v):(0,_log.errLog)("vxe.error.notCommands",["[grid] "+c]))}}return(0,_vue.nextTick)()},getParams(){return c.params},zoom(){return j.isZMax?z.revert():z.maximize()},isMaximized(){return j.isZMax},maximize(){return ge(!0)},revert(){return ge()},getFormData:A,getFormItems(e){var t=h.value,r=c.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=i.value;return e?e.reset():(0,_vue.nextTick)()},validateForm(){var e=i.value;return e?e.validate():(0,_vue.nextTick)()},validateFormField(e){var t=i.value;return t?t.validateField(e):(0,_vue.nextTick)()},clearFormValidate(e){var t=i.value;return t?t.clearValidate(e):(0,_vue.nextTick)()},homePage(){var e=j.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=s.value;t&&t.homePageByEvent(e)},endPage(){var e=j.tablePage,t=G.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=s.value;t&&t.endPageByEvent(e)},getCurrentPage(){var e=j.tablePage;return e.currentPage},setCurrentPage(e){var t=j.tablePage,r=G.value;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var r=s.value;r&&r.setCurrentPageByEvent(e,t)},getPageSize(){var e=j.tablePage;return e.pageSize},setPageSize(e){var t=j.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var r=s.value;r&&r.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=$.value;return c.proxyConfig?(e=j.sortData,{data:t?t.getFullData():[],filter:j.filterData,form:A(),sort:e.length?e[0]:{},sorts:e,pager:j.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}};let we={extendTableMethods:a,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var t=c.height,r=j.isZMax,o=g.value;if(o){var a=m.value,l=p.value,n=f.value,i=x.value,s=b.value,u=o.parentElement;let e=0;return(e=!u||"100%"!==t&&"auto"!==t?e:r?0:(0,_dom.getPaddingTopBottomSize)(u))+(0,_dom.getPaddingTopBottomSize)(o)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(s)}return 0},getParentHeight(){var e=g.value;return e?(e=e.parentElement,(j.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-we.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let r=e.code;var o;return r?((o=["reload","delete","save"].includes(r))&&(M.uFoot=!0),e=z.commitProxy(e,t).then(e=>{e&&e.status&&["query","reload","delete","save"].includes(r)&&z.dispatchEvent("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r}),t)}),M.uFoot=!1,o&&Z(),e):(0,_vue.nextTick)()},triggerToolbarBtnEvent(e,t){z.triggerToolbarCommitEvent(e,t),z.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){z.triggerToolbarCommitEvent(e,t),z.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){z.zoom(),z.dispatchEvent("zoom",{type:j.isZMax?"max":"revert"},e)}};Object.assign(z,_,r,we,{loadColumn(e){var t=$.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]||(0,_log.errLog)("vxe.error.notSlot",["[grid] "+e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return z.clearAll(),z.loadColumn(e)}});let R=(0,_vue.ref)(0);return(0,_vue.watch)(()=>c.columns?c.columns.length:-1,()=>{R.value++}),(0,_vue.watch)(()=>c.columns,()=>{R.value++}),(0,_vue.watch)(R,()=>{(0,_vue.nextTick)(()=>z.loadColumn(c.columns||[]))}),(0,_vue.watch)(()=>c.toolbarConfig,()=>{Y()}),(0,_vue.watch)(S,()=>{C("currentPage")}),(0,_vue.watch)(O,()=>{C("pageSize")}),(0,_vue.watch)(D,()=>{C("total")}),(0,_vue.watch)(()=>c.proxyConfig,()=>{ye()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(z))&&_xeUtils.default.isObject(e)&&Object.assign(z,e)}),C(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=c.columns,t=q.value;c.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),c.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["[grid] proxy-config.props","proxy-config.response"]),e&&e.length&&z.loadColumn(e),Y(),ye()}),globalEvents.on(z,"keydown",Ee)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(z,"keydown"),_xeUtils.default.assign(M,createInternalData())}),z.renderVN=()=>{var e=P.value,t=k.value,r=N.value;return(0,_vue.h)("div",{ref:g,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!c.animat,"is--round":c.round,"is--maximize":j.isZMax,"is--loading":r}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:r}=I.value,o=d.asideLeft||d["aside-left"],a=d.asideRight||d["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},E(e)),(0,_vue.h)("div",{class:"vxe-grid--layout-body-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-left-wrapper"},o({})):renderEmptyElement(z),(0,_vue.h)("div",{class:"vxe-grid--layout-body-content-wrapper"},E(t)),a?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-right-wrapper"},a({})):renderEmptyElement(z)]),(0,_vue.h)("div",{class:"vxe-grid--layout-footer-wrapper"},E(r)),(0,_vue.h)("div",{ref:v})]})())},(0,_vue.provide)("$xeGrid",z),(0,_vue.provide)("$xeGantt",null),z},render(){return this.renderVN()}});