vxe-table 3.22.7 → 3.22.8

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 (46) hide show
  1. package/es/grid/src/grid.js +14 -0
  2. package/es/style.css +1 -1
  3. package/es/table/src/cell.js +2 -2
  4. package/es/table/src/footer.js +3 -3
  5. package/es/table/src/header.js +3 -3
  6. package/es/table/src/methods.js +23 -12
  7. package/es/table/src/table.js +3 -3
  8. package/es/table/src/util.js +5 -1
  9. package/es/ui/index.js +3 -1
  10. package/es/ui/src/log.js +1 -1
  11. package/lib/grid/src/grid.js +18 -0
  12. package/lib/grid/src/grid.min.js +1 -1
  13. package/lib/index.umd.js +46 -22
  14. package/lib/index.umd.min.js +1 -1
  15. package/lib/style.css +1 -1
  16. package/lib/table/src/cell.js +2 -2
  17. package/lib/table/src/cell.min.js +1 -1
  18. package/lib/table/src/footer.js +3 -3
  19. package/lib/table/src/footer.min.js +1 -1
  20. package/lib/table/src/header.js +3 -3
  21. package/lib/table/src/header.min.js +1 -1
  22. package/lib/table/src/methods.js +8 -8
  23. package/lib/table/src/methods.min.js +1 -1
  24. package/lib/table/src/table.js +3 -3
  25. package/lib/table/src/table.min.js +1 -1
  26. package/lib/table/src/util.js +5 -1
  27. package/lib/table/src/util.min.js +1 -1
  28. package/lib/ui/index.js +3 -1
  29. package/lib/ui/index.min.js +1 -1
  30. package/lib/ui/src/log.js +1 -1
  31. package/lib/ui/src/log.min.js +1 -1
  32. package/package.json +2 -2
  33. package/packages/grid/src/grid.ts +15 -0
  34. package/packages/table/src/cell.ts +2 -2
  35. package/packages/table/src/footer.ts +3 -3
  36. package/packages/table/src/header.ts +3 -3
  37. package/packages/table/src/methods.ts +23 -12
  38. package/packages/table/src/table.ts +3 -3
  39. package/packages/table/src/util.ts +5 -1
  40. package/packages/ui/index.ts +2 -0
  41. /package/es/{iconfont.1784868282490.ttf → iconfont.1785140065609.ttf} +0 -0
  42. /package/es/{iconfont.1784868282490.woff → iconfont.1785140065609.woff} +0 -0
  43. /package/es/{iconfont.1784868282490.woff2 → iconfont.1785140065609.woff2} +0 -0
  44. /package/lib/{iconfont.1784868282490.ttf → iconfont.1785140065609.ttf} +0 -0
  45. /package/lib/{iconfont.1784868282490.woff → iconfont.1785140065609.woff} +0 -0
  46. /package/lib/{iconfont.1784868282490.woff2 → iconfont.1785140065609.woff2} +0 -0
