vxe-table 3.20.13 → 3.21.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) 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 +6 -3
  6. package/es/table/src/group.js +6 -3
  7. package/es/table/src/methods.js +365 -165
  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/ui/index.js +3 -3
  12. package/es/ui/src/dom.js +4 -0
  13. package/es/ui/src/log.js +1 -1
  14. package/lib/index.umd.js +364 -302
  15. package/lib/index.umd.min.js +1 -1
  16. package/lib/style.css +1 -1
  17. package/lib/table/module/edit/mixin.js +39 -12
  18. package/lib/table/module/edit/mixin.min.js +1 -1
  19. package/lib/table/module/keyboard/mixin.js +2 -2
  20. package/lib/table/module/keyboard/mixin.min.js +1 -1
  21. package/lib/table/src/cell.js +3 -3
  22. package/lib/table/src/column.js +6 -3
  23. package/lib/table/src/column.min.js +1 -1
  24. package/lib/table/src/group.js +6 -3
  25. package/lib/table/src/group.min.js +1 -1
  26. package/lib/table/src/methods.js +35 -29
  27. package/lib/table/src/methods.min.js +1 -1
  28. package/lib/table/src/props.js +2 -2
  29. package/lib/table/src/props.min.js +1 -1
  30. package/lib/table/src/table.js +15 -6
  31. package/lib/table/src/table.min.js +1 -1
  32. package/lib/table/src/util.js +12 -3
  33. package/lib/table/src/util.min.js +1 -1
  34. package/lib/ui/index.js +3 -3
  35. package/lib/ui/index.min.js +1 -1
  36. package/lib/ui/src/dom.js +5 -0
  37. package/lib/ui/src/dom.min.js +1 -1
  38. package/lib/ui/src/log.js +1 -1
  39. package/lib/ui/src/log.min.js +1 -1
  40. package/package.json +3 -3
  41. package/packages/table/module/edit/mixin.ts +47 -12
  42. package/packages/table/module/keyboard/mixin.ts +2 -2
  43. package/packages/table/src/cell.ts +5 -5
  44. package/packages/table/src/column.ts +10 -7
  45. package/packages/table/src/group.ts +10 -6
  46. package/packages/table/src/methods.ts +376 -161
  47. package/packages/table/src/props.ts +3 -3
  48. package/packages/table/src/table.ts +13 -6
  49. package/packages/table/src/util.ts +16 -6
  50. package/packages/ui/index.ts +2 -2
  51. package/packages/ui/src/dom.ts +5 -0
  52. /package/es/{iconfont.1776926445391.ttf → iconfont.1777796331871.ttf} +0 -0
  53. /package/es/{iconfont.1776926445391.woff → iconfont.1777796331871.woff} +0 -0
  54. /package/es/{iconfont.1776926445391.woff2 → iconfont.1777796331871.woff2} +0 -0
  55. /package/lib/{iconfont.1776926445391.ttf → iconfont.1777796331871.ttf} +0 -0
  56. /package/lib/{iconfont.1776926445391.woff → iconfont.1777796331871.woff} +0 -0
  57. /package/lib/{iconfont.1776926445391.woff2 → iconfont.1777796331871.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.0";
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.0"}`;
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,8 +7111,10 @@ 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() {
7103
7120
  this.columnConfig.slots = this.$scopedSlots;
@@ -7138,8 +7155,9 @@ const Column = VxeColumn;
7138
7155
  name: 'VxeColgroup',
7139
7156
  props: columnProps,
7140
7157
  provide() {
7158
+ const $xeColgroup = this;
7141
7159
  return {
7142
- $xeColumn: this,
7160
+ $xeColumn: $xeColgroup,
7143
7161
  $xeGrid: null,
7144
7162
  $xeGantt: null
7145
7163
  };
@@ -7154,8 +7172,10 @@ const Column = VxeColumn;
7154
7172
  },
7155
7173
  watch: columnWatch,
7156
7174
  created() {
7175
+ const $xeColgroup = this;
7176
+ const props = $xeColgroup;
7157
7177
  const $xeTable = this.$xeTable;
7158
- this.columnConfig = this.createColumn($xeTable, this);
7178
+ this.columnConfig = cell.createColumn($xeTable, props);
7159
7179
  },
7160
7180
  mounted() {
7161
7181
  const {
@@ -7507,8 +7527,8 @@ const tableProps = {
7507
7527
  virtualYConfig: Object,
7508
7528
  // 滚动条配置项
7509
7529
  scrollbarConfig: Object,
7510
- // 可撤销配置项
7511
- undoHistoryConfig: Object,
7530
+ // 撤销/恢复历史配置项
7531
+ undoRedoHistoryConfig: Object,
7512
7532
  // (即将废弃)优化相关
7513
7533
  animat: {
7514
7534
  type: Boolean,
@@ -7585,7 +7605,7 @@ function getCrossTableDragRowInfo($xeTable) {
7585
7605
  return crossTableDragRowInfo;
7586
7606
  }
7587
7607
  ;// ./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;// 处理还原
7608
+ 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
7609
  if(isCustomResizable&&resizableData||isCustomSort&&sortData||isCustomVisible&&visibleData||isCustomFixed&&fixedData||isCustomAggGroup&&aggGroupData||isCustomAggFunc&&aggFuncData){const sortColMaps={};if(isCustomSort&&sortData){// 转换兼容老版本数据,即将废弃兼容
7590
7610
  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
7611
  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 +7614,7 @@ if(isCustomSort&&sortData){allCols.forEach(column=>{const colKey=column.getKey()
7594
7614
  */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
7615
  * 更新数据列的 Map
7596
7616
  * 牺牲数据组装的耗时,用来换取使用过程中的流畅
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,则总是启用
7617
+ */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
7618
  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
7619
  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
7620
  * 展开与收起树节点
@@ -7762,7 +7782,7 @@ treeData=external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils
7762
7782
  internalData.tableFullData=fullData;internalData.tableFullTreeData=isRGroup?[]:treeData;internalData.tableFullGroupData=isRGroup?treeData:[];// 缓存数据
7763
7783
  $xeTable.cacheRowMap(isReset);// 原始数据
7764
7784
  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;// 是否启用了虚拟滚动
7785
+ 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
7786
  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
7787
  // if (!rowOpts.height) {
7768
7788
  // const errColumn = internalData.tableFullColumn.find(column => column.showOverflow === false)
@@ -7820,7 +7840,11 @@ if(expandColumn&&rowExpandedMaps[rowid]){offsetTop+=rowRest.expandHeight||expand
7820
7840
  * 更新展开行样式
7821
7841
  */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
7842
  * 更新树连接线样式
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
7843
+ */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();}}/**
7844
+ * 生成快照数据
7845
+ */function getSnapshotStackData($xeTable){const reactData=$xeTable;const internalData=$xeTable;const{editStore}=reactData;const{afterFullData}=internalData;const{selected,actived}=editStore;const{row:selectRow,column:selectColumn}=selected;const{row:editRow,column:editColumn}=actived;const stackObj={selectActiveInfo:selectRow&&selectColumn?{rowid:getRowid($xeTable,selectRow),colid:selectColumn.id}:undefined,editActiveInfo:editRow&&editColumn?{rowid:getRowid($xeTable,editRow),colid:editColumn.id}:undefined,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;}/**
7846
+ * 刷新栈视图
7847
+ */function handleUpdateSnapshotStackData($xeTable,stackObj){const reactData=$xeTable;const internalData=$xeTable;const{editStore}=reactData;const{fullAllDataRowIdData,fullColumnIdData}=internalData;if(!stackObj){return;}const{visibleData,editActiveInfo,selectActiveInfo}=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();});}}}}const tableMethods={callSlot(slotFunc,params,h,vNodes){const $xeTable=this;// const slots = $xeTable.$scopedSlots
7824
7848
  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
7849
  // slotFunc = slots[slotFunc] || null
7826
7850
  // }
@@ -8074,38 +8098,40 @@ if(actived.row){const params=actived.args;this.handleClearEdit(evnt);// 如果
8074
8098
  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
8099
  * 全局键盘事件
8076
8100
  */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){// 如果配置了右键菜单; 支持方向键操作、回车
8101
+ 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
8102
  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
8103
  if($xeTable.closeMenu){$xeTable.closeMenu();}$xeTable.closeFilter();if(keyboardConfig&&keyboardOpts.isEsc){// 如果是激活编辑状态,则取消编辑
8080
8104
  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)){// 退出选中
8105
+ if(mouseOpts.selected){$xeTable.$nextTick(()=>$xeTable.handleSelected(params,evnt));}}}}else if(keyboardConfig&&isSpacebar&&keyboardOpts.isChecked&&selected.row&&selectColumn&&(selectColumn.type==='checkbox'||selectColumn.type==='radio')){// 空格键支持选中复选框
8106
+ 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 键
8107
+ if(selected.row&&selectColumn){evnt.preventDefault();$xeTable.handleEdit(selected.args,evnt);}}}else if(isContextMenu){// 如果按下上下文键
8108
+ 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
8109
  if(isControlKey){// 如果是激活编辑状态,则取消编辑
8086
8110
  if(actived.row){const params=actived.args;$xeTable.handleClearEdit(evnt);// 如果配置了选中功能,则为选中状态
8087
8111
  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键,自动追加一行
8112
+ 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
8113
  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){// 如果是树形表格当前行回车移动到子节点
8114
+ 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
8115
  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{// 当前行按键上下移动
8116
+ if(mouseOpts.selected&&selected.row&&selectColumn){$xeTable.moveArrowSelected(selected.args,isLeftArrow,isUpArrow,isRightArrow,isDwArrow,evnt);}else{// 当前行按键上下移动
8093
8117
  if((isUpArrow||isDwArrow)&&(rowOpts.isCurrent||highlightCurrentRow)){$xeTable.moveCurrentRow(isUpArrow,isDwArrow,evnt);}// 当前行按键左右移动
8094
8118
  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;// 启用编辑后,空格键功能将失效
8119
+ 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键,自动追加一行
8120
+ 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)){// 如果是删除键
8121
+ 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};// 是否被禁用
8122
+ 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 键,更新表尾数据
8123
+ $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;// 如果是删除键
8124
+ 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};// 是否被禁用
8125
+ 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){// 如果树形表格回退键关闭当前行返回父节点
8126
+ 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
8127
+ evnt.preventDefault();$xeTable.handleRedoStackEvent(evnt);}else if(isZ){// ‌撤销上一步操作‌:Ctrl + Z
8128
+ 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
8129
  // if (isSpacebar) {
8105
8130
  // evnt.preventDefault()
8106
8131
  // }
8107
8132
  // 如果是按下非功能键之外允许直接编辑
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++;},/**
8133
+ 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;// 追加方式与覆盖式
8134
+ 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
8135
  * 处理合并
8110
8136
  */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
8137
  * 触发表头 tooltip 事件
@@ -8242,7 +8268,7 @@ const otfIndex=$xeTable.findRowIndexOf(fullList,dragRow);fullList.splice(otfInde
8242
8268
  const ptfIndex=$xeTable.findRowIndexOf(fullList,prevDragRow);const ntfIndex=ptfIndex+dragOffsetIndex;fullList.splice(ntfIndex,0,dragRow);// 改变层级
8243
8269
  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
8270
  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){// 从上往下虚拟拖拽
8271
+ 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
8272
  rsIndex=0;reIndex=_newRowIndex-_firstRowIndex;}else if(_dragRowIndex>_lastRowIndex){// 从下往上虚拟拖拽
8247
8273
  const $newRowIndex=dragRowRest.$index;rsIndex=$newRowIndex+1;reIndex=tableData.length;offsetRate=-1;}else{if(_newRowIndex>_dragRowIndex){// 从上往下拖拽
8248
8274
  rsIndex=_dragRowIndex-_firstRowIndex;reIndex=rsIndex+_newRowIndex-_dragRowIndex;}else{// 从下往上拖拽
@@ -8266,7 +8292,7 @@ if(!isCrossDrag){handleColDragEndClearStatus($xeTable);return Promise.resolve(er
8266
8292
  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
8293
  }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
8294
  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){// 从左往右虚拟拖拽
8295
+ 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
8296
  csIndex=0;ceIndex=_newColIndex-_firstColIndex;}else if(_dragColIndex>_lastColIndex){// 从右往左虚拟拖拽
8271
8297
  const $newRowIndex=dragColRest.$index;csIndex=$newRowIndex+1;ceIndex=tableColumn.length;offsetRate=-1;}else{if(_newColIndex>_dragColIndex){// 从左往右拖拽
8272
8298
  csIndex=_dragColIndex-_firstColIndex;ceIndex=csIndex+_newColIndex-_dragColIndex;}else{// 从右往左拖拽
@@ -8416,19 +8442,19 @@ return $xeTable.removeMergeFooterCells(merges);},/**
8416
8442
  return $xeTable.getMergeFooterCells();},/**
8417
8443
  * 清除所有表尾合并
8418
8444
  */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();},/**
8445
+ 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
8446
+ 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
8447
  * 已废弃,被 connectToolbar 替换
8422
8448
  * @deprecated
8423
- */connect($toolbar){return this.connectToolbar($toolbar);},/**
8449
+ */connect($toolbar){const $xeTable=this;return $xeTable.connectToolbar($toolbar);},/**
8424
8450
  * 连接工具栏
8425
8451
  * @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();},/*************************
8452
+ */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
8453
  * Publish methods
8428
8454
  *************************//**
8429
8455
  * 已废弃,被 getCellElement 替换
8430
8456
  * @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;},/*************************
8457
+ */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
8458
  * Publish methods
8433
8459
  *************************/getSetupOptions(){return methods_getConfig();}};const tablePrivateMethods={};const exportMethods=Object.assign({},tableMethods,tablePrivateMethods);// Module methods
8434
8460
  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 +13880,7 @@ const mixin_sourceType = 'table';
13854
13880
  const {
13855
13881
  menus: mixin_menus,
13856
13882
  globalEvents: mixin_globalEvents,
13857
- GLOBAL_EVENT_KEYS
13883
+ GLOBAL_EVENT_KEYS: mixin_GLOBAL_EVENT_KEYS
13858
13884
  } = core_.VxeUI;
13859
13885
  /* harmony default export */ var menu_mixin = ({
13860
13886
  methods: {
@@ -13884,7 +13910,7 @@ const {
13884
13910
  ctxMenuStore.showChild = false;
13885
13911
  ctxMenuStore.selectChild = null;
13886
13912
  }
13887
- } else if (mixin_globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_UP)) {
13913
+ } else if (mixin_globalEvents.hasKey(evnt, mixin_GLOBAL_EVENT_KEYS.ARROW_UP)) {
13888
13914
  for (let len = selectIndex - 1; len >= 0; len--) {
13889
13915
  if (menuList[len].visible !== false) {
13890
13916
  selectItem = menuList[len];
@@ -13892,7 +13918,7 @@ const {
13892
13918
  }
13893
13919
  }
13894
13920
  ctxMenuStore[property] = selectItem || menuList[menuList.length - 1];
13895
- } else if (mixin_globalEvents.hasKey(evnt, GLOBAL_EVENT_KEYS.ARROW_DOWN)) {
13921
+ } else if (mixin_globalEvents.hasKey(evnt, mixin_GLOBAL_EVENT_KEYS.ARROW_DOWN)) {
13896
13922
  for (let index = selectIndex + 1; index < menuList.length; index++) {
13897
13923
  if (menuList[index].visible !== false) {
13898
13924
  selectItem = menuList[index];
@@ -13900,7 +13926,7 @@ const {
13900
13926
  }
13901
13927
  }
13902
13928
  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))) {
13929
+ } else if (ctxMenuStore[property] && (mixin_globalEvents.hasKey(evnt, mixin_GLOBAL_EVENT_KEYS.ENTER) || mixin_globalEvents.hasKey(evnt, mixin_GLOBAL_EVENT_KEYS.SPACEBAR))) {
13904
13930
  $xeTable.ctxMenuLinkEvent(evnt, ctxMenuStore[property]);
13905
13931
  }
13906
13932
  },
@@ -14301,7 +14327,7 @@ function syncActivedCell($xeTable) {
14301
14327
  row,
14302
14328
  column
14303
14329
  } = actived;
14304
- if (row || column) {
14330
+ if (row && column) {
14305
14331
  if (editOpts.mode === 'row') {
14306
14332
  tableColumn.forEach(column => setEditColumnModel(row, column));
14307
14333
  } else {
@@ -14393,6 +14419,7 @@ function insertTreeRow($xeTable, newRecords, isAppend) {
14393
14419
  fullAllDataRowIdData[rowid] = rest;
14394
14420
  }
14395
14421
  });
14422
+ $xeTable.handleClearStack();
14396
14423
  }
14397
14424
  // function insertGroupRow ($xeTable: VxeTableConstructor & VxeTablePrivateMethods, newRecords: any[], isAppend: boolean) {
14398
14425
  // }
@@ -14491,6 +14518,7 @@ function handleInsertRowAt($xeTable, records, targetRowOrRowid, isInsertNextRow)
14491
14518
  mergeItem.row = mergeRowIndex + newRecords.length;
14492
14519
  }
14493
14520
  });
14521
+ $xeTable.handleClearStack();
14494
14522
  }
14495
14523
  } else {
14496
14524
  if (targetRow === -1) {
@@ -14529,6 +14557,7 @@ function handleInsertRowAt($xeTable, records, targetRowOrRowid, isInsertNextRow)
14529
14557
  afterFullData.push(item);
14530
14558
  tableFullData.push(item);
14531
14559
  });
14560
+ $xeTable.handleClearStack();
14532
14561
  }
