vxe-table 3.15.29 → 3.15.31

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 (45) hide show
  1. package/es/grid/src/grid.js +39 -42
  2. package/es/style.css +1 -1
  3. package/es/table/module/edit/mixin.js +11 -27
  4. package/es/table/module/export/mixin.js +75 -143
  5. package/es/table/module/menu/mixin.js +2 -6
  6. package/es/table/module/validator/mixin.js +99 -41
  7. package/es/table/src/methods.js +12 -36
  8. package/es/table/src/table.js +6 -8
  9. package/es/ui/index.js +1 -1
  10. package/es/ui/src/log.js +1 -1
  11. package/lib/grid/src/grid.js +24 -26
  12. package/lib/grid/src/grid.min.js +1 -1
  13. package/lib/index.umd.js +271 -572
  14. package/lib/index.umd.min.js +1 -1
  15. package/lib/style.css +1 -1
  16. package/lib/table/module/edit/mixin.js +11 -27
  17. package/lib/table/module/edit/mixin.min.js +1 -1
  18. package/lib/table/module/export/mixin.js +101 -184
  19. package/lib/table/module/export/mixin.min.js +1 -1
  20. package/lib/table/module/menu/mixin.js +2 -6
  21. package/lib/table/module/menu/mixin.min.js +1 -1
  22. package/lib/table/module/validator/mixin.js +97 -40
  23. package/lib/table/module/validator/mixin.min.js +1 -1
  24. package/lib/table/src/methods.js +12 -36
  25. package/lib/table/src/methods.min.js +1 -1
  26. package/lib/table/src/table.js +8 -10
  27. package/lib/table/src/table.min.js +1 -1
  28. package/lib/ui/index.js +1 -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 +1 -1
  33. package/packages/grid/src/grid.ts +39 -41
  34. package/packages/table/module/edit/mixin.ts +11 -27
  35. package/packages/table/module/export/mixin.ts +105 -162
  36. package/packages/table/module/menu/mixin.ts +2 -6
  37. package/packages/table/module/validator/mixin.ts +101 -40
  38. package/packages/table/src/methods.ts +12 -36
  39. package/packages/table/src/table.ts +6 -8
  40. /package/es/{iconfont.1747286367921.ttf → iconfont.1747621179042.ttf} +0 -0
  41. /package/es/{iconfont.1747286367921.woff → iconfont.1747621179042.woff} +0 -0
  42. /package/es/{iconfont.1747286367921.woff2 → iconfont.1747621179042.woff2} +0 -0
  43. /package/lib/{iconfont.1747286367921.ttf → iconfont.1747621179042.ttf} +0 -0
  44. /package/lib/{iconfont.1747286367921.woff → iconfont.1747621179042.woff} +0 -0
  45. /package/lib/{iconfont.1747286367921.woff2 → iconfont.1747621179042.woff2} +0 -0
@@ -1,6 +1,6 @@
1
1
  import XEUtils from 'xe-utils';
2
2
  import { VxeUI } from '../../../ui';
3
- import { getFuncText, eqEmptyValue } from '../../../ui/src/utils';
3
+ import { getFuncText } from '../../../ui/src/utils';
4
4
  import { scrollToView } from '../../../ui/src/dom';
5
5
  import { handleFieldOrColumn, getRowid } from '../../src/util';
6
6
  import { warnLog, errLog } from '../../../ui/src/log';
@@ -39,27 +39,103 @@ class Rule {
39
39
  return this.content;
40
40
  }
41
41
  }