@@ -175,8 +175,8 @@ function renderTitleContent(h, params, content) {
175
175
  const headerTooltipOpts = $table.computeHeaderTooltipOpts;
176
176
  const showAllTip = headerTooltipOpts.showAll;
177
177
  const headOverflow = XEUtils.eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
178
- const showTitle = headOverflow === 'title';
179
- const showTooltip = headOverflow === true || headOverflow === 'tooltip';
178
+ const showTitle = (headOverflow === true ? headerTooltipOpts.mode : headOverflow) === 'title';
179
+ const showTooltip = (headOverflow === true ? headerTooltipOpts.mode : headOverflow) === 'tooltip';
180
180
  const ons = {};
181
181
  if (showTitle || showTooltip || showAllTip) {
182
182
  ons.mouseenter = (evnt) => {
@@ -39,9 +39,9 @@ function renderRows(h, _vm, isOptimizeMode, tableColumn, footerTableData, row, $
39
39
  const isPadding = XEUtils.isBoolean(footerCellOpts.padding) ? footerCellOpts.padding : cellOpts.padding;
40
40
  const footOverflow = XEUtils.eqNull(showFooterOverflow) ? allColumnFooterOverflow : showFooterOverflow;
41
41
  const footAlign = footerAlign || (compConf ? compConf.tableFooterCellAlign : '') || allFooterAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
42
- const showEllipsis = footOverflow === 'ellipsis';
43
- const showTitle = footOverflow === 'title';
44
- const showTooltip = footOverflow === true ? footerTooltipOpts.mode === 'tooltip' : footOverflow === 'tooltip';
42
+ const showEllipsis = (footOverflow === true ? footerTooltipOpts.mode : footOverflow) === 'ellipsis';
43
+ const showTitle = (footOverflow === true ? footerTooltipOpts.mode : footOverflow) === 'title';
44
+ const showTooltip = (footOverflow === true ? footerTooltipOpts.mode : footOverflow) === 'tooltip';
45
45
  const hasEllipsis = showTitle || showTooltip || showEllipsis;
46
46
  const showResizable = (XEUtils.isBoolean(column.resizable) ? column.resizable : (columnOpts.resizable || allResizable));
47
47
  const attrs = { colid };
@@ -235,9 +235,9 @@ function renderFilterRows(h, _vm, isOptimizeMode, cols) {
235
235
  const isPadding = XEUtils.isBoolean(headerCellOpts.padding) ? headerCellOpts.padding : cellOpts.padding;
236
236
  const headOverflow = XEUtils.eqNull(showHeaderOverflow) ? allColumnHeaderOverflow : showHeaderOverflow;
237
237
  const headAlign = headerAlign || (compConf ? compConf.tableHeaderCellAlign : '') || allHeaderAlign || align || (compConf ? compConf.tableCellAlign : '') || allAlign;
238
- const showEllipsis = headOverflow === 'ellipsis';
239
- const showTitle = headOverflow === 'title';
240
- const showTooltip = headOverflow === true ? headerTooltipOpts.mode === 'tooltip' : headOverflow === 'tooltip';
238
+ const showEllipsis = (headOverflow === true ? headerTooltipOpts.mode : headOverflow) === 'ellipsis';
239
+ const showTitle = (headOverflow === true ? headerTooltipOpts.mode : headOverflow) === 'title';
240
+ const showTooltip = (headOverflow === true ? headerTooltipOpts.mode : headOverflow) === 'tooltip';
241
241
  const hasEllipsis = showTitle || showTooltip || showEllipsis;
242
242
  let hasFilter = false;
243
243
  let firstFilterOption = null;
@@ -122,10 +122,13 @@ function handleCustomRestore($xeTable, storeData) {
122
122
  const props = $xeTable;
123
123
  const reactData = $xeTable;
124
124
  const internalData = $xeTable;
125
+ const $xeGrid = $xeTable.$xeGrid;
126
+ const $xeGantt = $xeTable.$xeGantt;
127
+ const $xeGGWrapper = $xeGrid || $xeGantt;
125
128
  const { aggregateConfig, rowGroupConfig } = props;
126
129
  const { collectColumn } = internalData;
127
- const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc } = handleCustomStoreConfig($xeTable);
128
- let { alignData, headerAlignData, footerAlignData, resizableData, sortData, visibleData, fixedData, aggGroupData, aggFuncData } = storeData;
130
+ const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc, isCustomPager } = handleCustomStoreConfig($xeTable);
131
+ let { alignData, headerAlignData, footerAlignData, resizableData, sortData, visibleData, fixedData, aggGroupData, aggFuncData, pagerData } = storeData;
129
132
  // 处理还原
130
133
  if ((isCustomAlign && alignData) ||
131
134
  (isCustomHeaderAlign && headerAlignData) ||
@@ -135,7 +138,8 @@ function handleCustomRestore($xeTable, storeData) {
135
138
  (isCustomVisible && visibleData) ||
136
139
  (isCustomFixed && fixedData) ||
137
140
  (isCustomAggGroup && aggGroupData) ||
138
- (isCustomAggFunc && aggFuncData)) {
141
+ (isCustomAggFunc && aggFuncData) ||
142
+ (isCustomPager && pagerData && $xeGGWrapper)) {
139
143
  const sortColMaps = {};
140
144
  if (isCustomSort && sortData) {
141
145
  // 转换兼容老版本数据,即将废弃兼容
@@ -623,7 +627,7 @@ function updateAfterTreeIndex($xeTable) {
623
627
  const fullMaps = {};
624
628
  let rowNum = 0;
625
629
  const { handleGetRowId } = createHandleGetRowId($xeTable);
626
- XEUtils.eachTree(afterTreeFullData, (row, index, items, path) => {
630
+ XEUtils.eachTree(afterTreeFullData, (row, index, items, path, parentRow) => {
627
631
  const rowid = handleGetRowId(row);
628
632
  const rowRest = fullAllDataRowIdData[rowid];
629
633
  const seq = path.map((num, i) => i % 2 === 0 ? (Number(num) + 1) : '.').join('');
@@ -631,10 +635,11 @@ function updateAfterTreeIndex($xeTable) {
631
635
  rowRest.seq = seq;
632
636
  rowRest._seq = rowNum;
633
637
  rowRest.treeIndex = index;
638
+ rowRest._index = rowNum;
634
639
  rowRest._tIndex = rowNum;
635
640
  }
636
641
  else {
637
- const rest = { row, rowid, _seq: rowNum, seq, index: -1, $index: -1, _index: -1, treeIndex: -1, _tIndex: rowNum, items: [], parent: null, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
642
+ const rest = { row, rowid, _seq: rowNum, seq, index, $index: -1, _index: rowNum, treeIndex: index, _tIndex: rowNum, items, parent: parentRow, level: 0, height: 0, resizeHeight: 0, oTop: 0, expandHeight: 0 };
638
643
  fullAllDataRowIdData[rowid] = rest;
639
644
  fullDataRowIdData[rowid] = rest;
640
645
  }
@@ -4193,7 +4198,7 @@ function calcCellWidth($xeTable) {
4193
4198
  const autoWidthColumnList = $xeTable.computeAutoWidthColumnList;
4194
4199
  const { fullColumnIdData } = internalData;
4195
4200
  const el = $xeTable.$refs.refElem;
4196
- if (el) {
4201
+ if (el && autoWidthColumnList.length) {
4197
4202
  el.setAttribute('data-calc-col', 'Y');
4198
4203
  autoWidthColumnList.forEach(column => {
4199
4204
  const colid = column.id;
@@ -4289,12 +4294,12 @@ function updateRowExpandStyle($xeTable) {
4289
4294
  return;
4290
4295
  }
4291
4296
  const expandOpts = $xeTable.computeExpandOpts;
4292
- const rowOpts = $xeTable.computeRowOpts;
4293
- const cellOpts = $xeTable.computeCellOpts;
4294
- const defaultRowHeight = $xeTable.computeDefaultRowHeight;
4295
4297
  const { mode } = expandOpts;
4296
4298
  if (expandColumn && mode === 'fixed') {
4297
4299
  const { elemStore, fullAllDataRowIdData } = internalData;
4300
+ const rowOpts = $xeTable.computeRowOpts;
4301
+ const cellOpts = $xeTable.computeCellOpts;
4302
+ const defaultRowHeight = $xeTable.computeDefaultRowHeight;
4298
4303
  const rowExpandEl = $xeTable.$refs.refRowExpandElem;
4299
4304
  const bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
4300
4305
  if (rowExpandEl && bodyScrollElem) {
@@ -6515,6 +6520,9 @@ const tableMethods = {
6515
6520
  */
6516
6521
  getCustomStoreData() {
6517
6522
  const $xeTable = this;
6523
+ const $xeGrid = $xeTable.$xeGrid;
6524
+ const $xeGantt = $xeTable.$xeGantt;
6525
+ const $xeGGWrapper = $xeGrid || $xeGantt;
6518
6526
  const props = $xeTable;
6519
6527
  const reactData = $xeTable;
6520
6528
  const internalData = $xeTable;
@@ -6523,7 +6531,7 @@ const tableMethods = {
6523
6531
  const { isRowGroupStatus, rowGroupList } = reactData;
6524
6532
  const { fullColumnFieldData, collectColumn } = internalData;
6525
6533
  const { storage, checkMethod } = customOpts;
6526
- const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc } = handleCustomStoreConfig($xeTable);
6534
+ const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc, isCustomPager } = handleCustomStoreConfig($xeTable);
6527
6535
  const alignData = {};
6528
6536
  const headerAlignData = {};
6529
6537
  const footerAlignData = {};
@@ -6534,6 +6542,7 @@ const tableMethods = {
6534
6542
  const aggGroupData = {};
6535
6543
  const aggFuncData = {};
6536
6544
  const storeData = {
6545
+ pagerData: isCustomPager && $xeGGWrapper && $xeGGWrapper.getCustomPagerData ? $xeGGWrapper.getCustomPagerData() : undefined,
6537
6546
  alignData: undefined,
6538
6547
  headerAlignData: undefined,
6539
6548
  footerAlignData: undefined,
@@ -6670,7 +6679,7 @@ const tableMethods = {
6670
6679
  const tableId = $xeTable.computeTableId;
6671
6680
  const customOpts = $xeTable.computeCustomOpts;
6672
6681
  const { updateStore, storage } = customOpts;
6673
- const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc } = handleCustomStoreConfig($xeTable);
6682
+ const { isCustomAlign, isCustomHeaderAlign, isCustomFooterAlign, isCustomResizable, isCustomVisible, isCustomFixed, isCustomSort, isCustomAggGroup, isCustomAggFunc, isCustomPager } = handleCustomStoreConfig($xeTable);
6674
6683
  if (type !== 'reset') {
6675
6684
  // fix:修复拖动列宽,重置按钮无法点击的问题
6676
6685
  reactData.isCustomStatus = true;
@@ -6685,13 +6694,15 @@ const tableMethods = {
6685
6694
  isCustomFixed ||
6686
6695
  isCustomSort ||
6687
6696
  isCustomAggGroup ||
6688
- isCustomAggFunc)) {
6697
+ isCustomAggFunc ||
6698
+ isCustomPager)) {
6689
6699
  if (!tableId) {
6690
6700
  errLog('vxe.error.reqProp', ['id']);
6691
6701
  return $xeTable.$nextTick();
6692
6702
  }
6693
6703
  const storeData = type === 'reset'
6694
6704
  ? {
6705
+ pagerData: {},
6695
6706
  alignData: {},
6696
6707
  headerAlignData: {},
6697
6708
  footerAlignData: {},
@@ -1626,9 +1626,9 @@ export default {
1626
1626
  // if (treeConfig && (treeOpts.showLine || treeOpts.line) && !showOverflow) {
1627
1627
  // warnLog('vxe.error.reqProp', ['show-overflow'])
1628
1628
  // }
1629
- if (treeConfig && !treeOpts.transform && props.stripe) {
1630
- warnLog('vxe.error.noTree', ['stripe']);
1631
- }
1629
+ // if (treeConfig && !treeOpts.transform && props.stripe) {
1630
+ // warnLog('vxe.error.noTree', ['stripe'])
1631
+ // }
1632
1632
  if (treeConfig && !treeOpts.transform) {
1633
1633
  if (sortOpts.isDeep) {
1634
1634
  warnLog('vxe.error.reqSupportProp', ['transform=false', 'sort-config.isDeep=false']);
@@ -146,6 +146,8 @@ export function createInternalData() {
146
146
  tooltipTimeout: null,
147
147
  initStatus: false,
148
148
  isActivated: false,
149
+ // rceTimeout: undefined,
150
+ // rceRunTime: undefined,
149
151
  rceDelay: 0
150
152
  // _sToTime: null
151
153
  };
@@ -1030,6 +1032,7 @@ export function handleCustomStoreConfig($xeTable) {
1030
1032
  const isCustomSort = hangleBolleanDefaultValue(storageOpts.sort, isAllCustom);
1031
1033
  const isCustomAggGroup = hangleBolleanDefaultValue(storageOpts.aggGroup, isAllCustom);
1032
1034
  const isCustomAggFunc = hangleBolleanDefaultValue(storageOpts.aggFunc, isAllCustom);
1035
+ const isCustomPager = hangleBolleanDefaultValue(storageOpts.pager, isAllCustom);
1033
1036
  return {
1034
1037
  isCustomAlign,
1035
1038
  isCustomHeaderAlign,
@@ -1039,6 +1042,7 @@ export function handleCustomStoreConfig($xeTable) {
1039
1042
  isCustomFixed,
1040
1043
  isCustomSort,
1041
1044
  isCustomAggGroup,
1042
- isCustomAggFunc
1045
+ isCustomAggFunc,
1046
+ isCustomPager
1043
1047
  };
1044
1048
  }
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.22.7";
3
+ export const version = "3.22.8";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
@@ -72,9 +72,11 @@ VxeUI.setConfig({
72
72
  defaultPlacement: 'top'
73
73
  },
74
74
  headerTooltipConfig: {
75
+ mode: 'tooltip',
75
76
  enterable: true
76
77
  },
77
78
  footerTooltipConfig: {
79
+ mode: 'tooltip',
78
80
  enterable: true
79
81
  },
80
82
  validConfig: {
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.22.7"}`;
3
+ const tableVersion = `table v${"3.22.8"}`;
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}` : '';
@@ -1597,6 +1597,24 @@ var _default = exports.default = /* define-vxe-component start */(0, _comp.defin
1597
1597
  }
1598
1598
  return null;
1599
1599
  },
1600
+ getCustomPagerData() {
1601
+ const $xeGrid = this;
1602
+ const props = $xeGrid;
1603
+ const reactData = $xeGrid.reactData;
1604
+ const {
1605
+ pagerConfig
1606
+ } = props;
1607
+ const {
1608
+ tablePage
1609
+ } = reactData;
1610
+ const pagerOpts = $xeGrid.computePagerOpts;
1611
+ if (pagerConfig && (0, _utils.isEnableConf)(pagerOpts)) {
1612
+ return {
1613
+ pSize: tablePage.pageSize
1614
+ };
1615
+ }
1616
+ return {};
1617
+ },
1600
1618
  loadColumn(columns) {
1601
1619
  const $xeGrid = this;
1602
1620
  const slots = $xeGrid.$scopedSlots;
@@ -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/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("grid"),{getConfig,getI18n,commands,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)},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,...c){let d=this;var e=d;let p=d.reactData,m=d.internalData;var r=e.toolbar;let{showFooter:n,proxyConfig:l,toolbarConfig:o,pagerConfig:u,editRules:f,validConfig:h}=e,g=p.tablePage,v=d.computeIsActiveMsg,b=d.computeIsRespMsg;var x=d.computeProxyOpts;let y=d.computePagerOpts;var a,e=d.computeToolbarOpts;let{beforeQuery:E,afterQuery:P,beforeQueryFooter:s,afterQueryFooter:i,beforeDelete:C,afterDelete:_,beforeSave:k,afterSave:O,ajax:$={}}=x,F=x.response||x.props||{},D=d.$refs.refTable,S=d.getFormData(),T=null,U=null;U=_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,T=r?r.item:null,t):(T=t).code;var I=T?T.params:null;switch(U){case"insert":return D.insert({});case"insert_edit":return D.insert({}).then(({row:e})=>D.setEditRow(e,!0));case"insert_actived":return D.insert({}).then(({row:e})=>D.setEditRow(e,!0));case"mark_cancel":d.triggerPendingEvent(U);break;case"remove":return d.handleDeleteRow(U,"vxe.grid.removeSelectRecord",()=>D.removeCheckboxRow());case"import":D.importData(I);break;case"open_import":D.openImport(I);break;case"export":D.exportData(I);break;case"open_export":D.openExport(I);break;case"reset_custom":D.resetCustom(!0);break;case"initial":case"reload":case"query":{var j=$.query;let i=$.querySuccess,o=$.queryError;if(j){var R="initial"===U,L="reload"===U;if(!R&&p.tableLoading)return d.$nextTick();let e=null,r=[],a=[],t={};if(u&&((R||L)&&(g.currentPage=1),(0,_utils.isEnableConf)(u))&&(t=Object.assign({},g)),R){if(l&&(0,_utils.isEnableConf)(x)&&x.form&&(S=d.getDefaultFormData(),p.formData=S),D){let{tableFullColumn:e,fullColumnFieldData:o}=D,t=D.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=D.getCheckedFilters()}}else D&&(L?e=D.clearAll():(r=D.getSortColumns(),a=D.getCheckedFilters()));let s={$table:D,$grid:d,$gantt:null,code:U,button:T,isInited:R,isReload:L,page:t,sort:r.length?r[0]:{},sorts:r,filters:a,form:S,options:j};return p.sortData=r,p.filterData=a,p.tableLoading=!0,Promise.all([Promise.resolve((E||j)(s,...c)),e]).then(([e])=>{let t=[];var r,o,a;return p.tableLoading=!1,e&&(r={data:e,$table:D,$grid:d,$gantt:null},u&&(0,_utils.isEnableConf)(y)?(a=F.total,a=(_xeUtils.default.isFunction(a)?a(r):_xeUtils.default.get(e,a||"page.total"))||0,g.total=_xeUtils.default.toNumber(a),o=F.result,t=(_xeUtils.default.isFunction(o)?o(r):_xeUtils.default.get(e,o||"result"))||[],o=Math.max(Math.ceil(a/g.pageSize),1),g.currentPage>o&&(g.currentPage=o)):(a=F.list,_xeUtils.default.isArray(e)?t=e:a&&(t=(_xeUtils.default.isFunction(a)?a(r):_xeUtils.default.get(e,a))||[])),n)&&(a=(o=F.footerData)?_xeUtils.default.isFunction(o)?o(r):_xeUtils.default.get(e,o):[],_xeUtils.default.isArray(a))&&(p.footerData=a),D?D.loadData(t):d.$nextTick(()=>{var e=d.$refs.refTable;e&&e.loadData(t)}),P&&P(s,...c),i&&i(Object.assign(Object.assign({},s),{response:e})),{status:!0}}).catch(e=>(p.tableLoading=!1,o&&o(Object.assign(Object.assign({},s),{response:e})),{status:!1}))}errLog("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"queryFooter":{R=$.queryFooter;let r=$.queryFooterSuccess,o=$.queryFooterError;if(R){let e=[],t=(D&&(e=D.getCheckedFilters()),{$table:D,$grid:d,$gantt:null,code:U,button:T,filters:e,form:S,options:R});return Promise.resolve((s||R)(t,...c)).then(e=>(p.footerData=_xeUtils.default.isArray(e)?e:[],i&&i(t,...c),r&&r(Object.assign(Object.assign({},t),{response:e})),{status:!0})).catch(e=>(o&&o(Object.assign(Object.assign({},t),{response:e})),{status:!1}))}errLog("vxe.error.notFunc",["proxy-config.ajax.queryFooter"]);break}case"delete":{let a=$.delete,s=$.deleteSuccess,i=$.deleteError;if(a){let e=D.getCheckboxRecords(),t=e.filter(e=>!D.isInsertByRow(e));L={removeRecords:t};let r={$table:D,$grid:d,$gantt:null,code:U,button:T,body:L,form:S,options:a},o=[r].concat(c);if(e.length)return d.handleDeleteRow(U,"vxe.grid.deleteSelectRecord",()=>t.length?(p.tableLoading=!0,Promise.resolve((C||a)(...o)).then(e=>(p.tableLoading=!1,D.setPendingRow(t,!1),b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:d.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"}),_?_(...o):(m.uFoot=!0,d.commitProxy("query"),m.uFoot=!1,d.updateQueryFooter()),s&&s(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(p.tableLoading=!1,b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:d.getRespMsg(e,"vxe.grid.operError"),status:"error"}),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):D.remove(e));v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else errLog("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=$.save,u=$.saveSuccess,g=$.saveError;if(l){let t=d.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:s}=t,i={$table:D,$grid:d,$gantt:null,code:U,button:T,body:t,form:S,options:l},n=[i].concat(c),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=f?d[h&&"full"===h.msgMode?"fullValidate":"validate"](t.insertRecords.concat(a)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||a.length||t.pendingRecords.length?(p.tableLoading=!0,Promise.resolve((k||l)(...n)).then(e=>(p.tableLoading=!1,D.clearPendingRow(),b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:d.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"}),O?O(...n):(m.uFoot=!0,d.commitProxy("query"),m.uFoot=!1,d.updateQueryFooter()),u&&u(Object.assign(Object.assign({},i),{response:e})),{status:!0})).catch(e=>(p.tableLoading=!1,b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:d.getRespMsg(e,"vxe.grid.operError"),status:"error"}),g&&g(Object.assign(Object.assign({},i),{response:e})),{status:!1}))):void(v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}errLog("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:j=commands.get(U);j&&((R=j.tableCommandMethod||j.commandMethod)?R({code:U,button:T,$grid:d,$table:D,$gantt:null},...c):errLog("vxe.error.notCommands",[U]))}return d.$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]},resetForm(){var e=this.$refs.refForm;return e?e.reset():this.$nextTick()},validateForm(){var e=this.$refs.refForm;return e?e.validate():this.$nextTick()},validateFormField(e){var t=this.$refs.refForm;return t?t.validateField(e):this.$nextTick()},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;o.tableLoading||(e&&(0,_utils.isEnableConf)(s)?(r.dispatchEvent("form-submit",t,t.$event),a.uFoot=!0,r.commitProxy("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)?(t.dispatchEvent("form-reset",e,s),a&&a.clearScroll(),o.uFoot=!0,t.commitProxy("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},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=>{_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=>{_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=o.pager;return i&&(0,_utils.isEnableConf)(l)||o.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},u?u.call(r,{$grid:r,$gantt:null}):[t?e(t,{ref:"refPager",props:Object.assign(Object.assign({},l),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/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{warnLog,errLog}=(0,_log.createComponentLog)("grid"),{getConfig,getI18n,commands,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)},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,...c){let d=this;var e=d;let p=d.reactData,m=d.internalData;var r=e.toolbar;let{showFooter:n,proxyConfig:l,toolbarConfig:o,pagerConfig:u,editRules:f,validConfig:h}=e,g=p.tablePage,v=d.computeIsActiveMsg,b=d.computeIsRespMsg;var x=d.computeProxyOpts;let y=d.computePagerOpts;var a,e=d.computeToolbarOpts;let{beforeQuery:P,afterQuery:E,beforeQueryFooter:s,afterQueryFooter:i,beforeDelete:C,afterDelete:_,beforeSave:k,afterSave:O,ajax:$={}}=x,F=x.response||x.props||{},D=d.$refs.refTable,S=d.getFormData(),T=null,U=null;U=_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,T=r?r.item:null,t):(T=t).code;var I=T?T.params:null;switch(U){case"insert":return D.insert({});case"insert_edit":return D.insert({}).then(({row:e})=>D.setEditRow(e,!0));case"insert_actived":return D.insert({}).then(({row:e})=>D.setEditRow(e,!0));case"mark_cancel":d.triggerPendingEvent(U);break;case"remove":return d.handleDeleteRow(U,"vxe.grid.removeSelectRecord",()=>D.removeCheckboxRow());case"import":D.importData(I);break;case"open_import":D.openImport(I);break;case"export":D.exportData(I);break;case"open_export":D.openExport(I);break;case"reset_custom":D.resetCustom(!0);break;case"initial":case"reload":case"query":{var j=$.query;let i=$.querySuccess,o=$.queryError;if(j){var R="initial"===U,L="reload"===U;if(!R&&p.tableLoading)return d.$nextTick();let e=null,r=[],a=[],t={};if(u&&((R||L)&&(g.currentPage=1),(0,_utils.isEnableConf)(u))&&(t=Object.assign({},g)),R){if(l&&(0,_utils.isEnableConf)(x)&&x.form&&(S=d.getDefaultFormData(),p.formData=S),D){let{tableFullColumn:e,fullColumnFieldData:o}=D,t=D.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=D.getCheckedFilters()}}else D&&(L?e=D.clearAll():(r=D.getSortColumns(),a=D.getCheckedFilters()));let s={$table:D,$grid:d,$gantt:null,code:U,button:T,isInited:R,isReload:L,page:t,sort:r.length?r[0]:{},sorts:r,filters:a,form:S,options:j};return p.sortData=r,p.filterData=a,p.tableLoading=!0,Promise.all([Promise.resolve((P||j)(s,...c)),e]).then(([e])=>{let t=[];var r,o,a;return p.tableLoading=!1,e&&(r={data:e,$table:D,$grid:d,$gantt:null},u&&(0,_utils.isEnableConf)(y)?(a=F.total,a=(_xeUtils.default.isFunction(a)?a(r):_xeUtils.default.get(e,a||"page.total"))||0,g.total=_xeUtils.default.toNumber(a),o=F.result,t=(_xeUtils.default.isFunction(o)?o(r):_xeUtils.default.get(e,o||"result"))||[],o=Math.max(Math.ceil(a/g.pageSize),1),g.currentPage>o&&(g.currentPage=o)):(a=F.list,_xeUtils.default.isArray(e)?t=e:a&&(t=(_xeUtils.default.isFunction(a)?a(r):_xeUtils.default.get(e,a))||[])),n)&&(a=(o=F.footerData)?_xeUtils.default.isFunction(o)?o(r):_xeUtils.default.get(e,o):[],_xeUtils.default.isArray(a))&&(p.footerData=a),D?D.loadData(t):d.$nextTick(()=>{var e=d.$refs.refTable;e&&e.loadData(t)}),E&&E(s,...c),i&&i(Object.assign(Object.assign({},s),{response:e})),{status:!0}}).catch(e=>(p.tableLoading=!1,o&&o(Object.assign(Object.assign({},s),{response:e})),{status:!1}))}errLog("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"queryFooter":{R=$.queryFooter;let r=$.queryFooterSuccess,o=$.queryFooterError;if(R){let e=[],t=(D&&(e=D.getCheckedFilters()),{$table:D,$grid:d,$gantt:null,code:U,button:T,filters:e,form:S,options:R});return Promise.resolve((s||R)(t,...c)).then(e=>(p.footerData=_xeUtils.default.isArray(e)?e:[],i&&i(t,...c),r&&r(Object.assign(Object.assign({},t),{response:e})),{status:!0})).catch(e=>(o&&o(Object.assign(Object.assign({},t),{response:e})),{status:!1}))}errLog("vxe.error.notFunc",["proxy-config.ajax.queryFooter"]);break}case"delete":{let a=$.delete,s=$.deleteSuccess,i=$.deleteError;if(a){let e=D.getCheckboxRecords(),t=e.filter(e=>!D.isInsertByRow(e));L={removeRecords:t};let r={$table:D,$grid:d,$gantt:null,code:U,button:T,body:L,form:S,options:a},o=[r].concat(c);if(e.length)return d.handleDeleteRow(U,"vxe.grid.deleteSelectRecord",()=>t.length?(p.tableLoading=!0,Promise.resolve((C||a)(...o)).then(e=>(p.tableLoading=!1,D.setPendingRow(t,!1),b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:d.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"}),_?_(...o):(m.uFoot=!0,d.commitProxy("query"),m.uFoot=!1,d.updateQueryFooter()),s&&s(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(p.tableLoading=!1,b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:d.getRespMsg(e,"vxe.grid.operError"),status:"error"}),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):D.remove(e));v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else errLog("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=$.save,u=$.saveSuccess,g=$.saveError;if(l){let t=d.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:a,pendingRecords:s}=t,i={$table:D,$grid:d,$gantt:null,code:U,button:T,body:t,form:S,options:l},n=[i].concat(c),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=f?d[h&&"full"===h.msgMode?"fullValidate":"validate"](t.insertRecords.concat(a)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||a.length||t.pendingRecords.length?(p.tableLoading=!0,Promise.resolve((k||l)(...n)).then(e=>(p.tableLoading=!1,D.clearPendingRow(),b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:d.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"}),O?O(...n):(m.uFoot=!0,d.commitProxy("query"),m.uFoot=!1,d.updateQueryFooter()),u&&u(Object.assign(Object.assign({},i),{response:e})),{status:!0})).catch(e=>(p.tableLoading=!1,b&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:d.getRespMsg(e,"vxe.grid.operError"),status:"error"}),g&&g(Object.assign(Object.assign({},i),{response:e})),{status:!1}))):void(v&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({id:U,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}errLog("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:j=commands.get(U);j&&((R=j.tableCommandMethod||j.commandMethod)?R({code:U,button:T,$grid:d,$table:D,$gantt:null},...c):errLog("vxe.error.notCommands",[U]))}return d.$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]},resetForm(){var e=this.$refs.refForm;return e?e.reset():this.$nextTick()},validateForm(){var e=this.$refs.refForm;return e?e.validate():this.$nextTick()},validateFormField(e){var t=this.$refs.refForm;return t?t.validateField(e):this.$nextTick()},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;o.tableLoading||(e&&(0,_utils.isEnableConf)(s)?(r.dispatchEvent("form-submit",t,t.$event),a.uFoot=!0,r.commitProxy("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)?(t.dispatchEvent("form-reset",e,s),a&&a.clearScroll(),o.uFoot=!0,t.commitProxy("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=>{_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=>{_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=o.pager;return i&&(0,_utils.isEnableConf)(l)||o.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},u?u.call(r,{$grid:r,$gantt:null}):[t?e(t,{ref:"refPager",props:Object.assign(Object.assign({},l),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)}});