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