vxe-table 3.20.13 → 3.21.0-beta.1

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 (61) hide show
  1. package/es/style.css +1 -1
  2. package/es/table/module/edit/mixin.js +33 -12
  3. package/es/table/module/keyboard/mixin.js +2 -2
  4. package/es/table/src/cell.js +3 -3
  5. package/es/table/src/column.js +10 -5
  6. package/es/table/src/group.js +10 -5
  7. package/es/table/src/methods.js +382 -169
  8. package/es/table/src/props.js +2 -2
  9. package/es/table/src/table.js +13 -6
  10. package/es/table/src/util.js +12 -3
  11. package/es/toolbar/src/toolbar.js +3 -2
  12. package/es/ui/index.js +3 -3
  13. package/es/ui/src/dom.js +4 -0
  14. package/es/ui/src/log.js +1 -1
  15. package/lib/index.umd.js +377 -310
  16. package/lib/index.umd.min.js +1 -1
  17. package/lib/style.css +1 -1
  18. package/lib/table/module/edit/mixin.js +39 -12
  19. package/lib/table/module/edit/mixin.min.js +1 -1
  20. package/lib/table/module/keyboard/mixin.js +2 -2
  21. package/lib/table/module/keyboard/mixin.min.js +1 -1
  22. package/lib/table/src/cell.js +3 -3
  23. package/lib/table/src/column.js +10 -5
  24. package/lib/table/src/column.min.js +1 -1
  25. package/lib/table/src/group.js +10 -5
  26. package/lib/table/src/group.min.js +1 -1
  27. package/lib/table/src/methods.js +37 -31
  28. package/lib/table/src/methods.min.js +1 -1
  29. package/lib/table/src/props.js +2 -2
  30. package/lib/table/src/props.min.js +1 -1
  31. package/lib/table/src/table.js +15 -6
  32. package/lib/table/src/table.min.js +1 -1
  33. package/lib/table/src/util.js +12 -3
  34. package/lib/table/src/util.min.js +1 -1
  35. package/lib/toolbar/src/toolbar.js +3 -2
  36. package/lib/toolbar/src/toolbar.min.js +1 -1
  37. package/lib/ui/index.js +3 -3
  38. package/lib/ui/index.min.js +1 -1
  39. package/lib/ui/src/dom.js +5 -0
  40. package/lib/ui/src/dom.min.js +1 -1
  41. package/lib/ui/src/log.js +1 -1
  42. package/lib/ui/src/log.min.js +1 -1
  43. package/package.json +3 -3
  44. package/packages/table/module/edit/mixin.ts +47 -12
  45. package/packages/table/module/keyboard/mixin.ts +2 -2
  46. package/packages/table/src/cell.ts +5 -5
  47. package/packages/table/src/column.ts +16 -9
  48. package/packages/table/src/group.ts +16 -8
  49. package/packages/table/src/methods.ts +397 -167
  50. package/packages/table/src/props.ts +3 -3
  51. package/packages/table/src/table.ts +13 -6
  52. package/packages/table/src/util.ts +16 -6
  53. package/packages/toolbar/src/toolbar.ts +4 -2
  54. package/packages/ui/index.ts +2 -2
  55. package/packages/ui/src/dom.ts +5 -0
  56. /package/es/{iconfont.1776926445391.ttf → iconfont.1778035421318.ttf} +0 -0
  57. /package/es/{iconfont.1776926445391.woff → iconfont.1778035421318.woff} +0 -0
  58. /package/es/{iconfont.1776926445391.woff2 → iconfont.1778035421318.woff2} +0 -0
  59. /package/lib/{iconfont.1776926445391.ttf → iconfont.1778035421318.ttf} +0 -0
  60. /package/lib/{iconfont.1776926445391.woff → iconfont.1778035421318.woff} +0 -0
  61. /package/lib/{iconfont.1776926445391.woff2 → iconfont.1778035421318.woff2} +0 -0