14533
14562
  } else {
14534
14563
  // 如果为虚拟树
@@ -14604,6 +14633,7 @@ function handleInsertRowAt($xeTable, records, targetRowOrRowid, isInsertNextRow)
14604
14633
  parentChilds.splice(targetIndex, 0, ...treeRecords);
14605
14634
  }
14606
14635
  }
14636
+ $xeTable.handleClearStack();
14607
14637
  } else {
14608
14638
  warnLog('vxe.error.unableInsert');
14609
14639
  insertTreeRow($xeTable, newRecords, true);
@@ -14653,6 +14683,7 @@ function handleInsertRowAt($xeTable, records, targetRowOrRowid, isInsertNextRow)
14653
14683
  mergeItem.rowspan = mergeRowspan + newRecords.length;
14654
14684
  }
14655
14685
  });
14686
+ $xeTable.handleClearStack();
14656
14687
  }
14657
14688
  }
14658
14689
  }
@@ -14756,10 +14787,10 @@ function handleClearEdit($xeTable, evnt, targetRow) {
14756
14787
  return $xeTable.$nextTick();
14757
14788
  }
14758
14789
  syncActivedCell($xeTable);
14790
+ $xeTable.updateFooter();
14759
14791
  actived.args = null;
14760
14792
  actived.row = null;
