vxe-table 3.24.4 → 3.25.0-beta.0

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 (73) hide show
  1. package/es/grid/src/grid.js +15 -2
  2. package/es/style.css +1 -1
  3. package/es/table/module/custom/panel.js +3 -2
  4. package/es/table/module/edit/mixin.js +5 -4
  5. package/es/table/module/export/mixin.js +6 -4
  6. package/es/table/module/filter/mixin.js +2 -2
  7. package/es/table/module/keyboard/mixin.js +4 -3
  8. package/es/table/module/menu/mixin.js +3 -3
  9. package/es/table/render/index.js +5 -3
  10. package/es/table/src/body.js +4 -4
  11. package/es/table/src/header.js +4 -3
  12. package/es/table/src/methods.js +76 -48
  13. package/es/table/src/table.js +29 -26
  14. package/es/table/src/util.js +6 -3
  15. package/es/ui/index.js +1 -1
  16. package/es/ui/src/log.js +1 -1
  17. package/es/ui/src/utils.js +9 -0
  18. package/lib/grid/src/grid.js +14 -1
  19. package/lib/grid/src/grid.min.js +1 -1
  20. package/lib/index.umd.js +129 -80
  21. package/lib/index.umd.min.js +1 -1
  22. package/lib/style.css +1 -1
  23. package/lib/table/module/custom/panel.js +2 -1
  24. package/lib/table/module/custom/panel.min.js +1 -1
  25. package/lib/table/module/edit/mixin.js +4 -3
  26. package/lib/table/module/edit/mixin.min.js +1 -1
  27. package/lib/table/module/export/mixin.js +9 -3
  28. package/lib/table/module/export/mixin.min.js +1 -1
  29. package/lib/table/module/filter/mixin.js +1 -1
  30. package/lib/table/module/filter/mixin.min.js +1 -1
  31. package/lib/table/module/keyboard/mixin.js +4 -3
  32. package/lib/table/module/keyboard/mixin.min.js +1 -1
  33. package/lib/table/module/menu/mixin.js +2 -2
  34. package/lib/table/module/menu/mixin.min.js +1 -1
  35. package/lib/table/render/index.js +4 -2
  36. package/lib/table/render/index.min.js +1 -1
  37. package/lib/table/src/body.js +3 -3
  38. package/lib/table/src/body.min.js +1 -1
  39. package/lib/table/src/header.js +3 -2
  40. package/lib/table/src/header.min.js +1 -1
  41. package/lib/table/src/methods.js +32 -30
  42. package/lib/table/src/methods.min.js +1 -1
  43. package/lib/table/src/table.js +32 -25
  44. package/lib/table/src/table.min.js +1 -1
  45. package/lib/table/src/util.js +8 -2
  46. package/lib/table/src/util.min.js +1 -1
  47. package/lib/ui/index.js +1 -1
  48. package/lib/ui/index.min.js +1 -1
  49. package/lib/ui/src/log.js +1 -1
  50. package/lib/ui/src/log.min.js +1 -1
  51. package/lib/ui/src/utils.js +10 -0
  52. package/lib/ui/src/utils.min.js +1 -1
  53. package/package.json +2 -2
  54. package/packages/grid/src/grid.ts +16 -2
  55. package/packages/table/module/custom/panel.ts +3 -2
  56. package/packages/table/module/edit/mixin.ts +5 -4
  57. package/packages/table/module/export/mixin.ts +6 -4
  58. package/packages/table/module/filter/mixin.ts +2 -2
  59. package/packages/table/module/keyboard/mixin.ts +4 -3
  60. package/packages/table/module/menu/mixin.ts +3 -3
  61. package/packages/table/render/index.ts +5 -3
  62. package/packages/table/src/body.ts +4 -4
  63. package/packages/table/src/header.ts +4 -3
  64. package/packages/table/src/methods.ts +73 -46
  65. package/packages/table/src/table.ts +29 -26
  66. package/packages/table/src/util.ts +6 -3
  67. package/packages/ui/src/utils.ts +10 -0
  68. /package/es/{iconfont.1791617048832.ttf → iconfont.1791880417274.ttf} +0 -0
  69. /package/es/{iconfont.1791617048832.woff → iconfont.1791880417274.woff} +0 -0
  70. /package/es/{iconfont.1791617048832.woff2 → iconfont.1791880417274.woff2} +0 -0
  71. /package/lib/{iconfont.1791617048832.ttf → iconfont.1791880417274.ttf} +0 -0
  72. /package/lib/{iconfont.1791617048832.woff → iconfont.1791880417274.woff} +0 -0
  73. /package/lib/{iconfont.1791617048832.woff2 → iconfont.1791880417274.woff2} +0 -0
@@ -1,5 +1,5 @@
1
1
  import XEUtils from 'xe-utils';
2
- import { getFuncText, isEnableConf } from '../../ui/src/utils';
2
+ import { getFuncText, hasEnableConf, isEnableConf } from '../../ui/src/utils';
3
3
  import { initTpImg, toCssUnit } from '../../ui/src/dom';
4
4
  import { createReactData, createInternalData, createHandleGetRowId, getCalcHeight, hasDeepKey } from './util';
5
5
  import { VxeUI } from '../../ui';
