vxe-table 4.12.0-beta.1 → 4.12.0-beta.10

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 (166) hide show
  1. package/es/grid/src/grid.js +70 -75
  2. package/es/locale/lang/ar-EG.js +3 -0
  3. package/es/locale/lang/de-DE.js +3 -0
  4. package/es/locale/lang/en-US.js +3 -0
  5. package/es/locale/lang/es-ES.js +3 -0
  6. package/es/locale/lang/fr-FR.js +3 -0
  7. package/es/locale/lang/hu-HU.js +3 -0
  8. package/es/locale/lang/hy-AM.js +3 -0
  9. package/es/locale/lang/id-ID.js +3 -0
  10. package/es/locale/lang/it-IT.js +3 -0
  11. package/es/locale/lang/ja-JP.js +3 -0
  12. package/es/locale/lang/ko-KR.js +3 -0
  13. package/es/locale/lang/nb-NO.js +3 -0
  14. package/es/locale/lang/pt-BR.js +3 -0
  15. package/es/locale/lang/ru-RU.js +3 -0
  16. package/es/locale/lang/th-TH.js +3 -0
  17. package/es/locale/lang/ug-CN.js +3 -0
  18. package/es/locale/lang/uk-UA.js +3 -0
  19. package/es/locale/lang/vi-VN.js +3 -0
  20. package/es/locale/lang/zh-CHT.js +3 -0
  21. package/es/locale/lang/zh-CN.js +3 -0
  22. package/es/style.css +1 -1
  23. package/es/table/module/custom/panel.js +19 -21
  24. package/es/table/module/export/export-panel.js +17 -19
  25. package/es/table/module/export/hook.js +5 -11
  26. package/es/table/module/export/import-panel.js +11 -13
  27. package/es/table/module/keyboard/hook.js +47 -4
  28. package/es/table/module/validator/hook.js +1 -3
  29. package/es/table/render/index.js +90 -61
  30. package/es/table/src/body.js +11 -6
  31. package/es/table/src/columnInfo.js +26 -28
  32. package/es/table/src/footer.js +7 -2
  33. package/es/table/src/props.js +4 -0
  34. package/es/table/src/table.js +366 -187
  35. package/es/table/src/util.js +30 -3
  36. package/es/toolbar/src/toolbar.js +16 -24
  37. package/es/ui/index.js +1 -1
  38. package/es/ui/src/log.js +1 -1
  39. package/lib/grid/src/grid.js +67 -79
  40. package/lib/grid/src/grid.min.js +1 -1
  41. package/lib/index.umd.js +1274 -12216
  42. package/lib/index.umd.min.js +1 -1
  43. package/lib/locale/lang/ar-EG.js +3 -0
  44. package/lib/locale/lang/ar-EG.min.js +1 -1
  45. package/lib/locale/lang/de-DE.js +3 -0
  46. package/lib/locale/lang/de-DE.min.js +1 -1
  47. package/lib/locale/lang/en-US.js +3 -0
  48. package/lib/locale/lang/en-US.min.js +1 -1
  49. package/lib/locale/lang/en-US.umd.js +3 -0
  50. package/lib/locale/lang/es-ES.js +3 -0
  51. package/lib/locale/lang/es-ES.min.js +1 -1
  52. package/lib/locale/lang/es-ES.umd.js +3 -0
  53. package/lib/locale/lang/fr-FR.js +3 -0
  54. package/lib/locale/lang/fr-FR.min.js +1 -1
  55. package/lib/locale/lang/hu-HU.js +3 -0
  56. package/lib/locale/lang/hu-HU.min.js +1 -1
  57. package/lib/locale/lang/hu-HU.umd.js +3 -0
  58. package/lib/locale/lang/hy-AM.js +3 -0
  59. package/lib/locale/lang/hy-AM.min.js +1 -1
  60. package/lib/locale/lang/id-ID.js +3 -0
  61. package/lib/locale/lang/id-ID.min.js +1 -1
  62. package/lib/locale/lang/it-IT.js +3 -0
  63. package/lib/locale/lang/it-IT.min.js +1 -1
  64. package/lib/locale/lang/ja-JP.js +3 -0
  65. package/lib/locale/lang/ja-JP.min.js +1 -1
  66. package/lib/locale/lang/ja-JP.umd.js +3 -0
  67. package/lib/locale/lang/ko-KR.js +3 -0
  68. package/lib/locale/lang/ko-KR.min.js +1 -1
  69. package/lib/locale/lang/ko-KR.umd.js +3 -0
  70. package/lib/locale/lang/nb-NO.js +3 -0
  71. package/lib/locale/lang/nb-NO.min.js +1 -1
  72. package/lib/locale/lang/pt-BR.js +3 -0
  73. package/lib/locale/lang/pt-BR.min.js +1 -1
  74. package/lib/locale/lang/pt-BR.umd.js +3 -0
  75. package/lib/locale/lang/ru-RU.js +3 -0
  76. package/lib/locale/lang/ru-RU.min.js +1 -1
  77. package/lib/locale/lang/ru-RU.umd.js +3 -0
  78. package/lib/locale/lang/th-TH.js +3 -0
  79. package/lib/locale/lang/th-TH.min.js +1 -1
  80. package/lib/locale/lang/ug-CN.js +3 -0
  81. package/lib/locale/lang/ug-CN.min.js +1 -1
  82. package/lib/locale/lang/uk-UA.js +3 -0
  83. package/lib/locale/lang/uk-UA.min.js +1 -1
  84. package/lib/locale/lang/uk-UA.umd.js +3 -0
  85. package/lib/locale/lang/vi-VN.js +3 -0
  86. package/lib/locale/lang/vi-VN.min.js +1 -1
  87. package/lib/locale/lang/zh-CHT.js +3 -0
  88. package/lib/locale/lang/zh-CHT.min.js +1 -1
  89. package/lib/locale/lang/zh-CN.js +3 -0
  90. package/lib/locale/lang/zh-CN.min.js +1 -1
  91. package/lib/locale/lang/zh-CN.umd.js +3 -0
  92. package/lib/style.css +1 -1
  93. package/lib/table/module/custom/panel.js +21 -23
  94. package/lib/table/module/custom/panel.min.js +1 -1
  95. package/lib/table/module/export/export-panel.js +17 -19
  96. package/lib/table/module/export/export-panel.min.js +1 -1
  97. package/lib/table/module/export/hook.js +5 -11
  98. package/lib/table/module/export/hook.min.js +1 -1
  99. package/lib/table/module/export/import-panel.js +11 -13
  100. package/lib/table/module/export/import-panel.min.js +1 -1
  101. package/lib/table/module/keyboard/hook.js +51 -4
  102. package/lib/table/module/keyboard/hook.min.js +1 -1
  103. package/lib/table/module/validator/hook.js +1 -3
  104. package/lib/table/module/validator/hook.min.js +1 -1
  105. package/lib/table/render/index.js +98 -66
  106. package/lib/table/render/index.min.js +1 -1
  107. package/lib/table/src/body.js +10 -5
  108. package/lib/table/src/body.min.js +1 -1
  109. package/lib/table/src/columnInfo.js +30 -32
  110. package/lib/table/src/columnInfo.min.js +1 -1
  111. package/lib/table/src/footer.js +7 -2
  112. package/lib/table/src/footer.min.js +1 -1
  113. package/lib/table/src/props.js +4 -0
  114. package/lib/table/src/props.min.js +1 -1
  115. package/lib/table/src/table.js +399 -185
  116. package/lib/table/src/table.min.js +1 -1
  117. package/lib/table/src/util.js +35 -6
  118. package/lib/table/src/util.min.js +1 -1
  119. package/lib/toolbar/src/toolbar.js +16 -24
  120. package/lib/toolbar/src/toolbar.min.js +1 -1
  121. package/lib/ui/index.js +1 -1
  122. package/lib/ui/index.min.js +1 -1
  123. package/lib/ui/src/log.js +1 -1
  124. package/lib/ui/src/log.min.js +1 -1
  125. package/package.json +2 -2
  126. package/packages/grid/src/grid.ts +75 -81
  127. package/packages/locale/lang/ar-EG.ts +3 -0
  128. package/packages/locale/lang/de-DE.ts +3 -0
  129. package/packages/locale/lang/en-US.ts +3 -0
  130. package/packages/locale/lang/es-ES.ts +3 -0
  131. package/packages/locale/lang/fr-FR.ts +3 -0
  132. package/packages/locale/lang/hu-HU.ts +3 -0
  133. package/packages/locale/lang/hy-AM.ts +3 -0
  134. package/packages/locale/lang/id-ID.ts +3 -0
  135. package/packages/locale/lang/it-IT.ts +3 -0
  136. package/packages/locale/lang/ja-JP.ts +3 -0
  137. package/packages/locale/lang/ko-KR.ts +3 -0
  138. package/packages/locale/lang/nb-NO.ts +3 -0
  139. package/packages/locale/lang/pt-BR.ts +3 -0
  140. package/packages/locale/lang/ru-RU.ts +3 -0
  141. package/packages/locale/lang/th-TH.ts +3 -0
  142. package/packages/locale/lang/ug-CN.ts +3 -0
  143. package/packages/locale/lang/uk-UA.ts +3 -0
  144. package/packages/locale/lang/vi-VN.ts +3 -0
  145. package/packages/locale/lang/zh-CHT.ts +3 -0
  146. package/packages/locale/lang/zh-CN.ts +3 -0
  147. package/packages/table/module/custom/panel.ts +19 -21
  148. package/packages/table/module/export/export-panel.ts +17 -19
  149. package/packages/table/module/export/hook.ts +5 -11
  150. package/packages/table/module/export/import-panel.ts +11 -13
  151. package/packages/table/module/keyboard/hook.ts +47 -6
  152. package/packages/table/module/validator/hook.ts +1 -3
  153. package/packages/table/render/index.ts +89 -59
  154. package/packages/table/src/body.ts +10 -5
  155. package/packages/table/src/columnInfo.ts +26 -28
  156. package/packages/table/src/footer.ts +7 -2
  157. package/packages/table/src/props.ts +4 -0
  158. package/packages/table/src/table.ts +371 -185
  159. package/packages/table/src/util.ts +34 -3
  160. package/packages/toolbar/src/toolbar.ts +16 -24
  161. /package/es/{iconfont.1741051902838.ttf → iconfont.1741664494856.ttf} +0 -0
  162. /package/es/{iconfont.1741051902838.woff → iconfont.1741664494856.woff} +0 -0
  163. /package/es/{iconfont.1741051902838.woff2 → iconfont.1741664494856.woff2} +0 -0
  164. /package/lib/{iconfont.1741051902838.ttf → iconfont.1741664494856.ttf} +0 -0
  165. /package/lib/{iconfont.1741051902838.woff → iconfont.1741664494856.woff} +0 -0
  166. /package/lib/{iconfont.1741051902838.woff2 → iconfont.1741664494856.woff2} +0 -0
