vxe-table 4.15.0-beta.11 → 4.15.0-beta.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/es/grid/src/grid.js +38 -6
  2. package/es/style.css +1 -1
  3. package/es/table/module/edit/hook.js +5 -5
  4. package/es/table/src/body.js +7 -6
  5. package/es/table/src/table.js +14 -10
  6. package/es/ui/index.js +1 -1
  7. package/es/ui/src/log.js +1 -1
  8. package/lib/grid/src/grid.js +48 -6
  9. package/lib/grid/src/grid.min.js +1 -1
  10. package/lib/index.umd.js +67 -19
  11. package/lib/index.umd.min.js +1 -1
  12. package/lib/style.css +1 -1
  13. package/lib/table/module/edit/hook.js +5 -0
  14. package/lib/table/module/edit/hook.min.js +1 -1
  15. package/lib/table/src/body.js +7 -6
  16. package/lib/table/src/body.min.js +1 -1
  17. package/lib/table/src/table.js +5 -5
  18. package/lib/table/src/table.min.js +1 -1
  19. package/lib/ui/index.js +1 -1
  20. package/lib/ui/index.min.js +1 -1
  21. package/lib/ui/src/log.js +1 -1
  22. package/lib/ui/src/log.min.js +1 -1
  23. package/package.json +2 -2
  24. package/packages/grid/src/grid.ts +39 -6
  25. package/packages/table/module/edit/hook.ts +5 -5
  26. package/packages/table/src/body.ts +7 -6
  27. package/packages/table/src/table.ts +14 -10
  28. /package/es/{iconfont.1753525726129.ttf → iconfont.1753775832074.ttf} +0 -0
  29. /package/es/{iconfont.1753525726129.woff → iconfont.1753775832074.woff} +0 -0
  30. /package/es/{iconfont.1753525726129.woff2 → iconfont.1753775832074.woff2} +0 -0
  31. /package/lib/{iconfont.1753525726129.ttf → iconfont.1753775832074.ttf} +0 -0
  32. /package/lib/{iconfont.1753525726129.woff → iconfont.1753775832074.woff} +0 -0
  33. /package/lib/{iconfont.1753525726129.woff2 → iconfont.1753775832074.woff2} +0 -0
@@ -77,7 +77,7 @@ hooks.add('tableEditModule', {
77
77
  }
78
78
  parentChilds[funcName](item);
79
79
  mapChilds[funcName](item);
80
- const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, items: parentChilds, parent: parentRow, level: parentLevel + 1, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
80
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: parentChilds, parent: parentRow, level: parentLevel + 1, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
81
81
  fullDataRowIdData[rowid] = rest;
82
82
  fullAllDataRowIdData[rowid] = rest;
83
83
  }
@@ -87,7 +87,7 @@ hooks.add('tableEditModule', {
87
87
  }
88
88
  afterFullData[funcName](item);
89
89
  tableFullTreeData[funcName](item);
90
- const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, items: tableFullTreeData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
90
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: tableFullTreeData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
91
91
  fullDataRowIdData[rowid] = rest;
92
92
  fullAllDataRowIdData[rowid] = rest;
93
93
  }