@@ -1600,7 +1600,7 @@ export default {
1600
1600
  const internalData = $xeTable;
1601
1601
  XEUtils.assign(internalData, createInternalData());
1602
1602
  handleKeyField($xeTable);
1603
- const { editConfig, exportConfig, importConfig, treeConfig, minHeight, keepSource } = props;
1603
+ const { editConfig, exportConfig, importConfig, treeConfig, minHeight, keepSource, areaConfig } = props;
1604
1604
  const { scrollXStore, scrollYStore } = internalData;
1605
1605
  const columnOpts = $xeTable.computeColumnOpts;
1606
1606
  const columnDragOpts = $xeTable.computeColumnDragOpts;
@@ -1699,13 +1699,13 @@ export default {
1699
1699
  // warnLog('vxe.error.delProp', ['scroll-x', 'virtual-x-config'])
1700
1700
  // }
1701
1701
  // 检查导入导出类型,如果自定义导入导出方法,则不校验类型
1702
- if (importConfig && importOpts.types && !importOpts.importMethod && !XEUtils.includeArrays(XEUtils.keys(importOpts._typeMaps), importOpts.types)) {
1702
+ if (hasEnableConf(importConfig, importOpts) && importOpts.types && !importOpts.importMethod && !XEUtils.includeArrays(XEUtils.keys(importOpts._typeMaps), importOpts.types)) {
1703
1703
  warnLog('vxe.error.errProp', [`export-config.types=${importOpts.types.join(',')}`, importOpts.types.filter((type) => XEUtils.includes(XEUtils.keys(importOpts._typeMaps), type)).join(',') || XEUtils.keys(importOpts._typeMaps).join(',')]);
1704
1704
  }
1705
- if (exportConfig && exportOpts.types && !exportOpts.exportMethod && !XEUtils.includeArrays(XEUtils.keys(exportOpts._typeMaps), exportOpts.types)) {
1705
+ if (hasEnableConf(exportConfig, exportOpts) && exportOpts.types && !exportOpts.exportMethod && !XEUtils.includeArrays(XEUtils.keys(exportOpts._typeMaps), exportOpts.types)) {
1706
1706
  warnLog('vxe.error.errProp', [`export-config.types=${exportOpts.types.join(',')}`, exportOpts.types.filter((type) => XEUtils.includes(XEUtils.keys(exportOpts._typeMaps), type)).join(',') || XEUtils.keys(exportOpts._typeMaps).join(',')]);
1707
1707
  }
1708
- if (exportConfig && XEUtils.isBoolean(exportOpts.isAllExpand)) {
1708
+ if (hasEnableConf(exportConfig, exportOpts) && XEUtils.isBoolean(exportOpts.isAllExpand)) {
1709
1709
  warnLog('vxe.error.delProp', ['isAllExpand', 'isTreeAllExpanded']);
1710
1710
  }
1711
1711
  if (!props.id) {
@@ -1719,8 +1719,8 @@ export default {
1719
1719
  if (rowOpts.height && !this.showOverflow) {
1720
1720
  warnLog('vxe.error.notProp', ['table.show-overflow']);
1721
1721
  }
1722
- if (!$xeTable.triggerClAreaMnEvent) {
1723
- if (props.areaConfig) {
1722
+ if (!$xeTable.triggerClAaMnEvent) {
1723
+ if (hasEnableConf(areaConfig, areaOpts)) {
1724
1724
  warnLog('vxe.error.notProp', ['area-config']);
1725
1725
  }
1726
1726
  if (props.clipConfig) {
@@ -1837,10 +1837,10 @@ export default {
1837
1837
  if (columnOpts.currentMethod) {
1838
1838
  warnLog('vxe.error.delProp', ['row-config.currentMethod', 'current-column-config.beforeSelectMethod']);
1839
1839
  }
1840
- // if ((rowOpts.isCurrent || highlightCurrentRow) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
1840
+ // if ((rowOpts.isCurrent || highlightCurrentRow) && hasEnableConf(keyboardConfig, keyboardOpts) && keyboardOpts.isArrow && !XEUtils.isBoolean(currentRowOpts.isFollowSelected)) {
1841
1841
  // warnLog('vxe.error.notConflictProp', ['row-config.isCurrent & keyboard-config.isArrow', 'current-row-config.isFollowSelected'])
1842
1842
  // }
1843
- // if ((columnOpts.isCurrent || highlightCurrentColumn) && props.keyboardConfig && keyboardOpts.isArrow && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
1843
+ // if ((columnOpts.isCurrent || highlightCurrentColumn) && hasEnableConf(keyboardConfig, keyboardOpts) && keyboardOpts.isArrow && !XEUtils.isBoolean(currentColumnOpts.isFollowSelected)) {
1844
1844
  // warnLog('vxe.error.notConflictProp', ['column-config.isCurrent & keyboard-config.isArrow', 'current-column-config.isFollowSelected'])
1845
1845
  // }
1846
1846
  // 如果不支持虚拟滚动
@@ -1858,18 +1858,18 @@ export default {
1858
1858
  // }
1859
1859
  // }
1860
1860
  // 检查是否有安装需要的模块
1861
- if (props.editConfig && !$xeTable.insert) {
1862
- errLog('vxe.error.reqModule', ['Edit']);
1863
- }
1864
- if (props.editRules && !$xeTable.validate) {
1865
- errLog('vxe.error.reqModule', ['Validator']);
1866
- }
1867
- if ((checkboxOpts.range || props.keyboardConfig || props.mouseConfig) && !$xeTable.handleCellMousedownEvent) {
1868
- errLog('vxe.error.reqModule', ['Keyboard']);
1869
- }
1870
- if ((props.printConfig || props.importConfig || props.exportConfig) && !$xeTable.exportData) {
1871
- errLog('vxe.error.reqModule', ['Export']);
1872
- }
1861
+ // if (props.editConfig && !$xeTable.insert) {
1862
+ // errLog('vxe.error.reqModule', ['Edit'])
1863
+ // }
1864
+ // if (props.editRules && !$xeTable.validate) {
1865
+ // errLog('vxe.error.reqModule', ['Validator'])
1866
+ // }
1867
+ // if ((checkboxOpts.range || hasEnableConf(keyboardConfig, keyboardOpts) || hasEnableConf(mouseConfig, mouseOpts)) && !$xeTable.handleCellMousedownEvent) {
1868
+ // errLog('vxe.error.reqModule', ['Keyboard'])
1869
+ // }
1870
+ // if ((hasEnableConf(printConfig, printOpts) || hasEnableConf(importConfig, importOpts) || hasEnableConf(exportConfig, exportOpts)) && !$xeTable.exportData) {
1871
+ // errLog('vxe.error.reqModule', ['Export'])
1872
+ // }
1873
1873
  Object.assign(scrollYStore, {
1874
1874
  startIndex: 0,
1875
1875
  endIndex: 1,
@@ -2073,7 +2073,7 @@ export default {
2073
2073
  const slots = $xeTable.$scopedSlots;
2074
2074
  const reactData = $xeTable;
2075
2075
  const { xID } = $xeTable;
2076
- const { loading, stripe, showHeader, height, treeConfig, mouseConfig, showFooter, highlightCell, highlightHoverRow, highlightHoverColumn, editConfig, editRules } = props;
2076
+ const { loading, stripe, showHeader, height, treeConfig, mouseConfig, showFooter, highlightCell, highlightHoverRow, highlightHoverColumn, editConfig, editRules, importConfig, exportConfig, printConfig } = props;
2077
2077
  const { isGroup, overflowX, overflowY, scrollXLoad, scrollYLoad, tableData, initStore, isRowGroupStatus, columnStore, filterStore, customStore, tooltipStore } = reactData;
2078
2078
  const { leftList, rightList } = columnStore;
2079
2079
  const loadingSlot = slots.loading;
@@ -2100,10 +2100,13 @@ export default {
2100
2100
  const isContentMenu = $xeTable.computeIsContentMenu;
2101
2101
  const currLoading = reactData.isColLoading || reactData.isRowLoading || loading;
2102
2102
  const resizableOpts = $xeTable.computeResizableOpts;
2103
- const isArea = mouseConfig && mouseOpts.area;
2103
+ const isArea = hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.area;
2104
2104
  const columnDragOpts = $xeTable.computeColumnDragOpts;
2105
2105
  const scrollbarXToTop = $xeTable.computeScrollbarXToTop;
2106
2106
  const scrollbarYToLeft = $xeTable.computeScrollbarYToLeft;
2107
+ const exportOpts = $xeTable.computeExportOpts;
2108
+ const importOpts = $xeTable.computeImportOpts;
2109
+ const printOpts = $xeTable.computePrintOpts;
2107
2110
  const { isCrossTableDrag } = rowDragOpts;
2108
2111
  const tbOns = {
2109
2112
  contextmenu: this.contextMenuEvent,
@@ -2120,7 +2123,7 @@ export default {
2120
2123
  'vxe-editable': !!editConfig,
2121
2124
  'old-cell-valid': editRules && getConfig().cellVaildMode === 'obsolete',
2122
2125
  'cell--highlight': highlightCell,
2123
- 'cell--selected': mouseConfig && mouseOpts.selected,
2126
+ 'cell--selected': hasEnableConf(mouseConfig, mouseOpts) && mouseOpts.selected,
2124
2127
  'cell--area': isArea,
2125
2128
  'header-cell--area': isArea && areaOpts.selectCellByHeader,
2126
2129
  'body-cell--area': isArea && areaOpts.selectCellByBody,
@@ -2336,7 +2339,7 @@ export default {
2336
2339
  /**
2337
2340
  * 导入
2338
2341
  */
2339
- initStore.import && this.importConfig
2342
+ initStore.import && hasEnableConf(importConfig, importOpts)
2340
2343
  ? h(TableImportPanelComponent, {
2341
2344
  key: 'it',
2342
2345
  props: {
@@ -2348,7 +2351,7 @@ export default {
2348
2351
  /**
2349
2352
  * 导出
2350
2353
  */
2351
- initStore.export && (this.exportConfig || this.printConfig)
2354
+ initStore.export && (hasEnableConf(exportConfig, exportOpts) || hasEnableConf(printConfig, printOpts))
2352
2355
  ? h(TableExportPanelComponent, {
2353
2356
  key: 'et',
2354
2357
  props: {
@@ -2,7 +2,7 @@ import XEUtils from 'xe-utils';
2
2
  import { ColumnInfo } from './columnInfo';
3
3
  import { isScale, isPx, queryElement } from '../../ui/src/dom';
4
4
  import { createComponentLog } from '../../ui/src/log';
5
- import { eqEmptyValue } from '../../ui/src/utils';
5
+ import { eqEmptyValue, hasEnableConf } from '../../ui/src/utils';
6
6
  const { warnLog, errLog } = createComponentLog('table');
7
7
  export function createInternalData() {
8
8
  return {
@@ -872,6 +872,9 @@ export function getRefElem(refEl) {
872
872
  export function clearTableDefaultStatus($xeTable) {
873
873
  const props = $xeTable;
874
874
  const internalData = $xeTable;
875
+ const { keyboardConfig, mouseConfig } = props;
876
+ const mouseOpts = $xeTable.computeMouseOpts;
877
+ const keyboardOpts = $xeTable.computeKeyboardOpts;
875
878
  internalData.initStatus = false;
876
879
  const actionList = [
877
880
  $xeTable.clearSort(),
@@ -889,10 +892,10 @@ export function clearTableDefaultStatus($xeTable) {
889
892
  if ($xeTable.clearFilter) {
890
893
  actionList.push($xeTable.clearFilter());
891
894
  }
892
- if ($xeTable.clearSelected && (props.keyboardConfig || props.mouseConfig)) {
895
+ if ($xeTable.clearSelected && (hasEnableConf(keyboardConfig, keyboardOpts) || hasEnableConf(mouseConfig, mouseOpts))) {
893
896
  actionList.push($xeTable.clearSelected());
894
897
  }
895
- if ($xeTable.clearCellAreas && props.mouseConfig) {
898
+ if ($xeTable.clearCellAreas && hasEnableConf(mouseConfig, mouseOpts)) {
896
899
  actionList.push($xeTable.clearCellAreas(), $xeTable.clearCopyCellArea());
897
900
  }
898
901
  return Promise.all(actionList).then(() => {
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 = "3.24.4";
3
+ export const version = "3.25.0-beta.0";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
package/es/ui/src/log.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const tableVersion = `table v${"3.24.4"}`;
3
+ const tableVersion = `table v${"3.25.0-beta.0"}`;
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}` : '';
@@ -5,6 +5,15 @@ const { getConfig } = VxeUI;
5
5
  export function isEnableConf(conf) {
6
6
  return conf && conf.enabled !== false;
7
7
  }
8
+ /**
9
+ * 用于开关类型的配置项
10
+ * 局部启用规则:conf={}
11
+ * 局部禁用规则:conf={enabled:false}
12
+ * 全局默认启用规则:conf.enabled=true
13
+ */
14
+ export function hasEnableConf(conf, opts) {
15
+ return opts && (conf ? opts.enabled !== false : opts.enabled);
16
+ }
8
17
  export function isEmptyValue(cellValue) {
9
18
  return cellValue === null || cellValue === undefined || cellValue === '';
10
19
  }
@@ -473,12 +473,25 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
473
473
  }
474
474
  return 0;
475
475
  },
476
+ getParentElem() {
477
+ const $xeGrid = this;
478
+ const el = $xeGrid.$refs.refElem;
479
+ if (!el) {
480
+ return null;
481
+ }
482
+ let parentEl = el.parentElement;
483
+ // 如果是虚拟滚动条
484
+ if (parentEl && (0, _dom.hasClass)(parentEl, 'vxe-scrollbar--view-inner')) {
485
+ parentEl = parentEl.parentElement;
486
+ }
487
+ return parentEl;
488
+ },
476
489
  getParentHeight() {
477
490
  const $xeGrid = this;
478
491
  const reactData = $xeGrid.reactData;
479
492
  const el = $xeGrid.$refs.refElem;
480
493
  if (el) {
481
- const parentEl = el.parentElement;
494
+ const parentEl = $xeGrid.getParentElem();
482
495
  return (reactData.isZMax ? (0, _dom.getDomNode)().visibleHeight : parentEl ? _xeUtils.default.toNumber(getComputedStyle(parentEl).height) : 0) - $xeGrid.getExcludeHeight();
483
496
  }
484
497
  return 0;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_props=require("../../table/src/props"),_table=_interopRequireDefault(require("../../table")),_toolbar=_interopRequireDefault(require("../../toolbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("grid"),{getConfig,getI18n,commands,globalEvents,globalMixins,createEvent,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableMethods={},propKeys=Object.keys(_props.tableProps),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:o}=r;let a={};return _xeUtils.default.each(e,(e,t)=>{a[t]=(...e)=>{r.$emit(t,...e)}}),t&&(o.sort&&(a["sort-change"]=r.sortChangeEvent,a["clear-all-sort"]=r.clearAllSortEvent),o.filter)&&(a["filter-change"]=r.filterChangeEvent,a["clear-all-filter"]=r.clearAllFilterEvent),a}function 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}}_xeUtils.default.each(_table.default.methods,(e,r)=>{tableMethods[r]=function(...e){var t=this.$refs.refTable;return t&&t[r](...e)}});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.tableProps),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this,$xeGantt:null}},data(){var e=_xeUtils.default.uniqueId(),t=createReactData();return Object.assign(Object.assign({},{}),{xID:e,reactData:t})},computed:Object.assign(Object.assign({},{}),{isRespMsg(){return this.computeIsRespMsg},computeIsRespMsg(){var e=this.computeProxyOpts;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)},isActiveMsg(){return this.computeIsActiveMsg},computeIsActiveMsg(){var e=this.computeProxyOpts;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg},proxyOpts(){return this.computeProxyOpts},computeProxyOpts(){return _xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),this.proxyConfig)},pagerOpts(){return this.computePagerOpts},computePagerOpts(){return Object.assign({},getConfig().grid.pagerConfig,this.pagerConfig)},computePagerProps(){var e=this.computePagerOpts;return Object.assign({},e,{enabled:void 0,slots:void 0})},formOpts(){return this.computeFormOpts},computeFormOpts(){return Object.assign({},getConfig().grid.formConfig,this.formConfig)},toolbarOpts(){return this.computeToolbarOpts},computeToolbarOpts(){return Object.assign({},getConfig().grid.toolbarConfig,this.toolbarConfig)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:o}=this.reactData,a={};return r?a.zIndex=o:(e&&(a.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(a.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),a},computeTableExtendProps(){let t={},r=this;return propKeys.forEach(e=>{void 0!==r[e]&&(t[e]=r[e])}),t},computeTableProps(){var e=this,{showFooter:t,seqConfig:r,pagerConfig:o,editConfig:a,proxyConfig:s}=e,{isZMax:i,tablePage:n,footerData:l}=e.reactData,u=e.computeProxyOpts,g=e.computePagerOpts,c=e.computeIsLoading,e=Object.assign({},e.computeTableExtendProps);return(t&&!e.footerData||u.footer&&l.length)&&(e.footerData=l),i&&(e.maxHeight?e.maxHeight="100%":e.height="100%"),s&&(0,_utils.isEnableConf)(u)&&(e.loading=c,o)&&u.seq&&(0,_utils.isEnableConf)(g)&&(e.seqConfig=Object.assign({},r,{startIndex:(n.currentPage-1)*n.pageSize})),a&&(e.editConfig=Object.assign({},a)),e},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],o=[],a=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],a=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:a}},computeCustomCurrentPageFlag(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag(){return this.computePagerOpts.pageSize},computeCustomTotalFlag(){return this.computePagerOpts.total},computePageCount(){var e=this.reactData.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)},computeIsLoading(){var{loading:e,proxyConfig:t}=this,r=this.reactData.tableLoading,o=this.computeProxyOpts,a=o.showLoading;return e||r&&a&&t&&(0,_utils.isEnableConf)(o)}}),watch:{columns(e){let t=this;t.$nextTick(()=>t.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computeCustomCurrentPageFlag(){this.initPages("currentPage")},computeCustomPageSizeFlag(){this.initPages("pageSize")},computeCustomTotalFlag(){this.initPages("total")}},methods:Object.assign(Object.assign({},tableMethods),{dispatchEvent(e,t,r){this.$emit(e,createEvent(r,{$grid:this,$gantt:null},t))},initPages(e){var t=this.reactData.tablePage,r=this.pagerConfig,o=this.computePagerOpts;r&&(0,_utils.isEnableConf)(o)&&(e?o[e]&&(t[e]=_xeUtils.default.toNumber(o[e])):({currentPage:r,pageSize:e,total:o}=o,r&&(t.currentPage=r),e&&(t.pageSize=e),o&&(t.total=o)))},callSlot(e,t,r){var o=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=o[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r)):[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var t=this,r=t.height,o=t.reactData.isZMax,a=t.$refs.refElem;if(a){var s=t.$refs.refFormWrapper,i=t.$refs.refToolbarWrapper,n=t.$refs.refTopWrapper,l=t.$refs.refBottomWrapper,t=t.$refs.refPagerWrapper,u=a.parentElement;let e=0;return(e=!u||"100%"!==r&&"auto"!==r?e:o?0:(0,_dom.getPaddingTopBottomSize)(u))+(0,_dom.getPaddingTopBottomSize)(a)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(t)}return 0},getParentHeight(){var e=this.reactData,t=this.$refs.refElem;return t?(t=t.parentElement,(e.isZMax?(0,_dom.getDomNode)().visibleHeight:t?_xeUtils.default.toNumber(getComputedStyle(t).height):0)-this.getExcludeHeight()):0},initToolbar(){let r=this;r.$nextTick(()=>{var e=r.$refs.refTable,t=r.$refs.refToolbar;e&&t&&e.connectToolbar(t)})},getDefaultFormData(){var e=this.computeFormOpts;if(e.items){let i={};return e.items.forEach(t=>{var r,o,{field:a,itemRender:s}=t;if(a){let e=null;s&&({startField:s,endField:r,defaultValue:o}=s,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o),s)&&r&&(_xeUtils.default.set(i,s,null),_xeUtils.default.set(i,r,null)),i[a]=e}}),i}return{}},initProxy(){let t=this;var e=t,r=t.reactData;let o=t.internalData;var{proxyConfig:e,formConfig:a}=e,s=r.proxyInited,i=t.computeProxyOpts,n=t.computeFormOpts;e&&((0,_utils.isEnableConf)(a)&&i.form&&n.items&&(r.formData=t.getDefaultFormData()),s||!(r.proxyInited=!0)!==i.autoLoad&&t.$nextTick().then(()=>{o.uFoot=!0;var e=t.commitProxy("initial");return o.uFoot=!1,t.updateQueryFooter(),e}).then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},updateQueryFooter(){var e=this.computeProxyOpts.ajax;if(e&&e.queryFooter)return this.commitProxy("queryFooter")},handleGlobalKeydownEvent(e){var t=this.reactData,r=this.computeZoomOpts;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&t.isZMax&&!1!==r.escRestore&&this.triggerZoomEvent(e)},getRespMsg(e,t){var r=this.computeProxyOpts,r=(r.response||r.props||{}).message,o=this.$refs.refTable;let a;return(a=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:o,$grid:this,$gantt:null}):_xeUtils.default.get(e,r):a)||getI18n(t)},handleDeleteRow(e,t,r){var o=this.computeIsActiveMsg,a=this.getCheckboxRecords();if(o)if(a.length){if(_ui.VxeUI.modal)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&r();return Promise.resolve()},triggerPendingEvent(e){var t=this.computeIsActiveMsg,r=this.$refs.refTable,o=r.getCheckboxRecords();o.length?(r.togglePendingRow(o),this.clearCheckboxRow()):t&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})},commitProxy(t,...d){let p=this;var e=p;let m=p.reactData,f=p.internalData;var r=e.toolbar;let{showFooter:g,proxyConfig:c,toolbarConfig:o,pagerConfig:h,editRules:b,validConfig:v}=e,x=m.tablePage,y=p.computeIsActiveMsg,P=p.computeIsRespMsg;var E=p.computeProxyOpts;let C=p.computePagerOpts;var a,e=p.computeToolbarOpts;let{beforeQuery:O,afterQuery:_,beforeQueryFooter:l,afterQueryFooter:u,beforeDelete:F,afterDelete:$,beforeSave:w,afterSave:D,ajax:S={}}=E,j=E.response||E.props||{},T=p.$refs.refTable,U=p.getFormData(),I=null,R=null;R=_xeUtils.default.isString(t)?(a=e.buttons,r=(o||r)&&(0,_utils.isEnableConf)(e)&&a?_xeUtils.default.findTree(a,e=>e.code===t,{children:"dropdowns"}):null,I=r?r.item:null,t):(I=t).code;var s=I?I.params:null;switch(R){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":p.triggerPendingEvent(R);break;case"remove":return p.handleDeleteRow(R,"vxe.grid.removeSelectRecord",()=>T.removeCheckboxRow());case"import":T.importData(s);break;case"open_import":T.openImport(s);break;case"export":T.exportData(s);break;case"open_export":T.openExport(s);break;case"reset_custom":T.resetCustom(!0);break;case"initial":case"reload":case"query":{var L=S.beforeQuery;let s=S.query,n=S.afterQuery,l=S.querySuccess,u=S.queryError;if(s){var M="initial"===R,k="reload"===R;if(!M&&m.tableLoading)return p.$nextTick();let e=null,r=[],a=[],t={};if(h&&((M||k)&&(x.currentPage=1),(0,_utils.isEnableConf)(h))&&(t=Object.assign({},x)),M){if(c&&(0,_utils.isEnableConf)(E)&&E.form&&(U=p.getDefaultFormData(),m.formData=U),T){let{tableFullColumn:e,fullColumnFieldData:o}=T,t=T.computeSortOpts.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),r=t.map(e=>{var{field:e,order:t}=e,r=o[e];return r&&(r=r.column)&&(r.order=t),{field:e,property:e,order:t}})),a=T.getCheckedFilters()}}else T&&(k?e=T.clearAll():(r=T.getSortColumns(),a=T.getCheckedFilters()));let i={$table:T,$grid:p,$gantt:null,code:R,button:I,isInited:M,isReload:k,page:t,sort:r.length?r[0]:{},sorts:r,filters:a,form:U,options:s},o=()=>(m.sortData=r,m.filterData=a,m.tableLoading=!0,Promise.all([Promise.resolve((O||s)(i,...d)),e]).then(([e])=>{if(m.tableLoading=!1,n)n(Object.assign(Object.assign({},i),{response:e,status:"success"}),...d);else{let t=[];var r,o,a,s;e&&(r=j.list,s=j.result,o={data:e,$table:T,$grid:p,$gantt:null},h&&(0,_utils.isEnableConf)(C)?(a=j.total,a=(_xeUtils.default.isFunction(a)?a(o):_xeUtils.default.get(e,a||"page.total"))||0,x.total=_xeUtils.default.toNumber(a),t=(_xeUtils.default.isFunction(s)?s(o):_xeUtils.default.get(e,s||"result"))||[],s=Math.max(Math.ceil(a/x.pageSize),1),x.currentPage>s&&(x.currentPage=s)):_xeUtils.default.isArray(e)?t=e:r&&(t=(_xeUtils.default.isFunction(r)?r(o):_xeUtils.default.get(e,r))||[]),g)&&(s=(a=j.footerData)?_xeUtils.default.isFunction(a)?a(o):_xeUtils.default.get(e,a):[],_xeUtils.default.isArray(s))&&(m.footerData=s),T?T.loadData(t):p.$nextTick(()=>{var e=p.$refs.refTable;e&&e.loadData(t)}),_&&_(Object.assign(Object.assign({},i),{response:e}),...d)}return l&&l(Object.assign(Object.assign({},i),{response:e})),{status:!0}}).catch(e=>(m.tableLoading=!1,n&&n(Object.assign(Object.assign({},i),{response:e,status:"error"}),...d),u&&u(Object.assign(Object.assign({},i),{response:e})),{status:!1})));return L?Promise.resolve(L(i,...d)).then(e=>{if(!1!==e)return o()}):o()}errLog("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"queryFooter":case"query_footer":{M=S.beforeQueryFooter;let a=S.queryFooter,s=S.afterQueryFooter,i=S.queryFooterSuccess,n=S.queryFooterError;if(a){let e=[],t=(T&&(e=T.getCheckedFilters()),{}),r=(h&&(0,_utils.isEnableConf)(h)&&(t=Object.assign({},x)),{$table:T,$grid:p,$gantt:null,code:R,button:I,page:t,filters:e,form:U,options:a}),o=()=>Promise.resolve((l||a)(r,...d)).then(e=>(s?s(Object.assign(Object.assign({},r),{response:e,status:"success"}),...d):(m.footerData=_xeUtils.default.isArray(e)?e:[],u&&u(Object.assign(Object.assign({},r),{response:e}),...d)),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(s&&s(Object.assign(Object.assign({},r),{response:e,status:"error"}),...d),n&&n(Object.assign(Object.assign({},r),{response:e})),{status:!1}));return M?Promise.resolve(M(r,...d)).then(e=>{if(!1!==e)return o()}):o()}errLog("vxe.error.notFunc",["proxy-config.ajax.queryFooter"]);break}case"delete":{let a=S.beforeDelete,s=S.delete,i=S.afterDelete,n=S.deleteSuccess,l=S.deleteError;if(s){let e=T.getCheckboxRecords(),r=e.filter(e=>!T.isInsertByRow(e));k={removeRecords:r};let o={$table:T,$grid:p,$gantt:null,code:R,button:I,body:k,form:U,options:s};if(e.length)return p.handleDeleteRow(R,"vxe.grid.deleteSelectRecord",()=>{if(!r.length)return T.remove(e);let t=()=>(m.tableLoading=!0,Promise.resolve((F||s)(o,...d)).then(e=>(m.tableLoading=!1,i?i(Object.assign(Object.assign({},o),{response:e,status:"success"}),...d):(T.setPendingRow(r,!1),P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:p.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"}),$?$(Object.assign(Object.assign({},o),{response:e}),...d):(f.uFoot=!0,p.commitProxy("query"),f.uFoot=!1,p.updateQueryFooter())),n&&n(Object.assign(Object.assign({},o),{response:e})),{status:!0})).catch(e=>(m.tableLoading=!1,i?i(Object.assign(Object.assign({},o),{response:e,status:"error"}),...d):P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:p.getRespMsg(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},o),{response:e})),{status:!1})));return a?Promise.resolve(a(o,...d)).then(e=>{if(!1!==e)return t()}):t()});y&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else errLog("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let n=S.beforeSave,l=S.save,u=S.afterSave,g=S.saveSuccess,c=S.saveError;if(l){let t=p.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:s}=t,i={$table:T,$grid:p,$gantt:null,code:R,button:I,body:t,form:U,options:l},e=(r.length&&(t.pendingRecords=s.filter(e=>-1===r.indexOf(e))),s.length&&(t.insertRecords=r.filter(e=>-1===s.indexOf(e))),Promise.resolve());return(e=b?p[v&&"full"===v.msgMode?"fullValidate":"validate"](t.insertRecords.concat(a)):e).then(e=>{if(!e){if(t.insertRecords.length||o.length||a.length||t.pendingRecords.length){let t=()=>(m.tableLoading=!0,Promise.resolve((w||l)(i,...d)).then(e=>(m.tableLoading=!1,u?u(Object.assign(Object.assign({},i),{response:e,status:"success"}),...d):(T.clearPendingRow(),P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:p.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"}),D?D(Object.assign(Object.assign({},i),{response:e}),...d):(f.uFoot=!0,p.commitProxy("query"),f.uFoot=!1,p.updateQueryFooter())),g&&g(Object.assign(Object.assign({},i),{response:e})),{status:!0})).catch(e=>(m.tableLoading=!1,u?u(Object.assign(Object.assign({},i),{response:e,status:"error"}),...d):P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:p.getRespMsg(e,"vxe.grid.operError"),status:"error"}),c&&c(Object.assign(Object.assign({},i),{response:e})),{status:!1})));return n?Promise.resolve(n(i,...d)).then(e=>{if(!1!==e)return t()}):t()}y&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})}})}errLog("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:L=commands.get(R);L&&((M=L.tableCommandMethod||L.commandMethod)?M({code:R,button:I,$grid:p,$table:T,$gantt:null},...d):errLog("vxe.error.notCommands",[R]))}return p.$nextTick()},getFormData(){var e=this.proxyConfig,t=this.reactData.formData,r=this.computeProxyOpts,o=this.computeFormOpts;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:o.data},getFormItems(e){var t=this.computeFormOpts,r=this.formConfig,o=t.items;let a=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&o?o:[],e=>{a.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?a:a[e]},getFormFlatItems(){var e=this.$refs.refForm;return e?e.getFlatItems():[]},getFormNestedItems(){var e=this.$refs.refForm;return e?e.getNestedItems():[]},getFormItemByField(e){var t=this.$refs.refForm;return t?t.getItemByField(e):null},resetForm(){var e=this.$refs.refForm;return e?e.reset():this.$nextTick()},validateForm(){var e=this.$refs.refForm;return e?e.validate():Promise.resolve()},validateFormField(e){var t=this.$refs.refForm;return t?t.validateField(e):Promise.resolve()},clearFormValidate(e){var t=this.$refs.refForm;return t?t.clearValidate(e):this.$nextTick()},homePage(){var e=this.reactData.tablePage;return e.currentPage=1,this.$nextTick()},homePageByEvent(e){var t=this.$refs.refPager;t&&t.homePageByEvent(e)},endPage(){var e=this.reactData.tablePage,t=this.computePageCount;return e.currentPage=t,this.$nextTick()},endPageByEvent(e){var t=this.$refs.refPager;t&&t.endPageByEvent(e)},getCurrentPage(){var e=this.reactData.tablePage;return e.currentPage},setCurrentPage(e){var t=this.reactData.tablePage,r=this.computePageCount;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),this.$nextTick()},setCurrentPageByEvent(e,t){var r=this.$refs.refPager;r&&r.setCurrentPageByEvent(e,t)},getPageSize(){var e=this.reactData.tablePage;return e.pageSize},setPageSize(e){var t=this.reactData.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),this.$nextTick()},setPageSizeByEvent(e,t){var r=this.$refs.refPager;r&&r.setPageSizeByEvent(e,t)},triggerToolbarCommitEvent(e,t){let r=this;var o,a=r.internalData;let s=e.code;return s?((o=["reload","delete","save"].includes(s))&&(a.uFoot=!0),e=r.commitProxy(e,t).then(e=>{s&&e&&e.status&&["query","reload","delete","save"].includes(s)&&r.dispatchEvent("delete"===s||"save"===s?"proxy-"+s:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===s}),t)}),o&&r.updateQueryFooter(),a.uFoot=!1,e):r.$nextTick()},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},pageChangeEvent(e){let t=this;var r=t.proxyConfig,o=t.reactData.tablePage;let{$event:a,currentPage:s,pageSize:i}=e;var n=t.computeProxyOpts;o.currentPage=s,o.pageSize=i,t.dispatchEvent("page-change",e,a),r&&(0,_utils.isEnableConf)(n)&&t.commitProxy("query").then(e=>{t.dispatchEvent("proxy-query",e,a)})},handleSortEvent(t){let r=this;var e=r,o=r.reactData,a=r.$refs.refTable,e=e.proxyConfig,s=r.computeProxyOpts;a.computeSortOpts.remote&&(o.sortData=t.sortList,e)&&(0,_utils.isEnableConf)(s)&&(o.tablePage.currentPage=1,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}))},sortChangeEvent(e){this.handleSortEvent(e),this.dispatchEvent("sort-change",e,e.$event)},clearAllSortEvent(e){this.handleSortEvent(e),this.dispatchEvent("clear-all-sort",e,e.$event)},handleFilterEvent(t){let r=this;var e=r,o=r.reactData,a=r.internalData,s=r.$refs.refTable,e=e.proxyConfig,i=r.computeProxyOpts;s.computeFilterOpts.remote&&(o.filterData=t.filterList,e)&&(0,_utils.isEnableConf)(i)&&(o.tablePage.currentPage=1,a.uFoot=!0,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}),a.uFoot=!1,r.updateQueryFooter())},filterChangeEvent(e){this.handleFilterEvent(e),this.dispatchEvent("filter-change",e,e.$event)},clearAllFilterEvent(e){this.handleFilterEvent(e),this.dispatchEvent("clear-all-filter",e,e.$event)},submitFormEvent(t){let r=this;var e=r,o=r.reactData,a=r.internalData,e=e.proxyConfig,s=r.computeProxyOpts,i=s.formOptions||{};o.tableLoading||(e&&(0,_utils.isEnableConf)(s)?(r.dispatchEvent("form-submit",t,t.$event),a.uFoot=!0,r.commitProxy(i.submitMode||"reload").then(e=>{r.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),a.uFoot=!1,r.updateQueryFooter()):r.dispatchEvent("form-submit",t,t.$event))},resetFormEvent(e){let t=this;var r=t,o=t.internalData,a=t.$refs.refTable,r=r.proxyConfig;let s=e.$event;var i=t.computeProxyOpts;r&&(0,_utils.isEnableConf)(i)?(r=i.formOptions||{},t.dispatchEvent("form-reset",e,s),a&&a.clearScroll(),o.uFoot=!0,t.commitProxy("reset_form"===r.resetMode?"query":"reload").then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),s)}),o.uFoot=!1,t.updateQueryFooter()):t.dispatchEvent("form-reset",e,s)},submitInvalidEvent(e){this.dispatchEvent("form-submit-invalid",e,e.$event)},collapseEvent(e){var t=e.$event;this.dispatchEvent("form-toggle-collapse",e,t),this.dispatchEvent("form-collapse",e,t)},triggerZoomEvent(e){var t=this.reactData;this.zoom(),this.dispatchEvent("zoom",{type:t.isZMax?"max":"revert"},e)},getParams(){return this.params},zoom(){return this.reactData.isZMax?this.revert():this.maximize()},isMaximized(){return this.reactData.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){let t=this,r=t.reactData;var o=r.isZMax;return(e?!o:o)&&(r.isZMax=!o,r.tZindex<(0,_utils.getLastZIndex)())&&(r.tZindex=(0,_utils.nextZIndex)()),t.$nextTick().then(()=>t.recalculate(!0)).then(()=>(setTimeout(()=>t.recalculate(!0),15),r.isZMax))},getProxyInfo(){var e,t=this.$refs.refTable,r=this.reactData;return this.proxyConfig?(e=r.sortData,{data:t?t.getFullData():[],filter:r.filterData,form:this.getFormData(),sort:e.length?e[0]:{},sorts:e,pager:r.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},getCustomPagerData(){var e=this.pagerConfig,t=this.reactData.tablePage,r=this.computePagerOpts;return e&&(0,_utils.isEnableConf)(r)?{pSize:t.pageSize}:{}},loadColumn(e){let t=this.$scopedSlots;var r=this.$refs.refTable;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{!e||_xeUtils.default.isFunction(e)||t[e]||errLog("vxe.error.notSlot",[e])})}),r.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)},getConfigSlot(e){let r=this.$scopedSlots,o={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?r[e]?o[t]=r[e]:errLog("vxe.error.notSlot",[e]):o[t]=e)}),o},getToolbarSlots(){var e,t,r,o,a=this,s=a.$scopedSlots,i=a.computeToolbarOpts.slots,n={};return!s.buttons||i&&"buttons"===i.buttons||warnLog("vxe.error.reqProp",["[grid] toolbar-config.slots.buttons"]),!s.tools||i&&"tools"===i.tools||warnLog("vxe.error.reqProp",["[grid] toolbar-config.slots.tools"]),i&&(s=a.getFuncSlot(i,"buttons"),e=a.getFuncSlot(i,"buttonPrefix"),t=a.getFuncSlot(i,"buttonSuffix"),r=a.getFuncSlot(i,"tools"),o=a.getFuncSlot(i,"toolPrefix"),a=a.getFuncSlot(i,"toolSuffix"),s&&(n.buttons=s),e&&(n.buttonPrefix=e),t&&(n.buttonSuffix=t),r&&(n.tools=r),o&&(n.toolPrefix=o),a)&&(n.toolSuffix=a),n},getFuncSlot(e,t){var r=this.$scopedSlots,e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(r[e])return r[e];errLog("vxe.error.notSlot",[e])}return null},renderDefaultForm(e){var r=_ui.VxeUI.getComponent("VxeForm");let o=this;var a=o;let s=o.$scopedSlots;var{proxyConfig:a,formConfig:t}=a,i=o.reactData.formData,n=o.computeProxyOpts,l=o.computeFormOpts;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=n.beforeItem;n&&t&&l.items.forEach(e=>{t.call(o,{$grid:o,$gantt:null,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{e&&!_xeUtils.default.isFunction(e)&&s[e]&&(t[e]=s[e])})}),[r?e(r,{ref:"refForm",props:Object.assign({},l,{data:a&&n.form?i:l.data}),on:{submit:o.submitFormEvent,reset:o.resetFormEvent,collapse:o.collapseEvent,"submit-invalid":o.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(o)]}return[]},renderForm(e){var t=this,r=t.formConfig,o=t.$scopedSlots.form;return!o&&!(0,_utils.isEnableConf)(r)?renderEmptyElement(t):e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t,$gantt:null}):t.renderDefaultForm(e))},renderToolbar(e){var t=this,r=t.toolbarConfig,o=t.$scopedSlots.toolbar,a=t.computeToolbarOpts;return r&&(0,_utils.isEnableConf)(a)||o?e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t,$gantt:null}):[e(_toolbar.default,{props:Object.assign({},a,{slots:void 0}),ref:"refToolbar",scopedSlots:t.getToolbarSlots()})]):renderEmptyElement(t)},renderTop(e){var t=this.$scopedSlots.top;return t?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableLeft(e){var t=this.$scopedSlots.left;return t?e("div",{class:"vxe-grid--left-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableRight(e){var t=this.$scopedSlots.right;return t?e("div",{class:"vxe-grid--right-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTable(e){var t=this.$scopedSlots,r=this.computeTableProps;return e("div",{class:"vxe-grid--table-wrapper"},[e(_table.default,{key:"table",props:r,on:getTableOns(this),scopedSlots:t,ref:"refTable"})])},renderBottom(e){var t=this.$scopedSlots.bottom;return t?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderPager(e){var t=_ui.VxeUI.getComponent("VxePager"),r=this,o=r.$scopedSlots,a=r.reactData,{proxyConfig:s,pagerConfig:i}=r,n=r.computeProxyOpts,l=r.computePagerOpts,u=r.computePagerProps,g=o.pager;return i&&(0,_utils.isEnableConf)(l)||o.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},g?g.call(r,{$grid:r,$gantt:null}):[t?e(t,{ref:"refPager",props:Object.assign(Object.assign({},u),s&&(0,_utils.isEnableConf)(n)?a.tablePage:{}),on:{"page-change":r.pageChangeEvent},scopedSlots:r.getConfigSlot(l.slots)}):renderEmptyElement(r)]):renderEmptyElement(r)},renderChildLayout(t,e){let r=this,o=[];return e.forEach(e=>{switch(e){case"Form":o.push(r.renderForm(t));break;case"Toolbar":o.push(r.renderToolbar(t));break;case"Top":o.push(r.renderTop(t));break;case"Table":o.push(t("div",{key:"table",class:"vxe-grid--table-container"},[r.renderTableLeft(t),r.renderTable(t),r.renderTableRight(t)]));break;case"Bottom":o.push(r.renderBottom(t));break;case"Pager":o.push(r.renderPager(t));break;default:errLog("vxe.error.notProp",["layouts -> "+e])}}),o},renderLayout(e){var t=this,r=t.$scopedSlots,{headKeys:o,bodyKeys:a,footKeys:s}=t.computeCurrLayoutConf,i=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},t.renderChildLayout(e,o)),e("div",{class:"vxe-grid--layout-body-wrapper"},[i?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},i({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},t.renderChildLayout(e,a)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},t.renderChildLayout(e,s)),e("div",{ref:"refPopupContainerElem"})]},renderVN(e){var t=this,r=t.reactData,o=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+o]:o,"is--animat":!!t.animat,"is--round":t.round,"is--maximize":r.isZMax,"is--loading":t.computeIsLoading}],style:t.computeStyles},t.renderLayout(e))}}),created(){let e=_ui.VxeUI.getComponent("VxeForm"),t=_ui.VxeUI.getComponent("VxePager");var r=this;let o=r;r.internalData=createInternalData();var a=r.computeProxyOpts;o.toolbar&&errLog("vxe.error.delProp",["toolbar","toolbar-config"]),o.toolbarConfig&&!_xeUtils.default.isObject(o.toolbarConfig)&&errLog("vxe.error.errProp",["toolbar-config="+o.toolbarConfig,"toolbar-config={}"]),a.props&&warnLog("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),r.$nextTick(()=>{o.formConfig&&!e&&errLog("vxe.error.reqComp",["vxe-form"]),o.pagerConfig&&!t&&errLog("vxe.error.reqComp",["vxe-pager"])}),r.initPages(),globalEvents.on(r,"keydown",r.handleGlobalKeydownEvent)},mounted(){var e=this.columns;e&&e.length&&this.loadColumn(e),this.initToolbar(),this.initProxy()},beforeDestroy(){var e=this.reactData,t=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createReactData()),_xeUtils.default.assign(t,createInternalData())},render(e){return this.renderVN(e)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_props=require("../../table/src/props"),_table=_interopRequireDefault(require("../../table")),_toolbar=_interopRequireDefault(require("../../toolbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("grid"),{getConfig,getI18n,commands,globalEvents,globalMixins,createEvent,GLOBAL_EVENT_KEYS,renderEmptyElement}=_ui.VxeUI,tableMethods={},propKeys=Object.keys(_props.tableProps),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:o}=r;let a={};return _xeUtils.default.each(e,(e,t)=>{a[t]=(...e)=>{r.$emit(t,...e)}}),t&&(o.sort&&(a["sort-change"]=r.sortChangeEvent,a["clear-all-sort"]=r.clearAllSortEvent),o.filter)&&(a["filter-change"]=r.filterChangeEvent,a["clear-all-filter"]=r.clearAllFilterEvent),a}function 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}}_xeUtils.default.each(_table.default.methods,(e,r)=>{tableMethods[r]=function(...e){var t=this.$refs.refTable;return t&&t[r](...e)}});var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.tableProps),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this,$xeGantt:null}},data(){var e=_xeUtils.default.uniqueId(),t=createReactData();return Object.assign(Object.assign({},{}),{xID:e,reactData:t})},computed:Object.assign(Object.assign({},{}),{isRespMsg(){return this.computeIsRespMsg},computeIsRespMsg(){var e=this.computeProxyOpts;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)},isActiveMsg(){return this.computeIsActiveMsg},computeIsActiveMsg(){var e=this.computeProxyOpts;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg},proxyOpts(){return this.computeProxyOpts},computeProxyOpts(){return _xeUtils.default.merge({},_xeUtils.default.clone(getConfig().grid.proxyConfig,!0),this.proxyConfig)},pagerOpts(){return this.computePagerOpts},computePagerOpts(){return Object.assign({},getConfig().grid.pagerConfig,this.pagerConfig)},computePagerProps(){var e=this.computePagerOpts;return Object.assign({},e,{enabled:void 0,slots:void 0})},formOpts(){return this.computeFormOpts},computeFormOpts(){return Object.assign({},getConfig().grid.formConfig,this.formConfig)},toolbarOpts(){return this.computeToolbarOpts},computeToolbarOpts(){return Object.assign({},getConfig().grid.toolbarConfig,this.toolbarConfig)},zoomOpts(){return this.computeZoomOpts},computeZoomOpts(){return Object.assign({},getConfig().grid.zoomConfig,this.zoomConfig)},computeStyles(){var{height:e,maxHeight:t}=this,{isZMax:r,tZindex:o}=this.reactData,a={};return r?a.zIndex=o:(e&&(a.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(a.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),a},computeTableExtendProps(){let t={},r=this;return propKeys.forEach(e=>{void 0!==r[e]&&(t[e]=r[e])}),t},computeTableProps(){var e=this,{showFooter:t,seqConfig:r,pagerConfig:o,editConfig:a,proxyConfig:s}=e,{isZMax:i,tablePage:n,footerData:l}=e.reactData,u=e.computeProxyOpts,g=e.computePagerOpts,c=e.computeIsLoading,e=Object.assign({},e.computeTableExtendProps);return(t&&!e.footerData||u.footer&&l.length)&&(e.footerData=l),i&&(e.maxHeight?e.maxHeight="100%":e.height="100%"),s&&(0,_utils.isEnableConf)(u)&&(e.loading=c,o)&&u.seq&&(0,_utils.isEnableConf)(g)&&(e.seqConfig=Object.assign({},r,{startIndex:(n.currentPage-1)*n.pageSize})),a&&(e.editConfig=Object.assign({},a)),e},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],o=[],a=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],a=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:a}},computeCustomCurrentPageFlag(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag(){return this.computePagerOpts.pageSize},computeCustomTotalFlag(){return this.computePagerOpts.total},computePageCount(){var e=this.reactData.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)},computeIsLoading(){var{loading:e,proxyConfig:t}=this,r=this.reactData.tableLoading,o=this.computeProxyOpts,a=o.showLoading;return e||r&&a&&t&&(0,_utils.isEnableConf)(o)}}),watch:{columns(e){let t=this;t.$nextTick(()=>t.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computeCustomCurrentPageFlag(){this.initPages("currentPage")},computeCustomPageSizeFlag(){this.initPages("pageSize")},computeCustomTotalFlag(){this.initPages("total")}},methods:Object.assign(Object.assign({},tableMethods),{dispatchEvent(e,t,r){this.$emit(e,createEvent(r,{$grid:this,$gantt:null},t))},initPages(e){var t=this.reactData.tablePage,r=this.pagerConfig,o=this.computePagerOpts;r&&(0,_utils.isEnableConf)(o)&&(e?o[e]&&(t[e]=_xeUtils.default.toNumber(o[e])):({currentPage:r,pageSize:e,total:o}=o,r&&(t.currentPage=r),e&&(t.pageSize=e),o&&(t.total=o)))},callSlot(e,t,r){var o=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=o[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r)):[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var t=this,r=t.height,o=t.reactData.isZMax,a=t.$refs.refElem;if(a){var s=t.$refs.refFormWrapper,i=t.$refs.refToolbarWrapper,n=t.$refs.refTopWrapper,l=t.$refs.refBottomWrapper,t=t.$refs.refPagerWrapper,u=a.parentElement;let e=0;return(e=!u||"100%"!==r&&"auto"!==r?e:o?0:(0,_dom.getPaddingTopBottomSize)(u))+(0,_dom.getPaddingTopBottomSize)(a)+(0,_dom.getOffsetHeight)(s)+(0,_dom.getOffsetHeight)(i)+(0,_dom.getOffsetHeight)(n)+(0,_dom.getOffsetHeight)(l)+(0,_dom.getOffsetHeight)(t)}return 0},getParentElem(){var e=this.$refs.refElem;if(!e)return null;let t=e.parentElement;return t=t&&(0,_dom.hasClass)(t,"vxe-scrollbar--view-inner")?t.parentElement:t},getParentHeight(){var e,t=this.reactData;return this.$refs.refElem?(e=this.getParentElem(),(t.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-this.getExcludeHeight()):0},initToolbar(){let r=this;r.$nextTick(()=>{var e=r.$refs.refTable,t=r.$refs.refToolbar;e&&t&&e.connectToolbar(t)})},getDefaultFormData(){var e=this.computeFormOpts;if(e.items){let i={};return e.items.forEach(t=>{var r,o,{field:a,itemRender:s}=t;if(a){let e=null;s&&({startField:s,endField:r,defaultValue:o}=s,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o),s)&&r&&(_xeUtils.default.set(i,s,null),_xeUtils.default.set(i,r,null)),i[a]=e}}),i}return{}},initProxy(){let t=this;var e=t,r=t.reactData;let o=t.internalData;var{proxyConfig:e,formConfig:a}=e,s=r.proxyInited,i=t.computeProxyOpts,n=t.computeFormOpts;e&&((0,_utils.isEnableConf)(a)&&i.form&&n.items&&(r.formData=t.getDefaultFormData()),s||!(r.proxyInited=!0)!==i.autoLoad&&t.$nextTick().then(()=>{o.uFoot=!0;var e=t.commitProxy("initial");return o.uFoot=!1,t.updateQueryFooter(),e}).then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},updateQueryFooter(){var e=this.computeProxyOpts.ajax;if(e&&e.queryFooter)return this.commitProxy("queryFooter")},handleGlobalKeydownEvent(e){var t=this.reactData,r=this.computeZoomOpts;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&t.isZMax&&!1!==r.escRestore&&this.triggerZoomEvent(e)},getRespMsg(e,t){var r=this.computeProxyOpts,r=(r.response||r.props||{}).message,o=this.$refs.refTable;let a;return(a=e&&r?_xeUtils.default.isFunction(r)?r({data:e,$table:o,$grid:this,$gantt:null}):_xeUtils.default.get(e,r):a)||getI18n(t)},handleDeleteRow(e,t,r){var o=this.computeIsActiveMsg,a=this.getCheckboxRecords();if(o)if(a.length){if(_ui.VxeUI.modal)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()})}else _ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&r();return Promise.resolve()},triggerPendingEvent(e){var t=this.computeIsActiveMsg,r=this.$refs.refTable,o=r.getCheckboxRecords();o.length?(r.togglePendingRow(o),this.clearCheckboxRow()):t&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})},commitProxy(t,...d){let p=this;var e=p;let m=p.reactData,f=p.internalData;var r=e.toolbar;let{showFooter:g,proxyConfig:c,toolbarConfig:o,pagerConfig:h,editRules:b,validConfig:v}=e,x=m.tablePage,y=p.computeIsActiveMsg,P=p.computeIsRespMsg;var E=p.computeProxyOpts;let C=p.computePagerOpts;var a,e=p.computeToolbarOpts;let{beforeQuery:O,afterQuery:_,beforeQueryFooter:l,afterQueryFooter:u,beforeDelete:F,afterDelete:$,beforeSave:w,afterSave:D,ajax:S={}}=E,j=E.response||E.props||{},T=p.$refs.refTable,U=p.getFormData(),I=null,R=null;R=_xeUtils.default.isString(t)?(a=e.buttons,r=(o||r)&&(0,_utils.isEnableConf)(e)&&a?_xeUtils.default.findTree(a,e=>e.code===t,{children:"dropdowns"}):null,I=r?r.item:null,t):(I=t).code;var s=I?I.params:null;switch(R){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":p.triggerPendingEvent(R);break;case"remove":return p.handleDeleteRow(R,"vxe.grid.removeSelectRecord",()=>T.removeCheckboxRow());case"import":T.importData(s);break;case"open_import":T.openImport(s);break;case"export":T.exportData(s);break;case"open_export":T.openExport(s);break;case"reset_custom":T.resetCustom(!0);break;case"initial":case"reload":case"query":{var L=S.beforeQuery;let s=S.query,n=S.afterQuery,l=S.querySuccess,u=S.queryError;if(s){var M="initial"===R,k="reload"===R;if(!M&&m.tableLoading)return p.$nextTick();let e=null,r=[],a=[],t={};if(h&&((M||k)&&(x.currentPage=1),(0,_utils.isEnableConf)(h))&&(t=Object.assign({},x)),M){if(c&&(0,_utils.isEnableConf)(E)&&E.form&&(U=p.getDefaultFormData(),m.formData=U),T){let{tableFullColumn:e,fullColumnFieldData:o}=T,t=T.computeSortOpts.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),r=t.map(e=>{var{field:e,order:t}=e,r=o[e];return r&&(r=r.column)&&(r.order=t),{field:e,property:e,order:t}})),a=T.getCheckedFilters()}}else T&&(k?e=T.clearAll():(r=T.getSortColumns(),a=T.getCheckedFilters()));let i={$table:T,$grid:p,$gantt:null,code:R,button:I,isInited:M,isReload:k,page:t,sort:r.length?r[0]:{},sorts:r,filters:a,form:U,options:s},o=()=>(m.sortData=r,m.filterData=a,m.tableLoading=!0,Promise.all([Promise.resolve((O||s)(i,...d)),e]).then(([e])=>{if(m.tableLoading=!1,n)n(Object.assign(Object.assign({},i),{response:e,status:"success"}),...d);else{let t=[];var r,o,a,s;e&&(r=j.list,s=j.result,o={data:e,$table:T,$grid:p,$gantt:null},h&&(0,_utils.isEnableConf)(C)?(a=j.total,a=(_xeUtils.default.isFunction(a)?a(o):_xeUtils.default.get(e,a||"page.total"))||0,x.total=_xeUtils.default.toNumber(a),t=(_xeUtils.default.isFunction(s)?s(o):_xeUtils.default.get(e,s||"result"))||[],s=Math.max(Math.ceil(a/x.pageSize),1),x.currentPage>s&&(x.currentPage=s)):_xeUtils.default.isArray(e)?t=e:r&&(t=(_xeUtils.default.isFunction(r)?r(o):_xeUtils.default.get(e,r))||[]),g)&&(s=(a=j.footerData)?_xeUtils.default.isFunction(a)?a(o):_xeUtils.default.get(e,a):[],_xeUtils.default.isArray(s))&&(m.footerData=s),T?T.loadData(t):p.$nextTick(()=>{var e=p.$refs.refTable;e&&e.loadData(t)}),_&&_(Object.assign(Object.assign({},i),{response:e}),...d)}return l&&l(Object.assign(Object.assign({},i),{response:e})),{status:!0}}).catch(e=>(m.tableLoading=!1,n&&n(Object.assign(Object.assign({},i),{response:e,status:"error"}),...d),u&&u(Object.assign(Object.assign({},i),{response:e})),{status:!1})));return L?Promise.resolve(L(i,...d)).then(e=>{if(!1!==e)return o()}):o()}errLog("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"queryFooter":case"query_footer":{M=S.beforeQueryFooter;let a=S.queryFooter,s=S.afterQueryFooter,i=S.queryFooterSuccess,n=S.queryFooterError;if(a){let e=[],t=(T&&(e=T.getCheckedFilters()),{}),r=(h&&(0,_utils.isEnableConf)(h)&&(t=Object.assign({},x)),{$table:T,$grid:p,$gantt:null,code:R,button:I,page:t,filters:e,form:U,options:a}),o=()=>Promise.resolve((l||a)(r,...d)).then(e=>(s?s(Object.assign(Object.assign({},r),{response:e,status:"success"}),...d):(m.footerData=_xeUtils.default.isArray(e)?e:[],u&&u(Object.assign(Object.assign({},r),{response:e}),...d)),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(s&&s(Object.assign(Object.assign({},r),{response:e,status:"error"}),...d),n&&n(Object.assign(Object.assign({},r),{response:e})),{status:!1}));return M?Promise.resolve(M(r,...d)).then(e=>{if(!1!==e)return o()}):o()}errLog("vxe.error.notFunc",["proxy-config.ajax.queryFooter"]);break}case"delete":{let a=S.beforeDelete,s=S.delete,i=S.afterDelete,n=S.deleteSuccess,l=S.deleteError;if(s){let e=T.getCheckboxRecords(),r=e.filter(e=>!T.isInsertByRow(e));k={removeRecords:r};let o={$table:T,$grid:p,$gantt:null,code:R,button:I,body:k,form:U,options:s};if(e.length)return p.handleDeleteRow(R,"vxe.grid.deleteSelectRecord",()=>{if(!r.length)return T.remove(e);let t=()=>(m.tableLoading=!0,Promise.resolve((F||s)(o,...d)).then(e=>(m.tableLoading=!1,i?i(Object.assign(Object.assign({},o),{response:e,status:"success"}),...d):(T.setPendingRow(r,!1),P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:p.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"}),$?$(Object.assign(Object.assign({},o),{response:e}),...d):(f.uFoot=!0,p.commitProxy("query"),f.uFoot=!1,p.updateQueryFooter())),n&&n(Object.assign(Object.assign({},o),{response:e})),{status:!0})).catch(e=>(m.tableLoading=!1,i?i(Object.assign(Object.assign({},o),{response:e,status:"error"}),...d):P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:p.getRespMsg(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},o),{response:e})),{status:!1})));return a?Promise.resolve(a(o,...d)).then(e=>{if(!1!==e)return t()}):t()});y&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else errLog("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let n=S.beforeSave,l=S.save,u=S.afterSave,g=S.saveSuccess,c=S.saveError;if(l){let t=p.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:s}=t,i={$table:T,$grid:p,$gantt:null,code:R,button:I,body:t,form:U,options:l},e=(r.length&&(t.pendingRecords=s.filter(e=>-1===r.indexOf(e))),s.length&&(t.insertRecords=r.filter(e=>-1===s.indexOf(e))),Promise.resolve());return(e=b?p[v&&"full"===v.msgMode?"fullValidate":"validate"](t.insertRecords.concat(a)):e).then(e=>{if(!e){if(t.insertRecords.length||o.length||a.length||t.pendingRecords.length){let t=()=>(m.tableLoading=!0,Promise.resolve((w||l)(i,...d)).then(e=>(m.tableLoading=!1,u?u(Object.assign(Object.assign({},i),{response:e,status:"success"}),...d):(T.clearPendingRow(),P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:p.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"}),D?D(Object.assign(Object.assign({},i),{response:e}),...d):(f.uFoot=!0,p.commitProxy("query"),f.uFoot=!1,p.updateQueryFooter())),g&&g(Object.assign(Object.assign({},i),{response:e})),{status:!0})).catch(e=>(m.tableLoading=!1,u?u(Object.assign(Object.assign({},i),{response:e,status:"error"}),...d):P&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:p.getRespMsg(e,"vxe.grid.operError"),status:"error"}),c&&c(Object.assign(Object.assign({},i),{response:e})),{status:!1})));return n?Promise.resolve(n(i,...d)).then(e=>{if(!1!==e)return t()}):t()}y&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:R,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})}})}errLog("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:L=commands.get(R);L&&((M=L.tableCommandMethod||L.commandMethod)?M({code:R,button:I,$grid:p,$table:T,$gantt:null},...d):errLog("vxe.error.notCommands",[R]))}return p.$nextTick()},getFormData(){var e=this.proxyConfig,t=this.reactData.formData,r=this.computeProxyOpts,o=this.computeFormOpts;return e&&(0,_utils.isEnableConf)(r)&&r.form?t:o.data},getFormItems(e){var t=this.computeFormOpts,r=this.formConfig,o=t.items;let a=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&o?o:[],e=>{a.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?a:a[e]},getFormFlatItems(){var e=this.$refs.refForm;return e?e.getFlatItems():[]},getFormNestedItems(){var e=this.$refs.refForm;return e?e.getNestedItems():[]},getFormItemByField(e){var t=this.$refs.refForm;return t?t.getItemByField(e):null},resetForm(){var e=this.$refs.refForm;return e?e.reset():this.$nextTick()},validateForm(){var e=this.$refs.refForm;return e?e.validate():Promise.resolve()},validateFormField(e){var t=this.$refs.refForm;return t?t.validateField(e):Promise.resolve()},clearFormValidate(e){var t=this.$refs.refForm;return t?t.clearValidate(e):this.$nextTick()},homePage(){var e=this.reactData.tablePage;return e.currentPage=1,this.$nextTick()},homePageByEvent(e){var t=this.$refs.refPager;t&&t.homePageByEvent(e)},endPage(){var e=this.reactData.tablePage,t=this.computePageCount;return e.currentPage=t,this.$nextTick()},endPageByEvent(e){var t=this.$refs.refPager;t&&t.endPageByEvent(e)},getCurrentPage(){var e=this.reactData.tablePage;return e.currentPage},setCurrentPage(e){var t=this.reactData.tablePage,r=this.computePageCount;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),this.$nextTick()},setCurrentPageByEvent(e,t){var r=this.$refs.refPager;r&&r.setCurrentPageByEvent(e,t)},getPageSize(){var e=this.reactData.tablePage;return e.pageSize},setPageSize(e){var t=this.reactData.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),this.$nextTick()},setPageSizeByEvent(e,t){var r=this.$refs.refPager;r&&r.setPageSizeByEvent(e,t)},triggerToolbarCommitEvent(e,t){let r=this;var o,a=r.internalData;let s=e.code;return s?((o=["reload","delete","save"].includes(s))&&(a.uFoot=!0),e=r.commitProxy(e,t).then(e=>{s&&e&&e.status&&["query","reload","delete","save"].includes(s)&&r.dispatchEvent("delete"===s||"save"===s?"proxy-"+s:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===s}),t)}),o&&r.updateQueryFooter(),a.uFoot=!1,e):r.$nextTick()},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},pageChangeEvent(e){let t=this;var r=t.proxyConfig,o=t.reactData.tablePage;let{$event:a,currentPage:s,pageSize:i}=e;var n=t.computeProxyOpts;o.currentPage=s,o.pageSize=i,t.dispatchEvent("page-change",e,a),r&&(0,_utils.isEnableConf)(n)&&t.commitProxy("query").then(e=>{t.dispatchEvent("proxy-query",e,a)})},handleSortEvent(t){let r=this;var e=r,o=r.reactData,a=r.$refs.refTable,e=e.proxyConfig,s=r.computeProxyOpts;a.computeSortOpts.remote&&(o.sortData=t.sortList,e)&&(0,_utils.isEnableConf)(s)&&(o.tablePage.currentPage=1,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}))},sortChangeEvent(e){this.handleSortEvent(e),this.dispatchEvent("sort-change",e,e.$event)},clearAllSortEvent(e){this.handleSortEvent(e),this.dispatchEvent("clear-all-sort",e,e.$event)},handleFilterEvent(t){let r=this;var e=r,o=r.reactData,a=r.internalData,s=r.$refs.refTable,e=e.proxyConfig,i=r.computeProxyOpts;s.computeFilterOpts.remote&&(o.filterData=t.filterList,e)&&(0,_utils.isEnableConf)(i)&&(o.tablePage.currentPage=1,a.uFoot=!0,r.commitProxy("query").then(e=>{r.dispatchEvent("proxy-query",e,t.$event)}),a.uFoot=!1,r.updateQueryFooter())},filterChangeEvent(e){this.handleFilterEvent(e),this.dispatchEvent("filter-change",e,e.$event)},clearAllFilterEvent(e){this.handleFilterEvent(e),this.dispatchEvent("clear-all-filter",e,e.$event)},submitFormEvent(t){let r=this;var e=r,o=r.reactData,a=r.internalData,e=e.proxyConfig,s=r.computeProxyOpts,i=s.formOptions||{};o.tableLoading||(e&&(0,_utils.isEnableConf)(s)?(r.dispatchEvent("form-submit",t,t.$event),a.uFoot=!0,r.commitProxy(i.submitMode||"reload").then(e=>{r.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),a.uFoot=!1,r.updateQueryFooter()):r.dispatchEvent("form-submit",t,t.$event))},resetFormEvent(e){let t=this;var r=t,o=t.internalData,a=t.$refs.refTable,r=r.proxyConfig;let s=e.$event;var i=t.computeProxyOpts;r&&(0,_utils.isEnableConf)(i)?(r=i.formOptions||{},t.dispatchEvent("form-reset",e,s),a&&a.clearScroll(),o.uFoot=!0,t.commitProxy("reset_form"===r.resetMode?"query":"reload").then(e=>{t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),s)}),o.uFoot=!1,t.updateQueryFooter()):t.dispatchEvent("form-reset",e,s)},submitInvalidEvent(e){this.dispatchEvent("form-submit-invalid",e,e.$event)},collapseEvent(e){var t=e.$event;this.dispatchEvent("form-toggle-collapse",e,t),this.dispatchEvent("form-collapse",e,t)},triggerZoomEvent(e){var t=this.reactData;this.zoom(),this.dispatchEvent("zoom",{type:t.isZMax?"max":"revert"},e)},getParams(){return this.params},zoom(){return this.reactData.isZMax?this.revert():this.maximize()},isMaximized(){return this.reactData.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){let t=this,r=t.reactData;var o=r.isZMax;return(e?!o:o)&&(r.isZMax=!o,r.tZindex<(0,_utils.getLastZIndex)())&&(r.tZindex=(0,_utils.nextZIndex)()),t.$nextTick().then(()=>t.recalculate(!0)).then(()=>(setTimeout(()=>t.recalculate(!0),15),r.isZMax))},getProxyInfo(){var e,t=this.$refs.refTable,r=this.reactData;return this.proxyConfig?(e=r.sortData,{data:t?t.getFullData():[],filter:r.filterData,form:this.getFormData(),sort:e.length?e[0]:{},sorts:e,pager:r.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},getCustomPagerData(){var e=this.pagerConfig,t=this.reactData.tablePage,r=this.computePagerOpts;return e&&(0,_utils.isEnableConf)(r)?{pSize:t.pageSize}:{}},loadColumn(e){let t=this.$scopedSlots;var r=this.$refs.refTable;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{!e||_xeUtils.default.isFunction(e)||t[e]||errLog("vxe.error.notSlot",[e])})}),r.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)},getConfigSlot(e){let r=this.$scopedSlots,o={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?r[e]?o[t]=r[e]:errLog("vxe.error.notSlot",[e]):o[t]=e)}),o},getToolbarSlots(){var e,t,r,o,a=this,s=a.$scopedSlots,i=a.computeToolbarOpts.slots,n={};return!s.buttons||i&&"buttons"===i.buttons||warnLog("vxe.error.reqProp",["[grid] toolbar-config.slots.buttons"]),!s.tools||i&&"tools"===i.tools||warnLog("vxe.error.reqProp",["[grid] toolbar-config.slots.tools"]),i&&(s=a.getFuncSlot(i,"buttons"),e=a.getFuncSlot(i,"buttonPrefix"),t=a.getFuncSlot(i,"buttonSuffix"),r=a.getFuncSlot(i,"tools"),o=a.getFuncSlot(i,"toolPrefix"),a=a.getFuncSlot(i,"toolSuffix"),s&&(n.buttons=s),e&&(n.buttonPrefix=e),t&&(n.buttonSuffix=t),r&&(n.tools=r),o&&(n.toolPrefix=o),a)&&(n.toolSuffix=a),n},getFuncSlot(e,t){var r=this.$scopedSlots,e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(r[e])return r[e];errLog("vxe.error.notSlot",[e])}return null},renderDefaultForm(e){var r=_ui.VxeUI.getComponent("VxeForm");let o=this;var a=o;let s=o.$scopedSlots;var{proxyConfig:a,formConfig:t}=a,i=o.reactData.formData,n=o.computeProxyOpts,l=o.computeFormOpts;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=n.beforeItem;n&&t&&l.items.forEach(e=>{t.call(o,{$grid:o,$gantt:null,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{e&&!_xeUtils.default.isFunction(e)&&s[e]&&(t[e]=s[e])})}),[r?e(r,{ref:"refForm",props:Object.assign({},l,{data:a&&n.form?i:l.data}),on:{submit:o.submitFormEvent,reset:o.resetFormEvent,collapse:o.collapseEvent,"submit-invalid":o.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(o)]}return[]},renderForm(e){var t=this,r=t.formConfig,o=t.$scopedSlots.form;return!o&&!(0,_utils.isEnableConf)(r)?renderEmptyElement(t):e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t,$gantt:null}):t.renderDefaultForm(e))},renderToolbar(e){var t=this,r=t.toolbarConfig,o=t.$scopedSlots.toolbar,a=t.computeToolbarOpts;return r&&(0,_utils.isEnableConf)(a)||o?e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t,$gantt:null}):[e(_toolbar.default,{props:Object.assign({},a,{slots:void 0}),ref:"refToolbar",scopedSlots:t.getToolbarSlots()})]):renderEmptyElement(t)},renderTop(e){var t=this.$scopedSlots.top;return t?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableLeft(e){var t=this.$scopedSlots.left;return t?e("div",{class:"vxe-grid--left-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTableRight(e){var t=this.$scopedSlots.right;return t?e("div",{class:"vxe-grid--right-wrapper"},t({$grid:this,$gantt:null})):renderEmptyElement(this)},renderTable(e){var t=this.$scopedSlots,r=this.computeTableProps;return e("div",{class:"vxe-grid--table-wrapper"},[e(_table.default,{key:"table",props:r,on:getTableOns(this),scopedSlots:t,ref:"refTable"})])},renderBottom(e){var t=this.$scopedSlots.bottom;return t?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},t.call(this,{$grid:this,$gantt:null})):renderEmptyElement(this)},renderPager(e){var t=_ui.VxeUI.getComponent("VxePager"),r=this,o=r.$scopedSlots,a=r.reactData,{proxyConfig:s,pagerConfig:i}=r,n=r.computeProxyOpts,l=r.computePagerOpts,u=r.computePagerProps,g=o.pager;return i&&(0,_utils.isEnableConf)(l)||o.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},g?g.call(r,{$grid:r,$gantt:null}):[t?e(t,{ref:"refPager",props:Object.assign(Object.assign({},u),s&&(0,_utils.isEnableConf)(n)?a.tablePage:{}),on:{"page-change":r.pageChangeEvent},scopedSlots:r.getConfigSlot(l.slots)}):renderEmptyElement(r)]):renderEmptyElement(r)},renderChildLayout(t,e){let r=this,o=[];return e.forEach(e=>{switch(e){case"Form":o.push(r.renderForm(t));break;case"Toolbar":o.push(r.renderToolbar(t));break;case"Top":o.push(r.renderTop(t));break;case"Table":o.push(t("div",{key:"table",class:"vxe-grid--table-container"},[r.renderTableLeft(t),r.renderTable(t),r.renderTableRight(t)]));break;case"Bottom":o.push(r.renderBottom(t));break;case"Pager":o.push(r.renderPager(t));break;default:errLog("vxe.error.notProp",["layouts -> "+e])}}),o},renderLayout(e){var t=this,r=t.$scopedSlots,{headKeys:o,bodyKeys:a,footKeys:s}=t.computeCurrLayoutConf,i=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},t.renderChildLayout(e,o)),e("div",{class:"vxe-grid--layout-body-wrapper"},[i?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},i({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},t.renderChildLayout(e,a)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},t.renderChildLayout(e,s)),e("div",{ref:"refPopupContainerElem"})]},renderVN(e){var t=this,r=t.reactData,o=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+o]:o,"is--animat":!!t.animat,"is--round":t.round,"is--maximize":r.isZMax,"is--loading":t.computeIsLoading}],style:t.computeStyles},t.renderLayout(e))}}),created(){let e=_ui.VxeUI.getComponent("VxeForm"),t=_ui.VxeUI.getComponent("VxePager");var r=this;let o=r;r.internalData=createInternalData();var a=r.computeProxyOpts;o.toolbar&&errLog("vxe.error.delProp",["toolbar","toolbar-config"]),o.toolbarConfig&&!_xeUtils.default.isObject(o.toolbarConfig)&&errLog("vxe.error.errProp",["toolbar-config="+o.toolbarConfig,"toolbar-config={}"]),a.props&&warnLog("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),r.$nextTick(()=>{o.formConfig&&!e&&errLog("vxe.error.reqComp",["vxe-form"]),o.pagerConfig&&!t&&errLog("vxe.error.reqComp",["vxe-pager"])}),r.initPages(),globalEvents.on(r,"keydown",r.handleGlobalKeydownEvent)},mounted(){var e=this.columns;e&&e.length&&this.loadColumn(e),this.initToolbar(),this.initProxy()},beforeDestroy(){var e=this.reactData,t=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createReactData()),_xeUtils.default.assign(t,createInternalData())},render(e){return this.renderVN(e)}});