package/lib/index.umd.js CHANGED
@@ -3311,7 +3311,7 @@ function getClass(property, params) {
3311
3311
  /* unused harmony import specifier */ var VxeUI;
3312
3312
 
3313
3313
 
3314
- const version = "3.20.13";
3314
+ const version = "3.21.0-beta.1";
3315
3315
  core_.VxeUI.version = version;
3316
3316
  core_.VxeUI.tableVersion = version;
3317
3317
  core_.VxeUI.setConfig({
@@ -3575,8 +3575,8 @@ core_.VxeUI.setConfig({
3575
3575
  visible: true
3576
3576
  }
3577
3577
  },
3578
- undoHistoryConfig: {
3579
- isEditRow: true
3578
+ undoRedoHistoryConfig: {
3579
+ stackSize: 20
3580
3580
  }
3581
3581
  },
3582
3582
  grid: {
@@ -3825,249 +3825,22 @@ var es_array_includes = __webpack_require__(4423);
3825
3825
  var es_iterator_constructor = __webpack_require__(8111);
3826
3826
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.for-each.js
3827
3827
  var es_iterator_for_each = __webpack_require__(7588);
3828
+ ;// ./packages/ui/src/comp.ts
3829
+ const defineVxeComponent = options => options;
3828
3830
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.push.js
3829
3831
  var es_array_push = __webpack_require__(4114);
3830
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.every.js
3831
- var es_iterator_every = __webpack_require__(1148);
3832
- // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
3833
- var es_iterator_some = __webpack_require__(3579);
3834
- ;// ./packages/ui/src/dom.ts
3835
-
3836
- const reClsMap = {};
3837
- let tpImgEl;
3838
- function initTpImg() {
3839
- if (!tpImgEl) {
3840
- tpImgEl = new Image();
3841
- tpImgEl.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=';
3842
- }
3843
- return tpImgEl;
3844
- }
3845
- function getTpImg() {
3846
- if (!tpImgEl) {
3847
- return initTpImg();
3848
- }
3849
- return tpImgEl;
3850
- }
3851
- function getPropClass(property, params) {
3852
- return property ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(property) ? property(params) : property : '';
3853
- }
3854
- function getClsRE(cls) {
3855
- if (!reClsMap[cls]) {
3856
- reClsMap[cls] = new RegExp(`(?:^|\\s)${cls}(?!\\S)`, 'g');
3857
- }
3858
- return reClsMap[cls];
3859
- }
3860
- function getNodeOffset(elem, container, rest) {
3861
- if (elem) {
3862
- const parentElem = elem.parentNode;
3863
- rest.top += elem.offsetTop;
3864
- rest.left += elem.offsetLeft;
3865
- if (parentElem && parentElem !== document.documentElement && parentElem !== document.body) {
3866
- rest.top -= parentElem.scrollTop;
3867
- rest.left -= parentElem.scrollLeft;
3868
- }
3869
- if (container && (elem === container || elem.offsetParent === container) ? 0 : elem.offsetParent) {
3870
- return getNodeOffset(elem.offsetParent, container, rest);
3871
- }
3872
- }
3873
- return rest;
3874
- }
3875
- function isPx(val) {
3876
- return val && /^\d+(\.\d+)?(px)?$/.test(val);
3877
- }
3878
- function isScale(val) {
3879
- return val && /^\d+(\.\d+)?%$/.test(val);
3880
- }
3881
- function hasClass(elem, cls) {
3882
- return !!(elem && elem.className && elem.className.match && elem.className.match(getClsRE(cls)));
3883
- }
3884
- function removeClass(elem, cls) {
3885
- if (elem && hasClass(elem, cls)) {
3886
- elem.className = elem.className.replace(getClsRE(cls), '');
3887
- }
3888
- }
3889
- function addClass(elem, cls) {
3890
- if (elem && !hasClass(elem, cls)) {
3891
- removeClass(elem, cls);
3892
- elem.className = `${elem.className} ${cls}`;
3893
- }
3894
- }
3895
- function hasControlKey(evnt) {
3896
- return evnt.ctrlKey || evnt.metaKey;
3897
- }
3898
- function toCssUnit(val, unit = 'px') {
3899
- if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(val) || /^\d+$/.test(`${val}`)) {
3900
- return `${val}${unit}`;
3901
- }
3902
- return `${val || ''}`;
3903
- }
3904
- function queryElement(elem, selector) {
3905
- if (elem) {
3906
- return elem.querySelector(selector);
3907
- }
3908
- return null;
3909
- }
3910
- function getDomNode() {
3911
- const documentElement = document.documentElement;
3912
- const bodyElem = document.body;
3913
- return {
3914
- scrollTop: documentElement.scrollTop || bodyElem.scrollTop,
3915
- scrollLeft: documentElement.scrollLeft || bodyElem.scrollLeft,
3916
- visibleHeight: documentElement.clientHeight || bodyElem.clientHeight,
3917
- visibleWidth: documentElement.clientWidth || bodyElem.clientWidth
3918
- };
3919
- }
3920
- function getOffsetHeight(elem) {
3921
- return elem ? elem.offsetHeight : 0;
3922
- }
3923
- function getPaddingTopBottomSize(elem) {
3924
- if (elem) {
3925
- const computedStyle = getComputedStyle(elem);
3926
- const paddingTop = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(computedStyle.paddingTop);
3927
- const paddingBottom = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(computedStyle.paddingBottom);
3928
- return paddingTop + paddingBottom;
3929
- }
3930
- return 0;
3931
- }
3932
- function setScrollTop(elem, scrollTop) {
3933
- if (elem) {
3934
- elem.scrollTop = scrollTop;
3935
- }
3936
- }
3937
- function setScrollLeft(elem, scrollLeft) {
3938
- if (elem) {
3939
- elem.scrollLeft = scrollLeft;
3940
- }
3941
- }
3942
- // export function setScrollLeftAndTop (elem: HTMLElement | null, scrollLeft: number, scrollTop: number) {
3943
- // if (elem) {
3944
- // elem.scrollLeft = scrollLeft
3945
- // elem.scrollTop = scrollTop
3946
- // }
3947
- // }
3948
- function updateCellTitle(overflowElem, column) {
3949
- const content = column.type === 'html' ? overflowElem.innerText : overflowElem.textContent;
3950
- if (overflowElem.getAttribute('title') !== content) {
3951
- overflowElem.setAttribute('title', content);
3952
- }
3953
- }
3954
- function checkTargetElement(target, exEls, endEl) {
3955
- let targetEl = target;
3956
- if (!exEls || !exEls.length) {
3957
- return false;
3958
- }
3959
- const [exEl1, exEl2, exEl3] = exEls;
3960
- while (targetEl) {
3961
- if (exEl1 === targetEl || exEl2 && targetEl === exEl2 || exEl3 && targetEl === exEl3) {
3962
- return true;
3963
- }
3964
- if (endEl && targetEl === endEl) {
3965
- return false;
3966
- }
3967
- targetEl = targetEl.parentElement;
3968
- }
3969
- return false;
3970
- }
3971
- /**
3972
- * 检查触发源是否属于目标节点
3973
- */
3974
- function getEventTargetNode(evnt, container, queryCls, queryMethod) {
3975
- let targetElem;
3976
- let target = evnt.target.shadowRoot && evnt.composed ? evnt.composedPath()[0] || evnt.target : evnt.target;
3977
- while (target && target.nodeType && target !== document) {
3978
- if (queryCls && hasClass(target, queryCls) && (!queryMethod || queryMethod(target))) {
3979
- targetElem = target;
3980
- } else if (target === container) {
3981
- return {
3982
- flag: queryCls ? !!targetElem : true,
3983
- container,
3984
- targetElem: targetElem
3985
- };
3986
- }
3987
- target = target.parentNode;
3988
- }
3989
- return {
3990
- flag: false
3991
- };
3992
- }
3993
- /**
3994
- * 获取元素相对于 document 的位置
3995
- */
3996
- function getOffsetPos(elem, container) {
3997
- return getNodeOffset(elem, container, {
3998
- left: 0,
3999
- top: 0
4000
- });
4001
- }
4002
- function getAbsolutePos(elem) {
4003
- const bounding = elem.getBoundingClientRect();
4004
- const boundingTop = bounding.top;
4005
- const boundingLeft = bounding.left;
4006
- const {
4007
- scrollTop,
4008
- scrollLeft,
4009
- visibleHeight,
4010
- visibleWidth
4011
- } = getDomNode();
4012
- return {
4013
- boundingTop,
4014
- top: scrollTop + boundingTop,
4015
- boundingLeft,
4016
- left: scrollLeft + boundingLeft,
4017
- visibleHeight,
4018
- visibleWidth
4019
- };
4020
- }
4021
- const scrollIntoViewIfNeeded = 'scrollIntoViewIfNeeded';
4022
- const scrollIntoView = 'scrollIntoView';
4023
- function scrollToView(elem) {
4024
- if (elem) {
4025
- if (elem[scrollIntoViewIfNeeded]) {
4026
- elem[scrollIntoViewIfNeeded]();
4027
- } else if (elem[scrollIntoView]) {
4028
- elem[scrollIntoView]();
4029
- }
4030
- }
4031
- }
4032
- function triggerEvent(targetElem, type) {
4033
- if (targetElem) {
4034
- targetElem.dispatchEvent(new Event(type));
4035
- }
4036
- }
4037
- function isNodeElement(elem) {
4038
- return elem && elem.nodeType === 1;
4039
- }
4040
- let wtlFrame;
4041
- function wheelScrollLeftTo(scrollLeft, cb) {
4042
- if (wtlFrame) {
4043
- cancelAnimationFrame(wtlFrame);
4044
- }
4045
- wtlFrame = requestAnimationFrame(() => {
4046
- cb(scrollLeft);
4047
- wtlFrame = null;
4048
- });
4049
- }
4050
- let wtaFrame;
4051
- function wheelScrollTopTo(diffNum, cb) {
4052
- if (wtaFrame) {
4053
- cancelAnimationFrame(wtaFrame);
4054
- }
4055
- wtaFrame = requestAnimationFrame(() => {
4056
- const offsetTop = diffNum;
4057
- cb(offsetTop);
4058
- wtaFrame = null;
4059
- });
4060
- }
4061
3832
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.map.js
4062
3833
  var es_iterator_map = __webpack_require__(1701);
4063
3834
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.reduce.js
4064
3835
  var es_iterator_reduce = __webpack_require__(8237);
3836
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.some.js
3837
+ var es_iterator_some = __webpack_require__(3579);
4065
3838
  ;// ./packages/ui/src/log.ts
4066
3839
 
4067
3840
  const {
4068
3841
  log: log_log
4069
3842
  } = core_.VxeUI;
4070
- const log_version = `table v${"3.20.13"}`;
3843
+ const log_version = `table v${"3.21.0-beta.1"}`;
4071
3844
  const warnLog = log_log.create('warn', log_version);
4072
3845
  const errLog = log_log.create('error', log_version);
4073
3846
  ;// ./packages/table/src/columnInfo.ts
@@ -4299,6 +4072,238 @@ class ColumnInfo {
4299
4072
  }
4300
4073
  }
4301
4074
  }
4075
+ ;// ./packages/ui/src/dom.ts
4076
+
4077
+
4078
+ const reClsMap = {};
4079
+ let tpImgEl;
4080
+ function initTpImg() {
4081
+ if (!tpImgEl) {
4082
+ tpImgEl = new Image();
4083
+ tpImgEl.src = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=';
4084
+ }
4085
+ return tpImgEl;
4086
+ }
4087
+ function getTpImg() {
4088
+ if (!tpImgEl) {
4089
+ return initTpImg();
4090
+ }
4091
+ return tpImgEl;
4092
+ }
4093
+ function getPropClass(property, params) {
4094
+ return property ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(property) ? property(params) : property : '';
4095
+ }
4096
+ function getClsRE(cls) {
4097
+ if (!reClsMap[cls]) {
4098
+ reClsMap[cls] = new RegExp(`(?:^|\\s)${cls}(?!\\S)`, 'g');
4099
+ }
4100
+ return reClsMap[cls];
4101
+ }
4102
+ function getNodeOffset(elem, container, rest) {
4103
+ if (elem) {
4104
+ const parentElem = elem.parentNode;
4105
+ rest.top += elem.offsetTop;
4106
+ rest.left += elem.offsetLeft;
4107
+ if (parentElem && parentElem !== document.documentElement && parentElem !== document.body) {
4108
+ rest.top -= parentElem.scrollTop;
4109
+ rest.left -= parentElem.scrollLeft;
4110
+ }
4111
+ if (container && (elem === container || elem.offsetParent === container) ? 0 : elem.offsetParent) {
4112
+ return getNodeOffset(elem.offsetParent, container, rest);
4113
+ }
4114
+ }
4115
+ return rest;
4116
+ }
4117
+ function isPx(val) {
4118
+ return val && /^\d+(\.\d+)?(px)?$/.test(val);
4119
+ }
4120
+ function isScale(val) {
4121
+ return val && /^\d+(\.\d+)?%$/.test(val);
4122
+ }
4123
+ function hasClass(elem, cls) {
4124
+ return !!(elem && elem.className && elem.className.match && elem.className.match(getClsRE(cls)));
4125
+ }
4126
+ function removeClass(elem, cls) {
4127
+ if (elem && hasClass(elem, cls)) {
4128
+ elem.className = elem.className.replace(getClsRE(cls), '');
4129
+ }
4130
+ }
4131
+ function addClass(elem, cls) {
4132
+ if (elem && !hasClass(elem, cls)) {
4133
+ removeClass(elem, cls);
4134
+ elem.className = `${elem.className} ${cls}`;
4135
+ }
4136
+ }
4137
+ function hasControlKey(evnt) {
4138
+ return evnt.ctrlKey || evnt.metaKey;
4139
+ }
4140
+ function toCssUnit(val, unit = 'px') {
4141
+ if (external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(val) || /^\d+$/.test(`${val}`)) {
4142
+ return `${val}${unit}`;
4143
+ }
4144
+ return `${val || ''}`;
4145
+ }
4146
+ function queryElement(elem, selector) {
4147
+ if (elem) {
4148
+ return elem.querySelector(selector);
4149
+ }
4150
+ return null;
4151
+ }
4152
+ function getDomNode() {
4153
+ const documentElement = document.documentElement;
4154
+ const bodyElem = document.body;
4155
+ return {
4156
+ scrollTop: documentElement.scrollTop || bodyElem.scrollTop,
4157
+ scrollLeft: documentElement.scrollLeft || bodyElem.scrollLeft,
4158
+ visibleHeight: documentElement.clientHeight || bodyElem.clientHeight,
4159
+ visibleWidth: documentElement.clientWidth || bodyElem.clientWidth
4160
+ };
4161
+ }
4162
+ function getOffsetHeight(elem) {
4163
+ return elem ? elem.offsetHeight : 0;
4164
+ }
4165
+ function getPaddingTopBottomSize(elem) {
4166
+ if (elem) {
4167
+ const computedStyle = getComputedStyle(elem);
4168
+ const paddingTop = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(computedStyle.paddingTop);
4169
+ const paddingBottom = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(computedStyle.paddingBottom);
4170
+ return paddingTop + paddingBottom;
4171
+ }
4172
+ return 0;
4173
+ }
4174
+ function setScrollTop(elem, scrollTop) {
4175
+ if (elem) {
4176
+ elem.scrollTop = scrollTop;
4177
+ }
4178
+ }
4179
+ function setScrollLeft(elem, scrollLeft) {
4180
+ if (elem) {
4181
+ elem.scrollLeft = scrollLeft;
4182
+ }
4183
+ }
4184
+ // export function setScrollLeftAndTop (elem: HTMLElement | null, scrollLeft: number, scrollTop: number) {
4185
+ // if (elem) {
4186
+ // elem.scrollLeft = scrollLeft
4187
+ // elem.scrollTop = scrollTop
4188
+ // }
4189
+ // }
4190
+ function updateCellTitle(overflowElem, column) {
4191
+ const content = column.type === 'html' ? overflowElem.innerText : overflowElem.textContent;
4192
+ if (overflowElem.getAttribute('title') !== content) {
4193
+ overflowElem.setAttribute('title', content);
4194
+ }
4195
+ }
4196
+ function checkTargetElement(target, exEls, endEl) {
4197
+ let targetEl = target;
4198
+ if (!exEls || !exEls.length) {
4199
+ return false;
4200
+ }
4201
+ const [exEl1, exEl2, exEl3] = exEls;
4202
+ while (targetEl) {
4203
+ if (exEl1 === targetEl || exEl2 && targetEl === exEl2 || exEl3 && targetEl === exEl3) {
4204
+ return true;
4205
+ }
4206
+ if (endEl && targetEl === endEl) {
4207
+ return false;
4208
+ }
4209
+ targetEl = targetEl.parentElement;
4210
+ }
4211
+ return false;
4212
+ }
4213
+ /**
4214
+ * 检查触发源是否属于目标节点
4215
+ */
4216
+ function getEventTargetNode(evnt, container, queryCls, queryMethod) {
4217
+ let targetElem;
4218
+ let target = evnt.target.shadowRoot && evnt.composed ? evnt.composedPath()[0] || evnt.target : evnt.target;
4219
+ while (target && target.nodeType && target !== document) {
4220
+ if (queryCls && hasClass(target, queryCls) && (!queryMethod || queryMethod(target))) {
4221
+ targetElem = target;
4222
+ } else if (target === container) {
4223
+ return {
4224
+ flag: queryCls ? !!targetElem : true,
4225
+ container,
4226
+ targetElem: targetElem
4227
+ };
4228
+ }
4229
+ target = target.parentNode;
4230
+ }
4231
+ return {
4232
+ flag: false
4233
+ };
4234
+ }
4235
+ /**
4236
+ * 获取元素相对于 document 的位置
4237
+ */
4238
+ function getOffsetPos(elem, container) {
4239
+ return getNodeOffset(elem, container, {
4240
+ left: 0,
4241
+ top: 0
4242
+ });
4243
+ }
4244
+ function getAbsolutePos(elem) {
4245
+ const bounding = elem.getBoundingClientRect();
4246
+ const boundingTop = bounding.top;
4247
+ const boundingLeft = bounding.left;
4248
+ const {
4249
+ scrollTop,
4250
+ scrollLeft,
4251
+ visibleHeight,
4252
+ visibleWidth
4253
+ } = getDomNode();
4254
+ return {
4255
+ boundingTop,
4256
+ top: scrollTop + boundingTop,
4257
+ boundingLeft,
4258
+ left: scrollLeft + boundingLeft,
4259
+ visibleHeight,
4260
+ visibleWidth
4261
+ };
4262
+ }
4263
+ function hasEventInputTarget(target) {
4264
+ const tagName = target ? target.tagName : '';
4265
+ return tagName && ['input', 'textarea'].includes(tagName.toLowerCase());
4266
+ }
4267
+ const scrollIntoViewIfNeeded = 'scrollIntoViewIfNeeded';
4268
+ const scrollIntoView = 'scrollIntoView';
4269
+ function scrollToView(elem) {
4270
+ if (elem) {
4271
+ if (elem[scrollIntoViewIfNeeded]) {
4272
+ elem[scrollIntoViewIfNeeded]();
4273
+ } else if (elem[scrollIntoView]) {
4274
+ elem[scrollIntoView]();
4275
+ }
4276
+ }
4277
+ }
4278
+ function triggerEvent(targetElem, type) {
4279
+ if (targetElem) {
4280
+ targetElem.dispatchEvent(new Event(type));
4281
+ }
4282
+ }
4283
+ function isNodeElement(elem) {
4284
+ return elem && elem.nodeType === 1;
4285
+ }
4286
+ let wtlFrame;
4287
+ function wheelScrollLeftTo(scrollLeft, cb) {
4288
+ if (wtlFrame) {
4289
+ cancelAnimationFrame(wtlFrame);
4290
+ }
4291
+ wtlFrame = requestAnimationFrame(() => {
4292
+ cb(scrollLeft);
4293
+ wtlFrame = null;
4294
+ });
4295
+ }
4296
+ let wtaFrame;
4297
+ function wheelScrollTopTo(diffNum, cb) {
4298
+ if (wtaFrame) {
4299
+ cancelAnimationFrame(wtaFrame);
4300
+ }
4301
+ wtaFrame = requestAnimationFrame(() => {
4302
+ const offsetTop = diffNum;
4303
+ cb(offsetTop);
4304
+ wtaFrame = null;
4305
+ });
4306
+ }
4302
4307
  ;// ./packages/table/src/util.ts
4303
4308
 
4304
4309
 
@@ -4438,6 +4443,10 @@ function createInternalData() {
4438
4443
  tBodyHeight: 0,
4439
4444
  // 表尾高度
4440
4445
  tFooterHeight: 0,
4446
+ stackHistoryStore: {
4447
+ undoStacks: [],
4448
+ redoStacks: []
4449
+ },
4441
4450
  teleportToWrapperElem: null,
4442
4451
  popupToWrapperElem: null,
4443
4452
  customPopupToElem: null,
@@ -4590,7 +4599,7 @@ function createReactData() {
4590
4599
  tooltipStore: {
4591
4600
  row: null,
4592
4601
  column: null,
4593
- content: null,
4602
+ content: '',
4594
4603
  visible: false,
4595
4604
  type: null,
4596
4605
  currOpts: {}
@@ -5134,10 +5143,15 @@ function getLastChildColumn(column) {
5134
5143
  return column;
5135
5144
  }
5136
5145
  function getCellValue(row, column) {
5137
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, column.field);
5146
+ if (column) {
5147
+ return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row, column.field);
5148
+ }
5149
+ return null;
5138
5150
  }
5139
5151
  function setCellValue(row, column, value) {
5140
- return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, column.field, value);
5152
+ if (column) {
5153
+ external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().set(row, column.field, value);
5154
+ }
5141
5155
  }
5142
5156
  function getRefElem(refEl) {
5143
5157
  if (refEl) {
@@ -5298,6 +5312,8 @@ function colToVisible($xeTable, isForce, column, row) {
5298
5312
  }
5299
5313
  return Promise.resolve();
5300
5314
  }
5315
+ // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.every.js
5316
+ var es_iterator_every = __webpack_require__(1148);
5301
5317
  ;// ./packages/ui/src/vn.ts
5302
5318
 
5303
5319
  function getOnName(type) {
@@ -5749,10 +5765,10 @@ function renderFooterHandle(h, params) {
5749
5765
  return Cell.renderDefaultFooter(h, params);
5750
5766
  }
5751
5767
  const Cell = {
5752
- createColumn($xeTable, _vm) {
5768
+ createColumn($xeTable, columnOpts) {
5753
5769
  const {
5754
5770
  type
5755
- } = _vm;
5771
+ } = columnOpts;
5756
5772
  const renConfs = {
5757
5773
  renderHeader: renderHeaderHandle,
5758
5774
  renderCell: renderCellHandle,
@@ -5761,7 +5777,7 @@ const Cell = {
5761
5777
  if (type === 'expand') {
5762
5778
  renConfs.renderData = Cell.renderExpandData;
5763
5779
  }
5764
- return createColumn($xeTable, _vm, renConfs);
5780
+ return createColumn($xeTable, columnOpts, renConfs);
5765
5781
  },
5766
5782
  /**
5767
5783
  * 列头标题
@@ -6910,8 +6926,6 @@ const Cell = {
6910
6926
  }
6911
6927
  };
6912
6928
  /* harmony default export */ var cell = (Cell);
6913
- ;// ./packages/ui/src/comp.ts
6914
- const defineVxeComponent = options => options;
6915
6929
  ;// ./packages/table/src/column.ts
6916
6930
 
6917
6931
 
@@ -7080,8 +7094,9 @@ Object.keys(columnProps).forEach(name => {
7080
7094
  name: 'VxeColumn',
7081
7095
  props: columnProps,
7082
7096
  provide() {
7097
+ const $xeColumn = this;
7083
7098
  return {
7084
- $xeColumn: this,
7099
+ $xeColumn,
7085
7100
  $xeGrid: null,
7086
7101
  $xeGantt: null
7087
7102
  };
@@ -7096,15 +7111,19 @@ Object.keys(columnProps).forEach(name => {
7096
7111
  },
7097
7112
  watch: columnWatch,
7098
7113
  created() {
7114
+ const $xeColumn = this;
7115
+ const props = $xeColumn;
7099
7116
  const $xeTable = this.$xeTable;
7100
- this.columnConfig = this.createColumn($xeTable, this);
7117
+ this.columnConfig = cell.createColumn($xeTable, props);
7101
7118
  },
7102
7119
  mounted() {
7120
+ const $xeColumn = this;
7103
7121
  this.columnConfig.slots = this.$scopedSlots;
7104
- assembleColumn(this);
7122
+ assembleColumn($xeColumn);
7105
7123
  },
7106
7124
  destroyed() {
7107
- destroyColumn(this);
7125
+ const $xeColumn = this;
7126
+ destroyColumn($xeColumn);
7108
7127
  },
7109
7128
  render(h) {
7110
7129
  return h('div', this.$slots.default);
@@ -7138,8 +7157,9 @@ const Column = VxeColumn;
7138
7157
  name: 'VxeColgroup',
7139
7158
  props: columnProps,
7140
7159
  provide() {
7160
+ const $xeColgroup = this;
7141
7161
  return {
7142
- $xeColumn: this,
7162
+ $xeColumn: $xeColgroup,
7143
7163
  $xeGrid: null,
7144
7164
  $xeGantt: null
7145
7165
  };
@@ -7154,10 +7174,13 @@ const Column = VxeColumn;
7154
7174
  },
7155
7175
  watch: columnWatch,
7156
7176
  created() {
7177
+ const $xeColgroup = this;
7178
+ const props = $xeColgroup;
7157
7179
  const $xeTable = this.$xeTable;
7158
- this.columnConfig = this.createColumn($xeTable, this);
7180
+ this.columnConfig = cell.createColumn($xeTable, props);
7159
7181
  },
7160
7182
  mounted() {
7183
+ const $xeColgroup = this;
7161
7184
  const {
7162
7185
  $scopedSlots
7163
7186
  } = this;
@@ -7166,10 +7189,11 @@ const Column = VxeColumn;
7166
7189
  columnSlots.header = $scopedSlots.header;
7167
7190
  }
7168
7191
  this.columnConfig.slots = columnSlots;
7169
- assembleColumn(this);
7192
+ assembleColumn($xeColgroup);
7170
7193
  },
7171
7194
  destroyed() {
7172
- destroyColumn(this);
7195
+ const $xeColgroup = this;
7196
+ destroyColumn($xeColgroup);
7173
7197
  },
7174
7198
  render(h) {
7175
7199
  return h('div', this.$slots.default);
@@ -7507,8 +7531,8 @@ const tableProps = {
7507
7531
  virtualYConfig: Object,
7508
7532
  // 滚动条配置项
7509
7533
  scrollbarConfig: Object,
7510
- // 可撤销配置项
7511
- undoHistoryConfig: Object,
7534
+ // 撤销/恢复历史配置项
7535
+ undoRedoHistoryConfig: Object,
7512
7536
  // (即将废弃)优化相关
7513
7537
  animat: {
7514
7538
  type: Boolean,
@@ -7585,7 +7609,7 @@ function getCrossTableDragRowInfo($xeTable) {
7585
7609
  return crossTableDragRowInfo;
7586
7610
  }
7587
7611
  ;// ./packages/table/src/methods.ts
7588
- const{getConfig: methods_getConfig,getI18n: methods_getI18n,renderer: methods_renderer,formats: methods_formats,interceptor: methods_interceptor,createEvent}=core_.VxeUI;const browseObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().browse();const supportMaxRow=5e6;const customStorageKey='VXE_CUSTOM_STORE';const maxYHeight=5e6;const maxXWidth=5e6;const sourceType='table';let crossTableDragRowObj=null;function eqCellValue(row1,row2,field){const val1=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row1,field);const val2=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row2,field);if(eqEmptyValue(val1)&&eqEmptyValue(val2)){return true;}if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(val1)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(val1)){return''+val1===''+val2;}return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isEqual(val1,val2);}function hangleStorageDefaultValue(value,isAll){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(value)?value:isAll;}function getNextSortOrder($xeTable,column){const sortOpts=$xeTable.computeSortOpts;const{orders=[]}=sortOpts;const currOrder=column.order||null;const oIndex=orders.indexOf(currOrder)+1;return orders[oIndex<orders.length?oIndex:0];}const getCustomStorageMap=id=>{const version=methods_getConfig().version;const rest=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toStringJSON(localStorage.getItem(customStorageKey)||'');const maps=rest&&rest._v===version?rest:{_v:version};return(id?maps[id]:maps)||{};};const setCustomStorageMap=(id,data)=>{const version=methods_getConfig().version;const maps=getCustomStorageMap();maps[id]=data||undefined;maps._v=version;localStorage.setItem(customStorageKey,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toJSONString(maps));};const getRecoverRowMaps=($xeTable,keyMaps)=>{const internalData=$xeTable;const{fullAllDataRowIdData}=internalData;const restKeys={};external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(keyMaps,(row,rowid)=>{if(fullAllDataRowIdData[rowid]){restKeys[rowid]=row;}});return restKeys;};function handleReserveRow($xeTable,reserveRowMap){const internalData=$xeTable;const{fullDataRowIdData}=internalData;const reserveList=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(reserveRowMap,(item,rowid)=>{if(fullDataRowIdData[rowid]&&reserveList.indexOf(fullDataRowIdData[rowid].row)===-1){reserveList.push(fullDataRowIdData[rowid].row);}});return reserveList;}function handleVirtualXVisible($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{isScrollXBig,scrollXWidth}=reactData;const{elemStore,visibleColumn,fullColumnIdData}=internalData;const leftFixedWidth=$xeTable.computeLeftFixedWidth;const rightFixedWidth=$xeTable.computeRightFixedWidth;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(bodyScrollElem){const clientWidth=bodyScrollElem.clientWidth;let scrollLeft=bodyScrollElem.scrollLeft;if(isScrollXBig){scrollLeft=Math.ceil((scrollXWidth-clientWidth)*Math.min(1,scrollLeft/(maxXWidth-clientWidth)));}const startLeft=scrollLeft+leftFixedWidth;const endLeft=scrollLeft+clientWidth-rightFixedWidth;let leftIndex=0;let rightIndex=visibleColumn.length;while(leftIndex<rightIndex){const cIndex=Math.floor((leftIndex+rightIndex)/2);const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid]||{};if(colRest.oLeft<=startLeft){leftIndex=cIndex+1;}else{rightIndex=cIndex;}}let visibleSize=0;const toVisibleIndex=leftIndex===visibleColumn.length?leftIndex:Math.max(0,leftIndex<visibleColumn.length?leftIndex-2:0);for(let cIndex=toVisibleIndex,cLen=visibleColumn.length;cIndex<cLen;cIndex++){const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid]||{};visibleSize++;if(colRest.oLeft>endLeft||visibleSize>=60){break;}}return{toVisibleIndex:Math.max(0,toVisibleIndex),visibleSize:Math.max(6,visibleSize)};}return{toVisibleIndex:0,visibleSize:6};}function handleCustomRestore($xeTable,storeData){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{aggregateConfig,rowGroupConfig}=props;const{collectColumn}=internalData;const customOpts=$xeTable.computeCustomOpts;const{storage,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=Object.assign({},isAllCustom?{}:storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggGroup=hangleStorageDefaultValue(storageOpts.aggGroup,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);let{resizableData,sortData,visibleData,fixedData,aggGroupData,aggFuncData}=storeData;// 处理还原
7612
+ const{getConfig: methods_getConfig,getI18n: methods_getI18n,renderer: methods_renderer,formats: methods_formats,interceptor: methods_interceptor,createEvent,globalEvents: methods_globalEvents,GLOBAL_EVENT_KEYS}=core_.VxeUI;const browseObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().browse();const supportMaxRow=5e6;const customStorageKey='VXE_CUSTOM_STORE';const maxYHeight=5e6;const maxXWidth=5e6;const sourceType='table';let crossTableDragRowObj=null;function eqCellValue(row1,row2,field){const val1=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row1,field);const val2=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row2,field);if(eqEmptyValue(val1)&&eqEmptyValue(val2)){return true;}if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(val1)||external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(val1)){return''+val1===''+val2;}return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isEqual(val1,val2);}function hangleStorageDefaultValue(value,isAll){return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(value)?value:isAll;}function getNextSortOrder($xeTable,column){const sortOpts=$xeTable.computeSortOpts;const{orders=[]}=sortOpts;const currOrder=column.order||null;const oIndex=orders.indexOf(currOrder)+1;return orders[oIndex<orders.length?oIndex:0];}const getCustomStorageMap=id=>{const version=methods_getConfig().version;const rest=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toStringJSON(localStorage.getItem(customStorageKey)||'');const maps=rest&&rest._v===version?rest:{_v:version};return(id?maps[id]:maps)||{};};const setCustomStorageMap=(id,data)=>{const version=methods_getConfig().version;const maps=getCustomStorageMap();maps[id]=data||undefined;maps._v=version;localStorage.setItem(customStorageKey,external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toJSONString(maps));};const getRecoverRowMaps=($xeTable,keyMaps)=>{const internalData=$xeTable;const{fullAllDataRowIdData}=internalData;const restKeys={};external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(keyMaps,(row,rowid)=>{if(fullAllDataRowIdData[rowid]){restKeys[rowid]=row;}});return restKeys;};function handleReserveRow($xeTable,reserveRowMap){const internalData=$xeTable;const{fullDataRowIdData}=internalData;const reserveList=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(reserveRowMap,(item,rowid)=>{if(fullDataRowIdData[rowid]&&reserveList.indexOf(fullDataRowIdData[rowid].row)===-1){reserveList.push(fullDataRowIdData[rowid].row);}});return reserveList;}function handleVirtualXVisible($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{isScrollXBig,scrollXWidth}=reactData;const{elemStore,visibleColumn,fullColumnIdData}=internalData;const leftFixedWidth=$xeTable.computeLeftFixedWidth;const rightFixedWidth=$xeTable.computeRightFixedWidth;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(bodyScrollElem){const clientWidth=bodyScrollElem.clientWidth;let scrollLeft=bodyScrollElem.scrollLeft;if(isScrollXBig){scrollLeft=Math.ceil((scrollXWidth-clientWidth)*Math.min(1,scrollLeft/(maxXWidth-clientWidth)));}const startLeft=scrollLeft+leftFixedWidth;const endLeft=scrollLeft+clientWidth-rightFixedWidth;let leftIndex=0;let rightIndex=visibleColumn.length;while(leftIndex<rightIndex){const cIndex=Math.floor((leftIndex+rightIndex)/2);const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid]||{};if(colRest.oLeft<=startLeft){leftIndex=cIndex+1;}else{rightIndex=cIndex;}}let visibleSize=0;const toVisibleIndex=leftIndex===visibleColumn.length?leftIndex:Math.max(0,leftIndex<visibleColumn.length?leftIndex-2:0);for(let cIndex=toVisibleIndex,cLen=visibleColumn.length;cIndex<cLen;cIndex++){const column=visibleColumn[cIndex];const colid=column.id;const colRest=fullColumnIdData[colid]||{};visibleSize++;if(colRest.oLeft>endLeft||visibleSize>=60){break;}}return{toVisibleIndex:Math.max(0,toVisibleIndex),visibleSize:Math.max(6,visibleSize)};}return{toVisibleIndex:0,visibleSize:6};}function handleCustomRestore($xeTable,storeData){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{aggregateConfig,rowGroupConfig}=props;const{collectColumn}=internalData;const customOpts=$xeTable.computeCustomOpts;const{storage,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=Object.assign({},isAllCustom?{}:storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggGroup=hangleStorageDefaultValue(storageOpts.aggGroup,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);let{resizableData,sortData,visibleData,fixedData,aggGroupData,aggFuncData}=storeData;// 处理还原
7589
7613
  if(isCustomResizable&&resizableData||isCustomSort&&sortData||isCustomVisible&&visibleData||isCustomFixed&&fixedData||isCustomAggGroup&&aggGroupData||isCustomAggFunc&&aggFuncData){const sortColMaps={};if(isCustomSort&&sortData){// 转换兼容老版本数据,即将废弃兼容
7590
7614
  if(!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(sortData)){const sortRests=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(sortData,(index,colKey)=>{sortRests.push({key:colKey,index});});sortData=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(sortRests,{field:'index',order:'asc'}).map(item=>({k:item.key}));}let colNum=1;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(sortData,(sObj,index,sOjs,path,pSObj)=>{sortColMaps[sObj.k]={key:sObj.k,sNum:colNum++,pKey:pSObj?pSObj.k:null};},{children:'c'});}const colKeyMaps={};const allCols=[];const aggGroupConfs=[];external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{const colKey=column.getKey();// 支持一级
7591
7615
  if(!parentColumn){if(isCustomFixed&&fixedData&&fixedData[colKey]!==undefined){column.fixed=fixedData[colKey];}}if(isCustomResizable&&resizableData&&external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isNumber(resizableData[colKey])){column.resizeWidth=resizableData[colKey];}if(isCustomVisible&&visibleData&&external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isBoolean(visibleData[colKey])){column.visible=visibleData[colKey];}if(isCustomAggFunc&&aggFuncData&&(aggregateConfig||rowGroupConfig)&&aggFuncData[colKey]){column.aggFunc=aggFuncData[colKey];}if(isCustomAggGroup&&aggGroupData&&aggGroupData[colKey]){aggGroupConfs.push({field:column.field});}colKeyMaps[colKey]=column;allCols.push(column);});if((aggregateConfig||rowGroupConfig)&&aggGroupConfs.length){const groupRest=handleGroupData($xeTable,internalData.tableFullData,aggGroupConfs);internalData.tableFullTreeData=[];internalData.tableFullGroupData=groupRest.treeData;reactData.isRowGroupStatus=true;reactData.rowGroupList=aggGroupConfs;$xeTable.cacheRowMap(false);}// 如果自定义了顺序
@@ -7594,7 +7618,7 @@ if(isCustomSort&&sortData){allCols.forEach(column=>{const colKey=column.getKey()
7594
7618
  */function restoreCustomStorage($xeTable){const props=$xeTable;const{customConfig}=props;const tableId=$xeTable.computeTableId;const customOpts=$xeTable.computeCustomOpts;const{storage,restoreStore,storeOptions}=customOpts;const isAllCustom=storage===true;const storageOpts=Object.assign({},isAllCustom?{}:storage||{},storeOptions);const isCustomResizable=hangleStorageDefaultValue(storageOpts.resizable,isAllCustom);const isCustomVisible=hangleStorageDefaultValue(storageOpts.visible,isAllCustom);const isCustomFixed=hangleStorageDefaultValue(storageOpts.fixed,isAllCustom);const isCustomSort=hangleStorageDefaultValue(storageOpts.sort,isAllCustom);const isCustomAggFunc=hangleStorageDefaultValue(storageOpts.aggFunc,isAllCustom);if(storage&&(customConfig?isEnableConf(customOpts):customOpts.enabled)&&(isCustomResizable||isCustomVisible||isCustomFixed||isCustomSort||isCustomAggFunc)){if(!tableId){errLog('vxe.error.reqProp',['id']);return;}const storeData=getCustomStorageMap(tableId);if(restoreStore){return Promise.resolve(restoreStore({$table:$xeTable,id:tableId,type:'restore',storeData})).then(storeData=>{if(!storeData){return;}return handleCustomRestore($xeTable,storeData);}).catch(e=>e);}else{return handleCustomRestore($xeTable,storeData);}}}/**
7595
7619
  * 更新数据列的 Map
7596
7620
  * 牺牲数据组装的耗时,用来换取使用过程中的流畅
7597
- */function cacheColumnMap($xeTable){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig,showOverflow}=props;const{tableFullColumn,collectColumn}=internalData;const fullColIdData=internalData.fullColumnIdData={};const fullColFieldData=internalData.fullColumnFieldData={};const mouseOpts=$xeTable.computeMouseOpts;const expandOpts=$xeTable.computeExpandOpts;const columnOpts=$xeTable.computeColumnOpts;const columnDragOpts=$xeTable.computeColumnDragOpts;const virtualYOpts=$xeTable.computeVirtualYOpts;const{isCrossDrag,isSelfToChildDrag}=columnDragOpts;const customOpts=$xeTable.computeCustomOpts;const treeOpts=$xeTable.computeTreeOpts;const{storage}=customOpts;const rowOpts=$xeTable.computeRowOpts;const isGroup=collectColumn.some(hasChildrenList);let isAllOverflow=!!showOverflow;let rowGroupColumn;let expandColumn;let treeNodeColumn;let checkboxColumn;let radioColumn;let htmlColumn;let hasFixed;const handleFunc=(column,index,items,path,parentColumn)=>{const{id:colid,field,fixed,type,treeNode,rowGroupNode}=column;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};if(field){if(fullColFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}else{if(storage&&!type){errLog('vxe.error.reqSupportProp',['storage',`[${type?`type=${type}`:`title=${column.getTitle()}`}]field=?`]);}if(columnOpts.drag&&(isCrossDrag||isSelfToChildDrag)){errLog('vxe.error.reqSupportProp',['column-drag-config.isCrossDrag | column-drag-config.isSelfToChildDrag',`${column.getTitle()||type||''} -> field=?`]);}}if(!hasFixed&&fixed){hasFixed=fixed;}if(!htmlColumn&&type==='html'){htmlColumn=column;}if(treeNode){if(treeNodeColumn){warnLog('vxe.error.colRepet',['tree-node',treeNode]);}if(!treeNodeColumn){treeNodeColumn=column;}}if(rowGroupNode){if(treeNodeColumn){warnLog('vxe.error.colRepet',['row-group-node',rowGroupNode]);}if(!rowGroupColumn){rowGroupColumn=column;}}if(type==='expand'){if(expandColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!expandColumn){expandColumn=column;}}if(type==='checkbox'){if(checkboxColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!checkboxColumn){checkboxColumn=column;}}else if(type==='radio'){if(radioColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!radioColumn){radioColumn=column;}}if(isAllOverflow&&column.showOverflow===false){isAllOverflow=false;}if(fullColIdData[colid]){errLog('vxe.error.colRepet',['colId',colid]);}fullColIdData[colid]=rest;};if(isGroup){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn,nodes)=>{column.level=nodes.length;handleFunc(column,index,items,path,parentColumn);});}else{tableFullColumn.forEach(handleFunc);}if(expandColumn){if(expandOpts.mode!=='fixed'&&virtualYOpts.enabled){warnLog('vxe.error.notConflictProp',['column.type="expand','virtual-y-config.enabled=false']);}if(expandOpts.mode!=='fixed'&&mouseOpts.area){errLog('vxe.error.errConflicts',['mouse-config.area','column.type=expand']);}if(expandOpts.mode!=='inside'&&treeConfig&&!treeOpts.transform){errLog('vxe.error.notConflictProp',['tree-config.transform=false','expand-config.mode=fixed']);}if(props.spanMethod){warnLog('vxe.error.notSupportProp',['column.type=expand','span-method','span-method=null']);}}if(htmlColumn){if(!columnOpts.useKey){errLog('vxe.error.notSupportProp',['column.type=html','column-config.useKey=false','column-config.useKey=true']);}if(!rowOpts.useKey){errLog('vxe.error.notSupportProp',['column.type=html','row-config.useKey=false','row-config.useKey=true']);}}reactData.isGroup=isGroup;reactData.rowGroupColumn=rowGroupColumn;reactData.treeNodeColumn=treeNodeColumn;reactData.expandColumn=expandColumn;reactData.checkboxColumn=checkboxColumn;reactData.radioColumn=radioColumn;reactData.isAllOverflow=isAllOverflow;}function updateScrollXStatus($xeTable,fullColumn){const reactData=$xeTable;const internalData=$xeTable;const virtualXOpts=$xeTable.computeVirtualXOpts;const allCols=fullColumn||internalData.tableFullColumn;// 如果gt为0,则总是启用
7621
+ */function cacheColumnMap($xeTable){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig,showOverflow}=props;const{tableFullColumn,collectColumn}=internalData;const fullColIdData=internalData.fullColumnIdData={};const fullColFieldData=internalData.fullColumnFieldData={};const mouseOpts=$xeTable.computeMouseOpts;const expandOpts=$xeTable.computeExpandOpts;const columnOpts=$xeTable.computeColumnOpts;const columnDragOpts=$xeTable.computeColumnDragOpts;const virtualYOpts=$xeTable.computeVirtualYOpts;const{isCrossDrag,isSelfToChildDrag}=columnDragOpts;const customOpts=$xeTable.computeCustomOpts;const treeOpts=$xeTable.computeTreeOpts;const{storage}=customOpts;const rowOpts=$xeTable.computeRowOpts;const isGroup=collectColumn.some(hasChildrenList);let isAllOverflow=!!showOverflow;let rowGroupColumn;let expandColumn;let treeNodeColumn;let checkboxColumn;let radioColumn;let htmlColumn;let hasFixed;const handleFunc=(column,index,items,path,parentColumn)=>{const{id:colid,field,fixed,type,treeNode,rowGroupNode}=column;const rest={$index:-1,_index:-1,column,colid,index,items,parent:parentColumn||null,width:0,oLeft:0};if(field){if(fullColFieldData[field]){errLog('vxe.error.colRepet',['field',field]);}fullColFieldData[field]=rest;}else{if(storage&&!type){errLog('vxe.error.reqSupportProp',['storage',`[${type?`type=${type}`:`title=${column.getTitle()}`}]field=?`]);}if(columnOpts.drag&&(isCrossDrag||isSelfToChildDrag)){errLog('vxe.error.reqSupportProp',['column-drag-config.isCrossDrag | column-drag-config.isSelfToChildDrag',`${column.getTitle()||type||''} -> field=?`]);}}if(!hasFixed&&fixed){hasFixed=fixed;}if(!htmlColumn&&type==='html'){htmlColumn=column;}if(treeNode){if(treeNodeColumn){warnLog('vxe.error.colRepet',['tree-node',treeNode]);}if(!treeNodeColumn){treeNodeColumn=column;}}if(rowGroupNode){if(treeNodeColumn){warnLog('vxe.error.colRepet',['row-group-node',rowGroupNode]);}if(!rowGroupColumn){rowGroupColumn=column;}}if(type==='expand'){if(expandColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!expandColumn){expandColumn=column;}}if(type==='checkbox'){if(checkboxColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!checkboxColumn){checkboxColumn=column;}}else if(type==='radio'){if(radioColumn){warnLog('vxe.error.colRepet',['type',type]);}if(!radioColumn){radioColumn=column;}}if(isAllOverflow&&column.showOverflow===false){isAllOverflow=false;}if(fullColIdData[colid]){errLog('vxe.error.colRepet',['colId',colid]);}fullColIdData[colid]=rest;};if(isGroup){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn,nodes)=>{column.level=nodes.length;handleFunc(column,index,items,path,parentColumn);});}else{tableFullColumn.forEach(handleFunc);}if(expandColumn){if(expandOpts.mode!=='fixed'&&virtualYOpts.enabled){warnLog('vxe.error.notConflictProp',['column.type="expand','virtual-y-config.enabled=false']);}if(expandOpts.mode!=='fixed'&&mouseOpts.area){errLog('vxe.error.errConflicts',['mouse-config.area','column.type=expand']);}if(expandOpts.mode!=='inside'&&treeConfig&&!treeOpts.transform){errLog('vxe.error.notConflictProp',['tree-config.transform=false','expand-config.mode=inside']);}if(props.spanMethod){warnLog('vxe.error.notSupportProp',['column.type=expand','span-method','span-method=null']);}}if(htmlColumn){if(!columnOpts.useKey){errLog('vxe.error.notSupportProp',['column.type=html','column-config.useKey=false','column-config.useKey=true']);}if(!rowOpts.useKey){errLog('vxe.error.notSupportProp',['column.type=html','row-config.useKey=false','row-config.useKey=true']);}}reactData.isGroup=isGroup;reactData.rowGroupColumn=rowGroupColumn;reactData.treeNodeColumn=treeNodeColumn;reactData.expandColumn=expandColumn;reactData.checkboxColumn=checkboxColumn;reactData.radioColumn=radioColumn;reactData.isAllOverflow=isAllOverflow;}function updateScrollXStatus($xeTable,fullColumn){const reactData=$xeTable;const internalData=$xeTable;const virtualXOpts=$xeTable.computeVirtualXOpts;const allCols=fullColumn||internalData.tableFullColumn;// 如果gt为0,则总是启用
7598
7622
  const scrollXLoad=!!virtualXOpts.enabled&&virtualXOpts.gt>-1&&(virtualXOpts.gt===0||virtualXOpts.gt<allCols.length);reactData.scrollXLoad=scrollXLoad;return scrollXLoad;}function updateScrollYStatus($xeTable,fullData){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const $xeGanttView=internalData.xeGanttView;const virtualYOpts=$xeTable.computeVirtualYOpts;const treeOpts=$xeTable.computeTreeOpts;const{transform}=treeOpts;const allList=fullData||internalData.tableFullData;// 如果gt为0,则总是启用
7599
7623
  const scrollYLoad=(transform||!treeConfig)&&!!virtualYOpts.enabled&&virtualYOpts.gt>-1&&(virtualYOpts.gt===0||virtualYOpts.gt<allList.length);reactData.scrollYLoad=scrollYLoad;if($xeGanttView&&$xeGanttView.handleUpdateSYStatus){$xeGanttView.handleUpdateSYStatus(scrollYLoad);}return scrollYLoad;}/**
7600
7624
  * 展开与收起树节点
@@ -7762,7 +7786,7 @@ treeData=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils
7762
7786
  internalData.tableFullData=fullData;internalData.tableFullTreeData=isRGroup?[]:treeData;internalData.tableFullGroupData=isRGroup?treeData:[];// 缓存数据
7763
7787
  $xeTable.cacheRowMap(isReset);// 原始数据
7764
7788
  internalData.tableSynchData=datas;if(isReset){internalData.isResizeCellHeight=false;}// 克隆原数据,用于显示编辑状态,与编辑值做对比
7765
- if(keepSource){$xeTable.cacheSourceMap(fullData);}if($xeTable.clearCellAreas&&props.mouseConfig){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleTableData(true);$xeTable.updateFooter();$xeTable.handleUpdateBodyMerge();return $xeTable.$nextTick().then(()=>{updateHeight($xeTable);updateStyle($xeTable);}).then(()=>{computeScrollLoad($xeTable);}).then(()=>{const virtualYOpts=$xeTable.computeVirtualYOpts;// 是否启用了虚拟滚动
7789
+ if(keepSource){$xeTable.cacheSourceMap(fullData);}if($xeTable.clearCellAreas&&props.mouseConfig){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}$xeTable.clearMergeCells();$xeTable.clearMergeFooterItems();$xeTable.handleClearStack();$xeTable.handleTableData(true);$xeTable.updateFooter();$xeTable.handleUpdateBodyMerge();return $xeTable.$nextTick().then(()=>{updateHeight($xeTable);updateStyle($xeTable);}).then(()=>{computeScrollLoad($xeTable);}).then(()=>{const virtualYOpts=$xeTable.computeVirtualYOpts;// 是否启用了虚拟滚动
7766
7790
  if(sYLoad){scrollYStore.endIndex=scrollYStore.visibleSize;}if(sYLoad){if(reactData.expandColumn&&expandOpts.mode!=='fixed'){errLog('vxe.error.notConflictProp',['column.type="expand','expand-config.mode="fixed"']);}if(virtualYOpts.mode==='scroll'&&reactData.expandColumn&&expandOpts.mode==='fixed'){warnLog('vxe.error.notConflictProp',['virtual-y-config.mode=scroll','expand-config.mode=inside']);}// if (showOverflow) {
7767
7791
  // if (!rowOpts.height) {
7768
7792
  // const errColumn = internalData.tableFullColumn.find(column => column.showOverflow === false)
@@ -7820,7 +7844,11 @@ if(expandColumn&&rowExpandedMaps[rowid]){offsetTop+=rowRest.expandHeight||expand
7820
7844
  * 更新展开行样式
7821
7845
  */function updateRowExpandStyle($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{expandColumn,scrollYLoad,scrollYTop,isScrollYBig}=reactData;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}const expandOpts=$xeTable.computeExpandOpts;const rowOpts=$xeTable.computeRowOpts;const cellOpts=$xeTable.computeCellOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const{mode}=expandOpts;if(expandColumn&&mode==='fixed'){const{elemStore,fullAllDataRowIdData}=internalData;const rowExpandEl=$xeTable.$refs.refRowExpandElem;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){let isUpdateHeight=false;external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().arrayEach(rowExpandEl.children,reEl=>{const expandEl=reEl;const rowid=expandEl.getAttribute('rowid')||'';const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const expandHeight=expandEl.offsetHeight;const trEl=bodyScrollElem.querySelector(`.vxe-body--row[rowid="${rowid}"]`);let offsetTop=0;if(scrollYLoad){if(isScrollYBig&&trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}else{offsetTop=rowRest.oTop+(rowRest.resizeHeight||cellOpts.height||rowOpts.height||rowRest.height||defaultRowHeight);}}else{if(trEl){offsetTop=trEl.offsetTop+trEl.offsetHeight;}}if(isScrollYBig){offsetTop+=scrollYTop;}expandEl.style.top=toCssUnit(offsetTop);if(!isUpdateHeight){if(rowRest.expandHeight!==expandHeight){isUpdateHeight=true;}}rowRest.expandHeight=expandHeight;}});if(isUpdateHeight){reactData.rowExpandHeightFlag++;$xeTable.$nextTick(()=>{updateRowOffsetTop($xeTable);});}}}}/**
7822
7846
  * 更新树连接线样式
7823
- */function updateTreeLineStyle($xeTable){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;if(!treeConfig){return;}const{tableData}=reactData;const{fullAllDataRowIdData,treeExpandedMaps}=internalData;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}const cellOpts=$xeTable.computeCellOpts;const rowOpts=$xeTable.computeRowOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const treeOpts=$xeTable.computeTreeOpts;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const{handleGetRowId}=createHandleGetRowId($xeTable);const expParentList=[];const handleNodeRow=(row,rIndex,rows)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};const childList=row[transform?mapChildrenField:childrenField];const prevRow=rows[rIndex-1]||null;const nextRow=rows[rIndex+1]||null;if(childList&&childList.length&&treeExpandedMaps[rowid]){expParentList.push({row,prevRow,nextRow});childList.forEach((childRow,crIndex)=>{const childRowid=handleGetRowId(childRow);if(treeExpandedMaps[childRowid]){handleNodeRow(childRow,crIndex,childList);}});}else{if(nextRow){const nextRowid=handleGetRowId(nextRow);const nextRowRest=fullAllDataRowIdData[nextRowid]||{};const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);const nextCellHeight=getCellRestHeight(nextRowRest,cellOpts,rowOpts,defaultRowHeight);rowRest.oHeight=currCellHeight;rowRest.lineHeight=Math.floor(currCellHeight/2+nextCellHeight/2);}else{rowRest.oHeight=0;rowRest.lineHeight=0;}}};tableData.forEach((row,rIndex)=>{handleNodeRow(row,rIndex,tableData);});external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastArrayEach(expParentList,({row,nextRow})=>{const rowid=handleGetRowId(row);const childList=row[transform?mapChildrenField:childrenField];const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);let countOffsetHeight=currCellHeight;let countLineHeight=0;childList.forEach(childRow=>{const childRowid=handleGetRowId(childRow);const childRowRest=fullAllDataRowIdData[childRowid]||{};const childList=childRow[transform?mapChildrenField:childrenField];if(treeExpandedMaps[childRowid]&&childList&&childList.length){countOffsetHeight+=childRowRest.oHeight||0;countLineHeight+=childRowRest.oHeight||0;}else{const cellHeight=getCellRestHeight(childRowRest,cellOpts,rowOpts,defaultRowHeight);childRowRest.oHeight=cellHeight;childRowRest.lineHeight=cellHeight;countOffsetHeight+=cellHeight;countLineHeight+=cellHeight;}});if(nextRow){const nextRowid=handleGetRowId(nextRow);const nextRowRest=fullAllDataRowIdData[nextRowid]||{};const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);const nextCellHeight=getCellRestHeight(nextRowRest,cellOpts,rowOpts,defaultRowHeight);countOffsetHeight+=currCellHeight;countLineHeight+=Math.floor(currCellHeight/2+nextCellHeight/2);}rowRest.lineHeight=countLineHeight;rowRest.oHeight=countOffsetHeight;}});}function handleRowExpandScroll($xeTable){const internalData=$xeTable;const{elemStore}=internalData;const rowExpandEl=$xeTable.$refs.refRowExpandElem;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){rowExpandEl.scrollTop=bodyScrollElem.scrollTop;}}function handleColumnVisible(visible){return function(fieldOrColumn){const $xeTable=this;let status=false;const cols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(fieldOrColumn)?fieldOrColumn:[fieldOrColumn];cols.forEach(item=>{const column=handleFieldOrColumn($xeTable,item);if(column){if(column.children&&column.children.length){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([column],item=>{item.visible=visible;item.renderVisible=visible;});}else{column.visible=visible;column.renderVisible=visible;}if(!status){status=true;}}});if(status){return $xeTable.handleCustom();}return $xeTable.$nextTick();};}function reUpdateCustomStyleEvent($xeTable,evnt){const reactData=$xeTable;const{customStore}=reactData;const customOpts=$xeTable.computeCustomOpts;const{popupOptions}=customOpts;const{transfer}=popupOptions||{};if(transfer&&customStore.visible){const tableCustom=$xeTable.$refs.refTableCustom;if(tableCustom&&$xeTable.handleCustomStyle&&!checkTargetElement(evnt.target,[tableCustom.$el],evnt.currentTarget)){$xeTable.handleCustomStyle().then(()=>{$xeTable.handleCustomStyle();});}}}const tableMethods={callSlot(slotFunc,params,h,vNodes){const $xeTable=this;// const slots = $xeTable.$scopedSlots
7847
+ */function updateTreeLineStyle($xeTable){const props=$xeTable;const reactData=$xeTable;const internalData=$xeTable;const{treeConfig}=props;if(!treeConfig){return;}const{tableData}=reactData;const{fullAllDataRowIdData,treeExpandedMaps}=internalData;const el=$xeTable.$refs.refElem;if(!el||!el.clientWidth){return;}const cellOpts=$xeTable.computeCellOpts;const rowOpts=$xeTable.computeRowOpts;const defaultRowHeight=$xeTable.computeDefaultRowHeight;const treeOpts=$xeTable.computeTreeOpts;const{transform,mapChildrenField}=treeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const{handleGetRowId}=createHandleGetRowId($xeTable);const expParentList=[];const handleNodeRow=(row,rIndex,rows)=>{const rowid=handleGetRowId(row);const rowRest=fullAllDataRowIdData[rowid]||{};const childList=row[transform?mapChildrenField:childrenField];const prevRow=rows[rIndex-1]||null;const nextRow=rows[rIndex+1]||null;if(childList&&childList.length&&treeExpandedMaps[rowid]){expParentList.push({row,prevRow,nextRow});childList.forEach((childRow,crIndex)=>{const childRowid=handleGetRowId(childRow);if(treeExpandedMaps[childRowid]){handleNodeRow(childRow,crIndex,childList);}});}else{if(nextRow){const nextRowid=handleGetRowId(nextRow);const nextRowRest=fullAllDataRowIdData[nextRowid]||{};const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);const nextCellHeight=getCellRestHeight(nextRowRest,cellOpts,rowOpts,defaultRowHeight);rowRest.oHeight=currCellHeight;rowRest.lineHeight=Math.floor(currCellHeight/2+nextCellHeight/2);}else{rowRest.oHeight=0;rowRest.lineHeight=0;}}};tableData.forEach((row,rIndex)=>{handleNodeRow(row,rIndex,tableData);});external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().lastArrayEach(expParentList,({row,nextRow})=>{const rowid=handleGetRowId(row);const childList=row[transform?mapChildrenField:childrenField];const rowRest=fullAllDataRowIdData[rowid];if(rowRest){const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);let countOffsetHeight=currCellHeight;let countLineHeight=0;childList.forEach(childRow=>{const childRowid=handleGetRowId(childRow);const childRowRest=fullAllDataRowIdData[childRowid]||{};const childList=childRow[transform?mapChildrenField:childrenField];if(treeExpandedMaps[childRowid]&&childList&&childList.length){countOffsetHeight+=childRowRest.oHeight||0;countLineHeight+=childRowRest.oHeight||0;}else{const cellHeight=getCellRestHeight(childRowRest,cellOpts,rowOpts,defaultRowHeight);childRowRest.oHeight=cellHeight;childRowRest.lineHeight=cellHeight;countOffsetHeight+=cellHeight;countLineHeight+=cellHeight;}});if(nextRow){const nextRowid=handleGetRowId(nextRow);const nextRowRest=fullAllDataRowIdData[nextRowid]||{};const currCellHeight=getCellRestHeight(rowRest,cellOpts,rowOpts,defaultRowHeight);const nextCellHeight=getCellRestHeight(nextRowRest,cellOpts,rowOpts,defaultRowHeight);countOffsetHeight+=currCellHeight;countLineHeight+=Math.floor(currCellHeight/2+nextCellHeight/2);}rowRest.lineHeight=countLineHeight;rowRest.oHeight=countOffsetHeight;}});}function handleRowExpandScroll($xeTable){const internalData=$xeTable;const{elemStore}=internalData;const rowExpandEl=$xeTable.$refs.refRowExpandElem;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);if(rowExpandEl&&bodyScrollElem){rowExpandEl.scrollTop=bodyScrollElem.scrollTop;}}function handleColumnVisible(visible){return function(fieldOrColumn){const $xeTable=this;let status=false;const cols=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isArray(fieldOrColumn)?fieldOrColumn:[fieldOrColumn];cols.forEach(item=>{const column=handleFieldOrColumn($xeTable,item);if(column){if(column.children&&column.children.length){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([column],item=>{item.visible=visible;item.renderVisible=visible;});}else{column.visible=visible;column.renderVisible=visible;}if(!status){status=true;}}});if(status){return $xeTable.handleCustom();}return $xeTable.$nextTick();};}function reUpdateCustomStyleEvent($xeTable,evnt){const reactData=$xeTable;const{customStore}=reactData;const customOpts=$xeTable.computeCustomOpts;const{popupOptions}=customOpts;const{transfer}=popupOptions||{};if(transfer&&customStore.visible){const tableCustom=$xeTable.$refs.refTableCustom;if(tableCustom&&$xeTable.handleCustomStyle&&!checkTargetElement(evnt.target,[tableCustom.$el],evnt.currentTarget)){$xeTable.handleCustomStyle().then(()=>{$xeTable.handleCustomStyle();});}}}function truncateStackHistory($xeTable){const internalData=$xeTable;const{stackHistoryStore}=internalData;const{undoStacks}=stackHistoryStore;const undoRedoHistoryOpts=$xeTable.computeUndoRedoHistoryOpts;const{stackSize}=undoRedoHistoryOpts;if(undoStacks.length>external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(stackSize)){undoStacks.shift();}}/**
7848
+ * 生成快照数据
7849
+ */function getSnapshotStackData($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{editStore}=reactData;const{afterFullData,elemStore}=internalData;const{selected,actived}=editStore;const{row:selectRow,column:selectColumn}=selected;const{row:editRow,column:editColumn}=actived;const bodyScrollElem=getRefElem(elemStore['main-body-scroll']);const stackObj={selectActiveInfo:selectRow&&selectColumn?{rowid:getRowid($xeTable,selectRow),colid:selectColumn.id}:undefined,editActiveInfo:editRow&&editColumn?{rowid:getRowid($xeTable,editRow),colid:editColumn.id}:undefined,scrollInfo:{top:bodyScrollElem?bodyScrollElem.scrollTop:0,left:bodyScrollElem?bodyScrollElem.scrollLeft:0},visibleData:external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().clone(afterFullData,true),visibleColumn:[]};return $xeTable.getCellAreaPushStackObj?$xeTable.getCellAreaPushStackObj(stackObj):stackObj;}/**
7850
+ * 刷新栈视图
7851
+ */function handleUpdateSnapshotStackData($xeTable,stackObj){const reactData=$xeTable;const internalData=$xeTable;const{editStore}=reactData;const{fullAllDataRowIdData,fullColumnIdData}=internalData;if(!stackObj){return;}const{visibleData,editActiveInfo,selectActiveInfo,scrollInfo}=stackObj;const afterFullList=visibleData.map(item=>{const rowid=getRowid($xeTable,item);const rest=fullAllDataRowIdData[rowid];let row=item;if(rest){row=rest.row;Object.assign(row,item);}return row;});internalData.afterFullData=afterFullList;if($xeTable.handleCellAreaSnapshotStackData){$xeTable.handleCellAreaSnapshotStackData(stackObj);}else{const{selected}=editStore;const mouseOpts=$xeTable.computeMouseOpts;let selectRowid='';let selectColid='';if(editActiveInfo){selectRowid=editActiveInfo.rowid;selectColid=editActiveInfo.colid;}else if(selectActiveInfo){selectRowid=selectActiveInfo.rowid;selectColid=selectActiveInfo.colid;}if(selectRowid&&selectColid&&mouseOpts.selected){const editRow=fullAllDataRowIdData[selectRowid]?fullAllDataRowIdData[selectRowid].row:null;const editColumn=fullColumnIdData[selectColid]?fullColumnIdData[selectColid].column:null;if(editRow&&editColumn){const params={row:editRow,column:editColumn};selected.row=editRow;selected.column=editColumn;selected.args=params;$xeTable.$nextTick(()=>{$xeTable.addCellSelectedClass();$xeTable.scrollTo(scrollInfo);});}}}}const tableMethods={callSlot(slotFunc,params,h,vNodes){const $xeTable=this;// const slots = $xeTable.$scopedSlots
7824
7852
  const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;const $xeGGWrapper=$xeGrid||$xeGantt;if(slotFunc){if($xeGGWrapper){return $xeGGWrapper.callSlot(slotFunc,params,h);}// if (XEUtils.isString(slotFunc)) {
7825
7853
  // slotFunc = slots[slotFunc] || null
7826
7854
  // }
@@ -7834,7 +7862,7 @@ if(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_defau
7834
7862
  * 如果存在表尾合计滚动条,则需要排除滚动条高度
7835
7863
  */getExcludeHeight(){const $xeTable=this;const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;const $xeGGWrapper=$xeGrid||$xeGantt;return $xeGGWrapper?$xeGGWrapper.getExcludeHeight():0;},/**
7836
7864
  * 重置表格的一切数据状态
7837
- */clearAll(){return clearTableAllStatus(this);},handleUpdateRowGroup(groupFields){const $xeTable=this;handleUpdateRowGroup($xeTable,groupFields);},/**
7865
+ */clearAll(){const $xeTable=this;return clearTableAllStatus($xeTable);},handleUpdateRowGroup(groupFields){const $xeTable=this;handleUpdateRowGroup($xeTable,groupFields);},/**
7838
7866
  * 同步 data 数据(即将废弃)
7839
7867
  * 如果用了该方法,那么组件将不再记录增删改的状态,只能自行实现对应逻辑
7840
7868
  * 对于某些特殊的场景,比如深层树节点元素发生变动时可能会用到
@@ -8074,38 +8102,40 @@ if(actived.row){const params=actived.args;this.handleClearEdit(evnt);// 如果
8074
8102
  if(mouseConfig&&mouseOpts.selected){this.$nextTick(()=>this.handleSelected(params,evnt));}}}}$xeTable.dispatchEvent('keydown',{},evnt);$xeTable.dispatchEvent('keydown-end',{},evnt);});}},contextMenuEvent(evnt){const $xeTable=this;$xeTable.dispatchEvent('context-menu',{},evnt);},/**
8075
8103
  * 全局键盘事件
8076
8104
  */handleGlobalKeydownEvent(evnt){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const reactData=$xeTable;const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;// 该行为只对当前激活的表格有效
8077
- if(internalData.isActivated){$xeTable.preventEvent(evnt,'event.keydown',null,()=>{const{mouseConfig,keyboardConfig,treeConfig,editConfig,highlightCurrentRow,highlightCurrentColumn}=props;const{ctxMenuStore,editStore}=reactData;const{afterFullData,visibleColumn,currentRow}=internalData;const isContentMenu=$xeTable.computeIsContentMenu;const bodyMenu=$xeTable.computeBodyMenu;const keyboardOpts=$xeTable.computeKeyboardOpts;const mouseOpts=$xeTable.computeMouseOpts;const editOpts=$xeTable.computeEditOpts;const treeOpts=$xeTable.computeTreeOpts;const menuList=$xeTable.computeMenuList;const rowOpts=$xeTable.computeRowOpts;const columnOpts=$xeTable.computeColumnOpts;const{isLastEnterAppendRow,beforeEnterMethod,enterMethod,isLastTabAppendRow,beforeTabMethod,tabMethod}=keyboardOpts;const{selected,actived}=editStore;const{keyCode}=evnt;const hasBackspaceKey=keyCode===8;const isTab=keyCode===9;const isEnter=keyCode===13;const isEsc=keyCode===27;const isSpacebar=keyCode===32;const isLeftArrow=keyCode===37;const isUpArrow=keyCode===38;const isRightArrow=keyCode===39;const isDwArrow=keyCode===40;const hasDeleteKey=keyCode===46;const isF2=keyCode===113;const isContextMenu=keyCode===93;const isControlKey=hasControlKey(evnt);const hasShiftKey=evnt.shiftKey;const hasAltKey=evnt.altKey;const operArrow=isLeftArrow||isUpArrow||isRightArrow||isDwArrow;const operCtxMenu=isContentMenu&&ctxMenuStore.visible&&(isEnter||isSpacebar||operArrow);const isEditStatus=isEnableConf(editConfig)&&actived.column&&actived.row;const childrenField=treeOpts.children||treeOpts.childrenField;const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;if(operCtxMenu){// 如果配置了右键菜单; 支持方向键操作、回车
8105
+ if(internalData.isActivated){$xeTable.preventEvent(evnt,'event.keydown',null,()=>{const{mouseConfig,keyboardConfig,treeConfig,editConfig,highlightCurrentRow,highlightCurrentColumn}=props;const{ctxMenuStore,editStore}=reactData;const{afterFullData,visibleColumn,currentRow}=internalData;const isContentMenu=$xeTable.computeIsContentMenu;const bodyMenu=$xeTable.computeBodyMenu;const keyboardOpts=$xeTable.computeKeyboardOpts;const mouseOpts=$xeTable.computeMouseOpts;const editOpts=$xeTable.computeEditOpts;const treeOpts=$xeTable.computeTreeOpts;const menuList=$xeTable.computeMenuList;const rowOpts=$xeTable.computeRowOpts;const columnOpts=$xeTable.computeColumnOpts;const{isLastEnterAppendRow,beforeEnterMethod,enterMethod,isLastTabAppendRow,beforeTabMethod,tabMethod}=keyboardOpts;const{selected,actived}=editStore;const{keyCode}=evnt;const isEsc=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ESCAPE);const hasBackspaceKey=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.BACKSPACE);const isTab=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.TAB);const isEnter=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ENTER);const isSpacebar=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.SPACEBAR);const isLeftArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_LEFT);const isUpArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_UP);const isRightArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_RIGHT);const isDwArrow=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.ARROW_DOWN);const hasDeleteKey=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.DELETE);const isY=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.Y);const isZ=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.Z);const isF2=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.F2);const isContextMenu=methods_globalEvents.hasKey(evnt,GLOBAL_EVENT_KEYS.CONTEXT_MENU);const isControlKey=hasControlKey(evnt);const hasShiftKey=evnt.shiftKey;const hasAltKey=evnt.altKey;const operArrow=isLeftArrow||isUpArrow||isRightArrow||isDwArrow;const operCtxMenu=isContentMenu&&ctxMenuStore.visible&&(isEnter||isSpacebar||operArrow);const isEditStatus=isEnableConf(editConfig)&&actived.column&&actived.row;const childrenField=treeOpts.children||treeOpts.childrenField;const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;const selectColumn=selected.column;if(operCtxMenu){// 如果配置了右键菜单; 支持方向键操作、回车
8078
8106
  evnt.preventDefault();if(ctxMenuStore.showChild&&hasChildrenList(ctxMenuStore.selected)){$xeTable.moveCtxMenu(evnt,ctxMenuStore,'selectChild',isLeftArrow,false,ctxMenuStore.selected.children);}else{$xeTable.moveCtxMenu(evnt,ctxMenuStore,'selected',isRightArrow,true,menuList);}}else if(keyboardConfig&&mouseConfig&&mouseOpts.area&&$xeTable.handleKeyboardCellAreaEvent){$xeTable.handleKeyboardCellAreaEvent(evnt);}else if(isEsc){// 如果按下了 Esc 键,关闭快捷菜单、筛选
8079
8107
  if($xeTable.closeMenu){$xeTable.closeMenu();}$xeTable.closeFilter();if(keyboardConfig&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
8080
8108
  if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
8081
- if(mouseOpts.selected){$xeTable.$nextTick(()=>$xeTable.handleSelected(params,evnt));}}}}else if(keyboardConfig&&isSpacebar&&keyboardOpts.isChecked&&selected.row&&selected.column&&(selected.column.type==='checkbox'||selected.column.type==='radio')){// 空格键支持选中复选框
8082
- evnt.preventDefault();if(selected.column.type==='checkbox'){$xeTable.handleToggleCheckRowEvent(evnt,selected.args);}else{$xeTable.triggerRadioRowEvent(evnt,selected.args);}}else if(isF2&&isEnableConf(editConfig)){if(!isEditStatus){// 如果按下了 F2 键
8083
- if(selected.row&&selected.column){evnt.stopPropagation();evnt.preventDefault();$xeTable.handleEdit(selected.args,evnt);}}}else if(isContextMenu){// 如果按下上下文键
8084
- internalData._keyCtx=selected.row&&selected.column&&bodyMenu.length;clearTimeout(internalData.keyCtxTimeout);internalData.keyCtxTimeout=setTimeout(()=>{internalData._keyCtx=false;},1000);}else if(isEnter&&!hasAltKey&&keyboardConfig&&keyboardOpts.isEnter&&(selected.row||actived.row||treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow)){// 退出选中
8109
+ if(mouseOpts.selected){$xeTable.$nextTick(()=>$xeTable.handleSelected(params,evnt));}}}}else if(keyboardConfig&&isSpacebar&&keyboardOpts.isChecked&&selected.row&&selectColumn&&(selectColumn.type==='checkbox'||selectColumn.type==='radio')){// 空格键支持选中复选框
8110
+ evnt.preventDefault();if(selectColumn.type==='checkbox'){$xeTable.handleToggleCheckRowEvent(evnt,selected.args);}else{$xeTable.triggerRadioRowEvent(evnt,selected.args);}}else if(isF2&&isEnableConf(editConfig)){if(!isEditStatus){// 如果按下了 F2 键
8111
+ if(selected.row&&selectColumn){evnt.preventDefault();$xeTable.handleEdit(selected.args,evnt);}}}else if(isContextMenu){// 如果按下上下文键
8112
+ internalData._keyCtx=selected.row&&selectColumn&&bodyMenu.length;clearTimeout(internalData.keyCtxTimeout);internalData.keyCtxTimeout=setTimeout(()=>{internalData._keyCtx=false;},1000);}else if(isEnter&&!hasAltKey&&keyboardConfig&&keyboardOpts.isEnter&&(selected.row||actived.row||treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow)){// 退出选中
8085
8113
  if(isControlKey){// 如果是激活编辑状态,则取消编辑
8086
8114
  if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
8087
8115
  if(mouseConfig&&mouseOpts.selected){$xeTable.$nextTick(()=>$xeTable.handleSelected(params,evnt));}}}else{// 如果是激活状态,退则出到上一行/下一行
8088
- if(selected.row||actived.row){const activeRow=selected.row||actived.row;const activeColumn=selected.column||actived.column;const activeParams=selected.row?selected.args:actived.args;if(hasShiftKey){if(keyboardOpts.enterToTab){$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}else{$xeTable.moveEnterSelected(activeParams,isLeftArrow,true,isRightArrow,false,evnt);}}else{const _rowIndex=$xeTable.getVTRowIndex(activeRow);const _columnIndex=$xeTable.getVTColumnIndex(activeColumn);if(keyboardOpts.enterToTab){const ttrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeTabMethod||beforeTabMethod(ttrParams)!==false){evnt.preventDefault();// 最后一行按下Tab键,自动追加一行
8116
+ if(selected.row||actived.row){const activeRow=selected.row||actived.row;const activeColumn=selectColumn||actived.column;if(activeColumn){const activeParams=selected.row?selected.args:actived.args;if(hasShiftKey){if(keyboardOpts.enterToTab){$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}else{$xeTable.moveEnterSelected(activeParams,isLeftArrow,true,isRightArrow,false,evnt);}}else{const _rowIndex=$xeTable.getVTRowIndex(activeRow);const _columnIndex=$xeTable.getVTColumnIndex(activeColumn);if(keyboardOpts.enterToTab){const ttrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeTabMethod||beforeTabMethod(ttrParams)!==false){evnt.preventDefault();// 最后一行按下Tab键,自动追加一行
8089
8117
  if(isLastTabAppendRow){const newColumn=visibleColumn[0];if(_rowIndex>=afterFullData.length-1&&_columnIndex>=visibleColumn.length-1){if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,newColumn);$xeTable.handleSelected({...activeParams,row:newRow,column:newColumn},evnt);});$xeTable.dispatchEvent('tab-append-row',ttrParams,evnt);return;}}if(tabMethod){tabMethod(ttrParams);}else{$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}}}else{const etrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeEnterMethod||beforeEnterMethod(etrParams)!==false){evnt.preventDefault();// 最后一行按下回车键,自动追加一行
8090
- if(isLastEnterAppendRow){if(_rowIndex>=afterFullData.length-1){$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,selected.column);$xeTable.handleSelected({...activeParams,row:newRow},evnt);});$xeTable.dispatchEvent('enter-append-row',etrParams,evnt);return;}}if(enterMethod){enterMethod(etrParams);}else{if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.moveEnterSelected(activeParams,isLeftArrow,false,isRightArrow,true,evnt);}}}}}else if(treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow){// 如果是树形表格当前行回车移动到子节点
8118
+ if(isLastEnterAppendRow){if(_rowIndex>=afterFullData.length-1){$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,selectColumn);$xeTable.handleSelected({...activeParams,row:newRow},evnt);});$xeTable.dispatchEvent('enter-append-row',etrParams,evnt);return;}}if(enterMethod){enterMethod(etrParams);}else{if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.moveEnterSelected(activeParams,isLeftArrow,false,isRightArrow,true,evnt);}}}}}}else if(treeConfig&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow){// 如果是树形表格当前行回车移动到子节点
8091
8119
  const childrens=currentRow[childrenField];if(childrens&&childrens.length){evnt.preventDefault();const targetRow=childrens[0];const params={$table:$xeTable,row:targetRow,rowIndex:$xeTable.getRowIndex(targetRow),$rowIndex:$xeTable.getVMRowIndex(targetRow)};$xeTable.setTreeExpand(currentRow,true).then(()=>$xeTable.scrollToRow(targetRow)).then(()=>$xeTable.triggerCurrentRowEvent(evnt,params));}}}}else if(operArrow&&keyboardConfig&&keyboardOpts.isArrow){if(!isEditStatus){// 如果按下了方向键
8092
- if(mouseOpts.selected&&selected.row&&selected.column){$xeTable.moveArrowSelected(selected.args,isLeftArrow,isUpArrow,isRightArrow,isDwArrow,evnt);}else{// 当前行按键上下移动
8120
+ if(mouseOpts.selected&&selected.row&&selectColumn){$xeTable.moveArrowSelected(selected.args,isLeftArrow,isUpArrow,isRightArrow,isDwArrow,evnt);}else{// 当前行按键上下移动
8093
8121
  if((isUpArrow||isDwArrow)&&(rowOpts.isCurrent||highlightCurrentRow)){$xeTable.moveCurrentRow(isUpArrow,isDwArrow,evnt);}// 当前行按键左右移动
8094
8122
  if((isLeftArrow||isRightArrow)&&(columnOpts.isCurrent||highlightCurrentColumn)){$xeTable.moveCurrentColumn(isLeftArrow,isRightArrow,evnt);}}}}else if(isTab&&keyboardConfig&&keyboardOpts.isTab){// 如果按下了 Tab 键切换
8095
- if(selected.row||actived.row){const activeRow=selected.row||actived.row;const activeColumn=selected.column||actived.column;const activeParams=selected.row?selected.args:actived.args;const _rowIndex=$xeTable.getVTRowIndex(activeRow);const _columnIndex=$xeTable.getVTColumnIndex(activeColumn);const ttrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeTabMethod||beforeTabMethod(ttrParams)!==false){evnt.preventDefault();// 最后一行按下Tab键,自动追加一行
8096
- if(isLastTabAppendRow){const newColumn=visibleColumn[0];if(_rowIndex>=afterFullData.length-1&&_columnIndex>=visibleColumn.length-1){if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,newColumn);$xeTable.handleSelected({...activeParams,row:newRow,column:newColumn},evnt);});$xeTable.dispatchEvent('tab-append-row',ttrParams,evnt);return;}}if(tabMethod){tabMethod(ttrParams);}else{if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}}}}else if(keyboardConfig&&keyboardOpts.isDel&&hasDeleteKey&&isEnableConf(editConfig)&&(selected.row||selected.column)){// 如果是删除键
8097
- if(!isEditStatus){const{delMethod}=keyboardOpts;const params={row:selected.row,rowIndex:$xeTable.getRowIndex(selected.row),column:selected.column,columnIndex:$xeTable.getColumnIndex(selected.column),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};// 是否被禁用
8098
- if(!beforeEditMethod||beforeEditMethod(params)){if(delMethod){delMethod(params);}else{setCellValue(selected.row,selected.column,null);}// 如果按下 del 键,更新表尾数据
8099
- $xeTable.updateFooter();$xeTable.dispatchEvent('cell-delete-value',params,evnt);}}}else if(hasBackspaceKey&&keyboardConfig&&keyboardOpts.isBack&&isEnableConf(editConfig)&&(selected.row||selected.column)){if(!isEditStatus){const{editMode,backMethod}=keyboardOpts;// 如果是删除键
8100
- if(keyboardOpts.isDel&&isEnableConf(editConfig)&&(selected.row||selected.column)){const params={row:selected.row,rowIndex:$xeTable.getRowIndex(selected.row),column:selected.column,columnIndex:$xeTable.getColumnIndex(selected.column),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};// 是否被禁用
8101
- if(!beforeEditMethod||beforeEditMethod(params)){if(backMethod){backMethod(params);}else{// 追加方式与覆盖式
8102
- if(editMode!=='insert'){setCellValue(selected.row,selected.column,null);}$xeTable.handleEdit(selected.args,evnt);}$xeTable.dispatchEvent('cell-backspace-value',params,evnt);}}}}else if(hasBackspaceKey&&keyboardConfig&&treeConfig&&keyboardOpts.isBack&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow){// 如果树形表格回退键关闭当前行返回父节点
8103
- const{parent:parentRow}=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(internalData.afterTreeFullData,item=>item===currentRow,{children:childrenField});if(parentRow){evnt.preventDefault();const params={row:parentRow,rowIndex:$xeTable.getRowIndex(parentRow),$rowIndex:$xeTable.getVMRowIndex(parentRow),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};$xeTable.setTreeExpand(parentRow,false).then(()=>$xeTable.scrollToRow(parentRow)).then(()=>$xeTable.triggerCurrentRowEvent(evnt,params));}}else if(keyboardConfig&&keyboardOpts.isEdit&&!isControlKey&&(isSpacebar||keyCode>=48&&keyCode<=57||keyCode>=65&&keyCode<=90||keyCode>=96&&keyCode<=111||keyCode>=186&&keyCode<=192||keyCode>=219&&keyCode<=222)){const{editMethod}=keyboardOpts;// 启用编辑后,空格键功能将失效
8123
+ if(selected.row||actived.row){const activeRow=selected.row||actived.row;const activeColumn=selectColumn||actived.column;if(activeColumn){const activeParams=selected.row?selected.args:actived.args;const _rowIndex=$xeTable.getVTRowIndex(activeRow);const _columnIndex=$xeTable.getVTColumnIndex(activeColumn);const ttrParams={row:activeRow,rowIndex:$xeTable.getRowIndex(activeRow),$rowIndex:$xeTable.getVMRowIndex(activeRow),_rowIndex,column:activeColumn,columnIndex:$xeTable.getColumnIndex(activeColumn),$columnIndex:$xeTable.getVMColumnIndex(activeColumn),_columnIndex,$table:$xeTable};if(!beforeTabMethod||beforeTabMethod(ttrParams)!==false){evnt.preventDefault();// 最后一行按下Tab键,自动追加一行
8124
+ if(isLastTabAppendRow){const newColumn=visibleColumn[0];if(_rowIndex>=afterFullData.length-1&&_columnIndex>=visibleColumn.length-1){if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.insertAt({},-1).then(({row:newRow})=>{$xeTable.scrollToRow(newRow,newColumn);$xeTable.handleSelected({...activeParams,row:newRow,column:newColumn},evnt);});$xeTable.dispatchEvent('tab-append-row',ttrParams,evnt);return;}}if(tabMethod){tabMethod(ttrParams);}else{if(actived.row){$xeTable.handleClearEdit(evnt);}$xeTable.moveTabSelected(activeParams,hasShiftKey,evnt);}}}}}else if(keyboardConfig&&keyboardOpts.isDel&&hasDeleteKey&&isEnableConf(editConfig)&&(selected.row||selectColumn)){// 如果是删除键
8125
+ if(!isEditStatus){const{delMethod}=keyboardOpts;const params={row:selected.row,rowIndex:$xeTable.getRowIndex(selected.row),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};// 是否被禁用
8126
+ if(!beforeEditMethod||beforeEditMethod(params)){if(delMethod){delMethod(params);}else{const selectCellValue=getCellValue(selected.row,selectColumn);if(selectCellValue!==null){$xeTable.handlePushStack();setCellValue(selected.row,selectColumn,null);}}// 如果按下 del 键,更新表尾数据
8127
+ $xeTable.updateFooter();$xeTable.dispatchEvent('cell-delete-value',params,evnt);}}}else if(hasBackspaceKey&&keyboardConfig&&keyboardOpts.isBack&&isEnableConf(editConfig)&&(selected.row||selectColumn)){if(!isEditStatus){const{backMethod}=keyboardOpts;// 如果是删除键
8128
+ if(keyboardOpts.isDel&&isEnableConf(editConfig)&&(selected.row||selectColumn)){const params={row:selected.row,rowIndex:$xeTable.getRowIndex(selected.row),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};// 是否被禁用
8129
+ if(!beforeEditMethod||beforeEditMethod(params)){if(backMethod){backMethod(params);}else{$xeTable.handleEdit(params,evnt,{isClear:true});}$xeTable.dispatchEvent('cell-backspace-value',params,evnt);}}}}else if(hasBackspaceKey&&keyboardConfig&&treeConfig&&keyboardOpts.isBack&&(rowOpts.isCurrent||highlightCurrentRow)&&currentRow){// 如果树形表格回退键关闭当前行返回父节点
8130
+ const{parent:parentRow}=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(internalData.afterTreeFullData,item=>item===currentRow,{children:childrenField});if(parentRow){evnt.preventDefault();const params={row:parentRow,rowIndex:$xeTable.getRowIndex(parentRow),$rowIndex:$xeTable.getVMRowIndex(parentRow),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};$xeTable.setTreeExpand(parentRow,false).then(()=>$xeTable.scrollToRow(parentRow)).then(()=>$xeTable.triggerCurrentRowEvent(evnt,params));}}else if(keyboardConfig&&keyboardOpts.isUndoRedo&&isControlKey&&(isZ||isY)&&!hasEventInputTarget(evnt.target)){if(isY||hasShiftKey&&isZ){// 恢复被撤销的操作:Ctrl + Y 或 Ctrl + Shift + Z
8131
+ evnt.preventDefault();$xeTable.handleRedoStackEvent(evnt);}else if(isZ){// ‌撤销上一步操作‌:Ctrl + Z
8132
+ evnt.preventDefault();$xeTable.handleUndoStackEvent(evnt);}}else if(keyboardConfig&&keyboardOpts.isEdit&&!isControlKey&&(isSpacebar||keyCode>=48&&keyCode<=57||keyCode>=65&&keyCode<=90||keyCode>=96&&keyCode<=111||keyCode>=186&&keyCode<=192||keyCode>=219&&keyCode<=222)){const{editMode,editMethod}=keyboardOpts;// 启用编辑后,空格键功能将失效
8104
8133
  // if (isSpacebar) {
8105
8134
  // evnt.preventDefault()
8106
8135
  // }
8107
8136
  // 如果是按下非功能键之外允许直接编辑
8108
- if(selected.column&&selected.row&&isEnableConf(selected.column.editRender)){const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;const params={row:selected.row,rowIndex:$xeTable.getRowIndex(selected.row),column:selected.column,columnIndex:$xeTable.getColumnIndex(selected.column),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};if(!beforeEditMethod||beforeEditMethod(params)){if(editMethod){editMethod(params);}else{setCellValue(selected.row,selected.column,null);$xeTable.handleEdit(selected.args,evnt);}}}}$xeTable.dispatchEvent('keydown',{},evnt);});}},handleGlobalPasteEvent(evnt){const $xeTable=this;const{isActivated,keyboardConfig,keyboardOpts,mouseConfig,mouseOpts,editStore,filterStore}=this;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handlePeClAreaEvent){$xeTable.handlePeClAreaEvent(evnt);}}$xeTable.dispatchEvent('paste',{},evnt);}},handleGlobalCopyEvent(evnt){const $xeTable=this;const{isActivated,keyboardConfig,keyboardOpts,mouseConfig,mouseOpts,editStore,filterStore}=this;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCyClAreaEvent){$xeTable.handleCyClAreaEvent(evnt);}}$xeTable.dispatchEvent('copy',{},evnt);}},handleGlobalCutEvent(evnt){const $xeTable=this;const{isActivated,keyboardConfig,keyboardOpts,mouseConfig,mouseOpts,editStore,filterStore}=this;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCutCellAreaEvent){$xeTable.handleCutCellAreaEvent(evnt);}}$xeTable.dispatchEvent('cut',{},evnt);}},handleGlobalResizeEvent(){const $xeTable=this;$xeTable.closeMenu();$xeTable.updateCellAreas();handleResizeEvent($xeTable);$xeTable.updateCellAreas();},handleUpdateHeaderMerge(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{mergeHeaderList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeHeaderList);internalData.mergeHeaderCellMaps=mergeMaps;internalData.mergeHeaderRowMaps=mergeRowMaps;internalData.mergeHeaderColMaps=mergeColMaps;reactData.mergeHeadFlag++;},/**
8137
+ if(selectColumn&&selected.row&&isEnableConf(selectColumn.editRender)){const beforeEditMethod=editOpts.beforeEditMethod||editOpts.activeMethod;const params={row:selected.row,rowIndex:$xeTable.getRowIndex(selected.row),column:selectColumn,columnIndex:$xeTable.getColumnIndex(selectColumn),$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt};if(!beforeEditMethod||beforeEditMethod(params)){if(editMethod){editMethod(params);}else{let isClearValue=false;// 追加方式与覆盖式
8138
+ if(editMode!=='insert'){isClearValue=true;}$xeTable.handleEdit(params,evnt,{isClear:isClearValue});}}}}$xeTable.dispatchEvent('keydown',{},evnt);});}},handleGlobalPasteEvent(evnt){const $xeTable=this;const{isActivated,keyboardConfig,keyboardOpts,mouseConfig,mouseOpts,editStore,filterStore}=this;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handlePeClAreaEvent){$xeTable.handlePeClAreaEvent(evnt);}}$xeTable.dispatchEvent('paste',{},evnt);}},handleGlobalCopyEvent(evnt){const $xeTable=this;const{isActivated,keyboardConfig,keyboardOpts,mouseConfig,mouseOpts,editStore,filterStore}=this;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCyClAreaEvent){$xeTable.handleCyClAreaEvent(evnt);}}$xeTable.dispatchEvent('copy',{},evnt);}},handleGlobalCutEvent(evnt){const $xeTable=this;const{isActivated,keyboardConfig,keyboardOpts,mouseConfig,mouseOpts,editStore,filterStore}=this;const{actived}=editStore;if(isActivated&&!filterStore.visible){if(!(actived.row||actived.column)){if(keyboardConfig&&keyboardOpts.isClip&&mouseConfig&&mouseOpts.area&&$xeTable.handleCutCellAreaEvent){$xeTable.handleCutCellAreaEvent(evnt);}}$xeTable.dispatchEvent('cut',{},evnt);}},handleGlobalResizeEvent(){const $xeTable=this;$xeTable.closeMenu();$xeTable.updateCellAreas();handleResizeEvent($xeTable);$xeTable.updateCellAreas();},handleUpdateHeaderMerge(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{mergeHeaderList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeHeaderList);internalData.mergeHeaderCellMaps=mergeMaps;internalData.mergeHeaderRowMaps=mergeRowMaps;internalData.mergeHeaderColMaps=mergeColMaps;reactData.mergeHeadFlag++;},/**
8109
8139
  * 处理合并
8110
8140
  */handleUpdateBodyMerge(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{mergeBodyList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeBodyList);internalData.mergeBodyCellMaps=mergeMaps;internalData.mergeBodyRowMaps=mergeRowMaps;internalData.mergeBodyColMaps=mergeColMaps;reactData.mergeBodyFlag++;},handleUpdateFooterMerge(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;const{mergeFooterList}=internalData;const{mergeMaps,mergeRowMaps,mergeColMaps}=buildMergeData(mergeFooterList);internalData.mergeFooterCellMaps=mergeMaps;internalData.mergeFooterRowMaps=mergeRowMaps;internalData.mergeFooterColMaps=mergeColMaps;reactData.mergeFootFlag++;},handleAggregateSummaryData(){const $xeTable=this;return $xeTable.refreshAggregateCalcValues();},handleTargetLeaveEvent(){const $xeTable=this;const internalData=$xeTable;const tooltipOpts=$xeTable.computeTooltipOpts;let $tooltip=$xeTable.$refs.refTooltip;if($tooltip&&$tooltip.setActived){$tooltip.setActived(false);}if(tooltipOpts.enterable){internalData.tooltipTimeout=setTimeout(()=>{$tooltip=$xeTable.$refs.refTooltip;if($tooltip&&$tooltip.isActived&&!$tooltip.isActived()){$xeTable.closeTooltip();}},tooltipOpts.leaveDelay);}else{$xeTable.closeTooltip();}},triggerHeaderTitleEvent(evnt,iconParams,params){const $xeTable=this;const reactData=$xeTable;const tipContent=iconParams.content||iconParams.message;if(tipContent){const{tooltipStore}=reactData;const{column}=params;const content=getFuncText(tipContent);handleTargetEnterEvent($xeTable,true);tooltipStore.row=null;tooltipStore.column=column;tooltipStore.visible=true;tooltipStore.currOpts=iconParams;$xeTable.$nextTick(()=>{const $tooltip=$xeTable.$refs.refTooltip;if($tooltip&&$tooltip.open){$tooltip.open(evnt.currentTarget,content);}});}},/**
8111
8141
  * 触发表头 tooltip 事件
@@ -8163,7 +8193,7 @@ let vLen=0;// 有效行
8163
8193
  const rootList=treeConfig?afterTreeFullData:isRowGroupStatus?afterGroupFullData:afterFullData;rootList.forEach(checkMethod?row=>{const childRowid=handleGetRowId(row);const selected=checkField?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField):selectCheckboxMaps[childRowid];if(isRowGroupStatus&&$xeTable.isAggregateRecord(row)){const childList=row[mapChildrenField||''];if(selected){vLen++;sLen++;}else if(treeIndeterminateRowMaps[childRowid]){vLen++;hLen++;}else if(childList&&childList.length&&childList.some(item=>checkMethod({$table:$xeTable,row:item}))){vLen++;}}else if(checkMethod({$table:$xeTable,row})){if(selected){sLen++;}else if(treeIndeterminateRowMaps[childRowid]){hLen++;}vLen++;}else{if(selected){dsLen++;}else if(treeIndeterminateRowMaps[childRowid]){dhLen++;}}}:row=>{const childRowid=handleGetRowId(row);const selected=checkField?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,checkField):selectCheckboxMaps[childRowid];if(selected){sLen++;}else if(treeIndeterminateRowMaps[childRowid]){hLen++;}vLen++;});const isSelected=rootList.length>0?vLen>0?sLen>=vLen:sLen>=rootList.length:false;let halfSelect=!isSelected&&(sLen>0||hLen>0||dsLen>0||dhLen>0);// 如果复选框启用保留记录,当保留数据存在时显示半选
8164
8194
  if(!isSelected&&!halfSelect&&showReserveStatus){halfSelect=!external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isEmpty(checkboxReserveRowMap);}reactData.isAllSelected=isSelected;reactData.isIndeterminate=halfSelect;},checkSelectionStatus(){const $xeTable=this;$xeTable.updateCheckboxStatus();$xeTable.updateAllCheckboxStatus();},/**
8165
8195
  * 获取单选框保留选中的行
8166
- */getRadioReserveRecord(isFull){const{fullDataRowIdData,radioReserveRow,radioOpts,afterFullData,treeConfig,treeOpts}=this;const childrenField=treeOpts.children||treeOpts.childrenField;if(radioOpts.reserve&&radioReserveRow){const rowid=getRowid(this,radioReserveRow);if(isFull){if(!fullDataRowIdData[rowid]){return radioReserveRow;}}else{const rowkey=getRowkey(this);if(treeConfig){const matchObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData,row=>rowid===external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,rowkey),{children:childrenField});if(matchObj){return radioReserveRow;}}else{if(!afterFullData.some(row=>rowid===external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,rowkey))){return radioReserveRow;}}}}return null;},clearRadioReserve(){const $xeTable=this;const internalData=$xeTable;internalData.radioReserveRow=null;return $xeTable.$nextTick();},/**
8196
+ */getRadioReserveRecord(isFull){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{fullDataRowIdData,radioReserveRow,afterFullData}=internalData;const radioOpts=$xeTable.computeRadioOpts;const treeOpts=$xeTable.computeTreeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;if(radioOpts.reserve&&radioReserveRow){const rowid=getRowid($xeTable,radioReserveRow);if(isFull){if(!fullDataRowIdData[rowid]){return radioReserveRow;}}else{const rowkey=getRowkey($xeTable);if(treeConfig){const matchObj=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(afterFullData,row=>rowid===external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,rowkey),{children:childrenField});if(matchObj){return radioReserveRow;}}else{if(!afterFullData.some(row=>rowid===external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().get(row,rowkey))){return radioReserveRow;}}}}return null;},clearRadioReserve(){const $xeTable=this;const internalData=$xeTable;internalData.radioReserveRow=null;return $xeTable.$nextTick();},/**
8167
8197
  * 获取复选框保留选中的行
8168
8198
  */getCheckboxReserveRecords(isFull){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;const{treeConfig}=props;const{afterFullData,fullDataRowIdData,checkboxReserveRowMap}=internalData;const checkboxOpts=$xeTable.computeCheckboxOpts;const treeOpts=$xeTable.computeTreeOpts;const childrenField=treeOpts.children||treeOpts.childrenField;const reserveSelection=[];if(checkboxOpts.reserve){const{handleGetRowId}=createHandleGetRowId($xeTable);const afterFullIdMaps={};if(treeConfig){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(afterFullData,row=>{afterFullIdMaps[handleGetRowId(row)]=1;},{children:childrenField});}else{afterFullData.forEach(row=>{afterFullIdMaps[handleGetRowId(row)]=1;});}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(checkboxReserveRowMap,(oldRow,oldRowid)=>{if(oldRow){if(isFull){if(!fullDataRowIdData[oldRowid]){reserveSelection.push(oldRow);}}else{if(!afterFullIdMaps[oldRowid]){reserveSelection.push(oldRow);}}}});}return reserveSelection;},clearCheckboxReserve(){const $xeTable=this;const internalData=$xeTable;internalData.checkboxReserveRowMap={};return $xeTable.$nextTick();},handleCheckboxReserveRow(row,checked){const $xeTable=this;const internalData=$xeTable;const{checkboxReserveRowMap}=internalData;const checkboxOpts=$xeTable.computeCheckboxOpts;if(checkboxOpts.reserve){const rowid=getRowid($xeTable,row);if(checked){checkboxReserveRowMap[rowid]=row;}else if(checkboxReserveRowMap[rowid]){delete checkboxReserveRowMap[rowid];}}},handleCheckAllEvent(evnt,value){const $xeTable=this;handleCheckedAllCheckboxRow($xeTable,value);if(evnt){$xeTable.dispatchEvent('checkbox-all',{records:()=>$xeTable.getCheckboxRecords(),reserves:()=>$xeTable.getCheckboxReserveRecords(),indeterminates:()=>$xeTable.getCheckboxIndeterminateRecords(),checked:value},evnt);}},/**
8169
8199
  * 多选,选中所有事件
@@ -8242,7 +8272,7 @@ const otfIndex=$xeTable.findRowIndexOf(fullList,dragRow);fullList.splice(otfInde
8242
8272
  const ptfIndex=$xeTable.findRowIndexOf(fullList,prevDragRow);const ntfIndex=ptfIndex+dragOffsetIndex;fullList.splice(ntfIndex,0,dragRow);// 改变层级
8243
8273
  if(isSelfToChildStatus&&isCrossDrag&&isSelfToChildDrag){external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().each(dragRow[childrenField],childRow=>{childRow[parentField]=dragRow[parentField];});}dragRow[parentField]=isDragToChildFlag?prevDragRow[rowField]:prevDragRow[parentField];internalData.tableFullTreeData=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toArrayTree(fullList,{key:rowField,parentKey:parentField,children:childrenField,mapChildren:mapChildrenField});}}}else{// 移出
8244
8274
  oafIndex=$xeTable.findRowIndexOf(afterFullData,dragRow);const otfIndex=$xeTable.findRowIndexOf(tableFullData,dragRow);afterFullData.splice(oafIndex,1);tableFullData.splice(otfIndex,1);// 插入
8245
- const pafIndex=$xeTable.findRowIndexOf(afterFullData,prevDragRow);const ptfIndex=$xeTable.findRowIndexOf(tableFullData,prevDragRow);nafIndex=pafIndex+dragOffsetIndex;const ntfIndex=ptfIndex+dragOffsetIndex;afterFullData.splice(nafIndex,0,dragRow);tableFullData.splice(ntfIndex,0,dragRow);}$xeTable.handleTableData(treeConfig&&transform);$xeTable.cacheRowMap(false);updateScrollYStatus($xeTable);if(!(treeConfig&&transform)){updateAfterDataIndex($xeTable);}$xeTable.checkSelectionStatus();if(reactData.scrollYLoad){$xeTable.updateScrollYSpace();}if(evnt){$xeTable.dispatchEvent('row-dragend',{oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex,_index:{newIndex:nafIndex,oldIndex:oafIndex}},evnt);}return $xeTable.$nextTick().then(()=>{if(animation){const{tableData}=reactData;const{fullAllDataRowIdData}=internalData;const dragRowRest=fullAllDataRowIdData[dragRowid];const _newRowIndex=dragRowRest._index;const firstRow=tableData[0];const firstRowRest=fullAllDataRowIdData[getRowid($xeTable,firstRow)];let wrapperEl=el;if($xeGantt){const ganttContainerElem=$xeGantt.$refs.refGanttContainerElem;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}if(firstRowRest){const _firstRowIndex=firstRowRest._index;const _lastRowIndex=_firstRowIndex+tableData.length;let rsIndex=-1;let reIndex=-1;let offsetRate=1;if(_dragRowIndex<_firstRowIndex){// 从上往下虚拟拖拽
8275
+ const pafIndex=$xeTable.findRowIndexOf(afterFullData,prevDragRow);const ptfIndex=$xeTable.findRowIndexOf(tableFullData,prevDragRow);nafIndex=pafIndex+dragOffsetIndex;const ntfIndex=ptfIndex+dragOffsetIndex;afterFullData.splice(nafIndex,0,dragRow);tableFullData.splice(ntfIndex,0,dragRow);}$xeTable.handleClearStack();$xeTable.handleTableData(treeConfig&&transform);$xeTable.cacheRowMap(false);updateScrollYStatus($xeTable);if(!(treeConfig&&transform)){updateAfterDataIndex($xeTable);}$xeTable.checkSelectionStatus();if(reactData.scrollYLoad){$xeTable.updateScrollYSpace();}if(evnt){$xeTable.dispatchEvent('row-dragend',{oldRow:dragRow,newRow:prevDragRow,dragRow,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex,_index:{newIndex:nafIndex,oldIndex:oafIndex}},evnt);}return $xeTable.$nextTick().then(()=>{if(animation){const{tableData}=reactData;const{fullAllDataRowIdData}=internalData;const dragRowRest=fullAllDataRowIdData[dragRowid];const _newRowIndex=dragRowRest._index;const firstRow=tableData[0];const firstRowRest=fullAllDataRowIdData[getRowid($xeTable,firstRow)];let wrapperEl=el;if($xeGantt){const ganttContainerElem=$xeGantt.$refs.refGanttContainerElem;if(ganttContainerElem){wrapperEl=ganttContainerElem;}}if(firstRowRest){const _firstRowIndex=firstRowRest._index;const _lastRowIndex=_firstRowIndex+tableData.length;let rsIndex=-1;let reIndex=-1;let offsetRate=1;if(_dragRowIndex<_firstRowIndex){// 从上往下虚拟拖拽
8246
8276
  rsIndex=0;reIndex=_newRowIndex-_firstRowIndex;}else if(_dragRowIndex>_lastRowIndex){// 从下往上虚拟拖拽
8247
8277
  const $newRowIndex=dragRowRest.$index;rsIndex=$newRowIndex+1;reIndex=tableData.length;offsetRate=-1;}else{if(_newRowIndex>_dragRowIndex){// 从上往下拖拽
8248
8278
  rsIndex=_dragRowIndex-_firstRowIndex;reIndex=rsIndex+_newRowIndex-_dragRowIndex;}else{// 从下往上拖拽
@@ -8266,7 +8296,7 @@ if(!isCrossDrag){handleColDragEndClearStatus($xeTable);return Promise.resolve(er
8266
8296
  if(!isCrossDrag){handleColDragEndClearStatus($xeTable);return Promise.resolve(errRest);}if(oldAllMaps[newColumn.id]){isSelfToChildStatus=true;if(!(isCrossDrag&&isSelfToChildDrag)){if(core_.VxeUI.modal){core_.VxeUI.modal.message({status:'error',content:methods_getI18n('vxe.error.treeDragChild')});}handleColDragEndClearStatus($xeTable);return Promise.resolve(errRest);}}}else{// 根到根
8267
8297
  }const isDragToChildFlag=isSelfToChildDrag&&dragToChildMethod?dragToChildMethod(dragParams):prevDragToChild;return Promise.resolve(dragEndMethod?dragEndMethod(dragParams):true).then(status=>{if(!status){return errRest;}const oldewMatchRest=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(collectColumn,item=>item.id===dragColumn.id);// 改变层级
8268
8298
  if(isSelfToChildStatus&&isCrossDrag&&isSelfToChildDrag){if(oldewMatchRest){const{items:oCols,index:oIndex}=oldewMatchRest;const childList=dragColumn.children||[];childList.forEach(column=>{column.parentId=dragColumn.parentId;});oCols.splice(oIndex,1,...childList);dragColumn.children=[];}}else{if(oldewMatchRest){const{items:oCols,index:oIndex,parent:oParent}=oldewMatchRest;oCols.splice(oIndex,1);if(!oParent){oafIndex=oIndex;}}}const newMatchRest=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findTree(collectColumn,item=>item.id===newColumn.id);if(newMatchRest){const{items:nCols,index:nIndex,parent:nParent}=newMatchRest;// 转子级
8269
- if(isCrossDrag&&isToChildDrag&&isDragToChildFlag){dragColumn.parentId=newColumn.id;newColumn.children=(newColumn.children||[]).concat([dragColumn]);}else{dragColumn.parentId=newColumn.parentId;nCols.splice(nIndex+dragOffsetIndex,0,dragColumn);}if(!nParent){nafIndex=nIndex;}}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{if(!parentColumn){const sortIndex=index+1;column.renderSortNumber=sortIndex;}});if(mouseConfig){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}if(evnt){$xeTable.dispatchEvent('column-dragend',{oldColumn:dragColumn,newColumn,dragColumn,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex,_index:{newIndex:nafIndex,oldIndex:oafIndex}},evnt);}return $xeTable.$nextTick().then(()=>{if(isSyncColumn){return $xeTable.handleColDragSwapColumn();}}).then(()=>{if(animation){const{tableColumn}=reactData;const{visibleColumn,fullColumnIdData}=internalData;let dragNewColumn=null;const dragNewColMaps={};external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([dragColumn],column=>{if(!dragNewColumn&&(!column.children||!column.children.length)){dragNewColumn=column;}dragNewColMaps[column.id]=column;});if(!dragNewColumn){dragNewColumn=dragColumn;}if(dragColWidth&&dragAllTargetCols.length){const _newColIndex=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(visibleColumn,column=>!!dragNewColumn&&column.id===dragNewColumn.id);const firstCol=tableColumn[0];const firstColRest=fullColumnIdData[firstCol.id];if(firstColRest){const _firstColIndex=firstColRest._index;const _lastColIndex=_firstColIndex+tableColumn.length;let csIndex=-1;let ceIndex=-1;let offsetRate=1;if(_dragColIndex<_firstColIndex){// 从左往右虚拟拖拽
8299
+ if(isCrossDrag&&isToChildDrag&&isDragToChildFlag){dragColumn.parentId=newColumn.id;newColumn.children=(newColumn.children||[]).concat([dragColumn]);}else{dragColumn.parentId=newColumn.parentId;nCols.splice(nIndex+dragOffsetIndex,0,dragColumn);}if(!nParent){nafIndex=nIndex;}}external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree(collectColumn,(column,index,items,path,parentColumn)=>{if(!parentColumn){const sortIndex=index+1;column.renderSortNumber=sortIndex;}});$xeTable.handleClearStack();if(mouseConfig){if($xeTable.clearSelected){$xeTable.clearSelected();}if($xeTable.clearCellAreas){$xeTable.clearCellAreas();$xeTable.clearCopyCellArea();}}if(evnt){$xeTable.dispatchEvent('column-dragend',{oldColumn:dragColumn,newColumn,dragColumn,dragPos:prevDragPos,dragToChild:isDragToChildFlag,offsetIndex:dragOffsetIndex,_index:{newIndex:nafIndex,oldIndex:oafIndex}},evnt);}return $xeTable.$nextTick().then(()=>{if(isSyncColumn){return $xeTable.handleColDragSwapColumn();}}).then(()=>{if(animation){const{tableColumn}=reactData;const{visibleColumn,fullColumnIdData}=internalData;let dragNewColumn=null;const dragNewColMaps={};external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eachTree([dragColumn],column=>{if(!dragNewColumn&&(!column.children||!column.children.length)){dragNewColumn=column;}dragNewColMaps[column.id]=column;});if(!dragNewColumn){dragNewColumn=dragColumn;}if(dragColWidth&&dragAllTargetCols.length){const _newColIndex=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(visibleColumn,column=>!!dragNewColumn&&column.id===dragNewColumn.id);const firstCol=tableColumn[0];const firstColRest=fullColumnIdData[firstCol.id];if(firstColRest){const _firstColIndex=firstColRest._index;const _lastColIndex=_firstColIndex+tableColumn.length;let csIndex=-1;let ceIndex=-1;let offsetRate=1;if(_dragColIndex<_firstColIndex){// 从左往右虚拟拖拽
8270
8300
  csIndex=0;ceIndex=_newColIndex-_firstColIndex;}else if(_dragColIndex>_lastColIndex){// 从右往左虚拟拖拽
8271
8301
  const $newRowIndex=dragColRest.$index;csIndex=$newRowIndex+1;ceIndex=tableColumn.length;offsetRate=-1;}else{if(_newColIndex>_dragColIndex){// 从左往右拖拽
8272
8302
  csIndex=_dragColIndex-_firstColIndex;ceIndex=csIndex+_newColIndex-_dragColIndex;}else{// 从右往左拖拽
@@ -8416,19 +8446,19 @@ return $xeTable.removeMergeFooterCells(merges);},/**
8416
8446
  return $xeTable.getMergeFooterCells();},/**
8417
8447
  * 清除所有表尾合并
8418
8448
  */clearMergeFooterCells(){const $xeTable=this;const reactData=$xeTable;const internalData=$xeTable;internalData.mergeFooterList=[];internalData.mergeFooterMaps={};internalData.mergeFooterCellMaps={};internalData.mergeFooterRowMaps={};internalData.mergeFooterColMaps={};reactData.mergeFootFlag++;return $xeTable.$nextTick().then(()=>{return updateStyle($xeTable);});},clearMergeFooterItems(){const $xeTable=this;// errLog('vxe.error.delFunc', ['clearMergeFooterItems', 'clearMergeFooterCells'])
8419
- return $xeTable.clearMergeFooterCells();},handleUpdateAggData(){const $xeTable=this;const internalData=$xeTable;return loadTableData($xeTable,internalData.tableSynchData,false,true);},updateZindex(){if(this.zIndex){this.tZindex=this.zIndex;}else if(this.tZindex<getLastZIndex()){this.tZindex=nextZIndex();}},updateCellAreas(){const $xeTable=this;const props=$xeTable;const{mouseConfig}=props;const mouseOpts=$xeTable.computeMouseOpts;if(mouseConfig&&mouseOpts.area&&$xeTable.handleRecalculateCellAreaEvent){return $xeTable.handleRecalculateCellAreaEvent();}return $xeTable.$nextTick();},dispatchEvent(type,params,evnt){const $xeTable=this;const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;$xeTable.$emit(type,createEvent(evnt,{$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt},params));},// 已废弃,使用 dispatchEvent
8420
- emitEvent(type,params,evnt){const $xeTable=this;$xeTable.dispatchEvent(type,params,evnt);},focus(){this.isActivated=true;return this.$nextTick();},blur(){this.isActivated=false;return this.$nextTick();},/**
8449
+ return $xeTable.clearMergeFooterCells();},handleUpdateAggData(){const $xeTable=this;const internalData=$xeTable;return loadTableData($xeTable,internalData.tableSynchData,false,true);},handlePushStack(){const $xeTable=this;const internalData=$xeTable;const keyboardOpts=$xeTable.computeKeyboardOpts;if(!keyboardOpts.isUndoRedo){return;}const{stackHistoryStore}=internalData;const stackObj=getSnapshotStackData($xeTable);stackHistoryStore.undoStacks.push(stackObj);stackHistoryStore.redoStacks=[];truncateStackHistory($xeTable);},handleUndoStackEvent(evnt){const $xeTable=this;const internalData=$xeTable;const{stackHistoryStore}=internalData;const{undoStacks,redoStacks}=stackHistoryStore;if(undoStacks.length){const stackObj=getSnapshotStackData($xeTable);redoStacks.push(stackObj);handleUpdateSnapshotStackData($xeTable,undoStacks.pop());if(evnt){$xeTable.dispatchEvent('undo',{},evnt);}return $xeTable.$nextTick(()=>{return{status:true};});}return Promise.resolve({status:false});},handleRedoStackEvent(evnt){const $xeTable=this;const internalData=$xeTable;const{stackHistoryStore}=internalData;const{undoStacks,redoStacks}=stackHistoryStore;if(redoStacks.length){const stackObj=getSnapshotStackData($xeTable);undoStacks.push(stackObj);handleUpdateSnapshotStackData($xeTable,redoStacks.pop());if(evnt){$xeTable.dispatchEvent('redo',{},evnt);}return $xeTable.$nextTick(()=>{return{status:true};});}return Promise.resolve({status:false});},handleClearStack(){const $xeTable=this;const internalData=$xeTable;const{stackHistoryStore}=internalData;stackHistoryStore.undoStacks=[];stackHistoryStore.redoStacks=[];},updateZindex(){const $xeTable=this;const props=$xeTable;const internalData=$xeTable;if(props.zIndex){internalData.tZindex=props.zIndex;}else if(internalData.tZindex<getLastZIndex()){internalData.tZindex=nextZIndex();}},updateCellAreas(){const $xeTable=this;const props=$xeTable;const{mouseConfig}=props;const mouseOpts=$xeTable.computeMouseOpts;if(mouseConfig&&mouseOpts.area&&$xeTable.handleRecalculateCellAreaEvent){return $xeTable.handleRecalculateCellAreaEvent();}return $xeTable.$nextTick();},undo(){const $xeTable=this;return $xeTable.handleUndoStackEvent(null);},redo(){const $xeTable=this;return $xeTable.handleRedoStackEvent(null);},dispatchEvent(type,params,evnt){const $xeTable=this;const $xeGrid=$xeTable.$xeGrid;const $xeGantt=$xeTable.$xeGantt;$xeTable.$emit(type,createEvent(evnt,{$table:$xeTable,$grid:$xeGrid,$gantt:$xeGantt},params));},// 已废弃,使用 dispatchEvent
8450
+ emitEvent(type,params,evnt){const $xeTable=this;$xeTable.dispatchEvent(type,params,evnt);},focus(){const $xeTable=this;const internalData=$xeTable;internalData.isActivated=true;return $xeTable.$nextTick();},blur(){const $xeTable=this;const internalData=$xeTable;internalData.isActivated=false;return $xeTable.$nextTick();},/**
8421
8451
  * 已废弃,被 connectToolbar 替换
8422
8452
  * @deprecated
8423
- */connect($toolbar){return this.connectToolbar($toolbar);},/**
8453
+ */connect($toolbar){const $xeTable=this;return $xeTable.connectToolbar($toolbar);},/**
8424
8454
  * 连接工具栏
8425
8455
  * @param $toolbar
8426
- */connectToolbar($toolbar){const $xeTable=this;if($toolbar&&$toolbar.syncUpdate){$toolbar.syncUpdate({collectColumn:this.collectColumn,$table:$xeTable});this.$toolbar=$toolbar;}else{errLog('vxe.error.barUnableLink');}return this.$nextTick();},handleConnectGanttView($ganttView){const $xeTable=this;const internalData=$xeTable;if($ganttView&&$ganttView.connectUpdate){$ganttView.connectUpdate({$table:$xeTable});internalData.xeGanttView=$ganttView;}return $xeTable.$nextTick();},/*************************
8456
+ */connectToolbar($toolbar){const $xeTable=this;const internalData=$xeTable;if($toolbar&&$toolbar.syncUpdate){$toolbar.syncUpdate({collectColumn:internalData.collectColumn,$table:$xeTable});this.$toolbar=$toolbar;}else{errLog('vxe.error.barUnableLink');}return $xeTable.$nextTick();},handleConnectGanttView($ganttView){const $xeTable=this;const internalData=$xeTable;if($ganttView&&$ganttView.connectUpdate){$ganttView.connectUpdate({$table:$xeTable});internalData.xeGanttView=$ganttView;}return $xeTable.$nextTick();},/*************************
8427
8457
  * Publish methods
8428
8458
  *************************//**
8429
8459
  * 已废弃,被 getCellElement 替换
8430
8460
  * @deprecated
8431
- */getCell(row,column){return this.getCellElement(row,column);},findRowIndexOf(list,row){return row?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(list,item=>this.eqRow(item,row)):-1;},eqRow(row1,row2){if(row1&&row2){if(row1===row2){return true;}return getRowid(this,row1)===getRowid(this,row2);}return false;},/*************************
8461
+ */getCell(row,column){const $xeTable=this;return $xeTable.getCellElement(row,column);},findRowIndexOf(list,row){return row?external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().findIndexOf(list,item=>this.eqRow(item,row)):-1;},eqRow(row1,row2){const $xeTable=this;if(row1&&row2){if(row1===row2){return true;}return getRowid($xeTable,row1)===getRowid($xeTable,row2);}return false;},/*************************
8432
8462
  * Publish methods
8433
8463
  *************************/getSetupOptions(){return methods_getConfig();}};const tablePrivateMethods={};const exportMethods=Object.assign({},tableMethods,tablePrivateMethods);// Module methods