@@ -122,7 +122,7 @@ hooks.add('tableEditModule', {
122
122
  else {
123
123
  newRecords.forEach(item => {
124
124
  const rowid = getRowid($xeTable, item);
125
- const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, items: afterFullData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
125
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: afterFullData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
126
126
  fullDataRowIdData[rowid] = rest;
127
127
  fullAllDataRowIdData[rowid] = rest;
128
128
  afterFullData.unshift(item);
@@ -154,7 +154,7 @@ hooks.add('tableEditModule', {
154
154
  else {
155
155
  newRecords.forEach(item => {
156
156
  const rowid = getRowid($xeTable, item);
157
- const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, treeIndex: -1, $index: -1, items: afterFullData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
157
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, treeIndex: -1, _tIndex: -1, $index: -1, items: afterFullData, parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
158
158
  fullDataRowIdData[rowid] = rest;
159
159
  fullAllDataRowIdData[rowid] = rest;
160
160
  afterFullData.push(item);
@@ -186,7 +186,7 @@ hooks.add('tableEditModule', {
186
186
  targetIndex = targetIndex + 1;
187
187
  }
188
188
  parentMapChilds.splice(targetIndex, 0, item);
189
- const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, items: parentMapChilds, parent: parentRow, level: parentLevel + 1, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
189
+ const rest = { row: item, rowid, seq: -1, index: -1, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items: parentMapChilds, parent: parentRow, level: parentLevel + 1, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
190
190
  fullDataRowIdData[rowid] = rest;
191
191
  fullAllDataRowIdData[rowid] = rest;
192
192
  });
@@ -258,7 +258,7 @@ export default defineVxeComponent({
258
258
  if (!fixedHiddenColumn && editConfig && (editRender || cellRender) && (editOpts.showStatus || editOpts.showUpdateStatus)) {
259
259
  isDirty = $xeTable.isUpdateByRow(row, column.field);
260
260
  }
261
- const isVNAutoHeight = scrollYLoad && !hasEllipsis;
261
+ const isVNAutoHeight = !hasEllipsis && (scrollYLoad || scrollXLoad);
262
262
  let cellHeight = getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight);
263
263
  const isLastColumn = $columnIndex === columns.length - 1;
264
264
  const isAutoCellWidth = !column.resizeWidth && (column.minWidth === 'auto' || column.width === 'auto');
@@ -295,7 +295,7 @@ export default defineVxeComponent({
295
295
  }
296
296
  tcStyle.width = `${column.renderWidth + mergeColWidth - cellOffsetWidth}px`;
297
297
  }
298
- if (scrollYLoad || hasEllipsis || isCsHeight || isRsHeight) {
298
+ if (scrollYLoad || scrollXLoad || hasEllipsis || isCsHeight || isRsHeight) {
299
299
  tcStyle.height = `${cellHeight}px`;
300
300
  }
301
301
  else {
@@ -458,15 +458,16 @@ export default defineVxeComponent({
458
458
  };
459
459
  }
460
460
  if (rowRest) {
461
+ rowIndex = rowRest.index;
462
+ _rowIndex = rowRest._index;
461
463
  rowLevel = rowRest.level;
464
+ seq = rowRest.seq;
462
465
  if (hasRowGroupAggregate || (treeConfig && transform && seqMode === 'increasing')) {
463
466
  seq = rowRest._index + 1;
464
467
  }
465
- else {
466
- seq = rowRest.seq;
468
+ else if ((treeConfig && seqMode === 'fixed')) {
469
+ seq = rowRest._tIndex + 1;
467
470
  }
468
- rowIndex = rowRest.index;
469
- _rowIndex = rowRest._index;
470
471
  }
471
472
  const params = { $table: $xeTable, seq, rowid, fixed: fixedType, type: renderType, level: rowLevel, row, rowIndex, $rowIndex, _rowIndex };
472
473
  // 行是否被展开
@@ -1795,7 +1795,7 @@ export default defineVxeComponent({
1795
1795
  const { fullAllDataRowIdData } = internalData;
1796
1796
  const defaultRowHeight = computeDefaultRowHeight.value;
1797
1797
  const el = refElem.value;
1798
- if (!isAllOverflow && scrollYLoad && el) {
1798
+ if (!isAllOverflow && (scrollYLoad || scrollXLoad) && el) {
1799
1799
  const { handleGetRowId } = createHandleGetRowId($xeTable);
1800
1800
  el.setAttribute('data-calc-row', 'Y');
1801
1801
  tableData.forEach(row => {
@@ -1848,7 +1848,7 @@ export default defineVxeComponent({
1848
1848
  rowRest._index = index;
1849
1849
  }
1850
1850
  else {
1851
- const rest = { row, rowid, seq, index: -1, $index: -1, _index: index, treeIndex: -1, items: [], parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
1851
+ const rest = { row, rowid, seq, index: -1, $index: -1, _index: index, treeIndex: -1, _tIndex: -1, items: [], parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
1852
1852
  fullAllDataRowIdData[rowid] = rest;
1853
1853
  fullDataRowIdData[rowid] = rest;
1854
1854
  }
@@ -1868,6 +1868,7 @@ export default defineVxeComponent({
1868
1868
  const childrenField = treeOpts.children || treeOpts.childrenField;
1869
1869
  const fullMaps = {};
1870
1870
  if (treeConfig) {
1871
+ let _treeIndex = 0;
1871
1872
  const { handleGetRowId } = createHandleGetRowId($xeTable);
1872
1873
  XEUtils.eachTree(afterTreeFullData, (row, index, items, path) => {
1873
1874
  const rowid = handleGetRowId(row);
@@ -1876,12 +1877,14 @@ export default defineVxeComponent({
1876
1877
  if (rowRest) {
1877
1878
  rowRest.seq = seq;
1878
1879
  rowRest.treeIndex = index;
1880
+ rowRest._tIndex = _treeIndex;
1879
1881
  }
1880
1882
  else {
1881
- const rest = { row, rowid, seq, index: -1, $index: -1, _index: -1, treeIndex: -1, items: [], parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
1883
+ const rest = { row, rowid, seq, index: -1, $index: -1, _index: -1, treeIndex: -1, _tIndex: _treeIndex, items: [], parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
1882
1884
  fullAllDataRowIdData[rowid] = rest;
1883
1885
  fullDataRowIdData[rowid] = rest;
1884
1886
  }
1887
+ _treeIndex++;
1885
1888
  fullMaps[rowid] = row;
1886
1889
  }, { children: transform ? treeOpts.mapChildrenField : childrenField });
1887
1890
  if (transform) {
@@ -4328,7 +4331,7 @@ export default defineVxeComponent({
4328
4331
  XEUtils.eachTree(rows, (childRow, index, items, path, parentItem, nodes) => {
4329
4332
  const rowid = getRowid($xeTable, childRow);
4330
4333
  const parentRow = parentItem || parentRest.row;
4331
- const rest = { row: childRow, rowid, seq: -1, index, _index: -1, $index: -1, treeIndex: -1, items, parent: parentRow, level: parentLevel + nodes.length, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
4334
+ const rest = { row: childRow, rowid, seq: -1, index, _index: -1, $index: -1, treeIndex: -1, _tIndex: -1, items, parent: parentRow, level: parentLevel + nodes.length, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
4332
4335
  fullDataRowIdData[rowid] = rest;
4333
4336
  fullAllDataRowIdData[rowid] = rest;
4334
4337
  }, { children: childrenField });
@@ -7829,7 +7832,7 @@ export default defineVxeComponent({
7829
7832
  const handleRowCache = (row, index, items, currIndex, parentRow, rowid, level, seq) => {
7830
7833
  let rowRest = fullAllDataRowIdMaps[rowid];
7831
7834
  if (!rowRest) {
7832
- rowRest = { row, rowid, seq, index: -1, _index: -1, $index: -1, treeIndex: index, items, parent: parentRow, level, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
7835
+ rowRest = { row, rowid, seq, index: -1, _index: -1, $index: -1, treeIndex: index, _tIndex: -1, items, parent: parentRow, level, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
7833
7836
  fullDataRowIdMaps[rowid] = rowRest;
7834
7837
  fullAllDataRowIdMaps[rowid] = rowRest;
7835
7838
  }
@@ -11090,16 +11093,17 @@ export default defineVxeComponent({
11090
11093
  let rowIndex = -1;
11091
11094
  let $rowIndex = -1;
11092
11095
  if (rowRest) {
11096
+ rowIndex = rowRest.index;
11097
+ $rowIndex = rowRest.$index;
11098
+ _rowIndex = rowRest._index;
11093
11099
  rowLevel = rowRest.level;
11100
+ seq = rowRest.seq;
11094
11101
  if (isRowGroupStatus || (treeConfig && transform && seqMode === 'increasing')) {
11095
11102
  seq = rowRest._index + 1;
11096
11103
  }
11097
- else {
11098
- seq = rowRest.seq;
11104
+ else if ((treeConfig && seqMode === 'fixed')) {
11105
+ seq = rowRest._tIndex + 1;
11099
11106
  }
11100
- rowIndex = rowRest.index;
11101
- $rowIndex = rowRest.$index;
11102
- _rowIndex = rowRest._index;
11103
11107
  }
11104
11108
  if (expandHeight) {
11105
11109
  cellStyle.height = `${expandHeight}px`;
package/es/ui/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  import { getFuncText } from './src/utils';
3
- export const version = "4.15.0-beta.11";
3
+ export const version = "4.15.0-beta.13";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `table v${"4.15.0-beta.11"}`;
3
+ const version = `table v${"4.15.0-beta.13"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
@@ -236,6 +236,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
236
236
  const pagerOpts = computePagerOpts.value;
237
237
  return pagerOpts.total;
238
238
  });
239
+ const computePageCount = (0, _vue.computed)(() => {
240
+ const {
241
+ tablePage
242
+ } = reactData;
243
+ return Math.max(Math.ceil(tablePage.total / tablePage.pageSize), 1);
244
+ });
239
245
  const computeIsLoading = (0, _vue.computed)(() => {
240
246
  const {
241
247
  loading,
@@ -321,7 +327,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
321
327
  tablePage.pageSize = pageSize;
322
328
  }
323
329
  if (total) {
324
- tablePage.pageSize = total;
330
+ tablePage.total = total;
325
331
  }
326
332
  }
327
333
  }
@@ -1391,6 +1397,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1391
1397
  }
1392
1398
  return (0, _vue.nextTick)();
1393
1399
  },
1400
+ getParams() {
1401
+ return props.params;
1402
+ },
1394
1403
  zoom() {
1395
1404
  if (reactData.isZMax) {
1396
1405
  return gridMethods.revert();
@@ -1452,26 +1461,59 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
1452
1461
  return (0, _vue.nextTick)();
1453
1462
  },
1454
1463
  homePage() {
1464
+ const {
1465
+ tablePage
1466
+ } = reactData;
1467
+ tablePage.currentPage = 1;
1468
+ return (0, _vue.nextTick)();
1469
+ },
1470
+ homePageByEvent(evnt) {
1455
1471
  const $pager = refPager.value;
1456
1472
  if ($pager) {
1457
- return $pager.homePage();
1473
+ $pager.homePageByEvent(evnt);
1458
1474
  }
1459
- return (0, _vue.nextTick)();
1460
1475
  },
1461
1476
  endPage() {
1477
+ const {
1478
+ tablePage
1479
+ } = reactData;
1480
+ const pageCount = computePageCount.value;
1481
+ tablePage.currentPage = pageCount;
1482
+ return (0, _vue.nextTick)();
1483
+ },
1484
+ endPageByEvent(evnt) {
1462
1485
  const $pager = refPager.value;
1463
1486
  if ($pager) {
1464
- return $pager.endPage();
1487
+ $pager.endPageByEvent(evnt);
1465
1488
  }
1489
+ },
1490
+ setCurrentPage(currentPage) {
1491
+ const {
1492
+ tablePage
1493
+ } = reactData;
1494
+ const pageCount = computePageCount.value;
1495
+ tablePage.currentPage = Math.min(pageCount, Math.max(1, _xeUtils.default.toNumber(currentPage)));
1466
1496
  return (0, _vue.nextTick)();
1467
1497
  },
1468
- jumpPage(currentPage) {
1498
+ setCurrentPageByEvent(evnt, currentPage) {
1469
1499
  const $pager = refPager.value;
1470
1500
  if ($pager) {
1471
- return $pager.jumpPage(currentPage);
1501
+ $pager.setCurrentPageByEvent(evnt, currentPage);
1472
1502
  }
1503
+ },
1504
+ setPageSize(pageSize) {
1505
+ const {
1506
+ tablePage
1507
+ } = reactData;
1508
+ tablePage.pageSize = Math.max(1, _xeUtils.default.toNumber(pageSize));
1473
1509
  return (0, _vue.nextTick)();
1474
1510
  },
1511
+ setPageSizeByEvent(evnt, pageSize) {
1512
+ const $pager = refPager.value;
1513
+ if ($pager) {
1514
+ $pager.setPageSizeByEvent(evnt, pageSize);
1515
+ }
1516
+ },
1475
1517
  getProxyInfo() {
1476
1518
  const $xeTable = refTable.value;
1477
1519
  if (props.proxyConfig) {
@@ -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"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_emits=_interopRequireDefault(require("../../table/src/emits")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");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(_props.default),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","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","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","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect"],gridComponentEmits=[..._emits.default,"page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"];var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),emits:gridComponentEmits,setup(S,e){let t,{slots:u,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(S).computeSize,j=(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}}),s=(0,_vue.ref)(),F=(0,_vue.ref)(),i=(0,_vue.ref)(),d=(0,_vue.ref)(),g=(0,_vue.ref)(),c=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)();var r=e=>{let t={};return e.forEach(r=>{t[r]=(...e)=>{var t=F.value;if(t&&t[r])return t[r](...e)}}),t};let D=r(tableComponentMethodKeys),M=(tableComponentMethodKeys.forEach(r=>{D[r]=(...e)=>{var t=F.value;if(t&&t[r])return t&&t[r](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),S.proxyConfig))),Z=(0,_vue.computed)(()=>{var e=M.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),q=(0,_vue.computed)(()=>{var e=M.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),L=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,S.pagerConfig)),x=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,S.formConfig)),V=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,S.toolbarConfig)),a=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,S.zoomConfig)),k=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=S,{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}),O=(0,_vue.computed)(()=>{let t={},r=S;return tableComponentPropKeys.forEach(e=>{t[e]=r[e]}),t}),I=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,editConfig:r,proxyConfig:o}=S,{isZMax:a,tablePage:l}=j,n=O.value,i=M.value,s=L.value,u=b.value,d=Object.assign({},n);return a&&(n.maxHeight?d.maxHeight="100%":d.height="100%"),o&&(0,_utils.isEnableConf)(i)&&(d.loading=u,t)&&i.seq&&(0,_utils.isEnableConf)(s)&&(d.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize})),r&&(d.editConfig=Object.assign({},r)),d}),U=(0,_vue.computed)(()=>{var e=S.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 T=(0,_vue.computed)(()=>L.value.currentPage),K=(0,_vue.computed)(()=>L.value.pageSize),H=(0,_vue.computed)(()=>L.value.total);let b=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=S,r=j.tableLoading,o=M.value,a=o.showLoading;return e||r&&a&&t&&(0,_utils.isEnableConf)(o)}),G={refElem:s,refTable:F,refForm:i,refToolbar:d,refPager:g},N={computeProxyOpts:M,computePagerOpts:L,computeFormOpts:x,computeToolbarOpts:V,computeZoomOpts:a},B={xID:R,props:S,context:e,reactData:j,getRefMaps:()=>G,getComputeMaps:()=>N},_=()=>{var e=V.value;S.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=F.value,t=d.value;e&&t&&e.connect(t)})},z=()=>{var e=S.proxyConfig,t=j.formData,r=M.value,o=x.value;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:o.data},h=e=>{var t=j.tablePage,r=S.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.pageSize=o)))},$=(e,t)=>{var r=M.value,r=(r.response||r.props||{}).message;let o;return(o=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$grid:B}):_xeUtils.default.get(e,r):o)||getI18n(t)},Q=(e,t,r)=>{var o=q.value,a=D.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()},W=e=>{var t=S.proxyConfig,r=j.tablePage;let{$event:o,currentPage:a,pageSize:l}=e;var n=M.value;r.currentPage=a,r.pageSize=l,B.dispatchEvent("page-change",e,o),t&&(0,_utils.isEnableConf)(n)&&B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,o)})},Y=t=>{var e=F.value,r=S.proxyConfig,e=e.getComputeMaps().computeSortOpts,o=M.value;e.value.remote&&(j.sortData=t.sortList,r)&&(0,_utils.isEnableConf)(o)&&(j.tablePage.currentPage=1,B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,t.$event)}))},J=e=>{Y(e),B.dispatchEvent("sort-change",e,e.$event)},X=e=>{Y(e),B.dispatchEvent("clear-all-sort",e,e.$event)},ee=t=>{var e=F.value,r=S.proxyConfig,e=e.getComputeMaps().computeFilterOpts,o=M.value;e.value.remote&&(j.filterData=t.filterList,r)&&(0,_utils.isEnableConf)(o)&&(j.tablePage.currentPage=1,B.commitProxy("query").then(e=>{B.dispatchEvent("proxy-query",e,t.$event)}))},te=e=>{ee(e),B.dispatchEvent("filter-change",e,e.$event)},re=e=>{ee(e),B.dispatchEvent("clear-all-filter",e,e.$event)},oe=t=>{var e=S.proxyConfig,r=M.value;j.tableLoading||(e&&(0,_utils.isEnableConf)(r)&&B.commitProxy("reload").then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),B.dispatchEvent("form-submit",t,t.$event))},ae=e=>{var t=F.value,r=S.proxyConfig;let o=e.$event;var a=M.value;r&&(0,_utils.isEnableConf)(a)&&(t.clearScroll(),B.commitProxy("reload").then(e=>{B.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)})),B.dispatchEvent("form-reset",e,o)},le=e=>{B.dispatchEvent("form-submit-invalid",e,e.$event)},ne=e=>{var t=e.$event;B.dispatchEvent("form-toggle-collapse",e,t),B.dispatchEvent("form-collapse",e,t)},ie=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(()=>B.recalculate(!0)).then(()=>(setTimeout(()=>B.recalculate(!0),15),j.isZMax))},C=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(u[e])return u[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},se=e=>{let r={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?u[e]?r[t]=u[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):r[t]=e)}),r},ue=()=>{var{formConfig:e,proxyConfig:r}=S,o=j.formData,a=M.value,l=x.value;if(e&&(0,_utils.isEnableConf)(l)||u.form){let e=[];if(u.form)e=u.form({$grid:B});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&t&&l.items.forEach(e=>{t({$grid:B,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]&&(t[e]=u[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:oe,onReset:ae,onSubmitInvalid:le,onCollapse:ne}),t))}return(0,_vue.h)("div",{ref:c,key:"form",class:"vxe-grid--form-wrapper"},e)}return renderEmptyElement(B)},de=()=>{var t,r,o,a,l,n,i=S.toolbarConfig,s=V.value;if(i&&(0,_utils.isEnableConf)(s)||u.toolbar){let e=[];return u.toolbar?e=u.toolbar({$grid:B}):(i={},(n=s.slots)&&(t=C(n,"buttons"),r=C(n,"buttonPrefix"),o=C(n,"buttonSuffix"),a=C(n,"tools"),l=C(n,"toolPrefix"),n=C(n,"toolSuffix"),t&&(i.buttons=t),r&&(i.buttonPrefix=r),o&&(i.buttonSuffix=o),a&&(i.tools=a),l&&(i.toolPrefix=l),n)&&(i.toolSuffix=n),e.push((0,_vue.h)(_toolbar.default,Object.assign(Object.assign({ref:d},s),{slots:void 0}),i))),(0,_vue.h)("div",{ref:v,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return renderEmptyElement(B)},ge=()=>{var e=u.top;return e?(0,_vue.h)("div",{ref:m,key:"top",class:"vxe-grid--top-wrapper"},e({$grid:B})):renderEmptyElement(B)},ce=()=>{var e=u.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:B})):renderEmptyElement(B)},ve=()=>{var e=u.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:B})):renderEmptyElement(B)},me=()=>{var e=S.proxyConfig,t=I.value,r=M.value,o=Object.assign({},xe),a=u.empty,l=u.loading,n=u.rowDragIcon||u["row-drag-icon"],i=u.columnDragIcon||u["column-drag-icon"],e=(e&&(0,_utils.isEnableConf)(r)&&(r.sort&&(o.onSortChange=J,o.onClearAllSort=X),r.filter)&&(o.onFilterChange=te,o.onClearAllFilter=re),{});return a&&(e.empty=a),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:F},t),o),e)])},pe=()=>u.bottom?(0,_vue.h)("div",{ref:p,key:"bottom",class:"vxe-grid--bottom-wrapper"},u.bottom({$grid:B})):renderEmptyElement(B),fe=()=>{var{proxyConfig:e,pagerConfig:t}=S,r=M.value,o=L.value,a=u.pager;return t&&(0,_utils.isEnableConf)(o)||u.pager?(0,_vue.h)("div",{ref:f,key:"pager",class:"vxe-grid--pager-wrapper"},a?a({$grid:B}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:g},o),e&&(0,_utils.isEnableConf)(r)?j.tablePage:{}),{onPageChange:W}),se(o.slots)):renderEmptyElement(B)]):renderEmptyElement(B)},y=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(ue());break;case"Toolbar":t.push(de());break;case"Top":t.push(ge());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[ce(),me(),ve()]));break;case"Bottom":t.push(pe());break;case"Pager":t.push(fe());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t},xe={},be=(_emits.default.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);xe[e]=(...e)=>o(t,...e)}),()=>{var e=x.value;if(e.items){let a={};return e.items.forEach(t=>{var{field:r,itemRender:o}=t;if(r){let e=null;o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o)),a[r]=e}}),a}return{}}),_e=()=>{var{proxyConfig:e,formConfig:t}=S,r=j.proxyInited,o=M.value,a=x.value;e&&(0,_utils.isEnableConf)(o)&&(t&&(0,_utils.isEnableConf)(a)&&o.form&&a.items&&(j.formData=be()),r||!(j.proxyInited=!0)!==o.autoLoad&&(0,_vue.nextTick)().then(()=>A.commitProxy("initial")).then(e=>{A.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},he=e=>{var t=a.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&j.isZMax&&!1!==t.escRestore&&B.triggerZoomEvent(e)};let A={dispatchEvent:(e,t,r)=>{o(e,createEvent(r,{$grid:B},t))},getEl(){return s.value},commitProxy(t,...d){let{proxyConfig:o,toolbarConfig:e,pagerConfig:i,editRules:g,validConfig:c}=S,s=j.tablePage,v=q.value,m=Z.value;var u=M.value;let p=L.value;var r,a=V.value;let{beforeQuery:f,afterQuery:x,beforeDelete:n,afterDelete:b,beforeSave:_,afterSave:h,ajax:C={}}=u,y=u.response||u.props||{},E=F.value,R=z(),w=null,P=null;P=_xeUtils.default.isString(t)?(r=a.buttons,a=e&&(0,_utils.isEnableConf)(a)&&r?_xeUtils.default.findTree(r,e=>e.code===t,{children:"dropdowns"}):null,w=a?a.item:null,t):(w=t).code;var l=w?w.params:null;switch(P){case"insert":return E.insert({});case"insert_edit":return E.insert({}).then(({row:e})=>E.setEditRow(e,!0));case"insert_actived":return E.insert({}).then(({row:e})=>E.setEditRow(e,!0));case"mark_cancel":U=P,I=q.value,k=F.value,(O=k.getCheckboxRecords()).length?(k.togglePendingRow(O),D.clearCheckboxRow()):I&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return Q(P,"vxe.grid.removeSelectRecord",()=>E.removeCheckboxRow());case"import":E.importData(l);break;case"open_import":E.openImport(l);break;case"export":E.exportData(l);break;case"open_export":E.openExport(l);break;case"reset_custom":return E.resetCustom(!0);case"initial":case"reload":case"query":{var k=C.query;let n=C.querySuccess,t=C.queryError;if(k){var O="initial"===P,I="reload"===P;if(!O&&j.tableLoading)return(0,_vue.nextTick)();let r=[],a=[],e={};if(i&&((O||I)&&(s.currentPage=1),(0,_utils.isEnableConf)(p))&&(e=Object.assign({},s)),O){if(o&&(0,_utils.isEnableConf)(u)&&u.form&&(R=be(),j.formData=R),E){let{tableFullColumn:e,fullColumnFieldData:o}=E.internalData;var U=E.getComputeMaps().computeSortOpts;let t=U.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=E.getCheckedFilters()}}else E&&(I?E.clearAll():(r=E.getSortColumns(),a=E.getCheckedFilters()));let l={code:P,button:w,isInited:O,isReload:I,$grid:B,page:e,sort:r.length?r[0]:{},sorts:r,filters:a,form:R,options:k};return j.sortData=r,j.filterData=a,j.tableLoading=!0,Promise.resolve((f||k)(l,...d)).then(e=>{let t=[];var r,o;return j.tableLoading=!1,e&&(i&&(0,_utils.isEnableConf)(p)?(o=y.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:B}):_xeUtils.default.get(e,o||"page.total"))||0,s.total=_xeUtils.default.toNumber(o),r=y.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$grid:B}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(o/s.pageSize),1),s.currentPage>r&&(s.currentPage=r)):(o=y.list,t=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:B}):_xeUtils.default.get(e,o):e)||[])),E?E.loadData(t):(0,_vue.nextTick)(()=>{E&&E.loadData(t)}),x&&x(l,...d),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(j.tableLoading=!1,t&&t(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let o=C.delete,a=C.deleteSuccess,l=C.deleteError;if(o){let e=D.getCheckboxRecords(),t=e.filter(e=>!E.isInsertByRow(e));var T={removeRecords:t};let r={$grid:B,code:P,button:w,body:T,form:R,options:o};if(e.length)return Q(P,"vxe.grid.deleteSelectRecord",()=>t.length?(j.tableLoading=!0,Promise.resolve((n||o)(r,...d)).then(e=>(j.tableLoading=!1,E.setPendingRow(t,!1),m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:$(e,"vxe.grid.delSuccess"),status:"success"}),b?b(r,...d):A.commitProxy("query"),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:P,content:$(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):E.remove(e));v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let i=C.save,s=C.saveSuccess,u=C.saveError;if(i){let t=E.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:l}=t,n={$grid:B,code:P,button:w,body:t,form:R,options:i},e=(r.length&&(t.pendingRecords=l.filter(e=>-1===E.findRowIndexOf(r,e))),l.length&&(t.insertRecords=r.filter(e=>-1===E.findRowIndexOf(l,e))),Promise.resolve());return(e=g?E[c&&"full"===c.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((_||i)(n,...d)).then(e=>(j.tableLoading=!1,E.clearPendingRow(),m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:$(e,"vxe.grid.saveSuccess"),status:"success"}),h?h(n,...d):A.commitProxy("query"),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:P,content:$(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var T=commands.get(P);T&&((T=T.tableCommandMethod||T.commandMethod)?T({code:P,button:w,$grid:B,$table:E},...d):(0,_log.errLog)("vxe.error.notCommands",[P]))}return(0,_vue.nextTick)()},zoom(){return j.isZMax?A.revert():A.maximize()},isMaximized(){return j.isZMax},maximize(){return ie(!0)},revert(){return ie()},getFormData:z,getFormItems(e){var t=x.value,r=S.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=g.value;return e?e.homePage():(0,_vue.nextTick)()},endPage(){var e=g.value;return e?e.endPage():(0,_vue.nextTick)()},jumpPage(e){var t=g.value;return t?t.jumpPage(e):(0,_vue.nextTick)()},getProxyInfo(){var e,t=F.value;return S.proxyConfig?(e=j.sortData,{data:t?t.getFullData():[],filter:j.filterData,form:z(),sort:e.length?e[0]:{},sorts:e,pager:j.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}},Ce={extendTableMethods:r,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=u[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e,t,r,o,a,l,n=j.isZMax,i=s.value;return i?(e=c.value,t=v.value,r=m.value,o=p.value,a=f.value,l=i.parentElement,(!n&&l?(0,_dom.getPaddingTopBottomSize)(l):0)+(0,_dom.getPaddingTopBottomSize)(i)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(a)):0},getParentHeight(){var e=s.value;return e?(e=e.parentElement,(j.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-Ce.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let r=e.code;return B.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&B.dispatchEvent("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r}),t)})},triggerToolbarBtnEvent(e,t){B.triggerToolbarCommitEvent(e,t),B.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){B.triggerToolbarCommitEvent(e,t),B.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){B.zoom(),B.dispatchEvent("zoom",{type:j.isZMax?"max":"revert"},e)}};Object.assign(B,D,A,Ce,{loadColumn(e){var t=F.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return B.clearAll(),B.loadColumn(e)}});let E=(0,_vue.ref)(0);return(0,_vue.watch)(()=>S.columns?S.columns.length:-1,()=>{E.value++}),(0,_vue.watch)(()=>S.columns,()=>{E.value++}),(0,_vue.watch)(E,()=>{(0,_vue.nextTick)(()=>B.loadColumn(S.columns||[]))}),(0,_vue.watch)(()=>S.toolbarConfig,()=>{_()}),(0,_vue.watch)(T,()=>{h("currentPage")}),(0,_vue.watch)(K,()=>{h("pageSize")}),(0,_vue.watch)(H,()=>{h("total")}),(0,_vue.watch)(()=>S.proxyConfig,()=>{_e()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(B))&&_xeUtils.default.isObject(e)&&Object.assign(B,e)}),h(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=S.columns,t=M.value;S.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),S.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),e&&e.length&&B.loadColumn(e),_(),_e()}),globalEvents.on(B,"keydown",he)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(B,"keydown")}),B.renderVN=()=>{var e=P.value,t=k.value,r=b.value;return(0,_vue.h)("div",{ref:s,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!S.animat,"is--round":S.round,"is--maximize":j.isZMax,"is--loading":r}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:r}=U.value,o=u.asideLeft||u["aside-left"],a=u.asideRight||u["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},y(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(B),(0,_vue.h)("div",{class:"vxe-grid--layout-body-content-wrapper"},y(t)),a?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-right-wrapper"},a({})):renderEmptyElement(B)]),(0,_vue.h)("div",{class:"vxe-grid--layout-footer-wrapper"},y(r))]})())},(0,_vue.provide)("$xeGrid",B),B},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"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_emits=_interopRequireDefault(require("../../table/src/emits")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");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(_props.default),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","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","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","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect"],gridComponentEmits=[..._emits.default,"page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"];var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),emits:gridComponentEmits,setup(T,e){let t,{slots:u,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(T).computeSize,j=(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}}),s=(0,_vue.ref)(),M=(0,_vue.ref)(),i=(0,_vue.ref)(),d=(0,_vue.ref)(),g=(0,_vue.ref)(),c=(0,_vue.ref)(),v=(0,_vue.ref)(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),f=(0,_vue.ref)();var r=e=>{let t={};return e.forEach(r=>{t[r]=(...e)=>{var t=M.value;if(t&&t[r])return t[r](...e)}}),t};let F=r(tableComponentMethodKeys),D=(tableComponentMethodKeys.forEach(r=>{F[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),T.proxyConfig))),Z=(0,_vue.computed)(()=>{var e=D.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),q=(0,_vue.computed)(()=>{var e=D.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),B=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,T.pagerConfig)),x=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,T.formConfig)),L=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,T.toolbarConfig)),a=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,T.zoomConfig)),k=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=T,{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}),O=(0,_vue.computed)(()=>{let t={},r=T;return tableComponentPropKeys.forEach(e=>{t[e]=r[e]}),t}),I=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,editConfig:r,proxyConfig:o}=T,{isZMax:a,tablePage:l}=j,n=O.value,i=D.value,s=B.value,u=_.value,d=Object.assign({},n);return a&&(n.maxHeight?d.maxHeight="100%":d.height="100%"),o&&(0,_utils.isEnableConf)(i)&&(d.loading=u,t)&&i.seq&&(0,_utils.isEnableConf)(s)&&(d.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize})),r&&(d.editConfig=Object.assign({},r)),d}),S=(0,_vue.computed)(()=>{var e=T.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 U=(0,_vue.computed)(()=>B.value.currentPage),K=(0,_vue.computed)(()=>B.value.pageSize),H=(0,_vue.computed)(()=>B.value.total);let b=(0,_vue.computed)(()=>{var e=j.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),_=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=T,r=j.tableLoading,o=D.value,a=o.showLoading;return e||r&&a&&t&&(0,_utils.isEnableConf)(o)}),N={refElem:s,refTable:M,refForm:i,refToolbar:d,refPager:g},G={computeProxyOpts:D,computePagerOpts:B,computeFormOpts:x,computeToolbarOpts:L,computeZoomOpts:a},V={xID:R,props:T,context:e,reactData:j,getRefMaps:()=>N,getComputeMaps:()=>G},Q=()=>{var e=L.value;T.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=M.value,t=d.value;e&&t&&e.connect(t)})},z=()=>{var e=T.proxyConfig,t=j.formData,r=D.value,o=x.value;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:o.data},h=e=>{var t=j.tablePage,r=T.pagerConfig,o=B.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)))},$=(e,t)=>{var r=D.value,r=(r.response||r.props||{}).message;let o;return(o=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$grid:V}):_xeUtils.default.get(e,r):o)||getI18n(t)},W=(e,t,r)=>{var o=q.value,a=F.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()},Y=e=>{var t=T.proxyConfig,r=j.tablePage;let{$event:o,currentPage:a,pageSize:l}=e;var n=D.value;r.currentPage=a,r.pageSize=l,V.dispatchEvent("page-change",e,o),t&&(0,_utils.isEnableConf)(n)&&V.commitProxy("query").then(e=>{V.dispatchEvent("proxy-query",e,o)})},J=t=>{var e=M.value,r=T.proxyConfig,e=e.getComputeMaps().computeSortOpts,o=D.value;e.value.remote&&(j.sortData=t.sortList,r)&&(0,_utils.isEnableConf)(o)&&(j.tablePage.currentPage=1,V.commitProxy("query").then(e=>{V.dispatchEvent("proxy-query",e,t.$event)}))},X=e=>{J(e),V.dispatchEvent("sort-change",e,e.$event)},ee=e=>{J(e),V.dispatchEvent("clear-all-sort",e,e.$event)},te=t=>{var e=M.value,r=T.proxyConfig,e=e.getComputeMaps().computeFilterOpts,o=D.value;e.value.remote&&(j.filterData=t.filterList,r)&&(0,_utils.isEnableConf)(o)&&(j.tablePage.currentPage=1,V.commitProxy("query").then(e=>{V.dispatchEvent("proxy-query",e,t.$event)}))},re=e=>{te(e),V.dispatchEvent("filter-change",e,e.$event)},oe=e=>{te(e),V.dispatchEvent("clear-all-filter",e,e.$event)},ae=t=>{var e=T.proxyConfig,r=D.value;j.tableLoading||(e&&(0,_utils.isEnableConf)(r)&&V.commitProxy("reload").then(e=>{V.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),V.dispatchEvent("form-submit",t,t.$event))},le=e=>{var t=M.value,r=T.proxyConfig;let o=e.$event;var a=D.value;r&&(0,_utils.isEnableConf)(a)&&(t.clearScroll(),V.commitProxy("reload").then(e=>{V.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)})),V.dispatchEvent("form-reset",e,o)},ne=e=>{V.dispatchEvent("form-submit-invalid",e,e.$event)},ie=e=>{var t=e.$event;V.dispatchEvent("form-toggle-collapse",e,t),V.dispatchEvent("form-collapse",e,t)},se=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(()=>V.recalculate(!0)).then(()=>(setTimeout(()=>V.recalculate(!0),15),j.isZMax))},C=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(u[e])return u[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},ue=e=>{let r={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?u[e]?r[t]=u[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):r[t]=e)}),r},de=()=>{var{formConfig:e,proxyConfig:r}=T,o=j.formData,a=D.value,l=x.value;if(e&&(0,_utils.isEnableConf)(l)||u.form){let e=[];if(u.form)e=u.form({$grid:V});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&t&&l.items.forEach(e=>{t({$grid:V,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]&&(t[e]=u[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:ae,onReset:le,onSubmitInvalid:ne,onCollapse:ie}),t))}return(0,_vue.h)("div",{ref:c,key:"form",class:"vxe-grid--form-wrapper"},e)}return renderEmptyElement(V)},ge=()=>{var t,r,o,a,l,n,i=T.toolbarConfig,s=L.value;if(i&&(0,_utils.isEnableConf)(s)||u.toolbar){let e=[];return u.toolbar?e=u.toolbar({$grid:V}):(i={},(n=s.slots)&&(t=C(n,"buttons"),r=C(n,"buttonPrefix"),o=C(n,"buttonSuffix"),a=C(n,"tools"),l=C(n,"toolPrefix"),n=C(n,"toolSuffix"),t&&(i.buttons=t),r&&(i.buttonPrefix=r),o&&(i.buttonSuffix=o),a&&(i.tools=a),l&&(i.toolPrefix=l),n)&&(i.toolSuffix=n),e.push((0,_vue.h)(_toolbar.default,Object.assign(Object.assign({ref:d},s),{slots:void 0}),i))),(0,_vue.h)("div",{ref:v,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return renderEmptyElement(V)},ce=()=>{var e=u.top;return e?(0,_vue.h)("div",{ref:m,key:"top",class:"vxe-grid--top-wrapper"},e({$grid:V})):renderEmptyElement(V)},ve=()=>{var e=u.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:V})):renderEmptyElement(V)},me=()=>{var e=u.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:V})):renderEmptyElement(V)},pe=()=>{var e=T.proxyConfig,t=I.value,r=D.value,o=Object.assign({},be),a=u.empty,l=u.loading,n=u.rowDragIcon||u["row-drag-icon"],i=u.columnDragIcon||u["column-drag-icon"],e=(e&&(0,_utils.isEnableConf)(r)&&(r.sort&&(o.onSortChange=X,o.onClearAllSort=ee),r.filter)&&(o.onFilterChange=re,o.onClearAllFilter=oe),{});return a&&(e.empty=a),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:M},t),o),e)])},fe=()=>u.bottom?(0,_vue.h)("div",{ref:p,key:"bottom",class:"vxe-grid--bottom-wrapper"},u.bottom({$grid:V})):renderEmptyElement(V),xe=()=>{var{proxyConfig:e,pagerConfig:t}=T,r=D.value,o=B.value,a=u.pager;return t&&(0,_utils.isEnableConf)(o)||u.pager?(0,_vue.h)("div",{ref:f,key:"pager",class:"vxe-grid--pager-wrapper"},a?a({$grid:V}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:g},o),e&&(0,_utils.isEnableConf)(r)?j.tablePage:{}),{onPageChange:Y}),ue(o.slots)):renderEmptyElement(V)]):renderEmptyElement(V)},y=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(de());break;case"Toolbar":t.push(ge());break;case"Top":t.push(ce());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[ve(),pe(),me()]));break;case"Bottom":t.push(fe());break;case"Pager":t.push(xe());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t},be={},_e=(_emits.default.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);be[e]=(...e)=>o(t,...e)}),()=>{var e=x.value;if(e.items){let a={};return e.items.forEach(t=>{var{field:r,itemRender:o}=t;if(r){let e=null;o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o)),a[r]=e}}),a}return{}}),he=()=>{var{proxyConfig:e,formConfig:t}=T,r=j.proxyInited,o=D.value,a=x.value;e&&(0,_utils.isEnableConf)(o)&&(t&&(0,_utils.isEnableConf)(a)&&o.form&&a.items&&(j.formData=_e()),r||!(j.proxyInited=!0)!==o.autoLoad&&(0,_vue.nextTick)().then(()=>A.commitProxy("initial")).then(e=>{A.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},Ce=e=>{var t=a.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&j.isZMax&&!1!==t.escRestore&&V.triggerZoomEvent(e)};let A={dispatchEvent:(e,t,r)=>{o(e,createEvent(r,{$grid:V},t))},getEl(){return s.value},commitProxy(t,...d){let{proxyConfig:o,toolbarConfig:e,pagerConfig:i,editRules:g,validConfig:c}=T,s=j.tablePage,v=q.value,m=Z.value;var u=D.value;let p=B.value;var r,a=L.value;let{beforeQuery:f,afterQuery:x,beforeDelete:n,afterDelete:b,beforeSave:_,afterSave:h,ajax:C={}}=u,y=u.response||u.props||{},E=M.value,R=z(),w=null,P=null;P=_xeUtils.default.isString(t)?(r=a.buttons,a=e&&(0,_utils.isEnableConf)(a)&&r?_xeUtils.default.findTree(r,e=>e.code===t,{children:"dropdowns"}):null,w=a?a.item:null,t):(w=t).code;var l=w?w.params:null;switch(P){case"insert":return E.insert({});case"insert_edit":return E.insert({}).then(({row:e})=>E.setEditRow(e,!0));case"insert_actived":return E.insert({}).then(({row:e})=>E.setEditRow(e,!0));case"mark_cancel":S=P,I=q.value,k=M.value,(O=k.getCheckboxRecords()).length?(k.togglePendingRow(O),F.clearCheckboxRow()):I&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:S,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return W(P,"vxe.grid.removeSelectRecord",()=>E.removeCheckboxRow());case"import":E.importData(l);break;case"open_import":E.openImport(l);break;case"export":E.exportData(l);break;case"open_export":E.openExport(l);break;case"reset_custom":return E.resetCustom(!0);case"initial":case"reload":case"query":{var k=C.query;let n=C.querySuccess,t=C.queryError;if(k){var O="initial"===P,I="reload"===P;if(!O&&j.tableLoading)return(0,_vue.nextTick)();let r=[],a=[],e={};if(i&&((O||I)&&(s.currentPage=1),(0,_utils.isEnableConf)(p))&&(e=Object.assign({},s)),O){if(o&&(0,_utils.isEnableConf)(u)&&u.form&&(R=_e(),j.formData=R),E){let{tableFullColumn:e,fullColumnFieldData:o}=E.internalData;var S=E.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=o[e];return r&&(r=r.column)&&(r.order=t),{field:e,property:e,order:t}})),a=E.getCheckedFilters()}}else E&&(I?E.clearAll():(r=E.getSortColumns(),a=E.getCheckedFilters()));let l={code:P,button:w,isInited:O,isReload:I,$grid:V,page:e,sort:r.length?r[0]:{},sorts:r,filters:a,form:R,options:k};return j.sortData=r,j.filterData=a,j.tableLoading=!0,Promise.resolve((f||k)(l,...d)).then(e=>{let t=[];var r,o;return j.tableLoading=!1,e&&(i&&(0,_utils.isEnableConf)(p)?(o=y.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:V}):_xeUtils.default.get(e,o||"page.total"))||0,s.total=_xeUtils.default.toNumber(o),r=y.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$grid:V}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(o/s.pageSize),1),s.currentPage>r&&(s.currentPage=r)):(o=y.list,t=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:V}):_xeUtils.default.get(e,o):e)||[])),E?E.loadData(t):(0,_vue.nextTick)(()=>{E&&E.loadData(t)}),x&&x(l,...d),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(j.tableLoading=!1,t&&t(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let o=C.delete,a=C.deleteSuccess,l=C.deleteError;if(o){let e=F.getCheckboxRecords(),t=e.filter(e=>!E.isInsertByRow(e));var U={removeRecords:t};let r={$grid:V,code:P,button:w,body:U,form:R,options:o};if(e.length)return W(P,"vxe.grid.deleteSelectRecord",()=>t.length?(j.tableLoading=!0,Promise.resolve((n||o)(r,...d)).then(e=>(j.tableLoading=!1,E.setPendingRow(t,!1),m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:$(e,"vxe.grid.delSuccess"),status:"success"}),b?b(r,...d):A.commitProxy("query"),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:P,content:$(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):E.remove(e));v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let i=C.save,s=C.saveSuccess,u=C.saveError;if(i){let t=E.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:l}=t,n={$grid:V,code:P,button:w,body:t,form:R,options:i},e=(r.length&&(t.pendingRecords=l.filter(e=>-1===E.findRowIndexOf(r,e))),l.length&&(t.insertRecords=r.filter(e=>-1===E.findRowIndexOf(l,e))),Promise.resolve());return(e=g?E[c&&"full"===c.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((_||i)(n,...d)).then(e=>(j.tableLoading=!1,E.clearPendingRow(),m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:$(e,"vxe.grid.saveSuccess"),status:"success"}),h?h(n,...d):A.commitProxy("query"),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:P,content:$(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var U=commands.get(P);U&&((U=U.tableCommandMethod||U.commandMethod)?U({code:P,button:w,$grid:V,$table:E},...d):(0,_log.errLog)("vxe.error.notCommands",[P]))}return(0,_vue.nextTick)()},getParams(){return T.params},zoom(){return j.isZMax?A.revert():A.maximize()},isMaximized(){return j.isZMax},maximize(){return se(!0)},revert(){return se()},getFormData:z,getFormItems(e){var t=x.value,r=T.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=g.value;t&&t.homePageByEvent(e)},endPage(){var e=j.tablePage,t=b.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=g.value;t&&t.endPageByEvent(e)},setCurrentPage(e){var t=j.tablePage,r=b.value;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var r=g.value;r&&r.setCurrentPageByEvent(e,t)},setPageSize(e){var t=j.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var r=g.value;r&&r.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=M.value;return T.proxyConfig?(e=j.sortData,{data:t?t.getFullData():[],filter:j.filterData,form:z(),sort:e.length?e[0]:{},sorts:e,pager:j.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}},ye={extendTableMethods:r,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=u[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e,t,r,o,a,l,n=j.isZMax,i=s.value;return i?(e=c.value,t=v.value,r=m.value,o=p.value,a=f.value,l=i.parentElement,(!n&&l?(0,_dom.getPaddingTopBottomSize)(l):0)+(0,_dom.getPaddingTopBottomSize)(i)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(a)):0},getParentHeight(){var e=s.value;return e?(e=e.parentElement,(j.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-ye.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let r=e.code;return V.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&V.dispatchEvent("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r}),t)})},triggerToolbarBtnEvent(e,t){V.triggerToolbarCommitEvent(e,t),V.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){V.triggerToolbarCommitEvent(e,t),V.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){V.zoom(),V.dispatchEvent("zoom",{type:j.isZMax?"max":"revert"},e)}};Object.assign(V,F,A,ye,{loadColumn(e){var t=M.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||u[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return V.clearAll(),V.loadColumn(e)}});let E=(0,_vue.ref)(0);return(0,_vue.watch)(()=>T.columns?T.columns.length:-1,()=>{E.value++}),(0,_vue.watch)(()=>T.columns,()=>{E.value++}),(0,_vue.watch)(E,()=>{(0,_vue.nextTick)(()=>V.loadColumn(T.columns||[]))}),(0,_vue.watch)(()=>T.toolbarConfig,()=>{Q()}),(0,_vue.watch)(U,()=>{h("currentPage")}),(0,_vue.watch)(K,()=>{h("pageSize")}),(0,_vue.watch)(H,()=>{h("total")}),(0,_vue.watch)(()=>T.proxyConfig,()=>{he()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(V))&&_xeUtils.default.isObject(e)&&Object.assign(V,e)}),h(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.columns,t=D.value;T.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),T.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),e&&e.length&&V.loadColumn(e),Q(),he()}),globalEvents.on(V,"keydown",Ce)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(V,"keydown")}),V.renderVN=()=>{var e=P.value,t=k.value,r=_.value;return(0,_vue.h)("div",{ref:s,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!T.animat,"is--round":T.round,"is--maximize":j.isZMax,"is--loading":r}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:r}=S.value,o=u.asideLeft||u["aside-left"],a=u.asideRight||u["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},y(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(V),(0,_vue.h)("div",{class:"vxe-grid--layout-body-content-wrapper"},y(t)),a?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-right-wrapper"},a({})):renderEmptyElement(V)]),(0,_vue.h)("div",{class:"vxe-grid--layout-footer-wrapper"},y(r))]})())},(0,_vue.provide)("$xeGrid",V),V},render(){return this.renderVN()}});