vxe-table 4.19.17 → 4.19.19

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 (58) hide show
  1. package/dist/all.esm.js +117 -51
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/grid/src/grid.js +1 -1
  5. package/es/index.css +1 -1
  6. package/es/index.min.css +1 -1
  7. package/es/style.css +1 -1
  8. package/es/style.min.css +1 -1
  9. package/es/table/module/custom/panel.js +5 -2
  10. package/es/table/module/edit/hook.js +16 -4
  11. package/es/table/src/columnInfo.js +6 -6
  12. package/es/table/src/emits.js +4 -4
  13. package/es/table/src/footer.js +5 -5
  14. package/es/table/src/header.js +10 -8
  15. package/es/table/src/table.js +65 -17
  16. package/es/ui/index.js +1 -1
  17. package/es/ui/src/log.js +4 -3
  18. package/lib/grid/src/grid.js +1 -1
  19. package/lib/grid/src/grid.min.js +1 -1
  20. package/lib/index.css +1 -1
  21. package/lib/index.min.css +1 -1
  22. package/lib/index.umd.js +1012 -973
  23. package/lib/index.umd.min.js +1 -1
  24. package/lib/style.css +1 -1
  25. package/lib/style.min.css +1 -1
  26. package/lib/table/module/custom/panel.js +5 -2
  27. package/lib/table/module/custom/panel.min.js +1 -1
  28. package/lib/table/module/edit/hook.js +18 -4
  29. package/lib/table/module/edit/hook.min.js +1 -1
  30. package/lib/table/src/columnInfo.js +6 -0
  31. package/lib/table/src/emits.js +9 -1
  32. package/lib/table/src/footer.js +5 -4
  33. package/lib/table/src/footer.min.js +1 -1
  34. package/lib/table/src/header.js +12 -8
  35. package/lib/table/src/header.min.js +1 -1
  36. package/lib/table/src/table.js +7 -5
  37. package/lib/table/src/table.min.js +1 -1
  38. package/lib/ui/index.js +1 -1
  39. package/lib/ui/index.min.js +1 -1
  40. package/lib/ui/src/log.js +4 -3
  41. package/lib/ui/src/log.min.js +1 -1
  42. package/package.json +3 -3
  43. package/packages/grid/src/grid.ts +1 -1
  44. package/packages/table/module/custom/panel.ts +5 -2
  45. package/packages/table/module/edit/hook.ts +15 -4
  46. package/packages/table/src/footer.ts +5 -5
  47. package/packages/table/src/header.ts +10 -8
  48. package/packages/table/src/table.ts +61 -17
  49. package/packages/table/src/util.ts +2 -16
  50. package/packages/ui/src/log.ts +3 -2
  51. package/styles/theme/dark.scss +1 -1
  52. package/styles/variable.scss +1 -1
  53. /package/es/{iconfont.1781876895482.ttf → iconfont.1782286881041.ttf} +0 -0
  54. /package/es/{iconfont.1781876895482.woff → iconfont.1782286881041.woff} +0 -0
  55. /package/es/{iconfont.1781876895482.woff2 → iconfont.1782286881041.woff2} +0 -0
  56. /package/lib/{iconfont.1781876895482.ttf → iconfont.1782286881041.ttf} +0 -0
  57. /package/lib/{iconfont.1781876895482.woff → iconfont.1782286881041.woff} +0 -0
  58. /package/lib/{iconfont.1781876895482.woff2 → iconfont.1782286881041.woff2} +0 -0