8434
8464
  const funcs='setFilter,openFilter,clearFilter,saveFilter,saveFilterByEvent,resetFilter,resetFilterByEvent,saveFilterPanel,saveFilterPanelByEvent,resetFilterPanel,resetFilterPanelByEvent,getCheckedFilters,updateFilterOptionStatus,closeMenu,setActiveCellArea,getActiveCellArea,getCellAreas,clearCellAreas,copyCellArea,cutCellArea,pasteCellArea,getCopyCellArea,getCopyCellAreas,clearCopyCellArea,setCellAreas,openFNR,openFind,openReplace,closeFNR,getSelectedCell,clearSelected,insert,insertAt,insertNextAt,insertChild,insertChildAt,insertChildNextAt,remove,removeCheckboxRow,removeRadioRow,removeCurrentRow,getRecordset,getInsertRecords,getRemoveRecords,getUpdateRecords,clearEdit,clearActived,getEditRecord,getEditCell,getActiveRecord,isEditByRow,isActiveByRow,setEditRow,setActiveRow,setEditCell,setActiveCell,setSelectCell,clearValidate,fullValidate,validate,fullValidateField,validateField,openExport,closeExport,openPrint,closePrint,getPrintHtml,exportData,openImport,closeImport,importData,saveFile,readFile,importByFile,print,getCustomVisible,openCustom,closeCustom,toggleCustom,saveCustom,cancelCustom,resetCustom,toggleCustomAllCheckbox,setCustomAllCheckbox'.split(',');funcs.forEach(name=>{exportMethods[name]=function(...args){// if (!this[`_${name}`]) {
@@ -13854,7 +13884,7 @@ const mixin_sourceType = 'table';
13854
13884
  const {
13855
13885
  menus: mixin_menus,
13856
13886
  globalEvents: mixin_globalEvents,
13857
- GLOBAL_EVENT_KEYS
13887
+ GLOBAL_EVENT_KEYS: mixin_GLOBAL_EVENT_KEYS
13858
13888
  } = core_.VxeUI;
13859
13889
  /* harmony default export */ var menu_mixin = ({
13860
13890
  methods: {
@@ -13884,7 +13914,7 @@ const {
13884
13914
  ctxMenuStore.showChild = false;
13885
13915
  ctxMenuStore.selectChild = null;
13886
13916
  }
13887
- } else if (mixin_globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP)) {
13917
+ } else if (mixin_globalEvents.hasKey(evnt, mixin_GLOBAL_EVENT_KEYS.ARROW_UP)) {
13888
13918
  for (let len = selectIndex - 1; len >= 0; len--) {
13889
13919
  if (menuList[len].visible !== false) {
13890
13920
  selectItem = menuList[len];
@@ -13892,7 +13922,7 @@ const {
13892
13922
  }
13893
13923
  }
13894
13924
  ctxMenuStore[property] = selectItem || menuList[menuList.length - 1];
13895
- } else if (mixin_globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN)) {
13925
+ } else if (mixin_globalEvents.hasKey(evnt, mixin_GLOBAL_EVENT_KEYS.ARROW_DOWN)) {
13896
13926
  for (let index = selectIndex + 1; index < menuList.length; index++) {
13897
13927
  if (menuList[index].visible !== false) {
13898
13928
  selectItem = menuList[index];
@@ -13900,7 +13930,7 @@ const {
13900
13930
  }
13901
13931
  }
13902
13932
  ctxMenuStore[property] = selectItem || menuList[0];
13903
- } else if (ctxMenuStore[property] && (mixin_globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ENTER) || mixin_globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.SPACEBAR))) {
13933
+ } else if (ctxMenuStore[property] && (mixin_globalEvents.hasKey(evnt, mixin_GLOBAL_EVENT_KEYS.ENTER) || mixin_globalEvents.hasKey(evnt, mixin_GLOBAL_EVENT_KEYS.SPACEBAR))) {
13904
13934
  $xeTable.ctxMenuLinkEvent(evnt, ctxMenuStore[property]);
13905
13935
  }
13906
13936
  },
@@ -14301,7 +14331,7 @@ function syncActivedCell($xeTable) {
14301
14331
  row,
14302
14332
  column
14303
14333
  } = actived;
14304
- if (row || column) {
14334
+ if (row && column) {
14305
14335
  if (editOpts.mode === 'row') {
14306
14336
  tableColumn.forEach(column => setEditColumnModel(row, column));
14307
14337
  } else {
@@ -14393,6 +14423,7 @@ function insertTreeRow($xeTable, newRecords, isAppend) {
14393
14423
  fullAllDataRowIdData[rowid] = rest;
14394
14424
  }
14395
14425
  });
14426
+ $xeTable.handleClearStack();
14396
14427
  }
14397
14428
  // function insertGroupRow ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, newRecords: any[], isAppend: boolean) {
14398
14429
  // }
@@ -14491,6 +14522,7 @@ function handleInsertRowAt($xeTable, records, targetRowOrRowid, isInsertNextRow)
14491
14522
  mergeItem.row = mergeRowIndex + newRecords.length;
14492
14523
  }
14493
14524
  });