14761
14793
  actived.column = null;
14762
- $xeTable.updateFooter();
14763
14794
  $xeTable.dispatchEvent('edit-closed', {
14764
14795
  row,
14765
14796
  rowIndex: $xeTable.getRowIndex(row),
@@ -14780,7 +14811,7 @@ function handleClearEdit($xeTable, evnt, targetRow) {
14780
14811
  }
14781
14812
  return $xeTable.$nextTick().then(() => $xeTable.updateCellAreas());
14782
14813
  }
14783
- function handleEditActive($xeTable, params, evnt, isFocus, isPos) {
14814
+ function handleEditActive($xeTable, params, evnt, options) {
14784
14815
  const props = $xeTable;
14785
14816
  const reactData = $xeTable;
14786
14817
  const $xeGrid = $xeTable.$xeGrid;
@@ -14807,6 +14838,11 @@ function handleEditActive($xeTable, params, evnt, isFocus, isPos) {
14807
14838
  const {
14808
14839
  editRender
14809
14840
  } = column;
14841
+ const {
14842
+ isFocus,
14843
+ isPos,
14844
+ isClear
14845
+ } = options;
14810
14846
  const cell = params.cell || $xeTable.getCellElement(row, column);
14811
14847
  const beforeEditMethod = editOpts.beforeEditMethod || editOpts.activeMethod;
14812
14848
  params.cell = cell;
@@ -14837,6 +14873,10 @@ function handleEditActive($xeTable, params, evnt, isFocus, isPos) {
14837
14873
  actived.args = params;
14838
14874
  actived.row = row;
14839
14875
  actived.column = column;
14876
+ $xeTable.handlePushStack();
14877
+ if (isClear) {
14878
+ setCellValue(row, column, null);
14879
+ }
14840
14880
  if (mode === 'row') {
14841
14881
  tableColumn.forEach(column => getEditColumnModel(row, column));
14842
14882
  } else {
@@ -14886,7 +14926,7 @@ function handleEditActive($xeTable, params, evnt, isFocus, isPos) {
14886
14926
  $xeTable.clearCopyCellArea();
14887
14927
  }
14888
14928
  }
14889
- if (oldColumn !== column) {
14929
+ if (oldColumn && oldColumn !== column) {
14890
14930
  const {
14891
14931
  model: oldModel
14892
14932
  } = oldColumn;
@@ -14913,12 +14953,15 @@ function handleEditActive($xeTable, params, evnt, isFocus, isPos) {
14913
14953
  }
14914
14954
  return $xeTable.$nextTick();
14915
14955
  }
14916
- function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
14956
+ function handleEditCell($xeTable, row, fieldOrColumn, options) {
14917
14957
  const props = $xeTable;
14918
14958
  const internalData = $xeTable;
14919
14959
  const {
14920
14960
  editConfig
14921
14961
  } = props;
14962
+ const {
14963
+ isPos
14964
+ } = options;
14922
14965
  const column = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
14923
14966
  if (row && column && isEnableConf(editConfig) && isEnableConf(column.editRender) && !$xeTable.isAggregateRecord(row)) {
14924
14967
  return Promise.resolve(isPos ? $xeTable.scrollToRow(row, column) : null).then(() => {
@@ -14931,7 +14974,7 @@ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
14931
14974
  columnIndex: $xeTable.getColumnIndex(column),
14932
14975
  cell,
14933
14976
  $table: $xeTable
14934
- }, null, isPos, isPos);
14977
+ }, null, options);
14935
14978
  internalData._lastCallTime = Date.now();
14936
14979
  }
14937
14980
  return $xeTable.$nextTick();
@@ -15110,6 +15153,7 @@ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
15110
15153
  reactData.removeRowFlag++;
15111
15154
  reactData.insertRowFlag++;
15112
15155
  reactData.pendingRowFlag++;
15156
+ $xeTable.handleClearStack();
15113
15157
  $xeTable.cacheRowMap(false);
15114
15158
  $xeTable.handleTableData(treeConfig && transform);
15115
15159
  $xeTable.updateFooter();
@@ -15244,9 +15288,12 @@ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
15244
15288
  /**
15245
15289
  * 处理激活编辑
15246
15290
  */
15247
- handleEdit(params, evnt) {
15291
+ handleEdit(params, evnt, options) {
15248
15292
  const $xeTable = this;
15249
- return handleEditActive($xeTable, params, evnt, true, true);
15293
+ return handleEditActive($xeTable, params, evnt, Object.assign({
15294
+ isFocus: true,
15295
+ isPos: true
15296
+ }, options));
15250
15297
  },
15251
15298
  /**
15252
15299
  * @deprecated
@@ -15440,7 +15487,7 @@ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
15440
15487
  /**
15441
15488
  * 激活行编辑
15442
15489
  */
15443
- _setEditRow(row, fieldOrColumn) {
15490
+ _setEditRow(row, fieldOrColumn, options) {
15444
15491
  const $xeTable = this;
15445
15492
  const internalData = $xeTable;
15446
15493
  const {
@@ -15454,7 +15501,10 @@ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
15454
15501
  column = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isString(fieldOrColumn) ? $xeTable.getColumnByField(fieldOrColumn) : fieldOrColumn;
15455
15502
  }
15456
15503
  }
15457
- return handleEditCell($xeTable, row, column, isPos);
15504
+ return handleEditCell($xeTable, row, column, Object.assign({
15505
+ isPos,
15506
+ isFocus: isPos
15507
+ }, options));
15458
15508
  },
15459
15509
  _setActiveCell(row, fieldOrColumn) {
15460
15510
  const $xeTable = this;
@@ -15465,9 +15515,12 @@ function handleEditCell($xeTable, row, fieldOrColumn, isPos) {
15465
15515
  /**
15466
15516
  * 激活单元格编辑
15467
15517
  */
15468
- _setEditCell(row, fieldOrColumn) {
15518
+ _setEditCell(row, fieldOrColumn, options) {
15469
15519
  const $xeTable = this;
15470
- return handleEditCell($xeTable, row, fieldOrColumn, true);
15520
+ return handleEditCell($xeTable, row, fieldOrColumn, Object.assign({
15521
+ isFocus: true,
15522
+ isPos: true
15523
+ }, options));
15471
15524
  },
15472
15525
  /**
15473
15526
  * 只对 trigger=dblclick 有效,选中单元格
@@ -18084,8 +18137,8 @@ function handleCheckboxRangeEvent($xeTable, evnt, params) {
18084
18137
  const checkboxOpts = $xeTable.computeCheckboxOpts;
18085
18138
  const mouseOpts = $xeTable.computeMouseOpts;
18086
18139
  const editOpts = $xeTable.computeEditOpts;
18087
- if (mouseConfig && mouseOpts.area && $xeTable.triggerClAreaModnEvent) {
18088
- return $xeTable.triggerClAreaModnEvent(evnt, params);
18140
+ if (mouseConfig && mouseOpts.area && $xeTable.triggerCelllAreaMnEvent) {
18141
+ return $xeTable.triggerCelllAreaMnEvent(evnt, params);
18089
18142
  } else {
18090
18143
  if (checkboxConfig && checkboxOpts.range) {
18091
18144
  handleCheckboxRangeEvent($xeTable, evnt, params);
@@ -20841,10 +20894,10 @@ function renderBody(h, $xeTable) {
20841
20894
  }
20842
20895
  return [];
20843
20896
  },
20844
- computeUndoHistoryOpts() {
20897
+ computeUndoRedoHistoryOpts() {
20845
20898
  const $xeTable = this;
20846
20899
  const props = $xeTable;
20847
- return Object.assign({}, table_getConfig().table.undoHistoryConfig, props.undoHistoryConfig);
20900
+ return Object.assign({}, table_getConfig().table.undoRedoHistoryConfig, props.undoRedoHistoryConfig);
20848
20901
  },
20849
20902
  tabsResizeFlag() {
20850
20903
  const $xeTable = this;
@@ -21040,10 +21093,12 @@ function renderBody(h, $xeTable) {
21040
21093
  external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().assign(internalData, createInternalData());
21041
21094
  handleKeyField($xeTable);
21042
21095
  const {
21096
+ editConfig,
21043
21097
  exportConfig,
21044
21098
  importConfig,
21045
21099
  treeConfig,
21046
- minHeight
21100
+ minHeight,
21101
+ keepSource
21047
21102
  } = props;
21048
21103
  const {
21049
21104
  scrollXStore,
@@ -21084,8 +21139,15 @@ function renderBody(h, $xeTable) {
21084
21139
  if (!(props.rowId || rowOpts.keyField) && (checkboxOpts.reserve || checkboxOpts.checkRowKeys || radioOpts.reserve || radioOpts.checkRowKey || expandOpts.expandRowKeys || treeOpts.expandRowKeys)) {
21085
21140
  warnLog('vxe.error.reqProp', ['row-config.keyField']);
21086
21141
  }
21087
- if (props.editConfig && editOpts.showStatus && !props.keepSource) {
21088
- warnLog('vxe.error.reqProp', ['keep-source']);
21142
+ if (editConfig) {
21143
+ if (!keepSource) {
21144
+ if (editOpts.showStatus || editOpts.showUpdateStatus || editOpts.showInsertStatus) {
21145
+ warnLog('vxe.error.reqSupportProp', ['edit-config.showStatus | showUpdateStatus | showInsertStatus', 'keep-source']);
21146
+ }
21147
+ // if (keyboardOpts.isUndoRedo) {
21148
+ // warnLog('vxe.error.reqSupportProp', ['keyboard-config.isUndoRedo', 'keep-source'])
21149
+ // }
21150
+ }
21089
21151
  }
21090
21152
  // if (treeConfig && (treeOpts.showLine || treeOpts.line) && !showOverflow) {
21091
21153
  // warnLog('vxe.error.reqProp', ['show-overflow'])
@@ -21158,7 +21220,7 @@ function renderBody(h, $xeTable) {
21158
21220
  if (rowOpts.height && !this.showOverflow) {
21159
21221
  warnLog('vxe.error.notProp', ['table.show-overflow']);
21160
21222
  }
21161
- if (!$xeTable.triggerClAreaModnEvent) {
21223
+ if (!$xeTable.triggerCelllAreaMnEvent) {
21162
21224
  if (props.areaConfig) {
21163
21225
  warnLog('vxe.error.notProp', ['area-config']);
21164
21226
  }