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