14525
+ $xeTable.handleClearStack();
14494
14526
  }
14495
14527
  } else {
14496
14528
  if (targetRow === -1) {
@@ -14529,6 +14561,7 @@ function handleInsertRowAt($xeTable, records, targetRowOrRowid, isInsertNextRow)
14529
14561
  afterFullData.push(item);
14530
14562
  tableFullData.push(item);
14531
14563
  });
14564
+ $xeTable.handleClearStack();
14532
14565
  }
14533
14566
  } else {
14534
14567
  // 如果为虚拟树
@@ -14604,6 +14637,7 @@ function handleInsertRowAt($xeTable, records, targetRowOrRowid, isInsertNextRow)
14604
14637
  parentChilds.splice(targetIndex, 0, ...treeRecords);
14605
14638
  }
14606
14639
  }
14640
+ $xeTable.handleClearStack();
14607
14641
  } else {
14608
14642
  warnLog('vxe.error.unableInsert');
14609
14643
  insertTreeRow($xeTable, newRecords, true);
@@ -14653,6 +14687,7 @@ function handleInsertRowAt($xeTable, records, targetRowOrRowid, isInsertNextRow)
14653
14687
  mergeItem.rowspan = mergeRowspan + newRecords.length;
14654
14688
  }
14655
14689
  });