@@ -1022,8 +1022,11 @@ export default defineVxeComponent({
1022
1022
  const resizeParams = {
1023
1023
  $table: $xeTable,
1024
1024
  column,
1025
- columnIndex: index,
1026
- $columnIndex: index,
1025
+ columnIndex: $xeTable.getColumnIndex(column),
1026
+ $columnIndex: $xeTable.getVMColumnIndex(column),
1027
+ _columnIndex: $xeTable.getVTColumnIndex(column),
1028
+ rowIndex: -1,
1029
+ _rowIndex: -1,
1027
1030
  $rowIndex: -1
1028
1031
  };
1029
1032
  if (reMinWidth) {
@@ -765,16 +765,28 @@ hooks.add('tableEditModule', {
765
765
  */
766
766
  getUpdateRecords() {
767
767
  const { keepSource, treeConfig } = props;
768
- const { tableFullData } = internalData;
768
+ const { tableFullData, tableFullTreeData } = internalData;
769
769
  const treeOpts = computeTreeOpts.value;
770
+ const updateRecords = [];
770
771
  if (keepSource) {
771
772
  syncActivedCell();
772
773
  if (treeConfig) {
773
- return XEUtils.filterTree(tableFullData, row => $xeTable.isUpdateByRow(row), treeOpts);
774
+ const childrenField = treeOpts.children || treeOpts.childrenField;
775
+ XEUtils.eachTree(tableFullTreeData, row => {
776
+ if ($xeTable.isUpdateByRow(row)) {
777
+ updateRecords.push(row);
778
+ }
779
+ }, { children: childrenField });
780
+ }
781
+ else {
782
+ tableFullData.forEach((row) => {
783
+ if ($xeTable.isUpdateByRow(row)) {
784
+ updateRecords.push(row);
785
+ }
786
+ });
774
787
  }
775
- return tableFullData.filter((row) => $xeTable.isUpdateByRow(row));
776
788
  }
777
- return [];
789
+ return updateRecords;
778
790
  },
779
791
  getActiveRecord() {
780
792
  warnLog('vxe.error.delFunc', ['getActiveRecord', 'getEditCell']);
@@ -141,11 +141,11 @@ export class ColumnInfo {
141
141
  // 跨列
142
142
  colSpan: 1,
143
143
  // 数据排序
144
- order: null,
145
- sortTime: 0,
144
+ order: null, // 用于记录排序类型,升序和倒序
145
+ sortTime: 0, // 用于多列的先后顺序
146
146
  // 列排序
147
- sortNumber: 0,
148
- renderSortNumber: 0,
147
+ sortNumber: 0, // 用于记录自定义列顺序
148
+ renderSortNumber: 0, // 用于记录自定义列顺序
149
149
  renderAggFn: '',
150
150
  renderAggDigits: null,
151
151
  renderAggFormat: null,
@@ -155,9 +155,9 @@ export class ColumnInfo {
155
155
  renderHeight: 0,
156
156
  renderResizeWidth: 0,
157
157
  renderAutoWidth: 0,
158
- resizeWidth: 0,
158
+ resizeWidth: 0, // 手动调整
159
159
  renderLeft: 0,
160
- renderArgs: [],
160
+ renderArgs: [], // 渲染参数可用于扩展
161
161
  model: {},
162
162
  renderHeader: renderHeader || colConfs.renderHeader,
163
163
  renderCell: renderCell || colConfs.renderCell,
@@ -15,7 +15,7 @@ export const tableEmits = [
15
15
  'columns-change',
16
16
  'data-change',
17
17
  'footer-data-change',
18
- 'current-change',
18
+ 'current-change', // 已废弃
19
19
  'current-row-change',
20
20
  'current-row-disabled',
21
21
  'current-column-change',
@@ -49,7 +49,7 @@ export const tableEmits = [
49
49
  'filter-visible',
50
50
  'clear-filter',
51
51
  'clear-all-filter',
52
- 'resizable-change',
52
+ 'resizable-change', // 废弃
53
53
  'column-resizable-change',
54
54
  'row-resizable-change',
55
55
  'toggle-row-group-expand',
@@ -67,7 +67,7 @@ export const tableEmits = [
67
67
  'column-dragend',
68
68
  'enter-append-row',
69
69
  'tab-append-row',
70
- 'edit-actived',
70
+ 'edit-actived', // 废弃
71
71
  'edit-activated',
72
72
  'edit-disabled',
73
73
  'valid-error',
@@ -78,7 +78,7 @@ export const tableEmits = [
78
78
  'custom-visible-all',
79
79
  'custom-fixed-change',
80
80
  'custom-sort-change',
81
- 'change-fnr',
81
+ 'change-fnr', // 废弃
82
82
  'open-fnr',
83
83
  'show-fnr',
84
84
  'hide-fnr',
@@ -206,17 +206,17 @@ export default defineVxeComponent({
206
206
  const renderHeads = (isOptimizeMode, renderColumnList) => {
207
207
  const { fixedType, footerTableData } = props;
208
208
  const { footerRowClassName, footerRowStyle } = tableProps;
209
- return footerTableData.map((row, $rowIndex) => {
210
- const _rowIndex = $rowIndex;
211
- const rowParams = { $table: $xeTable, row, _rowIndex, $rowIndex, fixed: fixedType, type: renderType };
209
+ return footerTableData.map((row, _rowIndex) => {
210
+ const $rowIndex = _rowIndex;
211
+ const rowParams = { $table: $xeTable, row, rowIndex: _rowIndex, _rowIndex, $rowIndex, fixed: fixedType, type: renderType };
212
212
  return h('tr', {
213
- key: $rowIndex,
213
+ key: _rowIndex,
214
214
  class: [
215
215
  'vxe-footer--row',
216
216
  footerRowClassName ? XEUtils.isFunction(footerRowClassName) ? footerRowClassName(rowParams) : footerRowClassName : ''
217
217
  ],
218
218
  style: footerRowStyle ? (XEUtils.isFunction(footerRowStyle) ? footerRowStyle(rowParams) : footerRowStyle) : null
219
- }, renderRows(isOptimizeMode, renderColumnList, footerTableData, row, $rowIndex, _rowIndex));
219
+ }, renderRows(isOptimizeMode, renderColumnList, footerTableData, row, _rowIndex, _rowIndex));
220
220
  });
221
221
  };
222
222
  const renderVN = () => {
@@ -48,7 +48,7 @@ export default defineVxeComponent({
48
48
  $xeTable.dispatchEvent('columns-change', { visibleColgroups, collectColumn, visibleColumn }, null);
49
49
  });
50
50
  };
51
- const renderRows = (isGroup, isOptimizeMode, headerGroups, $rowIndex, cols) => {
51
+ const renderRows = (isGroup, isOptimizeMode, headerGroups, _rowIndex, cols) => {
52
52
  const $xeGrid = $xeTable.xeGrid;
53
53
  const $xeGantt = $xeTable.xeGantt;
54
54
  const { fixedType } = props;
@@ -63,7 +63,7 @@ export default defineVxeComponent({
63
63
  const headerCellOpts = computeHeaderCellOpts.value;
64
64
  const currCellHeight = getCalcHeight(headerCellOpts.height) || defaultRowHeight;
65
65
  const { disabledMethod: dragDisabledMethod, isCrossDrag, isPeerDrag } = columnDragOpts;
66
- const isLastRow = $rowIndex === headerGroups.length - 1;
66
+ const isLastRow = _rowIndex === headerGroups.length - 1;
67
67
  return cols.map((column, $columnIndex) => {
68
68
  const { type, showHeaderOverflow, headerAlign, align, filters, headerClassName, editRender, cellRender } = column;
69
69
  const colid = column.id;
@@ -91,7 +91,9 @@ export default defineVxeComponent({
91
91
  $table: $xeTable,
92
92
  $grid: $xeGrid,
93
93
  $gantt: $xeGantt,
94
- $rowIndex,
94
+ rowIndex: _rowIndex,
95
+ _rowIndex,
96
+ $rowIndex: _rowIndex,
95
97
  column,
96
98
  columnIndex,
97
99
  $columnIndex,
@@ -113,7 +115,7 @@ export default defineVxeComponent({
113
115
  thAttrs.rowspan = column.rowSpan > 1 ? column.rowSpan : null;
114
116
  }
115
117
  if (mergeHeadFlag && mergeHeaderList.length && (showCustomHeader || isLastRow)) {
116
- const spanRest = mergeHeaderCellMaps[`${$rowIndex}:${showCustomHeader ? $columnIndex : _columnIndex}`];
118
+ const spanRest = mergeHeaderCellMaps[`${_rowIndex}:${showCustomHeader ? $columnIndex : _columnIndex}`];
117
119
  if (spanRest) {
118
120
  const { rowspan, colspan } = spanRest;
119
121
  if (!rowspan || !colspan) {
@@ -331,16 +333,16 @@ export default defineVxeComponent({
331
333
  const { fixedType } = props;
332
334
  const { headerRowClassName, headerRowStyle } = tableProps;
333
335
  const floatingFilterOpts = computeFloatingFilterOpts.value;
334
- const rowVNs = headerGroups.map((cols, $rowIndex) => {
335
- const params = { $table: $xeTable, $rowIndex, fixed: fixedType, type: renderType };
336
+ const rowVNs = headerGroups.map((cols, _rowIndex) => {
337
+ const params = { $table: $xeTable, rowIndex: _rowIndex, _rowIndex, $rowIndex: _rowIndex, fixed: fixedType, type: renderType };
336
338
  return h('tr', {
337
- key: $rowIndex,
339
+ key: _rowIndex,
338
340
  class: [
339
341
  'vxe-header--row',
340
342
  headerRowClassName ? (XEUtils.isFunction(headerRowClassName) ? headerRowClassName(params) : headerRowClassName) : ''
341
343
  ],
342
344
  style: headerRowStyle ? (XEUtils.isFunction(headerRowStyle) ? headerRowStyle(params) : headerRowStyle) : null
343
- }, renderRows(isGroup, isOptimizeMode, headerGroups, $rowIndex, cols));
345
+ }, renderRows(isGroup, isOptimizeMode, headerGroups, _rowIndex, cols));
344
346
  });
345
347
  if (floatingFilterOpts.enabled) {
346
348
  rowVNs.push(h('tr', {
@@ -812,16 +812,20 @@ export default defineVxeComponent({
812
812
  // 已废弃
813
813
  xegrid: $xeGrid
814
814
  };
815
- const eqCellValue = (row1, row2, field) => {
816
- const val1 = XEUtils.get(row1, field);
817
- const val2 = XEUtils.get(row2, field);
815
+ const eqCellValue = (newRow, oldRow, field) => {
816
+ const val1 = XEUtils.get(newRow, field);
817
+ const val2 = XEUtils.get(oldRow, field);
818
+ let result = false;
818
819
  if (eqEmptyValue(val1) && eqEmptyValue(val2)) {
819
- return true;
820
+ result = true;
821
+ }
822
+ else if (XEUtils.isString(val1) || XEUtils.isNumber(val1)) {
823
+ result = ('' + val1) === ('' + val2);
820
824
  }
821
- if (XEUtils.isString(val1) || XEUtils.isNumber(val1)) {
822
- return ('' + val1) === ('' + val2);
825
+ else {
826
+ result = XEUtils.isEqual(val1, val2);
823
827
  }
824
- return XEUtils.isEqual(val1, val2);
828
+ return { newValue: val1, oldValue: val2, result };
825
829
  };
826
830
  const handleKeyField = () => {
827
831
  const keyField = computeRowField.value;
@@ -5658,18 +5662,57 @@ export default defineVxeComponent({
5658
5662
  }
5659
5663
  const row = rowRest.row;
5660
5664
  const oRow = sourceDataRowIdData[rowid];
5661
- if (oRow) {
5662
- if (arguments.length > 1) {
5663
- return !eqCellValue(oRow, row, field);
5665
+ if (!oRow) {
5666
+ return false;
5667
+ }
5668
+ if (arguments.length > 1) {
5669
+ return !eqCellValue(oRow, row, field).result;
5670
+ }
5671
+ for (let i = 0; i < keepFields.length; i++) {
5672
+ if (!eqCellValue(oRow, row, keepFields[i]).result) {
5673
+ return true;
5674
+ }
5675
+ }
5676
+ }
5677
+ return false;
5678
+ },
5679
+ getUpdateCells() {
5680
+ const { keepSource, treeConfig } = props;
5681
+ const { tableFullData, tableFullTreeData, fullDataRowIdData, sourceDataRowIdData, fullColumnFieldData } = internalData;
5682
+ const treeOpts = computeTreeOpts.value;
5683
+ const keepFields = computeKeepFields.value;
5684
+ const cellList = [];
5685
+ if (keepSource) {
5686
+ const { handleGetRowId } = createHandleGetRowId($xeTable);
5687
+ const handleCell = (item) => {
5688
+ const rowid = handleGetRowId(item);
5689
+ const rowRest = fullDataRowIdData[rowid];
5690
+ // 新增的数据不需要检测
5691
+ if (!rowRest) {
5692
+ return;
5693
+ }
5694
+ const row = rowRest.row;
5695
+ const oRow = sourceDataRowIdData[rowid];
5696
+ if (!oRow) {
5697
+ return;
5664
5698
  }
5665
5699
  for (let i = 0; i < keepFields.length; i++) {
5666
- if (!eqCellValue(oRow, row, keepFields[i])) {
5667
- return true;
5700
+ const field = keepFields[i];
5701
+ const { result, newValue, oldValue } = eqCellValue(oRow, row, field);
5702
+ if (!result) {
5703
+ const column = fullColumnFieldData[field] ? fullColumnFieldData[field].column : null;
5704
+ cellList.push({ row, rowid, column, field, newValue, oldValue });
5668
5705
  }
5669
5706
  }
5707
+ };
5708
+ if (treeConfig) {
5709
+ XEUtils.eachTree(tableFullTreeData, handleCell, treeOpts);
5710
+ }
5711
+ else {
5712
+ tableFullData.forEach(handleCell);
5670
5713
  }
5671
5714
  }
5672
- return false;
5715
+ return cellList;
5673
5716
  },
5674
5717
  /**
5675
5718
  * 获取表格的可视列,也可以指定索引获取列
@@ -6959,7 +7002,7 @@ export default defineVxeComponent({
6959
7002
  style: null,
6960
7003
  options: [],
6961
7004
  column: null,
6962
- multiple: false,
7005
+ multiple: false, // 选项是覅多选
6963
7006
  visible: false
6964
7007
  });
6965
7008
  }
@@ -10668,7 +10711,13 @@ export default defineVxeComponent({
10668
10711
  }
10669
10712
  if (editOpts.trigger === 'manual') {
10670
10713
  if (actived.args && actived.row === row && column !== actived.column) {
10671
- handleChangeCell(evnt, params);
10714
+ if (editOpts.mode === 'row') {
10715
+ handleChangeCell(evnt, params);
10716
+ }
10717
+ else {
10718
+ checkValidate('blur')
10719
+ .catch((e) => e);
10720
+ }
10672
10721
  }
10673
10722
  }
10674
10723
  else if (!actived.args || row !== actived.row || column !== actived.column) {
@@ -14581,8 +14630,7 @@ export default defineVxeComponent({
14581
14630
  }
14582
14631
  if ((props.showOverflow === true || props.showOverflow === 'tooltip') ||
14583
14632
  (props.showHeaderOverflow === true || props.showHeaderOverflow === 'tooltip') ||
14584
- (props.showFooterOverflow === true || props.showFooterOverflow === 'tooltip') ||
14585
- props.tooltipConfig || props.editRules) {
14633
+ (props.showFooterOverflow === true || props.showFooterOverflow === 'tooltip')) {
14586
14634
  if (!VxeUITooltipComponent) {
14587
14635
  if (props.showOverflow === true) {
14588
14636
  errLog('vxe.error.errProp', ['show-overflow=true', 'show-overflow=title']);
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.19.17";
3
+ export const version = "4.19.19";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
package/es/ui/src/log.js CHANGED
@@ -1,13 +1,14 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const tableVersion = `table v${"4.19.17"}`;
3
+ const tableVersion = `table v${"4.19.19"}`;
4
4
  export function createComponentLog(name) {
5
5
  const uiVersion = VxeUI.uiVersion ? `ui v${VxeUI.uiVersion}` : '';
6
6
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
7
7
  const designVersion = VxeUI.designVersion ? `design v${VxeUI.designVersion}` : '';
8
+ const versionInfo = [uiVersion, tableVersion, ganttVersion, designVersion].join(' ');
8
9
  return {
9
- warnLog: log.create('warn', uiVersion + tableVersion + ganttVersion + designVersion + '] [' + name),
10
- errLog: log.create('error', uiVersion + tableVersion + ganttVersion + designVersion + '] [' + name)
10
+ warnLog: log.create('warn', versionInfo + '] [' + name),
11
+ errLog: log.create('error', versionInfo + '] [' + name)
11
12
  };
12
13
  }
13
14
  export const warnLog = log.create('warn', tableVersion);
@@ -35,7 +35,7 @@ const {
35
35
  renderEmptyElement
36
36
  } = _ui.VxeUI;
37
37
  const tableComponentPropKeys = Object.keys(_props2.tableProps);
38
- 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', 'scrollToStartRow', 'scrollToEndRow', 'scrollToRow', 'scrollToStartColumn', 'scrollToEndColumn', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'setMergeHeaderCells', 'removeMergeHeaderCells', 'getMergeHeaderCells', 'clearMergeHeaderCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'setCustomStoreData', 'getCustomStoreData', 'setRowGroupExpand', 'setRowGroupExpandByField', 'setAllRowGroupExpand', 'clearRowGroupExpand', 'isRowGroupExpandByRow', 'isRowGroupRecord', 'isAggregateRecord', 'isAggregateExpandByRow', 'getAggregateContentByRow', 'getAggregateRowChildren', 'setRowGroups', 'clearRowGroups', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'updateCellLabel', 'clearFormatterCache', 'getFooterCellLabel', 'updateFooterCellLabel', 'clearFooterFormatterCache', 'undo', 'redo', 'effectCellData', 'getCellElement', 'focus', 'blur', 'connect', 'connectToolbar'];
38
+ 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', 'scrollToStartRow', 'scrollToEndRow', 'scrollToRow', 'scrollToStartColumn', 'scrollToEndColumn', 'scrollToColumn', 'clearScroll', 'updateFooter', 'updateStatus', 'setMergeCells', 'removeInsertRow', 'removeMergeCells', 'getMergeCells', 'setMergeHeaderCells', 'removeMergeHeaderCells', 'getMergeHeaderCells', 'clearMergeHeaderCells', 'clearMergeCells', 'setMergeFooterItems', 'removeMergeFooterItems', 'getMergeFooterItems', 'clearMergeFooterItems', 'setCustomStoreData', 'getCustomStoreData', 'setRowGroupExpand', 'setRowGroupExpandByField', 'setAllRowGroupExpand', 'clearRowGroupExpand', 'isRowGroupExpandByRow', 'isRowGroupRecord', 'isAggregateRecord', 'isAggregateExpandByRow', 'getAggregateContentByRow', 'getAggregateRowChildren', 'setRowGroups', 'clearRowGroups', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'updateCellLabel', 'clearFormatterCache', 'getFooterCellLabel', 'updateFooterCellLabel', 'clearFooterFormatterCache', 'getUpdateCells', 'undo', 'redo', 'effectCellData', 'getCellElement', 'focus', 'blur', 'connect', 'connectToolbar'];
39
39
  function createReactData() {
40
40
  var _a;
41
41
  return {
@@ -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{warnLog,errLog}=(0,_log.createComponentLog)("grid"),{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","scrollToStartRow","scrollToEndRow","scrollToRow","scrollToStartColumn","scrollToEndColumn","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","setMergeHeaderCells","removeMergeHeaderCells","getMergeHeaderCells","clearMergeHeaderCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","setCustomStoreData","getCustomStoreData","setRowGroupExpand","setRowGroupExpandByField","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","updateCellLabel","clearFormatterCache","getFooterCellLabel","updateFooterCellLabel","clearFooterFormatterCache","undo","redo","effectCellData","getCellElement","focus","blur","connect","connectToolbar"];function createReactData(){var e;return{tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],footerData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}}function createInternalData(){return{uFoot:!1}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",props:_props.gridProps,emits:_emits.gridEmits,setup(c,e){let{slots:g,emit:o}=e;var t=_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)(createReactData()),M=createInternalData(),d=(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 r=e=>{let t={};return e.forEach(r=>{t[r]=(...e)=>{var t=$.value;if(t&&t[r])return t[r](...e)}}),t};let a=r(tableComponentMethodKeys),q=(tableComponentMethodKeys.forEach(r=>{a[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)}),L=(0,_vue.computed)(()=>{var e=q.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),B=(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)),_=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,c.zoomConfig)),F=(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}),T=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{void 0!==c[e]&&(t[e]=c[e])}),t}),k=(0,_vue.computed)(()=>{var{showFooter:e,seqConfig:t,pagerConfig:r,editConfig:o,proxyConfig:a}=c,{isZMax:l,tablePage:n,footerData:i}=j,s=T.value,u=q.value,d=B.value,g=G.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=g,r)&&u.seq&&(0,_utils.isEnableConf)(d)&&(s.seqConfig=Object.assign({},t,{startIndex:(n.currentPage-1)*n.pageSize})),o&&(s.editConfig=Object.assign({},o)),s}),U=(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)(()=>B.value.currentPage),I=(0,_vue.computed)(()=>B.value.pageSize),O=(0,_vue.computed)(()=>B.value.total);let D=(0,_vue.computed)(()=>{var e=j.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),G=(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)}),N={refElem:d,refTable:$,refForm:i,refToolbar:u,refPager:s,refPopupContainerElem:v},Q={computeProxyOpts:q,computePagerOpts:B,computeFormOpts:h,computeToolbarOpts:V,computeZoomOpts:_},z={xID:t,props:c,context:e,reactData:j,internalData:M,getRefMaps:()=>N,getComputeMaps:()=>Q},W=()=>{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=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)))},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)},Y=(e,t,r)=>{var o=L.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()},J=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)})},X=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)}))},ee=e=>{X(e),z.dispatchEvent("sort-change",e,e.$event)},te=e=>{X(e),z.dispatchEvent("clear-all-sort",e,e.$event)},re=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())},oe=e=>{re(e),z.dispatchEvent("filter-change",e,e.$event)},ae=e=>{re(e),z.dispatchEvent("clear-all-filter",e,e.$event)},le=t=>{var e=c.proxyConfig,r=q.value;j.tableLoading||(e&&(0,_utils.isEnableConf)(r)?(z.dispatchEvent("form-submit",t,t.$event),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))},ne=e=>{var t=$.value,r=c.proxyConfig;let o=e.$event;var a=q.value;r&&(0,_utils.isEnableConf)(a)?(z.dispatchEvent("form-reset",e,o),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)},ie=e=>{z.dispatchEvent("form-submit-invalid",e,e.$event)},se=e=>{var t=e.$event;z.dispatchEvent("form-toggle-collapse",e,t),z.dispatchEvent("form-collapse",e,t)},ue=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(g[e])return g[e];errLog("vxe.error.notSlot",[e])}return null},de=e=>{let r={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?g[e]?r[t]=g[e]:errLog("vxe.error.notSlot",[e]):r[t]=e)}),r},ge=()=>{var{formConfig:e,proxyConfig:r}=c,o=j.formData,a=q.value,l=h.value;if(e&&(0,_utils.isEnableConf)(l)||g.form){let e=[];if(g.form)e=g.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)||g[e]&&(t[e]=g[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: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(z)},ce=()=>{var t,r,o,a,l,n=c.toolbarConfig,i=V.value,s=g.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)},ve=()=>{var e=g.top;return e?(0,_vue.h)("div",{ref:f,key:"top",class:"vxe-grid--top-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},me=()=>{var e=g.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},pe=()=>{var e=g.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},fe=()=>{var e=c.proxyConfig,t=k.value,r=q.value,o=Object.assign({},he),a=g.empty,l=g.loading,n=g.rowDragIcon||g["row-drag-icon"],i=g.columnDragIcon||g["column-drag-icon"],s=g.headerTooltip||g["header-tooltip"],u=g.tooltip,d=g.footerTooltip||g["footer-tooltip"],e=(e&&(0,_utils.isEnableConf)(r)&&(r.sort&&(o.onSortChange=ee,o.onClearAllSort=te),r.filter)&&(o.onFilterChange=oe,o.onClearAllFilter=ae),{});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),d&&(e.footerTooltip=d),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:$},t),o),e)])},xe=()=>g.bottom?(0,_vue.h)("div",{ref:x,key:"bottom",class:"vxe-grid--bottom-wrapper"},g.bottom({$grid:z,$gantt:null})):renderEmptyElement(z),be=()=>{var{proxyConfig:e,pagerConfig:t}=c,r=q.value,o=B.value,a=g.pager;return t&&(0,_utils.isEnableConf)(o)||g.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:J}),de(o.slots)):renderEmptyElement(z)]):renderEmptyElement(z)},E=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(ge());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:errLog("vxe.error.notProp",["layouts -> "+e])}}),t},he={},_e=(_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{}}),Ce=()=>{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=_e()),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=>{Ee("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")},ye=e=>{var t=_.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&j.isZMax&&!1!==t.escRestore&&z.triggerZoomEvent(e)},Ee=(e,t,r)=>{o(e,createEvent(r,{$grid:z,$gantt:null},t))};t={dispatchEvent:Ee,getEl(){return d.value},commitProxy(t,...v){let{showFooter:i,proxyConfig:s,toolbarConfig:e,pagerConfig:u,editRules:m,validConfig:p}=c,f=j.tablePage,x=L.value,b=K.value;var h=q.value;let _=B.value;var r=V.value;let{beforeQuery:C,afterQuery:y,beforeQueryFooter:a,afterQueryFooter:l,beforeDelete:n,afterDelete:E,beforeSave:R,afterSave:w,ajax:P={}}=h,F=h.response||h.props||{},T=$.value;if(T){let d=A(),g=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,g=r?r.item:null,t):(g=t).code;var o,k=g?g.params:null;switch(c){case"insert":return T.insert({});case"insert_edit":return T.insert({}).then(({row:e})=>T.setEditRow(e,!0));case"insert_actived":return T.insert({}).then(({row:e})=>T.setEditRow(e,!0));case"mark_cancel":O=c,I=L.value,U=$.value,(S=U?U.getCheckboxRecords():[]).length?(U&&U.togglePendingRow(S),z.clearCheckboxRow()):I&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:O,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return Y(c,"vxe.grid.removeSelectRecord",()=>T.removeCheckboxRow());case"import":T.importData(k);break;case"open_import":T.openImport(k);break;case"export":T.exportData(k);break;case"open_export":T.openExport(k);break;case"reset_custom":return T.resetCustom(!0);case"initial":case"reload":case"query":{var U=P.query;let n=P.querySuccess,o=P.queryError;if(U){var S="initial"===c,I="reload"===c;if(!S&&j.tableLoading)return(0,_vue.nextTick)();let e=null,r=[],a=[],t={};if(u&&((S||I)&&(f.currentPage=1),(0,_utils.isEnableConf)(_))&&(t=Object.assign({},f)),S){if(s&&(0,_utils.isEnableConf)(h)&&h.form&&(d=_e(),j.formData=d),T){let{tableFullColumn:e,fullColumnFieldData:o}=T.internalData;var O=T.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=T.getCheckedFilters()}}else T&&(I?e=T.clearAll():(r=T.getSortColumns(),a=T.getCheckedFilters()));let l={$table:T,$grid:z,$gantt:null,code:c,button:g,isInited:S,isReload:I,page:t,sort:r.length?r[0]:{},sorts:r,filters:a,form:d,options:U};return j.sortData=r,j.filterData=a,j.tableLoading=!0,Promise.all([Promise.resolve((C||U)(l,...v)),e]).then(([e])=>{let t=[];var r,o,a;return j.tableLoading=!1,e&&(r={data:e,$table:T,$grid:z,$gantt:null},u&&(0,_utils.isEnableConf)(_)?(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),T?T.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}))}errLog("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"queryFooter":{var D=P.queryFooter;let r=P.queryFooterSuccess,o=P.queryFooterError;if(D){let e=[],t=(T&&(e=T.getCheckedFilters()),{$table:T,$grid:z,$gantt:null,code:c,button:g,filters:e,form:d,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}))}errLog("vxe.error.notFunc",["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=>!T.isInsertByRow(e));D={removeRecords:t};let r={$table:T,$grid:z,$gantt:null,code:c,button:g,body:D,form:d,options:o};if(e.length)return Y(c,"vxe.grid.deleteSelectRecord",()=>t.length?(j.tableLoading=!0,Promise.resolve((n||o)(r,...v)).then(e=>(j.tableLoading=!1,T.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}))):T.remove(e));x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else errLog("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let i=P.save,s=P.saveSuccess,u=P.saveError;if(i){let t=T.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:l}=t,n={$table:T,$grid:z,$gantt:null,code:c,button:g,body:t,form:d,options:i},e=(r.length&&(t.pendingRecords=l.filter(e=>-1===T.findRowIndexOf(r,e))),l.length&&(t.insertRecords=r.filter(e=>-1===T.findRowIndexOf(l,e))),Promise.resolve());return(e=m?T[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,T.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"}))})}errLog("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var D=commands.get(c);D&&((D=D.tableCommandMethod||D.commandMethod)?D({code:c,button:g,$grid:z,$table:T,$gantt:null},...v):errLog("vxe.error.notCommands",[c]))}}return(0,_vue.nextTick)()},getParams(){return c.params},zoom(){return j.isZMax?z.revert():z.maximize()},isMaximized(){return j.isZMax},maximize(){return ue(!0)},revert(){return ue()},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=D.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=D.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 Re={extendTableMethods:r,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=g[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var t=c.height,r=j.isZMax,o=d.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=d.value;return e?(e=e.parentElement,(j.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-Re.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,a,t,Re,{loadColumn(e){var t=$.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||g[e]||errLog("vxe.error.notSlot",[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,()=>{W()}),(0,_vue.watch)(S,()=>{C("currentPage")}),(0,_vue.watch)(I,()=>{C("pageSize")}),(0,_vue.watch)(O,()=>{C("total")}),(0,_vue.watch)(()=>c.proxyConfig,()=>{Ce()}),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&&errLog("vxe.error.reqComp",["vxe-form"]),c.pagerConfig&&!l&&errLog("vxe.error.reqComp",["vxe-pager"]),t.props&&warnLog("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),e&&e.length&&z.loadColumn(e),W(),Ce()}),globalEvents.on(z,"keydown",ye)}),(0,_vue.onBeforeUnmount)(()=>{globalEvents.off(z,"keydown"),_xeUtils.default.assign(j,createReactData()),_xeUtils.default.assign(M,createInternalData())}),z.renderVN=()=>{var e=P.value,t=F.value,r=G.value;return(0,_vue.h)("div",{ref:d,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}=U.value,o=g.asideLeft||g["aside-left"],a=g.asideRight||g["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()}});
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{warnLog,errLog}=(0,_log.createComponentLog)("grid"),{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","scrollToStartRow","scrollToEndRow","scrollToRow","scrollToStartColumn","scrollToEndColumn","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","setMergeHeaderCells","removeMergeHeaderCells","getMergeHeaderCells","clearMergeHeaderCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","setCustomStoreData","getCustomStoreData","setRowGroupExpand","setRowGroupExpandByField","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","updateCellLabel","clearFormatterCache","getFooterCellLabel","updateFooterCellLabel","clearFooterFormatterCache","getUpdateCells","undo","redo","effectCellData","getCellElement","focus","blur","connect","connectToolbar"];function createReactData(){var e;return{tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],footerData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}}function createInternalData(){return{uFoot:!1}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",props:_props.gridProps,emits:_emits.gridEmits,setup(c,e){let{slots:g,emit:o}=e;var t=_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)(createReactData()),M=createInternalData(),d=(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 r=e=>{let t={};return e.forEach(r=>{t[r]=(...e)=>{var t=$.value;if(t&&t[r])return t[r](...e)}}),t};let a=r(tableComponentMethodKeys),q=(tableComponentMethodKeys.forEach(r=>{a[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)}),L=(0,_vue.computed)(()=>{var e=q.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),B=(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)),_=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,c.zoomConfig)),F=(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}),T=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{void 0!==c[e]&&(t[e]=c[e])}),t}),U=(0,_vue.computed)(()=>{var{showFooter:e,seqConfig:t,pagerConfig:r,editConfig:o,proxyConfig:a}=c,{isZMax:l,tablePage:n,footerData:i}=j,s=T.value,u=q.value,d=B.value,g=G.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=g,r)&&u.seq&&(0,_utils.isEnableConf)(d)&&(s.seqConfig=Object.assign({},t,{startIndex:(n.currentPage-1)*n.pageSize})),o&&(s.editConfig=Object.assign({},o)),s}),k=(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)(()=>B.value.currentPage),I=(0,_vue.computed)(()=>B.value.pageSize),O=(0,_vue.computed)(()=>B.value.total);let D=(0,_vue.computed)(()=>{var e=j.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),G=(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)}),N={refElem:d,refTable:$,refForm:i,refToolbar:u,refPager:s,refPopupContainerElem:v},Q={computeProxyOpts:q,computePagerOpts:B,computeFormOpts:h,computeToolbarOpts:V,computeZoomOpts:_},z={xID:t,props:c,context:e,reactData:j,internalData:M,getRefMaps:()=>N,getComputeMaps:()=>Q},W=()=>{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=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)))},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)},Y=(e,t,r)=>{var o=L.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()},J=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)})},X=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)}))},ee=e=>{X(e),z.dispatchEvent("sort-change",e,e.$event)},te=e=>{X(e),z.dispatchEvent("clear-all-sort",e,e.$event)},re=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())},oe=e=>{re(e),z.dispatchEvent("filter-change",e,e.$event)},ae=e=>{re(e),z.dispatchEvent("clear-all-filter",e,e.$event)},le=t=>{var e=c.proxyConfig,r=q.value;j.tableLoading||(e&&(0,_utils.isEnableConf)(r)?(z.dispatchEvent("form-submit",t,t.$event),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))},ne=e=>{var t=$.value,r=c.proxyConfig;let o=e.$event;var a=q.value;r&&(0,_utils.isEnableConf)(a)?(z.dispatchEvent("form-reset",e,o),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)},ie=e=>{z.dispatchEvent("form-submit-invalid",e,e.$event)},se=e=>{var t=e.$event;z.dispatchEvent("form-toggle-collapse",e,t),z.dispatchEvent("form-collapse",e,t)},ue=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(g[e])return g[e];errLog("vxe.error.notSlot",[e])}return null},de=e=>{let r={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?g[e]?r[t]=g[e]:errLog("vxe.error.notSlot",[e]):r[t]=e)}),r},ge=()=>{var{formConfig:e,proxyConfig:r}=c,o=j.formData,a=q.value,l=h.value;if(e&&(0,_utils.isEnableConf)(l)||g.form){let e=[];if(g.form)e=g.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)||g[e]&&(t[e]=g[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: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(z)},ce=()=>{var t,r,o,a,l,n=c.toolbarConfig,i=V.value,s=g.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)},ve=()=>{var e=g.top;return e?(0,_vue.h)("div",{ref:f,key:"top",class:"vxe-grid--top-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},me=()=>{var e=g.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},pe=()=>{var e=g.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:z,$gantt:null})):renderEmptyElement(z)},fe=()=>{var e=c.proxyConfig,t=U.value,r=q.value,o=Object.assign({},he),a=g.empty,l=g.loading,n=g.rowDragIcon||g["row-drag-icon"],i=g.columnDragIcon||g["column-drag-icon"],s=g.headerTooltip||g["header-tooltip"],u=g.tooltip,d=g.footerTooltip||g["footer-tooltip"],e=(e&&(0,_utils.isEnableConf)(r)&&(r.sort&&(o.onSortChange=ee,o.onClearAllSort=te),r.filter)&&(o.onFilterChange=oe,o.onClearAllFilter=ae),{});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),d&&(e.footerTooltip=d),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:$},t),o),e)])},xe=()=>g.bottom?(0,_vue.h)("div",{ref:x,key:"bottom",class:"vxe-grid--bottom-wrapper"},g.bottom({$grid:z,$gantt:null})):renderEmptyElement(z),be=()=>{var{proxyConfig:e,pagerConfig:t}=c,r=q.value,o=B.value,a=g.pager;return t&&(0,_utils.isEnableConf)(o)||g.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:J}),de(o.slots)):renderEmptyElement(z)]):renderEmptyElement(z)},E=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(ge());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:errLog("vxe.error.notProp",["layouts -> "+e])}}),t},he={},_e=(_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{}}),Ce=()=>{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=_e()),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=>{Ee("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")},ye=e=>{var t=_.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&j.isZMax&&!1!==t.escRestore&&z.triggerZoomEvent(e)},Ee=(e,t,r)=>{o(e,createEvent(r,{$grid:z,$gantt:null},t))};t={dispatchEvent:Ee,getEl(){return d.value},commitProxy(t,...v){let{showFooter:i,proxyConfig:s,toolbarConfig:e,pagerConfig:u,editRules:m,validConfig:p}=c,f=j.tablePage,x=L.value,b=K.value;var h=q.value;let _=B.value;var r=V.value;let{beforeQuery:C,afterQuery:y,beforeQueryFooter:a,afterQueryFooter:l,beforeDelete:n,afterDelete:E,beforeSave:R,afterSave:w,ajax:P={}}=h,F=h.response||h.props||{},T=$.value;if(T){let d=A(),g=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,g=r?r.item:null,t):(g=t).code;var o,U=g?g.params:null;switch(c){case"insert":return T.insert({});case"insert_edit":return T.insert({}).then(({row:e})=>T.setEditRow(e,!0));case"insert_actived":return T.insert({}).then(({row:e})=>T.setEditRow(e,!0));case"mark_cancel":O=c,I=L.value,k=$.value,(S=k?k.getCheckboxRecords():[]).length?(k&&k.togglePendingRow(S),z.clearCheckboxRow()):I&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:O,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return Y(c,"vxe.grid.removeSelectRecord",()=>T.removeCheckboxRow());case"import":T.importData(U);break;case"open_import":T.openImport(U);break;case"export":T.exportData(U);break;case"open_export":T.openExport(U);break;case"reset_custom":return T.resetCustom(!0);case"initial":case"reload":case"query":{var k=P.query;let n=P.querySuccess,o=P.queryError;if(k){var S="initial"===c,I="reload"===c;if(!S&&j.tableLoading)return(0,_vue.nextTick)();let e=null,r=[],a=[],t={};if(u&&((S||I)&&(f.currentPage=1),(0,_utils.isEnableConf)(_))&&(t=Object.assign({},f)),S){if(s&&(0,_utils.isEnableConf)(h)&&h.form&&(d=_e(),j.formData=d),T){let{tableFullColumn:e,fullColumnFieldData:o}=T.internalData;var O=T.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=T.getCheckedFilters()}}else T&&(I?e=T.clearAll():(r=T.getSortColumns(),a=T.getCheckedFilters()));let l={$table:T,$grid:z,$gantt:null,code:c,button:g,isInited:S,isReload:I,page:t,sort:r.length?r[0]:{},sorts:r,filters:a,form:d,options:k};return j.sortData=r,j.filterData=a,j.tableLoading=!0,Promise.all([Promise.resolve((C||k)(l,...v)),e]).then(([e])=>{let t=[];var r,o,a;return j.tableLoading=!1,e&&(r={data:e,$table:T,$grid:z,$gantt:null},u&&(0,_utils.isEnableConf)(_)?(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),T?T.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}))}errLog("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"queryFooter":{var D=P.queryFooter;let r=P.queryFooterSuccess,o=P.queryFooterError;if(D){let e=[],t=(T&&(e=T.getCheckedFilters()),{$table:T,$grid:z,$gantt:null,code:c,button:g,filters:e,form:d,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}))}errLog("vxe.error.notFunc",["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=>!T.isInsertByRow(e));D={removeRecords:t};let r={$table:T,$grid:z,$gantt:null,code:c,button:g,body:D,form:d,options:o};if(e.length)return Y(c,"vxe.grid.deleteSelectRecord",()=>t.length?(j.tableLoading=!0,Promise.resolve((n||o)(r,...v)).then(e=>(j.tableLoading=!1,T.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}))):T.remove(e));x&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else errLog("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let i=P.save,s=P.saveSuccess,u=P.saveError;if(i){let t=T.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:l}=t,n={$table:T,$grid:z,$gantt:null,code:c,button:g,body:t,form:d,options:i},e=(r.length&&(t.pendingRecords=l.filter(e=>-1===T.findRowIndexOf(r,e))),l.length&&(t.insertRecords=r.filter(e=>-1===T.findRowIndexOf(l,e))),Promise.resolve());return(e=m?T[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,T.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"}))})}errLog("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var D=commands.get(c);D&&((D=D.tableCommandMethod||D.commandMethod)?D({code:c,button:g,$grid:z,$table:T,$gantt:null},...v):errLog("vxe.error.notCommands",[c]))}}return(0,_vue.nextTick)()},getParams(){return c.params},zoom(){return j.isZMax?z.revert():z.maximize()},isMaximized(){return j.isZMax},maximize(){return ue(!0)},revert(){return ue()},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=D.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=D.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 Re={extendTableMethods:r,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=g[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var t=c.height,r=j.isZMax,o=d.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=d.value;return e?(e=e.parentElement,(j.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-Re.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,a,t,Re,{loadColumn(e){var t=$.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||g[e]||errLog("vxe.error.notSlot",[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,()=>{W()}),(0,_vue.watch)(S,()=>{C("currentPage")}),(0,_vue.watch)(I,()=>{C("pageSize")}),(0,_vue.watch)(O,()=>{C("total")}),(0,_vue.watch)(()=>c.proxyConfig,()=>{Ce()}),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&&errLog("vxe.error.reqComp",["vxe-form"]),c.pagerConfig&&!l&&errLog("vxe.error.reqComp",["vxe-pager"]),t.props&&warnLog("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),e&&e.length&&z.loadColumn(e),W(),Ce()}),globalEvents.on(z,"keydown",ye)}),(0,_vue.onBeforeUnmount)(()=>{globalEvents.off(z,"keydown"),_xeUtils.default.assign(j,createReactData()),_xeUtils.default.assign(M,createInternalData())}),z.renderVN=()=>{var e=P.value,t=F.value,r=G.value;return(0,_vue.h)("div",{ref:d,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}=k.value,o=g.asideLeft||g["aside-left"],a=g.asideRight||g["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()}});