42
- function validErrorRuleValue(rule, val) {
42
+ // 如果存在 pattern,判断正则
43
+ function validREValue(pattern, val) {
44
+ if (pattern && !(XEUtils.isRegExp(pattern) ? pattern : new RegExp(pattern)).test(val)) {
45
+ return false;
46
+ }
47
+ return true;
48
+ }
49
+ // 如果存在 max,判断最大值
50
+ function validMaxValue(max, num) {
51
+ if (!XEUtils.eqNull(max) && num > XEUtils.toNumber(max)) {
52
+ return false;
53
+ }
54
+ return true;
55
+ }
56
+ // 如果存在 min,判断最小值
57
+ function validMinValue(min, num) {
58
+ if (!XEUtils.eqNull(min) && num < XEUtils.toNumber(min)) {
59
+ return false;
60
+ }
61
+ return true;
62
+ }
63
+ function validRuleValue(rule, val, required) {
43
64
  const { type, min, max, pattern } = rule;
65
+ const isArrType = type === 'array';
44
66
  const isNumType = type === 'number';
45
- const numVal = isNumType ? XEUtils.toNumber(val) : XEUtils.getSize(val);
46
- // 判断数值
47
- if (isNumType && isNaN(val)) {
48
- return true;
67
+ const isStrType = type === 'string';
68
+ const strVal = `${val}`;
69
+ if (!validREValue(pattern, strVal)) {
70
+ return false;
49
71
  }
50
- // 如果存在 min,判断最小值
51
- if (!XEUtils.eqNull(min) && numVal < XEUtils.toNumber(min)) {
52
- return true;
72
+ if (isArrType) {
73
+ if (!XEUtils.isArray(val)) {
74
+ return false;
75
+ }
76
+ if (required) {
77
+ if (!val.length) {
78
+ return false;
79
+ }
80
+ }
81
+ if (!validMinValue(min, val.length)) {
82
+ return false;
83
+ }
84
+ if (!validMaxValue(max, val.length)) {
85
+ return false;
86
+ }
53
87
  }
54
- // 如果存在 max,判断最大值
55
- if (!XEUtils.eqNull(max) && numVal > XEUtils.toNumber(max)) {
56
- return true;
88
+ else if (isNumType) {
89
+ const numVal = Number(val);
90
+ if (isNaN(numVal)) {
91
+ return false;
92
+ }
93
+ if (!validMinValue(min, numVal)) {
94
+ return false;
95
+ }
96
+ if (!validMaxValue(max, numVal)) {
97
+ return false;
98
+ }
57
99
  }
58
- // 如果存在 pattern,正则校验
59
- if (pattern && !(XEUtils.isRegExp(pattern) ? pattern : new RegExp(pattern)).test(val)) {
60
- return true;
100
+ else {
101
+ if (isStrType) {
102
+ if (!XEUtils.isString(val)) {
103
+ return false;
104
+ }
105
+ }
106
+ if (required) {
107
+ if (!strVal) {
108
+ return false;
109
+ }
110
+ }
111
+ if (!validMinValue(min, strVal.length)) {
112
+ return false;
113
+ }
114
+ if (!validMaxValue(max, strVal.length)) {
115
+ return false;
116
+ }
117
+ }
118
+ return true;
119
+ }
120
+ function checkRuleStatus(rule, val) {
121
+ const { required } = rule;
122
+ const isEmptyVal = XEUtils.eqNull(val);
123
+ if (required) {
124
+ if (isEmptyVal) {
125
+ return false;
126
+ }
127
+ if (!validRuleValue(rule, val, required)) {
128
+ return false;
129
+ }
130
+ }
131
+ else {
132
+ if (!isEmptyVal) {
133
+ if (!validRuleValue(rule, val, required)) {
134
+ return false;
135
+ }
136
+ }
61
137
  }
62
- return false;
138
+ return true;
63
139
  }
64
140
  export default {
65
141
  methods: {
@@ -67,10 +143,8 @@ export default {
67
143
  * 完整校验,和 validate 的区别就是会给有效数据中的每一行进行校验
68
144
  */
69
145
  _fullValidate(rows, cb) {
70
- if (process.env.NODE_ENV === 'development') {
71
- if (XEUtils.isFunction(cb)) {
72
- warnLog('vxe.error.notValidators', ['fullValidate(rows, callback)', 'fullValidate(rows)']);
73
- }
146
+ if (XEUtils.isFunction(cb)) {
147
+ warnLog('vxe.error.notValidators', ['fullValidate(rows, callback)', 'fullValidate(rows)']);
74
148
  }
75
149
  return this.beginValidate(rows, null, cb, true);
76
150
  },
@@ -78,10 +152,8 @@ export default {
78
152
  * 快速校验,如果存在记录不通过的记录,则返回不再继续校验(异步校验除外)
79
153
  */
80
154
  _validate(rows, cb) {
81
- if (process.env.NODE_ENV === 'development') {
82
- if (XEUtils.isFunction(cb)) {
83
- warnLog('vxe.error.notValidators', ['validate(rows, callback)', 'validate(rows)']);
84
- }
155
+ if (XEUtils.isFunction(cb)) {
156
+ warnLog('vxe.error.notValidators', ['validate(rows, callback)', 'validate(rows)']);
85
157
  }
86
158
  return this.beginValidate(rows, null, cb);
87
159
  },
@@ -323,7 +395,7 @@ export default {
323
395
  if (rules) {
324
396
  const cellValue = XEUtils.isUndefined(val) ? XEUtils.get(row, property) : val;
325
397
  rules.forEach((rule) => {
326
- const { type, trigger, required, validator } = rule;
398
+ const { trigger, validator } = rule;
327
399
  if (validType === 'all' || !trigger || validType === trigger) {
328
400
  if (validator) {
329
401
  const validParams = {
@@ -346,9 +418,7 @@ export default {
346
418
  customValid = tcvMethod(validParams);
347
419
  }
348
420
  else {
349
- if (process.env.NODE_ENV === 'development') {
350
- warnLog('vxe.error.notValidators', [validator]);
351
- }
421
+ errLog('vxe.error.notValidators', [validator]);
352
422
  }
353
423
  }
354
424
  else {
@@ -373,19 +443,7 @@ export default {
373
443
  }
374
444
  }
375
445
  else {
376
- const isArrType = type === 'array';
377
- const isArrVal = XEUtils.isArray(cellValue);
378
- let hasEmpty = true;
379
- if (isArrType || isArrVal) {
380
- hasEmpty = !isArrVal || !cellValue.length;
381
- }
382
- else if (XEUtils.isString(cellValue)) {
383
- hasEmpty = eqEmptyValue(cellValue.trim());
384
- }
385
- else {
386
- hasEmpty = eqEmptyValue(cellValue);
387
- }
388
- if (required ? (hasEmpty || validErrorRuleValue(rule, cellValue)) : (!hasEmpty && validErrorRuleValue(rule, cellValue))) {
446
+ if (!checkRuleStatus(rule, cellValue)) {
389
447
  this.validRuleErr = true;
390
448
  errorRules.push(new Rule(rule));
391
449
  }
@@ -3019,7 +3019,6 @@ function parseColumns($xeTable, isReset) {
3019
3019
  // }
3020
3020
  // }
3021
3021
  // }
3022
- // if (process.env.NODE_ENV === 'development') {
3023
3022
  // if (props.showHeader && !props.showHeaderOverflow) {
3024
3023
  // warnLog('vxe.error.reqProp', ['show-header-overflow'])
3025
3024
  // }
@@ -3032,7 +3031,6 @@ function parseColumns($xeTable, isReset) {
3032
3031
  if (props.footerSpanMethod) {
3033
3032
  warnLog('vxe.error.scrollErrProp', ['footer-span-method']);
3034
3033
  }
3035
- // }
3036
3034
  if (isReset) {
3037
3035
  const { visibleSize } = handleVirtualXVisible($xeTable);
3038
3036
  scrollXStore.startIndex = 0;
@@ -3686,9 +3684,7 @@ const Methods = {
3686
3684
  this.tableData = tableData.slice(0);
3687
3685
  }
3688
3686
  else {
3689
- if (process.env.NODE_ENV === 'development') {
3690
- warnLog('vxe.error.reqProp', ['keep-source']);
3691
- }
3687
+ errLog('vxe.error.reqProp', ['keep-source']);
3692
3688
  }
3693
3689
  return this.$nextTick();
3694
3690
  },
@@ -3922,16 +3918,12 @@ const Methods = {
3922
3918
  getVMRowIndex: createGetRowCacheProp('$index'),
3923
3919
  // 在 v3 中废弃
3924
3920
  _getRowIndex(row) {
3925
- if (process.env.NODE_ENV === 'development') {
3926
- warnLog('vxe.error.delFunc', ['_getRowIndex', 'getVTRowIndex']);
3927
- }
3921
+ warnLog('vxe.error.delFunc', ['_getRowIndex', 'getVTRowIndex']);
3928
3922
  return this.getVTRowIndex(row);
3929
3923
  },
3930
3924
  // 在 v3 中废弃
3931
3925
  $getRowIndex(row) {
3932
- if (process.env.NODE_ENV === 'development') {
3933
- warnLog('vxe.error.delFunc', ['$getRowIndex', 'getVMRowIndex']);
3934
- }
3926
+ warnLog('vxe.error.delFunc', ['$getRowIndex', 'getVMRowIndex']);
3935
3927
  return this.getVMRowIndex(row);
3936
3928
  },
3937
3929
  /**
@@ -3951,16 +3943,12 @@ const Methods = {
3951
3943
  getVMColumnIndex: createGetColumnCacheProp('$index'),
3952
3944
  // 在 v3 中废弃
3953
3945
  _getColumnIndex(column) {
3954
- if (process.env.NODE_ENV === 'development') {
3955
- warnLog('vxe.error.delFunc', ['_getColumnIndex', 'getVTColumnIndex']);
3956
- }
3946
+ warnLog('vxe.error.delFunc', ['_getColumnIndex', 'getVTColumnIndex']);
3957
3947
  return this.getVTColumnIndex(column);
3958
3948
  },
3959
3949
  // 在 v3 中废弃
3960
3950
  $getColumnIndex(column) {
3961
- if (process.env.NODE_ENV === 'development') {
3962
- warnLog('vxe.error.delFunc', ['$getColumnIndex', 'getVMColumnIndex']);
3963
- }
3951
+ warnLog('vxe.error.delFunc', ['$getColumnIndex', 'getVMColumnIndex']);
3964
3952
  return this.getVMColumnIndex(column);
3965
3953
  },
3966
3954
  /**
@@ -4063,9 +4051,7 @@ const Methods = {
4063
4051
  const { transform } = treeOpts;
4064
4052
  const { handleGetRowId } = createHandleGetRowId($xeTable);
4065
4053
  if (!keepSource) {
4066
- if (process.env.NODE_ENV === 'development') {
4067
- errLog('vxe.error.reqProp', ['keep-source']);
4068
- }
4054
+ errLog('vxe.error.reqProp', ['keep-source']);
4069
4055
  return $xeTable.$nextTick();
4070
4056
  }
4071
4057
  let targetRows = rows;
@@ -5602,10 +5588,8 @@ const Methods = {
5602
5588
  // 兼容老版本
5603
5589
  if (!evntList.length && type === 'event.clearEdit') {
5604
5590
  evntList = interceptor.get('event.clearActived');
5605
- if (process.env.NODE_ENV === 'development') {
5606
- if (evntList.length) {
5607
- warnLog('vxe.error.delEvent', ['event.clearActived', 'event.clearEdit']);
5608
- }
5591
+ if (evntList.length) {
5592
+ warnLog('vxe.error.delEvent', ['event.clearActived', 'event.clearEdit']);
5609
5593
  }
5610
5594
  }
5611
5595
  // 兼容老版本
@@ -8410,9 +8394,7 @@ const Methods = {
8410
8394
  },
8411
8395
  // 在 v3 中废弃
8412
8396
  getSortColumn() {
8413
- if (process.env.NODE_ENV === 'development') {
8414
- warnLog('vxe.error.delFunc', ['getSortColumn', 'getSortColumns']);
8415
- }
8397
+ warnLog('vxe.error.delFunc', ['getSortColumn', 'getSortColumns']);
8416
8398
  return XEUtils.find(this.tableFullColumn, column => (column.sortable || column.remoteSort) && column.order);
8417
8399
  },
8418
8400
  isSort(fieldOrColumn) {
@@ -8576,9 +8558,7 @@ const Methods = {
8576
8558
  return $xeTable.$nextTick();
8577
8559
  },
8578
8560
  reloadExpandContent(row) {
8579
- if (process.env.NODE_ENV === 'development') {
8580
- warnLog('vxe.error.delFunc', ['reloadExpandContent', 'reloadRowExpand']);
8581
- }
8561
+ warnLog('vxe.error.delFunc', ['reloadExpandContent', 'reloadRowExpand']);
8582
8562
  // 即将废弃
8583
8563
  return this.reloadRowExpand(row);
8584
8564
  },
@@ -8721,9 +8701,7 @@ const Methods = {
8721
8701
  return !!rowExpandedFlag && !!rowExpandedMaps[rowid];
8722
8702
  },
8723
8703
  isExpandByRow(row) {
8724
- if (process.env.NODE_ENV === 'development') {
8725
- warnLog('vxe.error.delFunc', ['isExpandByRow', 'isRowExpandByRow']);
8726
- }
8704
+ warnLog('vxe.error.delFunc', ['isExpandByRow', 'isRowExpandByRow']);
8727
8705
  // 即将废弃
8728
8706
  return this.isRowExpandByRow(row);
8729
8707
  },
@@ -8951,9 +8929,7 @@ const Methods = {
8951
8929
  },
8952
8930
  reloadTreeChilds(row) {
8953
8931
  const $xeTable = this;
8954
- if (process.env.NODE_ENV === 'development') {
8955
- warnLog('vxe.error.delFunc', ['reloadTreeChilds', 'reloadTreeExpand']);
8956
- }
8932
+ warnLog('vxe.error.delFunc', ['reloadTreeChilds', 'reloadTreeExpand']);
8957
8933
  // 即将废弃
8958
8934
  return $xeTable.reloadTreeExpand(row);
8959
8935
  },
@@ -1686,14 +1686,12 @@ export default {
1686
1686
  if (columnOpts.drag || rowOpts.drag || customOpts.allowSort) {
1687
1687
  initTpImg();
1688
1688
  }
1689
- if (process.env.NODE_ENV === 'development') {
1690
- const { $listeners } = this;
1691
- if (!this.menuConfig && ($listeners['menu-click'] || $listeners['cell-menu'] || $listeners['header-cell-menu'] || $listeners['footer-cell-menu'])) {
1692
- warnLog('vxe.error.reqProp', ['menu-config']);
1693
- }
1694
- if (!this.tooltipConfig && ($listeners['cell-mouseenter'] || $listeners['cell-mouseleave'])) {
1695
- warnLog('vxe.error.reqProp', ['tooltip-config']);
1696
- }
1689
+ const { $listeners } = this;
1690
+ if (!this.menuConfig && ($listeners['menu-click'] || $listeners['cell-menu'] || $listeners['header-cell-menu'] || $listeners['footer-cell-menu'])) {
1691
+ warnLog('vxe.error.reqProp', ['menu-config']);
1692
+ }
1693
+ if (!this.tooltipConfig && ($listeners['cell-mouseenter'] || $listeners['cell-mouseleave'])) {
1694
+ warnLog('vxe.error.reqProp', ['tooltip-config']);
1697
1695
  }
1698
1696
  // 使用已安装的组件,如果未安装则不渲染
1699
1697
  const VxeUILoadingComponent = VxeUI.getComponent('VxeLoading');
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.15.29";
3
+ export const version = "3.15.31";
4
4
  VxeUI.version = version;
5
5
  VxeUI.tableVersion = version;
6
6
  VxeUI.setConfig({
package/es/ui/src/log.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const version = `table v${"3.15.29"}`;
3
+ const version = `table v${"3.15.31"}`;
4
4
  export const warnLog = log.create('warn', version);
5
5
  export const errLog = log.create('error', version);
@@ -120,13 +120,11 @@ function getToolbarSlots(_vm) {
120
120
  let buttonsSlot;
121
121
  let toolsSlot;
122
122
  const slots = {};
123
- if (process.env.NODE_ENV === 'development') {
124
- if ($scopedSlots.buttons && (!toolbarOptSlots || toolbarOptSlots.buttons !== 'buttons')) {
125
- (0, _log.warnLog)('vxe.error.reqProp', ['toolbar-config.slots.buttons']);
126
- }
127
- if ($scopedSlots.tools && (!toolbarOptSlots || toolbarOptSlots.tools !== 'tools')) {
128
- (0, _log.warnLog)('vxe.error.reqProp', ['toolbar-config.slots.tools']);
129
- }
123
+ if ($scopedSlots.buttons && (!toolbarOptSlots || toolbarOptSlots.buttons !== 'buttons')) {
124
+ (0, _log.warnLog)('vxe.error.reqProp', ['toolbar-config.slots.buttons']);
125
+ }
126
+ if ($scopedSlots.tools && (!toolbarOptSlots || toolbarOptSlots.tools !== 'tools')) {
127
+ (0, _log.warnLog)('vxe.error.reqProp', ['toolbar-config.slots.tools']);
130
128
  }
131
129
  if (toolbarOptSlots) {
132
130
  buttonsSlot = getFuncSlot(_vm, toolbarOptSlots, 'buttons');
@@ -627,17 +625,15 @@ var _default = exports.default = {
627
625
  // if (proxyConfig && (data || (proxyOpts.form && formOpts.data))) {
628
626
  // errLog('vxe.error.errConflicts', ['grid.data', 'grid.proxy-config'])
629
627
  // }
630
- if (process.env.NODE_ENV === 'development') {
631
- if (this.toolbar) {
632
- (0, _log.warnLog)('vxe.error.delProp', ['grid.toolbar', 'grid.toolbar-config']);
633
- }
634
- if (this.toolbarConfig && !_xeUtils.default.isObject(this.toolbarConfig)) {
635
- (0, _log.warnLog)('vxe.error.errProp', [`grid.toolbar-config=${this.toolbarConfig}`, 'grid.toolbar-config={}']);
636
- }
637
- // if (proxyOpts.props) {
638
- // warnLog('vxe.error.delProp', ['proxy-config.props', 'proxy-config.response'])
639
- // }
628
+ if (this.toolbar) {
629
+ (0, _log.warnLog)('vxe.error.delProp', ['grid.toolbar', 'grid.toolbar-config']);
630
+ }
631
+ if (this.toolbarConfig && !_xeUtils.default.isObject(this.toolbarConfig)) {
632
+ (0, _log.warnLog)('vxe.error.errProp', [`grid.toolbar-config=${this.toolbarConfig}`, 'grid.toolbar-config={}']);
640
633
  }
634
+ // if (proxyOpts.props) {
635
+ // warnLog('vxe.error.delProp', ['proxy-config.props', 'proxy-config.response'])
636
+ // }
641
637
  // 使用已安装的组件,如果未安装则不渲染
642
638
  const VxeUIFormComponent = _ui.VxeUI.getComponent('VxeForm');
643
639
  const VxeUIPagerComponent = _ui.VxeUI.getComponent('VxePager');
@@ -684,7 +680,7 @@ var _default = exports.default = {
684
680
  style: styles
685
681
  }, renderLayout(h, $xeGrid));
686
682
  },
687
- methods: Object.assign(Object.assign(Object.assign({}, methods), {
683
+ methods: Object.assign(Object.assign({}, methods), {
688
684
  callSlot(slotFunc, params, h, vNodes) {
689
685
  const $xeGrid = this;
690
686
  const slots = $xeGrid.$scopedSlots;
@@ -1512,12 +1508,12 @@ var _default = exports.default = {
1512
1508
  });
1513
1509
  },
1514
1510
  getProxyInfo() {
1511
+ const $xeGrid = this;
1512
+ const $xeTable = $xeGrid.$refs.xTable;
1515
1513
  const {
1516
- $refs,
1517
1514
  sortData,
1518
1515
  proxyConfig
1519
1516
  } = this;
1520
- const $xeTable = $refs.xTable;
1521
1517
  if (proxyConfig) {
1522
1518
  return {
1523
1519
  data: $xeTable ? $xeTable.getFullData() : [],
@@ -1530,9 +1526,10 @@ var _default = exports.default = {
1530
1526
  };
1531
1527
  }
1532
1528
  return null;
1533
- }
1534
- }), process.env.NODE_ENV === 'development' ? {
1529
+ },
1535
1530
  loadColumn(columns) {
1531
+ const $xeGrid = this;
1532
+ const $xeTable = $xeGrid.$refs.xTable;
1536
1533
  const {
1537
1534
  $scopedSlots
1538
1535
  } = this;
@@ -1547,11 +1544,12 @@ var _default = exports.default = {
1547
1544
  });
1548
1545
  }
1549
1546
  });
1550
- return this.$refs.xTable.loadColumn(columns);
1547
+ return $xeTable.loadColumn(columns);
1551
1548
  },
1552
1549
  reloadColumn(columns) {
1553
- this.clearAll();
1554
- return this.loadColumn(columns);
1550
+ const $xeGrid = this;
1551
+ $xeGrid.clearAll();
1552
+ return $xeGrid.loadColumn(columns);
1555
1553
  }
1556
- } : null)
1554
+ })
1557
1555
  };
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,globalEvents,globalMixins,renderEmptyElement}=_ui.VxeUI,methods={},propKeys=Object.keys(_props.default),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function renderDefaultForm(e,r){var o=_ui.VxeUI.getComponent("VxeForm");let s=r.$scopedSlots;var{proxyConfig:i,formConfig:t}=r,{proxyOpts:a,formData:n,formOpts:l}=r;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&t&&l.items.forEach(e=>{t.call(r,{$grid:r,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),[o?e(o,{props:Object.assign({},l,{data:i&&a.form?n:l.data}),on:{submit:r.submitEvent,reset:r.resetEvent,collapse:r.collapseEvent,"submit-invalid":r.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(r)]}return[]}function getFuncSlot(e,t,r){e=e.$scopedSlots,t=t[r];if(t){if(!_xeUtils.default.isString(t))return t;if(e[t])return e[t];(0,_log.errLog)("vxe.error.notSlot",[t])}return null}let getConfigSlot=(e,t)=>{let r=e.$scopedSlots,o={};return _xeUtils.default.objectMap(t,(e,t)=>{e&&(_xeUtils.default.isString(e)?r[e]?o[t]=r[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):o[t]=e)}),o};function getToolbarSlots(e){var{$scopedSlots:t,toolbarOpts:r}=e,r=r.slots,o={};return"development"===process.env.NODE_ENV&&(!t.buttons||r&&"buttons"===r.buttons||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!t.tools||r&&"tools"===r.tools||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.tools"])),r&&(t=getFuncSlot(e,r,"buttons"),e=getFuncSlot(e,r,"tools"),t&&(o.buttons=t),e)&&(o.tools=e),o}function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:o}=r;let s={};return _xeUtils.default.each(e,(e,t)=>{s[t]=(...e)=>{r.$emit(t,...e)}}),t&&(o.sort&&(s["sort-change"]=r.sortChangeEvent),o.filter)&&(s["filter-change"]=r.filterChangeEvent),s}function pageChangeEvent(t,e){var r=t.proxyConfig,o=t.tablePage;let{$event:s,currentPage:i,pageSize:a}=e;var n=t.computeProxyOpts;o.currentPage=i,o.pageSize=a,t.dispatchEvent("page-change",e,s),r&&(0,_utils.isEnableConf)(n)&&t.commitProxy("query").then(e=>{t.dispatchEvent("proxy-query",e,s)})}function renderForm(e,t){var{_e:r,$scopedSlots:o,formConfig:s}=t,o=o.form;return!o&&!(0,_utils.isEnableConf)(s)?r():e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t},e):renderDefaultForm(e,t))}function renderToolbar(e,t){var{_e:r,$scopedSlots:o,toolbarConfig:s,toolbar:i}=t,o=o.toolbar;return!(o||(0,_utils.isEnableConf)(s)||i)?r():e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t},e):[e(_toolbar.default,{props:Object.assign({},t.toolbarOpts,{slots:void 0}),ref:"xToolbar",scopedSlots:getToolbarSlots(t)})])}function renderTop(e,t){var{_e:r,$scopedSlots:o}=t,o=o.top;return o?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},o.call(t,{$grid:t},e)):r()}function renderTableLeft(e,t){var{_e:r,$scopedSlots:o}=t,o=o.left;return o?e("div",{class:"vxe-grid--left-wrapper"},o({$grid:t})):r()}function renderTableRight(e,t){var{_e:r,$scopedSlots:o}=t,o=o.right;return o?e("div",{class:"vxe-grid--right-wrapper"},o({$grid:t})):r()}function renderTable(e,t){var{$scopedSlots:r,tableProps:o}=t;return e("div",{class:"vxe-grid--table-wrapper"},[e("vxe-table",{key:"table",props:o,on:getTableOns(t),scopedSlots:r,ref:"xTable"})])}function renderBottom(e,t){var{_e:r,$scopedSlots:o}=t,o=o.bottom;return o?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},o.call(t,{$grid:t},e)):r()}function renderPager(e,t){var r=_ui.VxeUI.getComponent("VxePager"),o=t.$scopedSlots,s=t,{proxyConfig:i,pagerConfig:a}=t,n=t.computeProxyOpts,l=t.computePagerOpts,g=o.pager;return a&&(0,_utils.isEnableConf)(l)||o.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},g?g.call(t,{$grid:t}):[r?e(r,{ref:"refPager",props:Object.assign(Object.assign({},l),i&&(0,_utils.isEnableConf)(n)?s.tablePage:{}),on:{"page-change"(e){pageChangeEvent(t,e)}},scopedSlots:getConfigSlot(t,l.slots)}):renderEmptyElement(t)]):renderEmptyElement(t)}function renderChildLayout(t,r,e){let o=[];return e.forEach(e=>{switch(e){case"Form":o.push(renderForm(t,r));break;case"Toolbar":o.push(renderToolbar(t,r));break;case"Top":o.push(renderTop(t,r));break;case"Table":o.push(t("div",{key:"table",class:"vxe-grid--table-container"},[renderTableLeft(t,r),renderTable(t,r),renderTableRight(t,r)]));break;case"Bottom":o.push(renderBottom(t,r));break;case"Pager":o.push(renderPager(t,r));break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),o}function renderLayout(e,t){var r=t.$scopedSlots,{headKeys:o,bodyKeys:s,footKeys:i}=t.computeCurrLayoutConf,a=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},renderChildLayout(e,t,o)),e("div",{class:"vxe-grid--layout-body-wrapper"},[a?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},renderChildLayout(e,t,s)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},renderChildLayout(e,t,i))]}Object.keys(_table.default.methods).forEach(t=>{methods[t]=function(...e){return this.$refs.xTable&&this.$refs.xTable[t](...e)}});var _default=exports.default={name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:[Boolean,Object],proxyConfig:Object,toolbar:[Boolean,Object],toolbarConfig:[Boolean,Object],formConfig:[Boolean,Object],zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this}},data(){var e;return{tableLoading:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}},computed:{isRespMsg(){var e=this.proxyOpts;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg},isActiveMsg(){return this.proxyOpts.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||this.toolbar)},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,s={};return r?s.zIndex=o:(e&&(s.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(s.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),s},tableExtendProps(){let t={};return propKeys.forEach(e=>{t[e]=this[e]}),t},computeTableProps(){var{isZMax:e,seqConfig:t,pagerConfig:r,loading:o,editConfig:s,proxyConfig:i,proxyOpts:a,tableExtendProps:n,tableLoading:l,tablePage:g}=this,d=Object.assign({},n);return e&&(n.maxHeight?d.maxHeight="100%":d.height="100%"),i&&(d.loading=o||l,a.seq)&&(0,_utils.isEnableConf)(r)&&(d.seqConfig=Object.assign({},t,{startIndex:(g.currentPage-1)*g.pageSize})),s&&(d.editConfig=Object.assign({},s)),d},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],o=[],s=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],s=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:s}},computePageConfFlag(){var e=this.computePagerOpts;return""+e.currentPage+e.pageSize}},watch:{columns(e){this.$nextTick(()=>this.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computePageConfFlag(){this.initPages()}},created(){let e=this,t=("development"===process.env.NODE_ENV&&(this.toolbar&&(0,_log.warnLog)("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),this.toolbarConfig)&&!_xeUtils.default.isObject(this.toolbarConfig)&&(0,_log.warnLog)("vxe.error.errProp",["grid.toolbar-config="+this.toolbarConfig,"grid.toolbar-config={}"]),_ui.VxeUI.getComponent("VxeForm")),r=_ui.VxeUI.getComponent("VxePager");this.$nextTick(()=>{e.formConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),e.pagerConfig&&!r&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),this.initPages(),globalEvents.on(this,"keydown",this.handleGlobalKeydownEvent)},mounted(){this.columns&&this.columns.length&&this.loadColumn(this.columns),this.initToolbar(),this.initProxy()},destroyed(){globalEvents.off(this,"keydown")},render(e){var t=this,r=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+r]:r,"is--animat":!!this.animat,"is--round":this.round,"is--maximize":t.isZMax,"is--loading":t.loading||t.tableLoading}],style:t.computeStyles},renderLayout(e,t))},methods:Object.assign(Object.assign(Object.assign({},methods),{callSlot(e,t,r,o){var s=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r,o)):[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var e,t,r,o,s,i=this,a=i.isZMax,n=i.$refs.refElem;return n?(e=i.$refs.refFormWrapper,t=i.$refs.refToolbarWrapper,r=i.$refs.refTopWrapper,o=i.$refs.refBottomWrapper,i=i.$refs.refPagerWrapper,s=n.parentElement,(!a&&s?(0,_dom.getPaddingTopBottomSize)(s):0)+(0,_dom.getPaddingTopBottomSize)(n)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(i)):0},getParentHeight(){var e=this.$refs.refElem;return e?(e=e.parentElement,(this.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-this.getExcludeHeight()):0},initToolbar(){this.$nextTick(()=>{var{xTable:e,xToolbar:t}=this.$refs;e&&t&&e.connect(t)})},initPages(){var{tablePage:e,pagerConfig:t,pagerOpts:r}=this,{currentPage:r,pageSize:o}=r;t&&(r&&(e.currentPage=r),o)&&(e.pageSize=o)},initProxy(){var{proxyInited:e,proxyConfig:t,proxyOpts:r,formConfig:o,formOpts:i}=this;if(t){if((0,_utils.isEnableConf)(o)&&r.form&&i.items){let s={};i.items.forEach(t=>{var{field:r,itemRender:o}=t;if(r){let e=null;o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o)),s[r]=e}}),this.formData=s}e||!1===r.autoLoad||(this.proxyInited=!0,this.$nextTick().then(()=>this.commitProxy("_init")).then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isInited:!0,$grid:this,$event:new Event("init")}))}))}},handleGlobalKeydownEvent(e){27===e.keyCode&&this.isZMax&&!1!==this.zoomOpts.escRestore&&this.triggerZoomEvent(e)},commitProxy(t,...u){let{$refs:e,toolbar:r,toolbarConfig:o,toolbarOpts:s,proxyOpts:i,tablePage:n,pagerConfig:l,editRules:c,isRespMsg:p,isActiveMsg:h,validConfig:f,pagerOpts:g}=this,{beforeQuery:d,afterQuery:m,beforeDelete:b,afterDelete:x,beforeSave:v,afterSave:y,ajax:_={}}=i,C=i.response||i.props||{},O=e.xTable;var a,$=this.getFormData();let E,P;_xeUtils.default.isString(t)?(a=o||r?_xeUtils.default.findTree(s.buttons,e=>e.code===t,{children:"dropdowns"}):null,P=t,E=a?a.item:null):(E=t,P=E.code);var S=E?E.params:null;switch(P){case"insert":return O.insert({});case"insert_edit":return O.insert({}).then(({row:e})=>O.setEditRow(e));case"insert_actived":return O.insert({}).then(({row:e})=>O.setEditRow(e));case"mark_cancel":this.triggerPendingEvent(P);break;case"remove":return this.handleDeleteRow(P,"vxe.grid.removeSelectRecord",()=>this.removeCheckboxRow());case"import":O.importData(S);break;case"open_import":O.openImport(S);break;case"export":O.exportData(S);break;case"open_export":O.openExport(S);break;case"reset_custom":O.resetCustom(!0);break;case"_init":case"reload":case"query":{var j=_.query;let a=_.querySuccess,o=_.queryError;if(j){var T="_init"===P,U="reload"===P;if(!T&&this.tableLoading)return this.$nextTick();let t=[],r=[],e={};if(l&&((T||U)&&(n.currentPage=1),(0,_utils.isEnableConf)(l))&&(e=Object.assign({},n)),T){let e=null;O&&(R=O.sortOpts,e=R.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),O&&(r=O.getCheckedFilters())}else O&&(U?O.clearAll():(t=O.getSortColumns(),r=O.getCheckedFilters()));let s={code:P,button:E,isInited:T,isReload:U,$grid:this,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:$,options:j},i=(this.sortData=t,this.filterData=r,this.tableLoading=!0,[s].concat(u));return Promise.resolve((d||j)(...i)).then(e=>{let t=[];var r,o;return this.tableLoading=!1,e&&(l&&(0,_utils.isEnableConf)(g)?(o=C.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:this}):_xeUtils.default.get(e,o||"page.total"))||0,n.total=_xeUtils.default.toNumber(o),r=C.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(o/n.pageSize),1),n.currentPage>r&&(n.currentPage=r)):(o=C.list,t=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:this}):_xeUtils.default.get(e,o):e)||[])),O?O.loadData(t):O.$nextTick(()=>{O&&O.loadData(t)}),m&&m(...i),a&&a(Object.assign(Object.assign({},s),{response:e})),{status:!0}}).catch(e=>(this.tableLoading=!1,o&&o(Object.assign(Object.assign({},s),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let s=_.delete,i=_.deleteSuccess,a=_.deleteError;if(s){let e=O.getCheckboxRecords(),t=e.filter(e=>!O.isInsertByRow(e));var R={removeRecords:t};let r={$grid:this,code:P,button:E,body:R,form:$,options:s},o=[r].concat(u);if(e.length)return this.handleDeleteRow(P,"vxe.grid.deleteSelectRecord",()=>t.length?(this.tableLoading=!0,Promise.resolve((b||s)(...o)).then(e=>(this.tableLoading=!1,O.setPendingRow(t,!1),p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"})),x?x(...o):this.commitProxy("query"),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):O.remove(e));h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=_.save,g=_.saveSuccess,d=_.saveError;if(l){let t=this.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:s,pendingRecords:i}=t,a={$grid:this,code:P,button:E,body:t,form:$,options:l},n=[a].concat(u),e=(r.length&&(t.pendingRecords=i.filter(e=>-1===r.indexOf(e))),i.length&&(t.insertRecords=r.filter(e=>-1===i.indexOf(e))),Promise.resolve());return(e=c?this[f&&"full"===f.msgMode?"fullValidate":"validate"](t.insertRecords.concat(s)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||s.length||t.pendingRecords.length?(this.tableLoading=!0,Promise.resolve((v||l)(...n)).then(e=>(this.tableLoading=!1,O.clearPendingRow(),p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),y?y(...n):this.commitProxy("query"),g&&g(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),d&&d(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):void(h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:P,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:T=commands.get(P);T&&(T.commandMethod?T.commandMethod({code:P,button:E,$grid:this,$table:O},...u):(0,_log.errLog)("vxe.error.notCommands",[P]))}return this.$nextTick()},getRespMsg(e,t){var r=this.proxyOpts,r=r.response||r.props||{};let o;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||getI18n(t)},handleDeleteRow(e,t,r){var o=this.getCheckboxRecords();if(this.isActiveMsg){if(o.length)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()});_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else o.length&&r();return Promise.resolve()},getFormData(){var{proxyConfig:e,proxyOpts:t,formOpts:r,formData:o}=this;return e&&(0,_utils.isEnableConf)(t)&&t.form?o:r.data},getFormItems(e){var{formConfig:t,formOpts:r}=this;let o=[];return _xeUtils.default.eachTree((0,_utils.isEnableConf)(t)&&r.items?r.items:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},triggerToolbarCommitEvent(e,t){let r=e.code;return this.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&this.$emit("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r,$grid:this,$event:t}))})},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-button-click",{code:e.code,button:e,$grid:this,$event:t})},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-tool-click",{code:e.code,tool:e,$grid:this,$event:t})},triggerPendingEvent(e){var t=this.isActiveMsg,r=this.getCheckboxRecords();r.length?(this.togglePendingRow(r),this.clearCheckboxRow()):t&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))},sortChangeEvent(t){var{$table:e,column:r,sortList:o}=t;(_xeUtils.default.isBoolean(r.remoteSort)?r.remoteSort:e.sortOpts.remote)&&(this.sortData=o,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("sort-change",Object.assign({$grid:this},t))},filterChangeEvent(t){var{$table:e,filterList:r}=t;e.filterOpts.remote&&(this.filterData=r,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("filter-change",Object.assign({$grid:this},t))},submitEvent(t){var e=this.proxyConfig;this.tableLoading||(e&&this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))}),this.$emit("form-submit",Object.assign({$grid:this},t)))},resetEvent(t){var e=this.proxyConfig,r=this.$refs.xTable;e&&(r.clearScroll(),this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))})),this.$emit("form-reset",Object.assign({$grid:this},t))},submitInvalidEvent(e){this.$emit("form-submit-invalid",Object.assign({$grid:this},e))},collapseEvent(e){this.$nextTick(()=>this.recalculate(!0)),this.$emit("form-toggle-collapse",Object.assign({$grid:this},e)),this.$emit("form-collapse",Object.assign({$grid:this},e))},triggerZoomEvent(e){this.zoom(),this.$emit("zoom",{$grid:this,type:this.isZMax?"max":"revert",$event:e})},zoom(){return this[this.isZMax?"revert":"maximize"]()},isMaximized(){return this.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){var t=this.isZMax;return(e?!t:t)&&(this.isZMax=!t,this.tZindex<(0,_utils.getLastZIndex)())&&(this.tZindex=(0,_utils.nextZIndex)()),this.$nextTick().then(()=>this.recalculate(!0)).then(()=>(setTimeout(()=>this.recalculate(!0),15),this.isZMax))},getProxyInfo(){var{$refs:e,sortData:t,proxyConfig:r}=this,e=e.xTable;return r?{data:e?e.getFullData():[],filter:this.filterData,form:this.getFormData(),sort:t.length?t[0]:{},sorts:t,pager:this.tablePage,pendingRecords:e?e.getPendingRecords():[]}:null}}),"development"===process.env.NODE_ENV?{loadColumn(e){let t=this.$scopedSlots;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||t[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),this.$refs.xTable.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)}}:null)};
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_table=_interopRequireDefault(require("../../table/src/table")),_toolbar=_interopRequireDefault(require("../../toolbar/src/toolbar")),_props=_interopRequireDefault(require("../../table/src/props")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getI18n,commands,globalEvents,globalMixins,renderEmptyElement}=_ui.VxeUI,methods={},propKeys=Object.keys(_props.default),defaultLayouts=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]];function renderDefaultForm(e,r){var o=_ui.VxeUI.getComponent("VxeForm");let s=r.$scopedSlots;var{proxyConfig:i,formConfig:t}=r,{proxyOpts:a,formData:n,formOpts:l}=r;if((0,_utils.isEnableConf)(t)&&l.items&&l.items.length){let t={};if(!l.inited){l.inited=!0;let t=a.beforeItem;a&&t&&l.items.forEach(e=>{t.call(r,{$grid:r,item:e})})}return l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||s[e]&&(t[e]=s[e])})}),[o?e(o,{props:Object.assign({},l,{data:i&&a.form?n:l.data}),on:{submit:r.submitEvent,reset:r.resetEvent,collapse:r.collapseEvent,"submit-invalid":r.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(r)]}return[]}function getFuncSlot(e,t,r){e=e.$scopedSlots,t=t[r];if(t){if(!_xeUtils.default.isString(t))return t;if(e[t])return e[t];(0,_log.errLog)("vxe.error.notSlot",[t])}return null}let getConfigSlot=(e,t)=>{let r=e.$scopedSlots,o={};return _xeUtils.default.objectMap(t,(e,t)=>{e&&(_xeUtils.default.isString(e)?r[e]?o[t]=r[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):o[t]=e)}),o};function getToolbarSlots(e){var{$scopedSlots:t,toolbarOpts:r}=e,r=r.slots,o={};return!t.buttons||r&&"buttons"===r.buttons||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!t.tools||r&&"tools"===r.tools||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.tools"]),r&&(t=getFuncSlot(e,r,"buttons"),e=getFuncSlot(e,r,"tools"),t&&(o.buttons=t),e)&&(o.tools=e),o}function getTableOns(r){var{$listeners:e,proxyConfig:t,proxyOpts:o}=r;let s={};return _xeUtils.default.each(e,(e,t)=>{s[t]=(...e)=>{r.$emit(t,...e)}}),t&&(o.sort&&(s["sort-change"]=r.sortChangeEvent),o.filter)&&(s["filter-change"]=r.filterChangeEvent),s}function pageChangeEvent(t,e){var r=t.proxyConfig,o=t.tablePage;let{$event:s,currentPage:i,pageSize:a}=e;var n=t.computeProxyOpts;o.currentPage=i,o.pageSize=a,t.dispatchEvent("page-change",e,s),r&&(0,_utils.isEnableConf)(n)&&t.commitProxy("query").then(e=>{t.dispatchEvent("proxy-query",e,s)})}function renderForm(e,t){var{_e:r,$scopedSlots:o,formConfig:s}=t,o=o.form;return!o&&!(0,_utils.isEnableConf)(s)?r():e("div",{key:"form",ref:"refFormWrapper",class:"vxe-grid--form-wrapper"},o?o.call(t,{$grid:t},e):renderDefaultForm(e,t))}function renderToolbar(e,t){var{_e:r,$scopedSlots:o,toolbarConfig:s,toolbar:i}=t,o=o.toolbar;return!(o||(0,_utils.isEnableConf)(s)||i)?r():e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-grid--toolbar-wrapper"},o?o.call(t,{$grid:t},e):[e(_toolbar.default,{props:Object.assign({},t.toolbarOpts,{slots:void 0}),ref:"xToolbar",scopedSlots:getToolbarSlots(t)})])}function renderTop(e,t){var{_e:r,$scopedSlots:o}=t,o=o.top;return o?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-grid--top-wrapper"},o.call(t,{$grid:t},e)):r()}function renderTableLeft(e,t){var{_e:r,$scopedSlots:o}=t,o=o.left;return o?e("div",{class:"vxe-grid--left-wrapper"},o({$grid:t})):r()}function renderTableRight(e,t){var{_e:r,$scopedSlots:o}=t,o=o.right;return o?e("div",{class:"vxe-grid--right-wrapper"},o({$grid:t})):r()}function renderTable(e,t){var{$scopedSlots:r,tableProps:o}=t;return e("div",{class:"vxe-grid--table-wrapper"},[e("vxe-table",{key:"table",props:o,on:getTableOns(t),scopedSlots:r,ref:"xTable"})])}function renderBottom(e,t){var{_e:r,$scopedSlots:o}=t,o=o.bottom;return o?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-grid--bottom-wrapper"},o.call(t,{$grid:t},e)):r()}function renderPager(e,t){var r=_ui.VxeUI.getComponent("VxePager"),o=t.$scopedSlots,s=t,{proxyConfig:i,pagerConfig:a}=t,n=t.computeProxyOpts,l=t.computePagerOpts,g=o.pager;return a&&(0,_utils.isEnableConf)(l)||o.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-grid--pager-wrapper"},g?g.call(t,{$grid:t}):[r?e(r,{ref:"refPager",props:Object.assign(Object.assign({},l),i&&(0,_utils.isEnableConf)(n)?s.tablePage:{}),on:{"page-change"(e){pageChangeEvent(t,e)}},scopedSlots:getConfigSlot(t,l.slots)}):renderEmptyElement(t)]):renderEmptyElement(t)}function renderChildLayout(t,r,e){let o=[];return e.forEach(e=>{switch(e){case"Form":o.push(renderForm(t,r));break;case"Toolbar":o.push(renderToolbar(t,r));break;case"Top":o.push(renderTop(t,r));break;case"Table":o.push(t("div",{key:"table",class:"vxe-grid--table-container"},[renderTableLeft(t,r),renderTable(t,r),renderTableRight(t,r)]));break;case"Bottom":o.push(renderBottom(t,r));break;case"Pager":o.push(renderPager(t,r));break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),o}function renderLayout(e,t){var r=t.$scopedSlots,{headKeys:o,bodyKeys:s,footKeys:i}=t.computeCurrLayoutConf,a=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-grid--layout-header-wrapper"},renderChildLayout(e,t,o)),e("div",{class:"vxe-grid--layout-body-wrapper"},[a?e("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):renderEmptyElement(t),e("div",{class:"vxe-grid--layout-body-content-wrapper"},renderChildLayout(e,t,s)),r?e("div",{class:"vxe-grid--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-grid--layout-footer-wrapper"},renderChildLayout(e,t,i))]}Object.keys(_table.default.methods).forEach(t=>{methods[t]=function(...e){return this.$refs.xTable&&this.$refs.xTable[t](...e)}});var _default=exports.default={name:"VxeGrid",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},_props.default),{layouts:Array,columns:Array,pagerConfig:[Boolean,Object],proxyConfig:Object,toolbar:[Boolean,Object],toolbarConfig:[Boolean,Object],formConfig:[Boolean,Object],zoomConfig:Object,size:{type:String,default:()=>getConfig().grid.size||getConfig().size}}),provide(){return{$xeGrid:this}},data(){var e;return{tableLoading:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1}}},computed:{isRespMsg(){var e=this.proxyOpts;return _xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg},isActiveMsg(){return this.proxyOpts.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||this.toolbar)},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,s={};return r?s.zIndex=o:(e&&(s.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(s.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),s},tableExtendProps(){let t={};return propKeys.forEach(e=>{t[e]=this[e]}),t},computeTableProps(){var{isZMax:e,seqConfig:t,pagerConfig:r,loading:o,editConfig:s,proxyConfig:i,proxyOpts:a,tableExtendProps:n,tableLoading:l,tablePage:g}=this,d=Object.assign({},n);return e&&(n.maxHeight?d.maxHeight="100%":d.height="100%"),i&&(d.loading=o||l,a.seq)&&(0,_utils.isEnableConf)(r)&&(d.seqConfig=Object.assign({},t,{startIndex:(g.currentPage-1)*g.pageSize})),s&&(d.editConfig=Object.assign({},s)),d},tableProps(){return this.computeTableProps},computeCurrLayoutConf(){var e=this.layouts;let t=[],r=[],o=[],s=[];return(t=e&&e.length?e:getConfig().grid.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],s=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:s}},computePageConfFlag(){var e=this.computePagerOpts;return""+e.currentPage+e.pageSize}},watch:{columns(e){this.$nextTick(()=>this.loadColumn(e))},toolbar(e){e&&this.initToolbar()},toolbarConfig(e){e&&this.initToolbar()},proxyConfig(){this.initProxy()},computePageConfFlag(){this.initPages()}},created(){let e=this,t=(this.toolbar&&(0,_log.warnLog)("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),this.toolbarConfig&&!_xeUtils.default.isObject(this.toolbarConfig)&&(0,_log.warnLog)("vxe.error.errProp",["grid.toolbar-config="+this.toolbarConfig,"grid.toolbar-config={}"]),_ui.VxeUI.getComponent("VxeForm")),r=_ui.VxeUI.getComponent("VxePager");this.$nextTick(()=>{e.formConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),e.pagerConfig&&!r&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"])}),this.initPages(),globalEvents.on(this,"keydown",this.handleGlobalKeydownEvent)},mounted(){this.columns&&this.columns.length&&this.loadColumn(this.columns),this.initToolbar(),this.initProxy()},destroyed(){globalEvents.off(this,"keydown")},render(e){var t=this,r=t.computeSize;return e("div",{ref:"refElem",class:["vxe-grid",{["size--"+r]:r,"is--animat":!!this.animat,"is--round":this.round,"is--maximize":t.isZMax,"is--loading":t.loading||t.tableLoading}],style:t.computeStyles},renderLayout(e,t))},methods:Object.assign(Object.assign({},methods),{callSlot(e,t,r,o){var s=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=s[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r,o)):[]},getEl(){return this.$refs.refElem},getExcludeHeight(){var e,t,r,o,s,i=this,a=i.isZMax,n=i.$refs.refElem;return n?(e=i.$refs.refFormWrapper,t=i.$refs.refToolbarWrapper,r=i.$refs.refTopWrapper,o=i.$refs.refBottomWrapper,i=i.$refs.refPagerWrapper,s=n.parentElement,(!a&&s?(0,_dom.getPaddingTopBottomSize)(s):0)+(0,_dom.getPaddingTopBottomSize)(n)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(i)):0},getParentHeight(){var e=this.$refs.refElem;return e?(e=e.parentElement,(this.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-this.getExcludeHeight()):0},initToolbar(){this.$nextTick(()=>{var{xTable:e,xToolbar:t}=this.$refs;e&&t&&e.connect(t)})},initPages(){var{tablePage:e,pagerConfig:t,pagerOpts:r}=this,{currentPage:r,pageSize:o}=r;t&&(r&&(e.currentPage=r),o)&&(e.pageSize=o)},initProxy(){var{proxyInited:e,proxyConfig:t,proxyOpts:r,formConfig:o,formOpts:i}=this;if(t){if((0,_utils.isEnableConf)(o)&&r.form&&i.items){let s={};i.items.forEach(t=>{var{field:r,itemRender:o}=t;if(r){let e=null;o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o)),s[r]=e}}),this.formData=s}e||!1===r.autoLoad||(this.proxyInited=!0,this.$nextTick().then(()=>this.commitProxy("_init")).then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isInited:!0,$grid:this,$event:new Event("init")}))}))}},handleGlobalKeydownEvent(e){27===e.keyCode&&this.isZMax&&!1!==this.zoomOpts.escRestore&&this.triggerZoomEvent(e)},commitProxy(t,...u){let{$refs:e,toolbar:r,toolbarConfig:o,toolbarOpts:s,proxyOpts:i,tablePage:n,pagerConfig:l,editRules:c,isRespMsg:p,isActiveMsg:h,validConfig:f,pagerOpts:g}=this,{beforeQuery:d,afterQuery:m,beforeDelete:b,afterDelete:x,beforeSave:v,afterSave:y,ajax:_={}}=i,C=i.response||i.props||{},O=e.xTable;var a,$=this.getFormData();let P,E;_xeUtils.default.isString(t)?(a=o||r?_xeUtils.default.findTree(s.buttons,e=>e.code===t,{children:"dropdowns"}):null,E=t,P=a?a.item:null):(P=t,E=P.code);var S=P?P.params:null;switch(E){case"insert":return O.insert({});case"insert_edit":return O.insert({}).then(({row:e})=>O.setEditRow(e));case"insert_actived":return O.insert({}).then(({row:e})=>O.setEditRow(e));case"mark_cancel":this.triggerPendingEvent(E);break;case"remove":return this.handleDeleteRow(E,"vxe.grid.removeSelectRecord",()=>this.removeCheckboxRow());case"import":O.importData(S);break;case"open_import":O.openImport(S);break;case"export":O.exportData(S);break;case"open_export":O.openExport(S);break;case"reset_custom":O.resetCustom(!0);break;case"_init":case"reload":case"query":{var T=_.query;let a=_.querySuccess,o=_.queryError;if(T){var j="_init"===E,U="reload"===E;if(!j&&this.tableLoading)return this.$nextTick();let t=[],r=[],e={};if(l&&((j||U)&&(n.currentPage=1),(0,_utils.isEnableConf)(l))&&(e=Object.assign({},n)),j){let e=null;O&&(R=O.sortOpts,e=R.defaultSort),e&&(_xeUtils.default.isArray(e)||(e=[e]),t=e.map(e=>({field:e.field,property:e.field,order:e.order}))),O&&(r=O.getCheckedFilters())}else O&&(U?O.clearAll():(t=O.getSortColumns(),r=O.getCheckedFilters()));let s={code:E,button:P,isInited:j,isReload:U,$grid:this,page:e,sort:t.length?t[0]:{},sorts:t,filters:r,form:$,options:T},i=(this.sortData=t,this.filterData=r,this.tableLoading=!0,[s].concat(u));return Promise.resolve((d||T)(...i)).then(e=>{let t=[];var r,o;return this.tableLoading=!1,e&&(l&&(0,_utils.isEnableConf)(g)?(o=C.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$grid:this}):_xeUtils.default.get(e,o||"page.total"))||0,n.total=_xeUtils.default.toNumber(o),r=C.result,t=(_xeUtils.default.isFunction(r)?r({data:e,$grid:this}):_xeUtils.default.get(e,r||"result"))||[],r=Math.max(Math.ceil(o/n.pageSize),1),n.currentPage>r&&(n.currentPage=r)):(o=C.list,t=(o?_xeUtils.default.isFunction(o)?o({data:e,$grid:this}):_xeUtils.default.get(e,o):e)||[])),O?O.loadData(t):O.$nextTick(()=>{O&&O.loadData(t)}),m&&m(...i),a&&a(Object.assign(Object.assign({},s),{response:e})),{status:!0}}).catch(e=>(this.tableLoading=!1,o&&o(Object.assign(Object.assign({},s),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let s=_.delete,i=_.deleteSuccess,a=_.deleteError;if(s){let e=O.getCheckboxRecords(),t=e.filter(e=>!O.isInsertByRow(e));var R={removeRecords:t};let r={$grid:this,code:E,button:P,body:R,form:$,options:s},o=[r].concat(u);if(e.length)return this.handleDeleteRow(E,"vxe.grid.deleteSelectRecord",()=>t.length?(this.tableLoading=!0,Promise.resolve((b||s)(...o)).then(e=>(this.tableLoading=!1,O.setPendingRow(t,!1),p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"})),x?x(...o):this.commitProxy("query"),i&&i(Object.assign(Object.assign({},r),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),a&&a(Object.assign(Object.assign({},r),{response:e})),{status:!1}))):O.remove(e));h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let l=_.save,g=_.saveSuccess,d=_.saveError;if(l){let t=this.getRecordset(),{insertRecords:r,removeRecords:o,updateRecords:s,pendingRecords:i}=t,a={$grid:this,code:E,button:P,body:t,form:$,options:l},n=[a].concat(u),e=(r.length&&(t.pendingRecords=i.filter(e=>-1===r.indexOf(e))),i.length&&(t.insertRecords=r.filter(e=>-1===i.indexOf(e))),Promise.resolve());return(e=c?this[f&&"full"===f.msgMode?"fullValidate":"validate"](t.insertRecords.concat(s)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||s.length||t.pendingRecords.length?(this.tableLoading=!0,Promise.resolve((v||l)(...n)).then(e=>(this.tableLoading=!1,O.clearPendingRow(),p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({content:this.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),y?y(...n):this.commitProxy("query"),g&&g(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(this.tableLoading=!1,p&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:this.getRespMsg(e,"vxe.grid.operError"),status:"error"})),d&&d(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):void(h&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:E,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:j=commands.get(E);j&&(j.commandMethod?j.commandMethod({code:E,button:P,$grid:this,$table:O},...u):(0,_log.errLog)("vxe.error.notCommands",[E]))}return this.$nextTick()},getRespMsg(e,t){var r=this.proxyOpts,r=r.response||r.props||{};let o;return(o=e&&r.message?_xeUtils.default.get(e,r.message):o)||getI18n(t)},handleDeleteRow(e,t,r){var o=this.getCheckboxRecords();if(this.isActiveMsg){if(o.length)return _ui.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return r()});_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else o.length&&r();return Promise.resolve()},getFormData(){var{proxyConfig:e,proxyOpts:t,formOpts:r,formData:o}=this;return e&&(0,_utils.isEnableConf)(t)&&t.form?o:r.data},getFormItems(e){var{formConfig:t,formOpts:r}=this;let o=[];return _xeUtils.default.eachTree((0,_utils.isEnableConf)(t)&&r.items?r.items:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},triggerToolbarCommitEvent(e,t){let r=e.code;return this.commitProxy(e,t).then(e=>{r&&e&&e.status&&["query","reload","delete","save"].includes(r)&&this.$emit("delete"===r||"save"===r?"proxy-"+r:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===r,$grid:this,$event:t}))})},triggerToolbarBtnEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-button-click",{code:e.code,button:e,$grid:this,$event:t})},triggerToolbarTolEvent(e,t){this.triggerToolbarCommitEvent(e,t),this.$emit("toolbar-tool-click",{code:e.code,tool:e,$grid:this,$event:t})},triggerPendingEvent(e){var t=this.isActiveMsg,r=this.getCheckboxRecords();r.length?(this.togglePendingRow(r),this.clearCheckboxRow()):t&&(_ui.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_ui.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))},sortChangeEvent(t){var{$table:e,column:r,sortList:o}=t;(_xeUtils.default.isBoolean(r.remoteSort)?r.remoteSort:e.sortOpts.remote)&&(this.sortData=o,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("sort-change",Object.assign({$grid:this},t))},filterChangeEvent(t){var{$table:e,filterList:r}=t;e.filterOpts.remote&&(this.filterData=r,this.proxyConfig)&&(this.tablePage.currentPage=1,this.commitProxy("query").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{$grid:this,$event:t.$event}))})),this.$emit("filter-change",Object.assign({$grid:this},t))},submitEvent(t){var e=this.proxyConfig;this.tableLoading||(e&&this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))}),this.$emit("form-submit",Object.assign({$grid:this},t)))},resetEvent(t){var e=this.proxyConfig,r=this.$refs.xTable;e&&(r.clearScroll(),this.commitProxy("reload").then(e=>{this.$emit("proxy-query",Object.assign(Object.assign({},e),{isReload:!0,$grid:this,$event:t.$event}))})),this.$emit("form-reset",Object.assign({$grid:this},t))},submitInvalidEvent(e){this.$emit("form-submit-invalid",Object.assign({$grid:this},e))},collapseEvent(e){this.$nextTick(()=>this.recalculate(!0)),this.$emit("form-toggle-collapse",Object.assign({$grid:this},e)),this.$emit("form-collapse",Object.assign({$grid:this},e))},triggerZoomEvent(e){this.zoom(),this.$emit("zoom",{$grid:this,type:this.isZMax?"max":"revert",$event:e})},zoom(){return this[this.isZMax?"revert":"maximize"]()},isMaximized(){return this.isZMax},maximize(){return this.handleZoom(!0)},revert(){return this.handleZoom()},handleZoom(e){var t=this.isZMax;return(e?!t:t)&&(this.isZMax=!t,this.tZindex<(0,_utils.getLastZIndex)())&&(this.tZindex=(0,_utils.nextZIndex)()),this.$nextTick().then(()=>this.recalculate(!0)).then(()=>(setTimeout(()=>this.recalculate(!0),15),this.isZMax))},getProxyInfo(){var e=this.$refs.xTable,{sortData:t,proxyConfig:r}=this;return r?{data:e?e.getFullData():[],filter:this.filterData,form:this.getFormData(),sort:t.length?t[0]:{},sorts:t,pager:this.tablePage,pendingRecords:e?e.getPendingRecords():[]}:null},loadColumn(e){var t=this.$refs.xTable;let r=this.$scopedSlots;return _xeUtils.default.eachTree(e,e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||r[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),t.loadColumn(e)},reloadColumn(e){return this.clearAll(),this.loadColumn(e)}})};