14690
+ $xeTable.handleClearStack();
14656
14691
  }
14657
14692
  }
14658
14693
  }
@@ -14756,10 +14791,10 @@ function handleClearEdit($xeTable, evnt, targetRow) {
14756
14791
  return $xeTable.$nextTick();
14757
14792
  }
14758
14793
  syncActivedCell($xeTable);
14794
+ $xeTable.updateFooter();
14759
14795
  actived.args = null;
14760
14796
  actived.row = null;
14761
14797
  actived.column = null;
14762
- $xeTable.updateFooter();
14763
14798
  $xeTable.dispatchEvent('edit-closed', {
14764
14799
  row,
14765
14800
  rowIndex: $xeTable.getRowIndex(row),
@@ -14780,7 +14815,7 @@ function handleClearEdit($xeTable, evnt, targetRow) {
14780
14815
  }
14781
14816
  return $xeTable.$nextTick().then(() => $xeTable.updateCellAreas());
14782
14817
  }
14783
- function handleEditActive($xeTable, params, evnt, isFocus, isPos) {
14818
+ function handleEditActive($xeTable, params, evnt, options) {
14784
14819
  const props = $xeTable;
14785
14820
  const reactData = $xeTable;
14786
14821
  const $xeGrid = $xeTable.$xeGrid;
@@ -14807,6 +14842,11 @@ function handleEditActive($xeTable, params, evnt, isFocus, isPos) {
14807
14842
  const {
14808
14843
  editRender
14809
14844
  } = column;
14845
+ const {
14846
+ isFocus,
14847
+ isPos,
14848
+ isClear
14849
+ } = options;
14810
14850
  const cell = params.cell || $xeTable.getCellElement(row, column);
14811
14851
  const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
14812
14852
  params.cell = cell;
@@ -14837,6 +14877,10 @@ function handleEditActive($xeTable, params, evnt, isFocus, isPos) {
14837
14877
  actived.args = params;
14838
14878
  actived.row = row;
14839
14879
  actived.column = column;
14880
+ $xeTable.handlePushStack();
14881
+ if (isClear) {
14882
+ setCellValue(row, column, null);
14883
+ }
14840
14884
  if (mode === 'row') {
14841
14885
  tableColumn.forEach(column => getEditColumnModel(row, column));
14842
14886
  } else {
@@ -14886,7 +14930,7 @@ function handleEditActive($xeTable, params, evnt, isFocus, isPos) {
14886
14930
  $xeTable.clearCopyCellArea();
14887
14931
  }
14888
14932
  }
14889
- if (oldColumn !== column) {
14933
+ if (oldColumn && oldColumn !== column) {
14890
14934
  const {
14891
14935
  model: oldModel
14892
14936
  } = oldColumn;
@@ -14913,12 +14957,15 @@ function handleEditActive($xeTable, params, evnt, isFocus, isPos) {
14913
14957
  }
14914
14958
  return $xeTable.$nextTick();
14915
14959
  }
14916
- function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
14960
+ function handleEditCell($xeTable, row, fieldOrColumn, options) {
14917
14961
  const props = $xeTable;
14918
14962
  const internalData = $xeTable;
14919
14963
  const {
14920
14964
  editConfig
14921
14965
  } = props;
14966
+ const {
14967
+ isPos
14968
+ } = options;
14922
14969
  const column = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
14923
14970
  if (row && column && isEnableConf(editConfig) && isEnableConf(column.editRender) && !$xeTable.isAggregateRecord(row)) {
14924
14971
  return Promise.resolve(isPos ? $xeTable.scrollToRow(row, column) : null).then(() => {
@@ -14931,7 +14978,7 @@ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
14931
14978
  columnIndex: $xeTable.getColumnIndex(column),
14932
14979
  cell,
14933
14980
  $table: $xeTable
14934
- }, null, isPos, isPos);
14981
+ }, null, options);
14935
14982
  internalData._lastCallTime = Date.now();
14936
14983
  }
14937
14984
  return $xeTable.$nextTick();
@@ -15110,6 +15157,7 @@ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
15110
15157
  reactData.removeRowFlag++;
15111
15158
  reactData.insertRowFlag++;
15112
15159
  reactData.pendingRowFlag++;
15160
+ $xeTable.handleClearStack();
15113
15161
  $xeTable.cacheRowMap(false);
15114
15162
  $xeTable.handleTableData(treeConfig && transform);
15115
15163
  $xeTable.updateFooter();
@@ -15244,9 +15292,12 @@ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
15244
15292
  /**
15245
15293
  * 处理激活编辑
15246
15294
  */
15247
- handleEdit(params, evnt) {
15295
+ handleEdit(params, evnt, options) {
15248
15296
  const $xeTable = this;
15249
- return handleEditActive($xeTable, params, evnt, true, true);
15297
+ return handleEditActive($xeTable, params, evnt, Object.assign({
15298
+ isFocus: true,
15299
+ isPos: true
15300
+ }, options));
15250
15301
  },
15251
15302
  /**
15252
15303
  * @deprecated
@@ -15440,7 +15491,7 @@ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
15440
15491
  /**
15441
15492
  * 激活行编辑
15442
15493
  */
15443
- _setEditRow(row, fieldOrColumn) {
15494
+ _setEditRow(row, fieldOrColumn, options) {
15444
15495
  const $xeTable = this;
15445
15496
  const internalData = $xeTable;
15446
15497
  const {
@@ -15454,7 +15505,10 @@ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
15454
15505
  column = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
15455
15506
  }
15456
15507
  }
15457
- return handleEditCell($xeTable, row, column, isPos);
15508
+ return handleEditCell($xeTable, row, column, Object.assign({
15509
+ isPos,
15510
+ isFocus: isPos
15511
+ }, options));
15458
15512
  },
15459
15513
  _setActiveCell(row, fieldOrColumn) {
15460
15514
  const $xeTable = this;
@@ -15465,9 +15519,12 @@ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
15465
15519
  /**
15466
15520
  * 激活单元格编辑
15467
15521
  */
15468
- _setEditCell(row, fieldOrColumn) {
15522
+ _setEditCell(row, fieldOrColumn, options) {
15469
15523
  const $xeTable = this;
15470
- return handleEditCell($xeTable, row, fieldOrColumn, true);
15524
+ return handleEditCell($xeTable, row, fieldOrColumn, Object.assign({
15525
+ isFocus: true,
15526
+ isPos: true
15527
+ }, options));
15471
15528
  },
15472
15529
  /**
15473
15530
  * 只对 trigger=dblclick 有效,选中单元格
@@ -18084,8 +18141,8 @@ function handleCheckboxRangeEvent($xeTable, evnt, params) {
18084
18141
  const checkboxOpts = $xeTable.computeCheckboxOpts;
18085
18142
  const mouseOpts = $xeTable.computeMouseOpts;
18086
18143
  const editOpts = $xeTable.computeEditOpts;
18087
- if (mouseConfig && mouseOpts.area && $xeTable.triggerClAreaModnEvent) {
18088
- return $xeTable.triggerClAreaModnEvent(evnt, params);
18144
+ if (mouseConfig && mouseOpts.area && $xeTable.triggerCelllAreaMnEvent) {
18145
+ return $xeTable.triggerCelllAreaMnEvent(evnt, params);
18089
18146
  } else {
18090
18147
  if (checkboxConfig && checkboxOpts.range) {
18091
18148
  handleCheckboxRangeEvent($xeTable, evnt, params);
@@ -20841,10 +20898,10 @@ function renderBody(h, $xeTable) {
20841
20898
  }
20842
20899
  return [];
20843
20900
  },
20844
- computeUndoHistoryOpts() {
20901
+ computeUndoRedoHistoryOpts() {
20845
20902
  const $xeTable = this;
20846
20903
  const props = $xeTable;
20847
- return Object.assign({}, table_getConfig().table.undoHistoryConfig, props.undoHistoryConfig);
20904
+ return Object.assign({}, table_getConfig().table.undoRedoHistoryConfig, props.undoRedoHistoryConfig);
20848
20905
  },
20849
20906
  tabsResizeFlag() {
20850
20907
  const $xeTable = this;
@@ -21040,10 +21097,12 @@ function renderBody(h, $xeTable) {
21040
21097
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, createInternalData());
21041
21098
  handleKeyField($xeTable);
21042
21099
  const {
21100
+ editConfig,
21043
21101
  exportConfig,
21044
21102
  importConfig,
21045
21103
  treeConfig,
21046
- minHeight
21104
+ minHeight,
21105
+ keepSource
21047
21106
  } = props;
21048
21107
  const {
21049
21108
  scrollXStore,
@@ -21084,8 +21143,15 @@ function renderBody(h, $xeTable) {
21084
21143
  if (!(props.rowId || rowOpts.keyField) && (checkboxOpts.reserve || checkboxOpts.checkRowKeys || radioOpts.reserve || radioOpts.checkRowKey || expandOpts.expandRowKeys || treeOpts.expandRowKeys)) {
21085
21144
  warnLog('vxe.error.reqProp', ['row-config.keyField']);
21086
21145
  }
21087
- if (props.editConfig && editOpts.showStatus && !props.keepSource) {
21088
- warnLog('vxe.error.reqProp', ['keep-source']);
21146
+ if (editConfig) {
21147
+ if (!keepSource) {
21148
+ if (editOpts.showStatus || editOpts.showUpdateStatus || editOpts.showInsertStatus) {
21149
+ warnLog('vxe.error.reqSupportProp', ['edit-config.showStatus | showUpdateStatus | showInsertStatus', 'keep-source']);
21150
+ }
21151
+ // if (keyboardOpts.isUndoRedo) {
21152
+ // warnLog('vxe.error.reqSupportProp', ['keyboard-config.isUndoRedo', 'keep-source'])
21153
+ // }
21154
+ }
21089
21155
  }
21090
21156
  // if (treeConfig && (treeOpts.showLine || treeOpts.line) && !showOverflow) {
21091
21157
  // warnLog('vxe.error.reqProp', ['show-overflow'])
@@ -21158,7 +21224,7 @@ function renderBody(h, $xeTable) {
21158
21224
  if (rowOpts.height && !this.showOverflow) {
21159
21225
  warnLog('vxe.error.notProp', ['table.show-overflow']);
21160
21226
  }
21161
- if (!$xeTable.triggerClAreaModnEvent) {
21227
+ if (!$xeTable.triggerCelllAreaMnEvent) {
21162
21228
  if (props.areaConfig) {
21163
21229
  warnLog('vxe.error.notProp', ['area-config']);
21164
21230
  }
@@ -22034,10 +22100,11 @@ function toolbar_createInternalData() {
22034
22100
  }, params));
22035
22101
  },
22036
22102
  fintTable() {
22103
+ const $xeToolbar = this;
22037
22104
  const {
22038
22105
  $children
22039
22106
  } = this.$parent;
22040
- const selfIndex = $children.indexOf(this);
22107
+ const selfIndex = $children.indexOf($xeToolbar);
22041
22108
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().find($children, (comp, index) => comp && comp.loadData && index > selfIndex && comp.$vnode.componentOptions.tag === 'vxe-table');
22042
22109
  },
22043
22110
  syncUpdate(params) {
@@ -22738,7 +22805,7 @@ function toolbar_createInternalData() {
22738
22805
  warnLog('vxe.error.delProp', ['[toolbar] zoom={...}', 'zoom=boolean & zoom-options={...}']);
22739
22806
  }
22740
22807
  if ($xeTable) {
22741
- $xeTable.connect(this);
22808
+ $xeTable.connect($xeToolbar);
22742
22809
  }
22743
22810
  const customOpts = $xeToolbar.computeCustomOpts;
22744
22811
  if (customOpts.isFooter) {