@@ -2,6 +2,7 @@ import { watch, reactive } from 'vue';
2
2
  import XEUtils from 'xe-utils';
3
3
  import { ColumnInfo } from './columnInfo';
4
4
  import { isPx, isScale } from '../../ui/src/dom';
5
+ import { eqEmptyValue } from '../../ui/src/utils';
5
6
  const getAllConvertColumns = (columns, parentColumn) => {
6
7
  const result = [];
7
8
  columns.forEach((column) => {
@@ -90,14 +91,33 @@ export function getRowUniqueId() {
90
91
  export function getRowkey($xeTable) {
91
92
  const { props } = $xeTable;
92
93
  const { computeRowOpts } = $xeTable.getComputeMaps();
93
- const { rowId } = props;
94
94
  const rowOpts = computeRowOpts.value;
95
- return rowId || rowOpts.keyField || '_X_ROW_KEY';
95
+ return `${props.rowId || rowOpts.keyField || '_X_ROW_KEY'}`;
96
96
  }
97
97
  // 行主键 value
98
98
  export function getRowid($xeTable, row) {
99
99
  const rowid = XEUtils.get(row, getRowkey($xeTable));
100
- return XEUtils.eqNull(rowid) ? '' : encodeURIComponent(rowid);
100
+ return encodeRowid(rowid);
101
+ }
102
+ // 编码行主键
103
+ export function encodeRowid(rowVal) {
104
+ return XEUtils.eqNull(rowVal) ? '' : encodeURIComponent(rowVal);
105
+ }
106
+ export function updateDeepRowKey(row, rowkey) {
107
+ let rowid = XEUtils.get(row, rowkey);
108
+ if (eqEmptyValue(rowid)) {
109
+ rowid = getRowUniqueId();
110
+ XEUtils.set(row, rowkey, rowid);
111
+ }
112
+ return rowid;
113
+ }
114
+ export function updateFastRowKey(row, rowkey) {
115
+ let rowid = row[rowkey];
116
+ if (eqEmptyValue(rowid)) {
117
+ rowid = getRowUniqueId();
118
+ row[rowkey] = rowid;
119
+ }
120
+ return rowid;
101
121
  }
102
122
  export const handleFieldOrColumn = ($xeTable, fieldOrColumn) => {
103
123
  if (fieldOrColumn) {
@@ -105,6 +125,13 @@ export const handleFieldOrColumn = ($xeTable, fieldOrColumn) => {
105
125
  }
106
126
  return null;
107
127
  };
128
+ export const handleRowidOrRow = ($xeTable, rowidOrRow) => {
129
+ if (rowidOrRow) {
130
+ const rowid = XEUtils.isString(rowidOrRow) || XEUtils.isNumber(rowidOrRow) ? rowidOrRow : getRowid($xeTable, rowidOrRow);
131
+ return $xeTable.getRowById(rowid);
132
+ }
133
+ return null;
134
+ };
108
135
  function getPaddingLeftRightSize(elem) {
109
136
  if (elem) {
110
137
  const computedStyle = getComputedStyle(elem);
@@ -186,9 +186,7 @@ export default defineComponent({
186
186
  tCommandMethod(params);
187
187
  }
188
188
  else {
189
- if (process.env.NODE_ENV === 'development') {
190
- errLog('vxe.error.notCommands', [code]);
191
- }
189
+ errLog('vxe.error.notCommands', [code]);
192
190
  }
193
191
  }
194
192
  $xeToolbar.dispatchEvent('button-click', params, evnt);
@@ -212,9 +210,7 @@ export default defineComponent({
212
210
  tCommandMethod(params);
213
211
  }
214
212
  else {
215
- if (process.env.NODE_ENV === 'development') {
216
- errLog('vxe.error.notCommands', [code]);
217
- }
213
+ errLog('vxe.error.notCommands', [code]);
218
214
  }
219
215
  }
220
216
  $xeToolbar.dispatchEvent('tool-click', params, evnt);
@@ -541,25 +537,21 @@ export default defineComponent({
541
537
  warnLog('vxe.error.notFunc', ['queryMethod']);
542
538
  }
543
539
  const customOpts = computeCustomOpts.value;
544
- if (process.env.NODE_ENV === 'development') {
545
- if (customOpts.isFooter) {
546
- warnLog('vxe.error.delProp', ['toolbar.custom.isFooter', 'table.custom-config.showFooter']);
547
- }
548
- if (customOpts.showFooter) {
549
- warnLog('vxe.error.delProp', ['toolbar.custom.showFooter', 'table.custom-config.showFooter']);
550
- }
551
- if (customOpts.immediate) {
552
- warnLog('vxe.error.delProp', ['toolbar.custom.immediate', 'table.custom-config.immediate']);
553
- }
554
- if (customOpts.trigger) {
555
- warnLog('vxe.error.delProp', ['toolbar.custom.trigger', 'table.custom-config.trigger']);
556
- }
540
+ if (customOpts.isFooter) {
541
+ warnLog('vxe.error.delProp', ['toolbar.custom.isFooter', 'table.custom-config.showFooter']);
557
542
  }
558
- if (process.env.NODE_ENV === 'development') {
559
- if (props.refresh || props.import || props.export || props.print || props.zoom) {
560
- if (!VxeUIButtonComponent) {
561
- errLog('vxe.error.reqComp', ['vxe-button']);
562
- }
543
+ if (customOpts.showFooter) {
544
+ warnLog('vxe.error.delProp', ['toolbar.custom.showFooter', 'table.custom-config.showFooter']);
545
+ }
546
+ if (customOpts.immediate) {
547
+ warnLog('vxe.error.delProp', ['toolbar.custom.immediate', 'table.custom-config.immediate']);
548
+ }
549
+ if (customOpts.trigger) {
550
+ warnLog('vxe.error.delProp', ['toolbar.custom.trigger', 'table.custom-config.trigger']);
551
+ }
552
+ if (props.refresh || props.import || props.export || props.print || props.zoom) {
553
+ if (!VxeUIButtonComponent) {
554
+ errLog('vxe.error.reqComp', ['vxe-button']);
563
555
  }
564
556
  }
565
557
  });
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.12.0-beta.1";
3
+ export const version = "4.12.0-beta.10";
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.12.0-beta.1"}`;
3
+ const version = `table v${"4.12.0-beta.10"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
@@ -28,7 +28,7 @@ const {
28
28
  renderEmptyElement
29
29
  } = _ui.VxeUI;
30
30
  const tableComponentPropKeys = Object.keys(_props.default);
31
- const tableComponentMethodKeys = ['clearAll', 'syncData', 'updateData', 'loadData', 'reloadData', 'reloadRow', 'loadColumn', 'reloadColumn', 'getRowNode', 'getColumnNode', 'getRowIndex', 'getVTRowIndex', 'getVMRowIndex', 'getColumnIndex', 'getVTColumnIndex', 'getVMColumnIndex', 'setRow', 'createData', 'createRow', 'revertData', 'clearData', 'isInsertByRow', 'isUpdateByRow', 'getColumns', 'getColumnById', 'getColumnByField', 'getTableColumn', 'getFullColumns', 'getData', 'getCheckboxRecords', 'getParentRow', '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', 'getPendingRecords', 'clearPendingRow', 'sort', 'setSort', 'clearSort', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', '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', 'openTooltip', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect'];
31
+ 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', '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', 'getPendingRecords', 'clearPendingRow', 'sort', 'setSort', 'clearSort', 'isSort', 'getSortColumns', 'closeFilter', 'isFilter', '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', 'openTooltip', 'moveColumnTo', 'moveRowTo', 'getCellLabel', 'getCellElement', 'focus', 'blur', 'connect'];
32
32
  const 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'];
33
33
  var _default = exports.default = (0, _vue.defineComponent)({
34
34
  name: 'VxeGrid',
@@ -373,10 +373,10 @@ var _default = exports.default = (0, _vue.defineComponent)({
373
373
  const proxyOpts = computeProxyOpts.value;
374
374
  tablePage.currentPage = currentPage;
375
375
  tablePage.pageSize = pageSize;
376
- gridMethods.dispatchEvent('page-change', params, $event);
376
+ $xeGrid.dispatchEvent('page-change', params, $event);
377
377
  if (proxyConfig && (0, _utils.isEnableConf)(proxyOpts)) {
378
- gridMethods.commitProxy('query').then(rest => {
379
- gridMethods.dispatchEvent('proxy-query', rest, $event);
378
+ $xeGrid.commitProxy('query').then(rest => {
379
+ $xeGrid.dispatchEvent('proxy-query', rest, $event);
380
380
  });
381
381
  }
382
382
  };
@@ -490,9 +490,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
490
490
  if (slots[funcSlot]) {
491
491
  return slots[funcSlot];
492
492
  } else {
493
- if (process.env.NODE_ENV === 'development') {
494
- (0, _log.errLog)('vxe.error.notSlot', [funcSlot]);
495
- }
493
+ (0, _log.errLog)('vxe.error.notSlot', [funcSlot]);
496
494
  }
497
495
  } else {
498
496
  return funcSlot;
@@ -500,6 +498,23 @@ var _default = exports.default = (0, _vue.defineComponent)({
500
498
  }
501
499
  return null;
502
500
  };
501
+ const getConfigSlot = slotConfigs => {
502
+ const slotConf = {};
503
+ _xeUtils.default.objectMap(slotConfigs, (slotFunc, slotKey) => {
504
+ if (slotFunc) {
505
+ if (_xeUtils.default.isString(slotFunc)) {
506
+ if (slots[slotFunc]) {
507
+ slotConf[slotKey] = slots[slotFunc];
508
+ } else {
509
+ (0, _log.errLog)('vxe.error.notSlot', [slotFunc]);
510
+ }
511
+ } else {
512
+ slotConf[slotKey] = slotFunc;
513
+ }
514
+ }
515
+ });
516
+ return slotConf;
517
+ };
503
518
  /**
504
519
  * 渲染表单
505
520
  */
@@ -564,7 +579,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
564
579
  class: 'vxe-grid--form-wrapper'
565
580
  }, slotVNs);
566
581
  }
567
- return (0, _vue.createCommentVNode)();
582
+ return renderEmptyElement($xeGrid);
568
583
  };
569
584
  /**
570
585
  * 渲染工具栏
@@ -605,7 +620,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
605
620
  class: 'vxe-grid--toolbar-wrapper'
606
621
  }, slotVNs);
607
622
  }
608
- return (0, _vue.createCommentVNode)();
623
+ return renderEmptyElement($xeGrid);
609
624
  };
610
625
  /**
611
626
  * 渲染表格顶部区域
@@ -620,7 +635,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
620
635
  $grid: $xeGrid
621
636
  }));
622
637
  }
623
- return (0, _vue.createCommentVNode)();
638
+ return renderEmptyElement($xeGrid);
624
639
  };
625
640
  const renderTableLeft = () => {
626
641
  const leftSlot = slots.left;
@@ -631,7 +646,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
631
646
  $grid: $xeGrid
632
647
  }));
633
648
  }
634
- return (0, _vue.createCommentVNode)();
649
+ return renderEmptyElement($xeGrid);
635
650
  };
636
651
  const renderTableRight = () => {
637
652
  const rightSlot = slots.right;
@@ -642,7 +657,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
642
657
  $grid: $xeGrid
643
658
  }));
644
659
  }
645
- return (0, _vue.createCommentVNode)();
660
+ return renderEmptyElement($xeGrid);
646
661
  };
647
662
  /**
648
663
  * 渲染表格
@@ -698,7 +713,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
698
713
  $grid: $xeGrid
699
714
  }));
700
715
  }
701
- return (0, _vue.createCommentVNode)();
716
+ return renderEmptyElement($xeGrid);
702
717
  };
703
718
  /**
704
719
  * 渲染分页
@@ -710,42 +725,21 @@ var _default = exports.default = (0, _vue.defineComponent)({
710
725
  } = props;
711
726
  const proxyOpts = computeProxyOpts.value;
712
727
  const pagerOpts = computePagerOpts.value;
728
+ const pagerSlot = slots.pager;
713
729
  if (pagerConfig && (0, _utils.isEnableConf)(pagerOpts) || slots.pager) {
714
- let slotVNs = [];
715
- if (slots.pager) {
716
- slotVNs = slots.pager({
717
- $grid: $xeGrid
718
- });
719
- } else {
720
- const pagerOptSlots = pagerOpts.slots;
721
- const pagerSlots = {};
722
- let leftSlot;
723
- let rightSlot;
724
- if (pagerOptSlots) {
725
- leftSlot = getFuncSlot(pagerOptSlots, 'left');
726
- rightSlot = getFuncSlot(pagerOptSlots, 'right');
727
- if (leftSlot) {
728
- pagerSlots.left = leftSlot;
729
- }
730
- if (rightSlot) {
731
- pagerSlots.right = rightSlot;
732
- }
733
- }
734
- if (VxeUIPagerComponent) {
735
- slotVNs.push((0, _vue.h)(VxeUIPagerComponent, Object.assign(Object.assign(Object.assign({
736
- ref: refPager
737
- }, pagerOpts), proxyConfig && (0, _utils.isEnableConf)(proxyOpts) ? reactData.tablePage : {}), {
738
- onPageChange: pageChangeEvent
739
- }), pagerSlots));
740
- }
741
- }
742
730
  return (0, _vue.h)('div', {
743
731
  ref: refPagerWrapper,
744
732
  key: 'pager',
745
733
  class: 'vxe-grid--pager-wrapper'
746
- }, slotVNs);
734
+ }, pagerSlot ? pagerSlot({
735
+ $grid: $xeGrid
736
+ }) : [VxeUIPagerComponent ? (0, _vue.h)(VxeUIPagerComponent, Object.assign(Object.assign(Object.assign({
737
+ ref: refPager
738
+ }, pagerOpts), proxyConfig && (0, _utils.isEnableConf)(proxyOpts) ? reactData.tablePage : {}), {
739
+ onPageChange: pageChangeEvent
740
+ }), getConfigSlot(pagerOpts.slots)) : renderEmptyElement($xeGrid)]);
747
741
  }
748
- return (0, _vue.createCommentVNode)();
742
+ return renderEmptyElement($xeGrid);
749
743
  };
750
744
  const renderChildLayout = layoutKeys => {
751
745
  const childVNs = [];
@@ -870,6 +864,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
870
864
  };
871
865
  const gridMethods = {
872
866
  dispatchEvent,
867
+ getEl() {
868
+ return refElem.value;
869
+ },
873
870
  /**
874
871
  * 提交指令,支持 code 或 button
875
872
  * @param {String/Object} code 字符串或对象
@@ -1082,9 +1079,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
1082
1079
  };
1083
1080
  });
1084
1081
  } else {
1085
- if (process.env.NODE_ENV === 'development') {
1086
- (0, _log.errLog)('vxe.error.notFunc', ['proxy-config.ajax.query']);
1087
- }
1082
+ (0, _log.errLog)('vxe.error.notFunc', ['proxy-config.ajax.query']);
1088
1083
  }
1089
1084
  break;
1090
1085
  }
@@ -1170,9 +1165,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
1170
1165
  }
1171
1166
  }
1172
1167
  } else {
1173
- if (process.env.NODE_ENV === 'development') {
1174
- (0, _log.errLog)('vxe.error.notFunc', ['proxy-config.ajax.delete']);
1175
- }
1168
+ (0, _log.errLog)('vxe.error.notFunc', ['proxy-config.ajax.delete']);
1176
1169
  }
1177
1170
  break;
1178
1171
  }
@@ -1274,9 +1267,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
1274
1267
  }
1275
1268
  });
1276
1269
  } else {
1277
- if (process.env.NODE_ENV === 'development') {
1278
- (0, _log.errLog)('vxe.error.notFunc', ['proxy-config.ajax.save']);
1279
- }
1270
+ (0, _log.errLog)('vxe.error.notFunc', ['proxy-config.ajax.save']);
1280
1271
  }
1281
1272
  break;
1282
1273
  }
@@ -1293,9 +1284,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
1293
1284
  $table: $xeTable
1294
1285
  }, ...args);
1295
1286
  } else {
1296
- if (process.env.NODE_ENV === 'development') {
1297
- (0, _log.errLog)('vxe.error.notCommands', [code]);
1298
- }
1287
+ (0, _log.errLog)('vxe.error.notCommands', [code]);
1299
1288
  }
1300
1289
  }
1301
1290
  }
@@ -1417,18 +1406,23 @@ var _default = exports.default = (0, _vue.defineComponent)({
1417
1406
  isZMax
1418
1407
  } = reactData;
1419
1408
  const el = refElem.value;
1420
- const formWrapper = refFormWrapper.value;
1421
- const toolbarWrapper = refToolbarWrapper.value;
1422
- const topWrapper = refTopWrapper.value;
1423
- const bottomWrapper = refBottomWrapper.value;
1424
- const pagerWrapper = refPagerWrapper.value;
1425
- const parentPaddingSize = isZMax ? 0 : (0, _dom.getPaddingTopBottomSize)(el.parentNode);
1426
- return parentPaddingSize + (0, _dom.getPaddingTopBottomSize)(el) + (0, _dom.getOffsetHeight)(formWrapper) + (0, _dom.getOffsetHeight)(toolbarWrapper) + (0, _dom.getOffsetHeight)(topWrapper) + (0, _dom.getOffsetHeight)(bottomWrapper) + (0, _dom.getOffsetHeight)(pagerWrapper);
1409
+ if (el) {
1410
+ const formWrapper = refFormWrapper.value;
1411
+ const toolbarWrapper = refToolbarWrapper.value;
1412
+ const topWrapper = refTopWrapper.value;
1413
+ const bottomWrapper = refBottomWrapper.value;
1414
+ const pagerWrapper = refPagerWrapper.value;
1415
+ const parentEl = el.parentElement;
1416
+ const parentPaddingSize = isZMax ? 0 : parentEl ? (0, _dom.getPaddingTopBottomSize)(parentEl) : 0;
1417
+ return parentPaddingSize + (0, _dom.getPaddingTopBottomSize)(el) + (0, _dom.getOffsetHeight)(formWrapper) + (0, _dom.getOffsetHeight)(toolbarWrapper) + (0, _dom.getOffsetHeight)(topWrapper) + (0, _dom.getOffsetHeight)(bottomWrapper) + (0, _dom.getOffsetHeight)(pagerWrapper);
1418
+ }
1419
+ return 0;
1427
1420
  },
1428
1421
  getParentHeight() {
1429
1422
  const el = refElem.value;
1430
1423
  if (el) {
1431
- return (reactData.isZMax ? (0, _dom.getDomNode)().visibleHeight : _xeUtils.default.toNumber(getComputedStyle(el.parentNode).height)) - gridPrivateMethods.getExcludeHeight();
1424
+ const parentEl = el.parentElement;
1425
+ return (reactData.isZMax ? (0, _dom.getDomNode)().visibleHeight : parentEl ? _xeUtils.default.toNumber(getComputedStyle(parentEl).height) : 0) - gridPrivateMethods.getExcludeHeight();
1432
1426
  }
1433
1427
  return 0;
1434
1428
  },
@@ -1498,35 +1492,29 @@ var _default = exports.default = (0, _vue.defineComponent)({
1498
1492
  });
1499
1493
  initPages();
1500
1494
  (0, _vue.onMounted)(() => {
1501
- if (process.env.NODE_ENV === 'development') {
1502
- (0, _vue.nextTick)(() => {
1503
- if (props.formConfig) {
1504
- if (!VxeUIFormComponent) {
1505
- (0, _log.errLog)('vxe.error.reqComp', ['vxe-form']);
1506
- }
1507
- }
1508
- if (props.pagerConfig) {
1509
- if (!VxeUIPagerComponent) {
1510
- (0, _log.errLog)('vxe.error.reqComp', ['vxe-pager']);
1511
- }
1512
- }
1513
- });
1514
- }
1515
1495
  (0, _vue.nextTick)(() => {
1516
1496
  const {
1517
1497
  columns
1518
1498
  } = props;
1499
+ if (props.formConfig) {
1500
+ if (!VxeUIFormComponent) {
1501
+ (0, _log.errLog)('vxe.error.reqComp', ['vxe-form']);
1502
+ }
1503
+ }
1504
+ if (props.pagerConfig) {
1505
+ if (!VxeUIPagerComponent) {
1506
+ (0, _log.errLog)('vxe.error.reqComp', ['vxe-pager']);
1507
+ }
1508
+ }
1519
1509
  // const { data, columns, proxyConfig } = props
1520
1510
  // const proxyOpts = computeProxyOpts.value
1521
1511
  // const formOpts = computeFormOpts.value
1522
1512
  // if (isEnableConf(proxyConfig) && (data || (proxyOpts.form && formOpts.data))) {
1523
1513
  // errLog('vxe.error.errConflicts', ['grid.data', 'grid.proxy-config'])
1524
1514
  // }
1525
- // if (process.env.NODE_ENV === 'development') {
1526
1515
  // if (proxyOpts.props) {
1527
1516
  // warnLog('vxe.error.delProp', ['proxy-config.props', 'proxy-config.response'])
1528
1517
  // }
1529
- // }
1530
1518
  if (columns && columns.length) {
1531
1519
  $xeGrid.loadColumn(columns);
1532
1520
  }
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table")),_toolbar=_interopRequireDefault(require("../../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","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","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","getPendingRecords","clearPendingRow","sort","setSort","clearSort","isSort","getSortColumns","closeFilter","isFilter","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","openTooltip","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,_vue.defineComponent)({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:s,emit:r}=e;var R=_xeUtils.default.uniqueId();let n=_ui.VxeUI.getComponent("VxeForm"),l=_ui.VxeUI.getComponent("VxePager"),w=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]],O=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}}),u=(0,_vue.ref)(),D=(0,_vue.ref)(),d=(0,_vue.ref)(),i=(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 o=e=>{let t={};return e.forEach(o=>{t[o]=(...e)=>{var t=D.value;if(t&&t[o])return t[o](...e)}}),t};let S=o(tableComponentMethodKeys),V=(tableComponentMethodKeys.forEach(o=>{S[o]=(...e)=>{var t=D.value;if(t&&t[o])return t&&t[o](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),T.proxyConfig))),B=(0,_vue.computed)(()=>{var e=V.value;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg}),q=(0,_vue.computed)(()=>V.value.showActiveMsg),M=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.pagerConfig,T.pagerConfig)),x=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.formConfig,T.formConfig)),F=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.toolbarConfig,T.toolbarConfig)),a=(0,_vue.computed)(()=>Object.assign({},getConfig().grid.zoomConfig,T.zoomConfig)),I=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=T,{isZMax:o,tZindex:r}=j,a={};return o?a.zIndex=r:(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}),k=(0,_vue.computed)(()=>{let t={},o=T;return tableComponentPropKeys.forEach(e=>{t[e]=o[e]}),t}),P=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,loading:o,editConfig:r,proxyConfig:a}=T,{isZMax:i,tableLoading:n,tablePage:l}=j,s=k.value,u=V.value,d=M.value,g=Object.assign({},s);return i&&(s.maxHeight?g.maxHeight="100%":g.height="100%"),a&&(0,_utils.isEnableConf)(u)&&(g.loading=o||n,t)&&u.seq&&(0,_utils.isEnableConf)(d)&&(g.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize})),r&&(g.editConfig=Object.assign({},r)),g}),U=(0,_vue.computed)(()=>{var e=T.layouts;let t=[],o=[],r=[],a=[];return(t=e&&e.length?e:getConfig().grid.layouts||w).length&&(_xeUtils.default.isArray(t[0])?(o=t[0],r=t[1]||[],a=t[2]||[]):r=t),{headKeys:o,bodyKeys:r,footKeys:a}});var Z=(0,_vue.computed)(()=>{var e=M.value;return""+e.currentPage+e.pageSize});let K={refElem:u,refTable:D,refForm:d,refToolbar:i,refPager:g},A={computeProxyOpts:V,computePagerOpts:M,computeFormOpts:x,computeToolbarOpts:F,computeZoomOpts:a},L={xID:R,props:T,context:e,reactData:j,getRefMaps:()=>K,getComputeMaps:()=>A},b=()=>{var e=F.value;T.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=D.value,t=i.value;e&&t&&e.connect(t)})},N=()=>{var e=T.proxyConfig,t=j.formData,o=V.value,r=x.value;return e&&(0,_utils.isEnableConf)(o)&&o.form?t:r.data},_=()=>{var e=j.tablePage,t=T.pagerConfig,o=M.value,{currentPage:r,pageSize:a}=o;t&&(0,_utils.isEnableConf)(o)&&(r&&(e.currentPage=r),a)&&(e.pageSize=a)},z=(e,t)=>{var o=V.value,o=(o.response||o.props||{}).message;let r;return(r=e&&o?_xeUtils.default.isFunction(o)?o({data:e,$grid:L}):_xeUtils.default.get(e,o):r)||getI18n(t)},H=(e,t,o)=>{var r=q.value,a=S.getCheckboxRecords();if(r)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 o()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&o();return Promise.resolve()},G=e=>{var t=T.proxyConfig,o=j.tablePage;let{$event:r,currentPage:a,pageSize:i}=e;var n=V.value;o.currentPage=a,o.pageSize=i,$.dispatchEvent("page-change",e,r),t&&(0,_utils.isEnableConf)(n)&&$.commitProxy("query").then(e=>{$.dispatchEvent("proxy-query",e,r)})},Q=t=>{var e=D.value,o=T.proxyConfig,e=e.getComputeMaps().computeSortOpts,r=V.value;e.value.remote&&(j.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(r)&&(j.tablePage.currentPage=1,$.commitProxy("query").then(e=>{$.dispatchEvent("proxy-query",e,t.$event)})),$.dispatchEvent("sort-change",t,t.$event)},W=t=>{var e=D.value,o=T.proxyConfig,e=e.getComputeMaps().computeFilterOpts,r=V.value;e.value.remote&&(j.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(r)&&(j.tablePage.currentPage=1,$.commitProxy("query").then(e=>{$.dispatchEvent("proxy-query",e,t.$event)})),$.dispatchEvent("filter-change",t,t.$event)},Y=t=>{var e=T.proxyConfig,o=V.value;e&&(0,_utils.isEnableConf)(o)&&$.commitProxy("reload").then(e=>{$.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),$.dispatchEvent("form-submit",t,t.$event)},J=e=>{var t=T.proxyConfig;let o=e.$event;var r=V.value,a=D.value;t&&(0,_utils.isEnableConf)(r)&&(a.clearScroll(),$.commitProxy("reload").then(e=>{$.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)})),$.dispatchEvent("form-reset",e,o)},X=e=>{$.dispatchEvent("form-submit-invalid",e,e.$event)},ee=e=>{var t=e.$event;(0,_vue.nextTick)(()=>S.recalculate(!0)),$.dispatchEvent("form-toggle-collapse",e,t),$.dispatchEvent("form-collapse",e,t)},te=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(()=>S.recalculate(!0)).then(()=>(setTimeout(()=>S.recalculate(!0),15),j.isZMax))},h=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(s[e])return s[e];"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notSlot",[e])}return null},oe=()=>{var{formConfig:e,proxyConfig:o}=T,r=j.formData,a=V.value,i=x.value;if(e&&(0,_utils.isEnableConf)(i)||s.form){let e=[];if(s.form)e=s.form({$grid:L});else if(i.items){let t={};if(!i.inited){i.inited=!0;let t=a.beforeItem;a&&t&&i.items.forEach(e=>{t({$grid:L,item:e})})}i.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:d},Object.assign({},i,{data:o&&(0,_utils.isEnableConf)(a)&&a.form?r:i.data})),{onSubmit:Y,onReset:J,onSubmitInvalid:X,onCollapse:ee}),t))}return(0,_vue.h)("div",{ref:c,key:"form",class:"vxe-grid--form-wrapper"},e)}return(0,_vue.createCommentVNode)()},re=()=>{var t,o,r=T.toolbarConfig,a=F.value;if(r&&(0,_utils.isEnableConf)(a)||s.toolbar){let e=[];return s.toolbar?e=s.toolbar({$grid:L}):(r={},(o=a.slots)&&(t=h(o,"buttons"),o=h(o,"tools"),t&&(r.buttons=t),o)&&(r.tools=o),e.push((0,_vue.h)(_toolbar.default,Object.assign({ref:i},a),r))),(0,_vue.h)("div",{ref:v,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return(0,_vue.createCommentVNode)()},ae=()=>s.top?(0,_vue.h)("div",{ref:m,key:"top",class:"vxe-grid--top-wrapper"},s.top({$grid:L})):(0,_vue.createCommentVNode)(),ie=()=>{var e=s.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:L})):(0,_vue.createCommentVNode)()},ne=()=>{var e=s.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:L})):(0,_vue.createCommentVNode)()},le=()=>{var e=T.proxyConfig,t=P.value,o=V.value,r=Object.assign({},de),a=s.empty,i=s.loading,n=s.rowDragIcon||s["row-drag-icon"],l=s.columnDragIcon||s["column-drag-icon"],e=(e&&(0,_utils.isEnableConf)(o)&&(o.sort&&(r.onSortChange=Q),o.filter)&&(r.onFilterChange=W),{});return a&&(e.empty=a),i&&(e.loading=i),n&&(e.rowDragIcon=n),l&&(e.columnDragIcon=l),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:D},t),r),e)])},se=()=>s.bottom?(0,_vue.h)("div",{ref:p,key:"bottom",class:"vxe-grid--bottom-wrapper"},s.bottom({$grid:L})):(0,_vue.createCommentVNode)(),ue=()=>{var t,o,{proxyConfig:r,pagerConfig:a}=T,i=V.value,n=M.value;if(a&&(0,_utils.isEnableConf)(n)||s.pager){let e=[];return s.pager?e=s.pager({$grid:L}):(a={},(o=n.slots)&&(t=h(o,"left"),o=h(o,"right"),t&&(a.left=t),o)&&(a.right=o),l&&e.push((0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:g},n),r&&(0,_utils.isEnableConf)(i)?j.tablePage:{}),{onPageChange:G}),a))),(0,_vue.h)("div",{ref:f,key:"pager",class:"vxe-grid--pager-wrapper"},e)}return(0,_vue.createCommentVNode)()},C=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(oe());break;case"Toolbar":t.push(re());break;case"Top":t.push(ae());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[ie(),le(),ne()]));break;case"Bottom":t.push(se());break;case"Pager":t.push(ue());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t},de={},ge=(_emits.default.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);de[e]=(...e)=>r(t,...e)}),()=>{var{proxyConfig:e,formConfig:t}=T,o=j.proxyInited,r=V.value,i=x.value;if(e&&(0,_utils.isEnableConf)(r)){if(t&&(0,_utils.isEnableConf)(i)&&r.form&&i.items){let a={};i.items.forEach(t=>{var{field:o,itemRender:r}=t;if(o){let e=null;r&&(r=r.defaultValue,_xeUtils.default.isFunction(r)?e=r({item:t}):_xeUtils.default.isUndefined(r)||(e=r)),a[o]=e}}),j.formData=a}o||!(j.proxyInited=!0)!==r.autoLoad&&(0,_vue.nextTick)().then(()=>$.commitProxy("_init")).then(e=>{$.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("init"))})}}),ce=e=>{var t=a.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&j.isZMax&&!1!==t.escRestore&&y.triggerZoomEvent(e)};let $={dispatchEvent:(e,t,o)=>{r(e,createEvent(o,{$grid:L},t))},commitProxy(t,...d){let{toolbarConfig:e,pagerConfig:n,editRules:g,validConfig:c}=T,l=j.tablePage,v=q.value,m=B.value;var o=V.value;let s=M.value;var r=F.value;let{beforeQuery:u,afterQuery:p,beforeDelete:f,afterDelete:x,beforeSave:b,afterSave:_,ajax:h={}}=o,C=o.response||o.props||{},y=D.value;var E=N();let R=null,w=null;w=_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,R=r?r.item:null,t):(R=t).code;var a=R?R.params:null;switch(w){case"insert":return y.insert({});case"insert_edit":return y.insert({}).then(({row:e})=>y.setEditRow(e));case"insert_actived":return y.insert({}).then(({row:e})=>y.setEditRow(e));case"mark_cancel":I=w,P=q.value,O=D.value,(k=O.getCheckboxRecords()).length?(O.togglePendingRow(k),S.clearCheckboxRow()):P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:I,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return H(w,"vxe.grid.removeSelectRecord",()=>y.removeCheckboxRow());case"import":y.importData(a);break;case"open_import":y.openImport(a);break;case"export":y.exportData(a);break;case"open_export":y.openExport(a);break;case"reset_custom":return y.resetCustom(!0);case"_init":case"reload":case"query":{var O=h.query;let i=h.querySuccess,r=h.queryError;if(O){var I,k="_init"===w,P="reload"===w;let t=[],o=[],e={};if(n&&((k||P)&&(l.currentPage=1),(0,_utils.isEnableConf)(s))&&(e=Object.assign({},l)),k){let e=null;y&&(I=y.getComputeMaps().computeSortOpts,U=I.value,e=U.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),y&&(o=y.getCheckedFilters())}else y&&(P?y.clearAll():(t=y.getSortColumns(),o=y.getCheckedFilters()));let a={code:w,button:R,isInited:k,isReload:P,$grid:L,page:e,sort:t.length?t[0]:{},sorts:t,filters:o,form:E,options:O};return j.sortData=t,j.filterData=o,j.tableLoading=!0,Promise.resolve((u||O)(a,...d)).then(e=>{let t=[];var o,r;return j.tableLoading=!1,e&&(n&&(0,_utils.isEnableConf)(s)?(r=C.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$grid:L}):_xeUtils.default.get(e,r||"page.total"))||0,l.total=_xeUtils.default.toNumber(r),o=C.result,t=(_xeUtils.default.isFunction(o)?o({data:e,$grid:L}):_xeUtils.default.get(e,o||"result"))||[],o=Math.max(Math.ceil(r/l.pageSize),1),l.currentPage>o&&(l.currentPage=o)):(r=C.list,t=(r?_xeUtils.default.isFunction(r)?r({data:e,$grid:L}):_xeUtils.default.get(e,r):e)||[])),y?y.loadData(t):(0,_vue.nextTick)(()=>{y&&y.loadData(t)}),p&&p(a,...d),i&&i(Object.assign(Object.assign({},a),{response:e})),{status:!0}}).catch(e=>(j.tableLoading=!1,r&&r(Object.assign(Object.assign({},a),{response:e})),{status:!1}))}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let r=h.delete,a=h.deleteSuccess,i=h.deleteError;if(r){let e=S.getCheckboxRecords(),t=e.filter(e=>!y.isInsertByRow(e));var U={removeRecords:t};let o={$grid:L,code:w,button:R,body:U,form:E,options:r};if(e.length)return H(w,"vxe.grid.deleteSelectRecord",()=>t.length?(j.tableLoading=!0,Promise.resolve((f||r)(o,...d)).then(e=>(j.tableLoading=!1,y.setPendingRow(t,!1),m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:z(e,"vxe.grid.delSuccess"),status:"success"}),x?x(o,...d):$.commitProxy("query"),a&&a(Object.assign(Object.assign({},o),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:w,content:z(e,"vxe.grid.operError"),status:"error"}),i&&i(Object.assign(Object.assign({},o),{response:e})),{status:!1}))):y.remove(e));v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:w,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=h.save,s=h.saveSuccess,u=h.saveError;if(l){let t=y.getRecordset(),{insertRecords:o,removeRecords:r,updateRecords:a,pendingRecords:i}=t,n={$grid:L,code:w,button:R,body:t,form:E,options:l},e=(o.length&&(t.pendingRecords=i.filter(e=>-1===y.findRowIndexOf(o,e))),i.length&&(t.insertRecords=o.filter(e=>-1===y.findRowIndexOf(i,e))),Promise.resolve());return(e=g?y[c&&"full"===c.msgMode?"fullValidate":"validate"](t.insertRecords.concat(a)):e).then(e=>{if(!e)return t.insertRecords.length||r.length||a.length||t.pendingRecords.length?(j.tableLoading=!0,Promise.resolve((b||l)(n,...d)).then(e=>(j.tableLoading=!1,y.clearPendingRow(),m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:z(e,"vxe.grid.saveSuccess"),status:"success"}),_?_(n,...d):$.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:w,content:z(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:w,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var U=commands.get(w);U&&((U=U.tableCommandMethod||U.commandMethod)?U({code:w,button:R,$grid:L,$table:y},...d):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notCommands",[w]))}return(0,_vue.nextTick)()},zoom(){return j.isZMax?$.revert():$.maximize()},isMaximized(){return j.isZMax},maximize(){return te(!0)},revert(){return te()},getFormData:N,getFormItems(e){var t=x.value,o=T.formConfig,r=t.items;let a=[];return _xeUtils.default.eachTree(o&&(0,_utils.isEnableConf)(t)&&r?r:[],e=>{a.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?a:a[e]},getProxyInfo(){var e,t=D.value;return T.proxyConfig?(e=j.sortData,{data:t?t.getFullData():[],filter:j.filterData,form:N(),sort:e.length?e[0]:{},sorts:e,pager:j.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null}},y=("development"===process.env.NODE_ENV&&($.loadColumn=e=>{var t=D.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},$.reloadColumn=e=>(S.clearAll(),$.loadColumn(e))),{extendTableMethods:o,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e=j.isZMax,t=u.value,o=c.value,r=v.value,a=m.value,i=p.value,n=f.value;return(e?0:(0,_dom.getPaddingTopBottomSize)(t.parentNode))+(0,_dom.getPaddingTopBottomSize)(t)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(n)},getParentHeight(){var e=u.value;return e?(j.isZMax?(0,_dom.getDomNode)().visibleHeight:_xeUtils.default.toNumber(getComputedStyle(e.parentNode).height))-y.getExcludeHeight():0},triggerToolbarCommitEvent(e,t){let o=e.code;return $.commitProxy(e,t).then(e=>{o&&e&&e.status&&["query","reload","delete","save"].includes(o)&&$.dispatchEvent("delete"===o||"save"===o?"proxy-"+o:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===o}),t)})},triggerToolbarBtnEvent(e,t){y.triggerToolbarCommitEvent(e,t),$.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){y.triggerToolbarCommitEvent(e,t),$.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){$.zoom(),$.dispatchEvent("zoom",{type:j.isZMax?"max":"revert"},e)}}),E=(Object.assign(L,S,$,y),(0,_vue.ref)(0));(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)(()=>L.loadColumn(T.columns||[]))}),(0,_vue.watch)(()=>T.toolbarConfig,()=>{b()}),(0,_vue.watch)(Z,()=>{_()}),(0,_vue.watch)(()=>T.proxyConfig,()=>{ge()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(L))&&_xeUtils.default.isObject(e)&&Object.assign(L,e)}),_(),(0,_vue.onMounted)(()=>{"development"===process.env.NODE_ENV&&(0,_vue.nextTick)(()=>{T.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),T.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),(0,_vue.nextTick)(()=>{var e=T.columns;e&&e.length&&L.loadColumn(e),b(),ge()}),globalEvents.on(L,"keydown",ce)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(L,"keydown")});return L.renderVN=()=>{var e=O.value,t=I.value;return(0,_vue.h)("div",{ref:u,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!T.animat,"is--round":T.round,"is--maximize":j.isZMax,"is--loading":T.loading||j.tableLoading}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:o}=U.value,r=s.asideLeft||s["aside-left"],a=s.asideRight||s["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},C(e)),(0,_vue.h)("div",{class:"vxe-grid--layout-body-wrapper"},[r?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-left-wrapper"},r({})):renderEmptyElement(L),(0,_vue.h)("div",{class:"vxe-grid--layout-body-content-wrapper"},C(t)),a?(0,_vue.h)("div",{class:"vxe-grid--layout-aside-right-wrapper"},a({})):renderEmptyElement(L)]),(0,_vue.h)("div",{class:"vxe-grid--layout-footer-wrapper"},C(o))]})())},(0,_vue.provide)("$xeGrid",L),L},render(){return this.renderVN()}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table")),_toolbar=_interopRequireDefault(require("../../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","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","getPendingRecords","clearPendingRow","sort","setSort","clearSort","isSort","getSortColumns","closeFilter","isFilter","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","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,_vue.defineComponent)({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:s,emit:o}=e;var E=_xeUtils.default.uniqueId();let i=_ui.VxeUI.getComponent("VxeForm"),l=_ui.VxeUI.getComponent("VxePager"),R=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]],w=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}}),u=(0,_vue.ref)(),S=(0,_vue.ref)(),n=(0,_vue.ref)(),d=(0,_vue.ref)(),g=(0,_vue.ref)(),c=(0,_vue.ref)(),m=(0,_vue.ref)(),v=(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=S.value;if(t&&t[r])return t[r](...e)}}),t};let D=r(tableComponentMethodKeys),M=(tableComponentMethodKeys.forEach(r=>{D[r]=(...e)=>{var t=S.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))),K=(0,_vue.computed)(()=>{var e=M.value;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg}),q=(0,_vue.computed)(()=>M.value.showActiveMsg),F=(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)),O=(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}),I=(0,_vue.computed)(()=>{let t={},r=T;return tableComponentPropKeys.forEach(e=>{t[e]=r[e]}),t}),k=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,loading:r,editConfig:o,proxyConfig:a}=T,{isZMax:l,tableLoading:i,tablePage:n}=j,s=I.value,u=M.value,d=F.value,g=Object.assign({},s);return l&&(s.maxHeight?g.maxHeight="100%":g.height="100%"),a&&(0,_utils.isEnableConf)(u)&&(g.loading=r||i,t)&&u.seq&&(0,_utils.isEnableConf)(d)&&(g.seqConfig=Object.assign({},e,{startIndex:(n.currentPage-1)*n.pageSize})),o&&(g.editConfig=Object.assign({},o)),g}),U=(0,_vue.computed)(()=>{var e=T.layouts;let t=[],r=[],o=[],a=[];return(t=e&&e.length?e:getConfig().grid.layouts||R).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],a=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:a}});var P=(0,_vue.computed)(()=>{var e=F.value;return""+e.currentPage+e.pageSize});let A={refElem:u,refTable:S,refForm:n,refToolbar:d,refPager:g},H={computeProxyOpts:M,computePagerOpts:F,computeFormOpts:x,computeToolbarOpts:L,computeZoomOpts:a},V={xID:E,props:T,context:e,reactData:j,getRefMaps:()=>A,getComputeMaps:()=>H},b=()=>{var e=L.value;T.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=S.value,t=d.value;e&&t&&e.connect(t)})},z=()=>{var e=T.proxyConfig,t=j.formData,r=M.value,o=x.value;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:o.data},_=()=>{var e=j.tablePage,t=T.pagerConfig,r=F.value,{currentPage:o,pageSize:a}=r;t&&(0,_utils.isEnableConf)(r)&&(o&&(e.currentPage=o),a)&&(e.pageSize=a)},$=(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:V}):_xeUtils.default.get(e,r):o)||getI18n(t)},B=(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()},N=e=>{var t=T.proxyConfig,r=j.tablePage;let{$event:o,currentPage:a,pageSize:l}=e;var i=M.value;r.currentPage=a,r.pageSize=l,V.dispatchEvent("page-change",e,o),t&&(0,_utils.isEnableConf)(i)&&V.commitProxy("query").then(e=>{V.dispatchEvent("proxy-query",e,o)})},G=t=>{var e=S.value,r=T.proxyConfig,e=e.getComputeMaps().computeSortOpts,o=M.value;e.value.remote&&(j.sortData=t.sortList,r)&&(0,_utils.isEnableConf)(o)&&(j.tablePage.currentPage=1,Z.commitProxy("query").then(e=>{Z.dispatchEvent("proxy-query",e,t.$event)})),Z.dispatchEvent("sort-change",t,t.$event)},Q=t=>{var e=S.value,r=T.proxyConfig,e=e.getComputeMaps().computeFilterOpts,o=M.value;e.value.remote&&(j.filterData=t.filterList,r)&&(0,_utils.isEnableConf)(o)&&(j.tablePage.currentPage=1,Z.commitProxy("query").then(e=>{Z.dispatchEvent("proxy-query",e,t.$event)})),Z.dispatchEvent("filter-change",t,t.$event)},W=t=>{var e=T.proxyConfig,r=M.value;e&&(0,_utils.isEnableConf)(r)&&Z.commitProxy("reload").then(e=>{Z.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),Z.dispatchEvent("form-submit",t,t.$event)},Y=e=>{var t=T.proxyConfig;let r=e.$event;var o=M.value,a=S.value;t&&(0,_utils.isEnableConf)(o)&&(a.clearScroll(),Z.commitProxy("reload").then(e=>{Z.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),r)})),Z.dispatchEvent("form-reset",e,r)},J=e=>{Z.dispatchEvent("form-submit-invalid",e,e.$event)},X=e=>{var t=e.$event;(0,_vue.nextTick)(()=>D.recalculate(!0)),Z.dispatchEvent("form-toggle-collapse",e,t),Z.dispatchEvent("form-collapse",e,t)},ee=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(()=>D.recalculate(!0)).then(()=>(setTimeout(()=>D.recalculate(!0),15),j.isZMax))},te=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(s[e])return s[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},re=e=>{let r={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?s[e]?r[t]=s[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):r[t]=e)}),r},oe=()=>{var{formConfig:e,proxyConfig:r}=T,o=j.formData,a=M.value,l=x.value;if(e&&(0,_utils.isEnableConf)(l)||s.form){let e=[];if(s.form)e=s.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)||s[e]&&(t[e]=s[e])})}),i&&e.push((0,_vue.h)(i,Object.assign(Object.assign({ref:n},Object.assign({},l,{data:r&&(0,_utils.isEnableConf)(a)&&a.form?o:l.data})),{onSubmit:W,onReset:Y,onSubmitInvalid:J,onCollapse:X}),t))}return(0,_vue.h)("div",{ref:c,key:"form",class:"vxe-grid--form-wrapper"},e)}return renderEmptyElement(V)},ae=()=>{var t,r,o=T.toolbarConfig,a=L.value;if(o&&(0,_utils.isEnableConf)(a)||s.toolbar){let e=[];return s.toolbar?e=s.toolbar({$grid:V}):(o={},(r=a.slots)&&(t=te(r,"buttons"),r=te(r,"tools"),t&&(o.buttons=t),r)&&(o.tools=r),e.push((0,_vue.h)(_toolbar.default,Object.assign({ref:d},a),o))),(0,_vue.h)("div",{ref:m,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return renderEmptyElement(V)},le=()=>s.top?(0,_vue.h)("div",{ref:v,key:"top",class:"vxe-grid--top-wrapper"},s.top({$grid:V})):renderEmptyElement(V),ie=()=>{var e=s.left;return e?(0,_vue.h)("div",{class:"vxe-grid--left-wrapper"},e({$grid:V})):renderEmptyElement(V)},ne=()=>{var e=s.right;return e?(0,_vue.h)("div",{class:"vxe-grid--right-wrapper"},e({$grid:V})):renderEmptyElement(V)},se=()=>{var e=T.proxyConfig,t=k.value,r=M.value,o=Object.assign({},ge),a=s.empty,l=s.loading,i=s.rowDragIcon||s["row-drag-icon"],n=s.columnDragIcon||s["column-drag-icon"],e=(e&&(0,_utils.isEnableConf)(r)&&(r.sort&&(o.onSortChange=G),r.filter)&&(o.onFilterChange=Q),{});return a&&(e.empty=a),l&&(e.loading=l),i&&(e.rowDragIcon=i),n&&(e.columnDragIcon=n),(0,_vue.h)("div",{class:"vxe-grid--table-wrapper"},[(0,_vue.h)(_table.default,Object.assign(Object.assign({ref:S},t),o),e)])},ue=()=>s.bottom?(0,_vue.h)("div",{ref:p,key:"bottom",class:"vxe-grid--bottom-wrapper"},s.bottom({$grid:V})):renderEmptyElement(V),de=()=>{var{proxyConfig:e,pagerConfig:t}=T,r=M.value,o=F.value,a=s.pager;return t&&(0,_utils.isEnableConf)(o)||s.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:N}),re(o.slots)):renderEmptyElement(V)]):renderEmptyElement(V)},h=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(oe());break;case"Toolbar":t.push(ae());break;case"Top":t.push(le());break;case"Table":t.push((0,_vue.h)("div",{key:"table",class:"vxe-grid--table-container"},[ie(),se(),ne()]));break;case"Bottom":t.push(ue());break;case"Pager":t.push(de());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t},ge={},ce=(_emits.default.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);ge[e]=(...e)=>o(t,...e)}),()=>{var{proxyConfig:e,formConfig:t}=T,r=j.proxyInited,o=M.value,l=x.value;if(e&&(0,_utils.isEnableConf)(o)){if(t&&(0,_utils.isEnableConf)(l)&&o.form&&l.items){let a={};l.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}}),j.formData=a}r||!(j.proxyInited=!0)!==o.autoLoad&&(0,_vue.nextTick)().then(()=>Z.commitProxy("_init")).then(e=>{Z.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("init"))})}}),me=e=>{var t=a.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&j.isZMax&&!1!==t.escRestore&&C.triggerZoomEvent(e)};let Z={dispatchEvent:(e,t,r)=>{o(e,createEvent(r,{$grid:V},t))},getEl(){return u.value},commitProxy(t,...d){let{toolbarConfig:e,pagerConfig:i,editRules:g,validConfig:c}=T,n=j.tablePage,m=q.value,v=K.value;var r=M.value;let s=F.value;var o=L.value;let{beforeQuery:u,afterQuery:p,beforeDelete:f,afterDelete:x,beforeSave:b,afterSave:_,ajax:h={}}=r,C=r.response||r.props||{},y=S.value;var E=z();let R=null,w=null;w=_xeUtils.default.isString(t)?(r=o.buttons,o=e&&(0,_utils.isEnableConf)(o)&&r?_xeUtils.default.findTree(r,e=>e.code===t,{children:"dropdowns"}):null,R=o?o.item:null,t):(R=t).code;var a=R?R.params:null;switch(w){case"insert":return y.insert({});case"insert_edit":return y.insert({}).then(({row:e})=>y.setEditRow(e));case"insert_actived":return y.insert({}).then(({row:e})=>y.setEditRow(e));case"mark_cancel":I=w,U=q.value,O=S.value,(k=O.getCheckboxRecords()).length?(O.togglePendingRow(k),D.clearCheckboxRow()):U&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:I,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return B(w,"vxe.grid.removeSelectRecord",()=>y.removeCheckboxRow());case"import":y.importData(a);break;case"open_import":y.openImport(a);break;case"export":y.exportData(a);break;case"open_export":y.openExport(a);break;case"reset_custom":return y.resetCustom(!0);case"_init":case"reload":case"query":{var O=h.query;let l=h.querySuccess,o=h.queryError;if(O){var I,k="_init"===w,U="reload"===w;let t=[],r=[],e={};if(i&&((k||U)&&(n.currentPage=1),(0,_utils.isEnableConf)(s))&&(e=Object.assign({},n)),k){let e=null;y&&(I=y.getComputeMaps().computeSortOpts,P=I.value,e=P.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),y&&(r=y.getCheckedFilters())}else y&&(U?y.clearAll():(t=y.getSortColumns(),r=y.getCheckedFilters()));let a={code:w,button:R,isInited:k,isReload:U,$grid:V,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:E,options:O};return j.sortData=t,j.filterData=r,j.tableLoading=!0,Promise.resolve((u||O)(a,...d)).then(e=>{let t=[];var r,o;return j.tableLoading=!1,e&&(i&&(0,_utils.isEnableConf)(s)?(o=C.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:V}):_xeUtils.default.get(e,o||"page.total"))||0,n.total=_xeUtils.default.toNumber(o),r=C.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$grid:V}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(o/n.pageSize),1),n.currentPage>r&&(n.currentPage=r)):(o=C.list,t=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:V}):_xeUtils.default.get(e,o):e)||[])),y?y.loadData(t):(0,_vue.nextTick)(()=>{y&&y.loadData(t)}),p&&p(a,...d),l&&l(Object.assign(Object.assign({},a),{response:e})),{status:!0}}).catch(e=>(j.tableLoading=!1,o&&o(Object.assign(Object.assign({},a),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let o=h.delete,a=h.deleteSuccess,l=h.deleteError;if(o){let e=D.getCheckboxRecords(),t=e.filter(e=>!y.isInsertByRow(e));var P={removeRecords:t};let r={$grid:V,code:w,button:R,body:P,form:E,options:o};if(e.length)return B(w,"vxe.grid.deleteSelectRecord",()=>t.length?(j.tableLoading=!0,Promise.resolve((f||o)(r,...d)).then(e=>(j.tableLoading=!1,y.setPendingRow(t,!1),v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:$(e,"vxe.grid.delSuccess"),status:"success"}),x?x(r,...d):Z.commitProxy("query"),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:w,content:$(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):y.remove(e));m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:w,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let n=h.save,s=h.saveSuccess,u=h.saveError;if(n){let t=y.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:l}=t,i={$grid:V,code:w,button:R,body:t,form:E,options:n},e=(r.length&&(t.pendingRecords=l.filter(e=>-1===y.findRowIndexOf(r,e))),l.length&&(t.insertRecords=r.filter(e=>-1===y.findRowIndexOf(l,e))),Promise.resolve());return(e=g?y[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((b||n)(i,...d)).then(e=>(j.tableLoading=!1,y.clearPendingRow(),v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:$(e,"vxe.grid.saveSuccess"),status:"success"}),_?_(i,...d):Z.commitProxy("query"),s&&s(Object.assign(Object.assign({},i),{response:e})),{status:!0})).catch(e=>(j.tableLoading=!1,v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:w,content:$(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},i),{response:e})),{status:!1}))):void(m&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:w,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var P=commands.get(w);P&&((P=P.tableCommandMethod||P.commandMethod)?P({code:w,button:R,$grid:V,$table:y},...d):(0,_log.errLog)("vxe.error.notCommands",[w]))}return(0,_vue.nextTick)()},zoom(){return j.isZMax?Z.revert():Z.maximize()},isMaximized(){return j.isZMax},maximize(){return ee(!0)},revert(){return ee()},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]},getProxyInfo(){var e,t=S.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}},C=("development"===process.env.NODE_ENV&&(Z.loadColumn=e=>{var t=S.value;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t?t.loadColumn(e):(0,_vue.nextTick)()},Z.reloadColumn=e=>(D.clearAll(),Z.loadColumn(e))),{extendTableMethods:r,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e,t,r,o,a,l,i=j.isZMax,n=u.value;return n?(e=c.value,t=m.value,r=v.value,o=p.value,a=f.value,l=n.parentElement,(!i&&l?(0,_dom.getPaddingTopBottomSize)(l):0)+(0,_dom.getPaddingTopBottomSize)(n)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(a)):0},getParentHeight(){var e=u.value;return e?(e=e.parentElement,(j.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-C.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let r=e.code;return Z.commitProxy(e,t).then(e=>{r&&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)})},triggerToolbarBtnEvent(e,t){C.triggerToolbarCommitEvent(e,t),Z.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){C.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)}}),y=(Object.assign(V,D,Z,C),(0,_vue.ref)(0));(0,_vue.watch)(()=>T.columns?T.columns.length:-1,()=>{y.value++}),(0,_vue.watch)(()=>T.columns,()=>{y.value++}),(0,_vue.watch)(y,()=>{(0,_vue.nextTick)(()=>V.loadColumn(T.columns||[]))}),(0,_vue.watch)(()=>T.toolbarConfig,()=>{b()}),(0,_vue.watch)(P,()=>{_()}),(0,_vue.watch)(()=>T.proxyConfig,()=>{ce()}),hooks.forEach(e=>{var e=e.setupGrid;e&&(e=e(V))&&_xeUtils.default.isObject(e)&&Object.assign(V,e)}),_(),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var e=T.columns;T.formConfig&&!i&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),T.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),e&&e.length&&V.loadColumn(e),b(),ce()}),globalEvents.on(V,"keydown",me)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(V,"keydown")});return V.renderVN=()=>{var e=w.value,t=O.value;return(0,_vue.h)("div",{ref:u,class:["vxe-grid",{["size--"+e]:e,"is--animat":!!T.animat,"is--round":T.round,"is--maximize":j.isZMax,"is--loading":T.loading||j.tableLoading}],style:t},(()=>{var{headKeys:e,bodyKeys:t,footKeys:r}=U.value,o=s.asideLeft||s["aside-left"],a=s.asideRight||s["aside-right"];return[(0,_vue.h)("div",{class:"vxe-grid--layout-header-wrapper"},h(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"},h(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"},h(r))]})())},(0,_vue.provide)("$xeGrid",V),V},render(){return this.renderVN()}});