vxe-pc-ui 4.20.0 → 4.20.2
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/dist/all.esm.js +780 -173
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/card/src/card.js +19 -4
- package/es/drawer/src/drawer.js +59 -15
- package/es/drawer/style.css +13 -6
- package/es/drawer/style.min.css +1 -1
- package/es/icon/style.css +1 -1
- package/es/language/fr-FR.js +29 -29
- package/es/layout-aside/src/layout-aside.js +10 -6
- package/es/layout-body/src/layout-body.js +21 -12
- package/es/list/src/list.js +118 -49
- package/es/list/style.css +25 -8
- package/es/list/style.min.css +1 -1
- package/es/menu/src/menu.js +2 -2
- package/es/modal/src/modal.js +56 -12
- package/es/modal/style.css +15 -4
- package/es/modal/style.min.css +1 -1
- package/es/scrollbar/src/scrollbar.js +73 -19
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tabs.js +21 -6
- package/es/tree/src/tree.js +410 -53
- package/es/tree/style.css +43 -0
- package/es/tree/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/ui/src/utils.js +3 -0
- package/es/vxe-drawer/style.css +13 -6
- package/es/vxe-drawer/style.min.css +1 -1
- package/es/vxe-list/style.css +25 -8
- package/es/vxe-list/style.min.css +1 -1
- package/es/vxe-modal/style.css +15 -4
- package/es/vxe-modal/style.min.css +1 -1
- package/es/vxe-tree/style.css +43 -0
- package/es/vxe-tree/style.min.css +1 -1
- package/lib/card/src/card.js +19 -4
- package/lib/card/src/card.min.js +1 -1
- package/lib/drawer/src/drawer.js +64 -11
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/drawer/style/style.css +13 -6
- package/lib/drawer/style/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +887 -183
- package/lib/index.umd.min.js +1 -1
- package/lib/language/fr-FR.js +29 -29
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +29 -29
- package/lib/layout-aside/src/layout-aside.js +9 -8
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/layout-body/src/layout-body.js +29 -22
- package/lib/layout-body/src/layout-body.min.js +1 -1
- package/lib/list/src/list.js +110 -47
- package/lib/list/src/list.min.js +1 -1
- package/lib/list/style/style.css +25 -8
- package/lib/list/style/style.min.css +1 -1
- package/lib/menu/src/menu.js +1 -1
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/modal/src/modal.js +61 -10
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/modal/style/style.css +15 -4
- package/lib/modal/style/style.min.css +1 -1
- package/lib/scrollbar/src/scrollbar.js +81 -17
- package/lib/scrollbar/src/scrollbar.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tabs.js +23 -11
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tree/src/tree.js +412 -50
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree/style/style.css +43 -0
- package/lib/tree/style/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/ui/src/utils.js +4 -0
- package/lib/ui/src/utils.min.js +1 -1
- package/lib/vxe-drawer/style/style.css +13 -6
- package/lib/vxe-drawer/style/style.min.css +1 -1
- package/lib/vxe-list/style/style.css +25 -8
- package/lib/vxe-list/style/style.min.css +1 -1
- package/lib/vxe-modal/style/style.css +15 -4
- package/lib/vxe-modal/style/style.min.css +1 -1
- package/lib/vxe-tree/style/style.css +43 -0
- package/lib/vxe-tree/style/style.min.css +1 -1
- package/package.json +2 -2
- package/packages/card/src/card.ts +20 -4
- package/packages/drawer/src/drawer.ts +73 -16
- package/packages/language/fr-FR.ts +903 -903
- package/packages/layout-aside/src/layout-aside.ts +10 -6
- package/packages/layout-body/src/layout-body.ts +25 -15
- package/packages/list/src/list.ts +130 -55
- package/packages/menu/src/menu.ts +2 -2
- package/packages/modal/src/modal.ts +71 -14
- package/packages/scrollbar/src/scrollbar.ts +79 -18
- package/packages/tabs/src/tabs.ts +21 -7
- package/packages/tree/src/tree.ts +452 -62
- package/packages/ui/src/utils.ts +4 -0
- package/styles/components/drawer.scss +13 -6
- package/styles/components/list.scss +35 -10
- package/styles/components/modal.scss +12 -4
- package/styles/components/tree.scss +76 -0
- package/types/components/card.d.ts +10 -1
- package/types/components/drawer.d.ts +20 -0
- package/types/components/gantt-module/gantt-view.d.ts +24 -1
- package/types/components/gantt.d.ts +2 -0
- package/types/components/layout-aside.d.ts +10 -1
- package/types/components/layout-body.d.ts +10 -1
- package/types/components/list.d.ts +13 -2
- package/types/components/modal.d.ts +20 -0
- package/types/components/scrollbar.d.ts +17 -2
- package/types/components/table.d.ts +80 -6
- package/types/components/tabs.d.ts +10 -1
- package/types/components/tree.d.ts +35 -2
- /package/es/icon/{iconfont.1791880413927.ttf → iconfont.1792034967421.ttf} +0 -0
- /package/es/icon/{iconfont.1791880413927.woff → iconfont.1792034967421.woff} +0 -0
- /package/es/icon/{iconfont.1791880413927.woff2 → iconfont.1792034967421.woff2} +0 -0
- /package/es/{iconfont.1791880413927.ttf → iconfont.1792034967421.ttf} +0 -0
- /package/es/{iconfont.1791880413927.woff → iconfont.1792034967421.woff} +0 -0
- /package/es/{iconfont.1791880413927.woff2 → iconfont.1792034967421.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1791880413927.ttf → iconfont.1792034967421.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1791880413927.woff → iconfont.1792034967421.woff} +0 -0
- /package/lib/icon/style/{iconfont.1791880413927.woff2 → iconfont.1792034967421.woff2} +0 -0
- /package/lib/{iconfont.1791880413927.ttf → iconfont.1792034967421.ttf} +0 -0
- /package/lib/{iconfont.1791880413927.woff → iconfont.1792034967421.woff} +0 -0
- /package/lib/{iconfont.1791880413927.woff2 → iconfont.1792034967421.woff2} +0 -0
package/lib/tree/src/tree.js
CHANGED
|
@@ -15,6 +15,7 @@ var _vn = require("../../ui/src/vn");
|
|
|
15
15
|
var _dom = require("../../ui/src/dom");
|
|
16
16
|
var _utils = require("../../ui/src/utils");
|
|
17
17
|
var _anime = require("../../ui/src/anime");
|
|
18
|
+
var _util2 = require("../../scrollbar/src/util");
|
|
18
19
|
var _loading = _interopRequireDefault(require("../../loading"));
|
|
19
20
|
var _tooltip = _interopRequireDefault(require("../../tooltip"));
|
|
20
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -34,6 +35,34 @@ const {
|
|
|
34
35
|
function getNodeUniqueId() {
|
|
35
36
|
return _xeUtils.default.uniqueId('node_');
|
|
36
37
|
}
|
|
38
|
+
function createReactData() {
|
|
39
|
+
return {
|
|
40
|
+
parentHeight: 0,
|
|
41
|
+
customHeight: 0,
|
|
42
|
+
customMinHeight: 0,
|
|
43
|
+
customMaxHeight: 0,
|
|
44
|
+
currentNode: null,
|
|
45
|
+
scrollYLoad: false,
|
|
46
|
+
bodyHeight: 0,
|
|
47
|
+
topSpaceHeight: 0,
|
|
48
|
+
selectRadioKey: null,
|
|
49
|
+
treeList: [],
|
|
50
|
+
updateExpandedFlag: 1,
|
|
51
|
+
updateCheckboxFlag: 1,
|
|
52
|
+
// 滚动条
|
|
53
|
+
yThumbHeight: 0,
|
|
54
|
+
xThumbWidth: 0,
|
|
55
|
+
insertNodeFlag: 1,
|
|
56
|
+
removeNodeFlag: 1,
|
|
57
|
+
dragNode: null,
|
|
58
|
+
dragTipText: '',
|
|
59
|
+
isCrossDragNode: false,
|
|
60
|
+
tooltipStore: {
|
|
61
|
+
visible: false,
|
|
62
|
+
node: null
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
37
66
|
function createInternalData() {
|
|
38
67
|
return {
|
|
39
68
|
// initialized: false,
|
|
@@ -46,8 +75,15 @@ function createInternalData() {
|
|
|
46
75
|
indeterminateNodeMaps: {},
|
|
47
76
|
treeExpandedMaps: {},
|
|
48
77
|
treeExpandLazyLoadedMaps: {},
|
|
49
|
-
|
|
78
|
+
// resizeObserver: undefined,
|
|
79
|
+
// 滚动条
|
|
80
|
+
// scrollObserver: undefined,
|
|
81
|
+
// isThumbDrag: false,
|
|
82
|
+
thumbDragOffset: 0,
|
|
83
|
+
yThumbTop: 0,
|
|
84
|
+
xThumbLeft: 0,
|
|
50
85
|
lastScrollTop: 0,
|
|
86
|
+
lastScrollLeft: 0,
|
|
51
87
|
scrollYStore: {
|
|
52
88
|
startIndex: 0,
|
|
53
89
|
endIndex: 0,
|
|
@@ -64,31 +100,6 @@ function createInternalData() {
|
|
|
64
100
|
// hpTimeout: undefined
|
|
65
101
|
};
|
|
66
102
|
}
|
|
67
|
-
function createReactData() {
|
|
68
|
-
return {
|
|
69
|
-
parentHeight: 0,
|
|
70
|
-
customHeight: 0,
|
|
71
|
-
customMinHeight: 0,
|
|
72
|
-
customMaxHeight: 0,
|
|
73
|
-
currentNode: null,
|
|
74
|
-
scrollYLoad: false,
|
|
75
|
-
bodyHeight: 0,
|
|
76
|
-
topSpaceHeight: 0,
|
|
77
|
-
selectRadioKey: null,
|
|
78
|
-
treeList: [],
|
|
79
|
-
updateExpandedFlag: 1,
|
|
80
|
-
updateCheckboxFlag: 1,
|
|
81
|
-
insertNodeFlag: 1,
|
|
82
|
-
removeNodeFlag: 1,
|
|
83
|
-
dragNode: null,
|
|
84
|
-
dragTipText: '',
|
|
85
|
-
isCrossDragNode: false,
|
|
86
|
-
tooltipStore: {
|
|
87
|
-
visible: false,
|
|
88
|
-
node: null
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
103
|
let crossTreeDragNodeObj = null;
|
|
93
104
|
var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
94
105
|
name: 'VxeTree',
|
|
@@ -219,7 +230,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
219
230
|
type: String,
|
|
220
231
|
default: () => getConfig().tree.size || getConfig().size
|
|
221
232
|
},
|
|
222
|
-
virtualYConfig: Object
|
|
233
|
+
virtualYConfig: Object,
|
|
234
|
+
useScrollbar: {
|
|
235
|
+
type: Boolean,
|
|
236
|
+
default: () => (0, _utils.getDefaultConfig)(getConfig().tree.useScrollbar, getConfig().useScrollbar)
|
|
237
|
+
},
|
|
238
|
+
scrollbarConfig: Object
|
|
223
239
|
},
|
|
224
240
|
emits: ['update:modelValue', 'update:checkNodeKey', 'update:checkNodeKeys', 'node-click', 'node-dblclick', 'current-change', 'radio-change', 'checkbox-change', 'load-success', 'load-error', 'scroll', 'node-dragstart', 'node-dragover', 'node-dragend', 'node-remove-dragend', 'node-insert-dragend', 'node-expand', 'node-menu', 'menu-click'],
|
|
225
241
|
setup(props, context) {
|
|
@@ -236,6 +252,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
236
252
|
const refFooterWrapperElem = (0, _vue.ref)();
|
|
237
253
|
const refVirtualWrapper = (0, _vue.ref)();
|
|
238
254
|
const refVirtualBody = (0, _vue.ref)();
|
|
255
|
+
const refTrackXElem = (0, _vue.ref)();
|
|
256
|
+
const refTrackYElem = (0, _vue.ref)();
|
|
257
|
+
const refThumbXElem = (0, _vue.ref)();
|
|
258
|
+
const refThumbYElem = (0, _vue.ref)();
|
|
239
259
|
const refDragNodeLineElem = (0, _vue.ref)();
|
|
240
260
|
const refDragTipElem = (0, _vue.ref)();
|
|
241
261
|
const refTooltip = (0, _vue.ref)();
|
|
@@ -315,6 +335,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
315
335
|
const computeMenuOpts = (0, _vue.computed)(() => {
|
|
316
336
|
return Object.assign({}, getConfig().tree.menuConfig, props.menuConfig);
|
|
317
337
|
});
|
|
338
|
+
const computeWrapperStyles = (0, _vue.computed)(() => {
|
|
339
|
+
const barWidth = computeScrollYWidth.value;
|
|
340
|
+
const barHeight = computeScrollXHeight.value;
|
|
341
|
+
const stys = {};
|
|
342
|
+
if (barWidth || barHeight) {
|
|
343
|
+
stys['--vxe-ui-scrollbar-y-width'] = (0, _dom.toCssUnit)(barWidth || barHeight);
|
|
344
|
+
stys['--vxe-ui-scrollbar-x-height'] = (0, _dom.toCssUnit)(barHeight || barWidth);
|
|
345
|
+
}
|
|
346
|
+
return stys;
|
|
347
|
+
});
|
|
318
348
|
const computeTreeStyle = (0, _vue.computed)(() => {
|
|
319
349
|
const {
|
|
320
350
|
indent
|
|
@@ -358,6 +388,71 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
358
388
|
const computeFilterOpts = (0, _vue.computed)(() => {
|
|
359
389
|
return Object.assign({}, getConfig().tree.filterConfig, props.filterConfig);
|
|
360
390
|
});
|
|
391
|
+
const computeScrollbarOpts = (0, _vue.computed)(() => {
|
|
392
|
+
return Object.assign({}, getConfig().tree.scrollbarConfig, props.scrollbarConfig);
|
|
393
|
+
});
|
|
394
|
+
const computeScrollbarXOpts = (0, _vue.computed)(() => {
|
|
395
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
396
|
+
return Object.assign({}, getConfig().scrollbar.xConfig, scrollbarOpts.xConfig, {
|
|
397
|
+
visible: false
|
|
398
|
+
});
|
|
399
|
+
});
|
|
400
|
+
const computeScrollbarYOpts = (0, _vue.computed)(() => {
|
|
401
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
402
|
+
return Object.assign({}, getConfig().scrollbar.yConfig, scrollbarOpts.yConfig);
|
|
403
|
+
});
|
|
404
|
+
const computeScrollXHeight = (0, _vue.computed)(() => {
|
|
405
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
406
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
407
|
+
return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarXOpts.height, scrollbarOpts.height), getConfig().scrollbar.height);
|
|
408
|
+
});
|
|
409
|
+
const computeScrollYWidth = (0, _vue.computed)(() => {
|
|
410
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
411
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
412
|
+
return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.width, scrollbarOpts.width), getConfig().scrollbar.width);
|
|
413
|
+
});
|
|
414
|
+
const computeScrollXVisible = (0, _vue.computed)(() => {
|
|
415
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
416
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
417
|
+
return (0, _utils.getDefaultConfig)(scrollbarXOpts.visible, scrollbarOpts.visible);
|
|
418
|
+
});
|
|
419
|
+
const computeScrollYVisible = (0, _vue.computed)(() => {
|
|
420
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
421
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
422
|
+
return (0, _utils.getDefaultConfig)(scrollbarYOpts.visible, scrollbarOpts.visible);
|
|
423
|
+
});
|
|
424
|
+
const computeScrollXAutoHide = (0, _vue.computed)(() => {
|
|
425
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
426
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
427
|
+
return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
|
|
428
|
+
});
|
|
429
|
+
const computeScrollYAutoHide = (0, _vue.computed)(() => {
|
|
430
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
431
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
432
|
+
return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
|
|
433
|
+
});
|
|
434
|
+
const computeScrollbarWrapperClss = (0, _vue.computed)(() => {
|
|
435
|
+
const {
|
|
436
|
+
yThumbHeight,
|
|
437
|
+
xThumbWidth
|
|
438
|
+
} = reactData;
|
|
439
|
+
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
440
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
441
|
+
const scrollXVisible = computeScrollXVisible.value;
|
|
442
|
+
const scrollYVisible = computeScrollYVisible.value;
|
|
443
|
+
return _ui.domUtils.buildClass(['vxe-scrollbar is--virtual', `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}`, `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`], {
|
|
444
|
+
'overflow-y': yThumbHeight,
|
|
445
|
+
'overflow-x': xThumbWidth
|
|
446
|
+
});
|
|
447
|
+
});
|
|
448
|
+
const computeScrollbarXToTop = (0, _vue.computed)(() => {
|
|
449
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
450
|
+
return scrollbarXOpts.position === 'top';
|
|
451
|
+
});
|
|
452
|
+
const computeScrollbarYToLeft = (0, _vue.computed)(() => {
|
|
453
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
454
|
+
return scrollbarYOpts.position === 'left';
|
|
455
|
+
});
|
|
361
456
|
const computeMaps = {
|
|
362
457
|
computeKeyField,
|
|
363
458
|
computeParentField,
|
|
@@ -952,6 +1047,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
952
1047
|
}
|
|
953
1048
|
});
|
|
954
1049
|
};
|
|
1050
|
+
const updateScrollbar = () => {
|
|
1051
|
+
updateThumbSize();
|
|
1052
|
+
updateThumbOffset();
|
|
1053
|
+
};
|
|
955
1054
|
/**
|
|
956
1055
|
* 重新计算列表
|
|
957
1056
|
*/
|
|
@@ -977,6 +1076,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
977
1076
|
const parentPaddingSize = (0, _dom.getPaddingTopBottomSize)(parentEl);
|
|
978
1077
|
reactData.parentHeight = Math.max(headHeight + footHeight + rowHeight, parentEl.clientHeight - parentPaddingSize - headHeight - footHeight);
|
|
979
1078
|
}
|
|
1079
|
+
updateScrollbar();
|
|
980
1080
|
updateHeight();
|
|
981
1081
|
return computeScrollLoad().then(() => {
|
|
982
1082
|
updateHeight();
|
|
@@ -1018,6 +1118,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1018
1118
|
const scrollLeft = scrollBodyElem.scrollLeft;
|
|
1019
1119
|
const isX = scrollLeft !== internalData.lastScrollLeft;
|
|
1020
1120
|
const isY = scrollTop !== internalData.lastScrollTop;
|
|
1121
|
+
updateThumbOffset();
|
|
1021
1122
|
internalData.lastScrollTop = scrollTop;
|
|
1022
1123
|
internalData.lastScrollLeft = scrollLeft;
|
|
1023
1124
|
if (reactData.scrollYLoad) {
|
|
@@ -1693,13 +1794,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1693
1794
|
checked: isChecked
|
|
1694
1795
|
}, evnt);
|
|
1695
1796
|
};
|
|
1696
|
-
const handleGlobalResizeEvent = () => {
|
|
1697
|
-
const el = refElem.value;
|
|
1698
|
-
if (!el || !el.clientWidth) {
|
|
1699
|
-
return;
|
|
1700
|
-
}
|
|
1701
|
-
recalculate();
|
|
1702
|
-
};
|
|
1703
1797
|
const insertTreeNode = (newRecords, isAppend) => {
|
|
1704
1798
|
const {
|
|
1705
1799
|
treeFullData,
|
|
@@ -3362,6 +3456,183 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
3362
3456
|
hideDropTip();
|
|
3363
3457
|
}
|
|
3364
3458
|
};
|
|
3459
|
+
const updateThumbSize = () => {
|
|
3460
|
+
const viewEl = refVirtualWrapper.value;
|
|
3461
|
+
if (!viewEl) {
|
|
3462
|
+
return;
|
|
3463
|
+
}
|
|
3464
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
3465
|
+
return;
|
|
3466
|
+
}
|
|
3467
|
+
const trackXEl = refTrackXElem.value;
|
|
3468
|
+
const xThumbWidth = trackXEl ? (0, _util2.getThumbSize)(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
|
|
3469
|
+
const thumbXElem = refThumbXElem.value;
|
|
3470
|
+
if (thumbXElem) {
|
|
3471
|
+
thumbXElem.style.width = xThumbWidth + 'px';
|
|
3472
|
+
}
|
|
3473
|
+
reactData.xThumbWidth = xThumbWidth;
|
|
3474
|
+
const trackYEl = refTrackYElem.value;
|
|
3475
|
+
const yThumbHeight = trackYEl ? (0, _util2.getThumbSize)(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
|
|
3476
|
+
const thumbYElem = refThumbYElem.value;
|
|
3477
|
+
if (thumbYElem) {
|
|
3478
|
+
thumbYElem.style.height = yThumbHeight + 'px';
|
|
3479
|
+
}
|
|
3480
|
+
reactData.yThumbHeight = yThumbHeight;
|
|
3481
|
+
};
|
|
3482
|
+
const updateThumbOffset = () => {
|
|
3483
|
+
const viewEl = refVirtualWrapper.value;
|
|
3484
|
+
if (!viewEl) {
|
|
3485
|
+
return;
|
|
3486
|
+
}
|
|
3487
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
3488
|
+
return;
|
|
3489
|
+
}
|
|
3490
|
+
const {
|
|
3491
|
+
xThumbWidth,
|
|
3492
|
+
yThumbHeight
|
|
3493
|
+
} = reactData;
|
|
3494
|
+
const trackXEl = refTrackXElem.value;
|
|
3495
|
+
const thumbXElem = refThumbXElem.value;
|
|
3496
|
+
const xThumbLeft = trackXEl && xThumbWidth ? (0, _util2.getThumbOffsetSize)(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
|
|
3497
|
+
internalData.xThumbLeft = xThumbLeft;
|
|
3498
|
+
if (thumbXElem && xThumbWidth) {
|
|
3499
|
+
thumbXElem.style.width = xThumbWidth + 'px';
|
|
3500
|
+
thumbXElem.style.transform = `translateX(${xThumbLeft}px)`;
|
|
3501
|
+
}
|
|
3502
|
+
const trackYEl = refTrackYElem.value;
|
|
3503
|
+
const thumbYElem = refThumbYElem.value;
|
|
3504
|
+
const yThumbTop = trackYEl && yThumbHeight ? (0, _util2.getThumbOffsetSize)(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
|
|
3505
|
+
internalData.yThumbTop = yThumbTop;
|
|
3506
|
+
if (thumbYElem && yThumbHeight) {
|
|
3507
|
+
thumbYElem.style.height = yThumbHeight + 'px';
|
|
3508
|
+
thumbYElem.style.transform = `translateY(${yThumbTop}px)`;
|
|
3509
|
+
}
|
|
3510
|
+
};
|
|
3511
|
+
const clickTrackXEvent = evnt => {
|
|
3512
|
+
const trackEl = evnt.currentTarget;
|
|
3513
|
+
if (trackEl !== evnt.target) {
|
|
3514
|
+
return;
|
|
3515
|
+
}
|
|
3516
|
+
const viewEl = refVirtualWrapper.value;
|
|
3517
|
+
if (!viewEl) {
|
|
3518
|
+
return;
|
|
3519
|
+
}
|
|
3520
|
+
const {
|
|
3521
|
+
xThumbWidth
|
|
3522
|
+
} = reactData;
|
|
3523
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
3524
|
+
viewEl.scrollTo({
|
|
3525
|
+
left: (0, _util2.getScrollFromClick)(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
|
|
3526
|
+
behavior: 'auto'
|
|
3527
|
+
});
|
|
3528
|
+
};
|
|
3529
|
+
const clickTrackYEvent = evnt => {
|
|
3530
|
+
const trackEl = evnt.currentTarget;
|
|
3531
|
+
if (trackEl !== evnt.target) {
|
|
3532
|
+
return;
|
|
3533
|
+
}
|
|
3534
|
+
const viewEl = refVirtualWrapper.value;
|
|
3535
|
+
if (!viewEl) {
|
|
3536
|
+
return;
|
|
3537
|
+
}
|
|
3538
|
+
const {
|
|
3539
|
+
yThumbHeight
|
|
3540
|
+
} = reactData;
|
|
3541
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
3542
|
+
viewEl.scrollTo({
|
|
3543
|
+
top: (0, _util2.getScrollFromClick)(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
|
|
3544
|
+
behavior: 'auto'
|
|
3545
|
+
});
|
|
3546
|
+
};
|
|
3547
|
+
const pointerdownThumbXEvent = evnt => {
|
|
3548
|
+
const thumbEl = evnt.currentTarget;
|
|
3549
|
+
internalData.isThumbDrag = true;
|
|
3550
|
+
thumbEl.setPointerCapture(evnt.pointerId);
|
|
3551
|
+
const viewEl = refVirtualWrapper.value;
|
|
3552
|
+
if (!viewEl) {
|
|
3553
|
+
return;
|
|
3554
|
+
}
|
|
3555
|
+
const {
|
|
3556
|
+
xThumbWidth
|
|
3557
|
+
} = reactData;
|
|
3558
|
+
const trackEl = thumbEl.parentElement;
|
|
3559
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
3560
|
+
const pointerPosition = evnt.clientX - trackRect.left;
|
|
3561
|
+
// 记录 thumb 的偏移
|
|
3562
|
+
const thumbOffset = (0, _util2.getThumbOffsetSize)(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
3563
|
+
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
3564
|
+
};
|
|
3565
|
+
const pointermoveThumbXEvent = evnt => {
|
|
3566
|
+
const thumbEl = evnt.currentTarget;
|
|
3567
|
+
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
3568
|
+
return;
|
|
3569
|
+
}
|
|
3570
|
+
const {
|
|
3571
|
+
isThumbDrag,
|
|
3572
|
+
thumbDragOffset
|
|
3573
|
+
} = internalData;
|
|
3574
|
+
if (isThumbDrag) {
|
|
3575
|
+
const viewEl = refVirtualWrapper.value;
|
|
3576
|
+
if (!viewEl) {
|
|
3577
|
+
return;
|
|
3578
|
+
}
|
|
3579
|
+
const {
|
|
3580
|
+
xThumbWidth
|
|
3581
|
+
} = reactData;
|
|
3582
|
+
const thumbEl = evnt.currentTarget;
|
|
3583
|
+
const trackEl = thumbEl.parentElement;
|
|
3584
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
3585
|
+
// 更新偏移
|
|
3586
|
+
viewEl.scrollLeft = (0, _util2.getScrollFromDrag)(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
3587
|
+
}
|
|
3588
|
+
};
|
|
3589
|
+
const cleatPointerThumbEvent = evnt => {
|
|
3590
|
+
const thumbEl = evnt.currentTarget;
|
|
3591
|
+
thumbEl.releasePointerCapture(evnt.pointerId);
|
|
3592
|
+
internalData.isThumbDrag = false;
|
|
3593
|
+
};
|
|
3594
|
+
const pointerdownThumbYEvent = evnt => {
|
|
3595
|
+
const thumbEl = evnt.currentTarget;
|
|
3596
|
+
internalData.isThumbDrag = true;
|
|
3597
|
+
thumbEl.setPointerCapture(evnt.pointerId);
|
|
3598
|
+
const viewEl = refVirtualWrapper.value;
|
|
3599
|
+
if (!viewEl) {
|
|
3600
|
+
return;
|
|
3601
|
+
}
|
|
3602
|
+
const {
|
|
3603
|
+
yThumbHeight
|
|
3604
|
+
} = reactData;
|
|
3605
|
+
const trackEl = thumbEl.parentElement;
|
|
3606
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
3607
|
+
const pointerPosition = evnt.clientY - trackRect.top;
|
|
3608
|
+
// 记录 thumb 的偏移
|
|
3609
|
+
const thumbOffset = (0, _util2.getThumbOffsetSize)(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
3610
|
+
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
3611
|
+
};
|
|
3612
|
+
const pointermoveThumbYEvent = evnt => {
|
|
3613
|
+
const thumbEl = evnt.currentTarget;
|
|
3614
|
+
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
3615
|
+
return;
|
|
3616
|
+
}
|
|
3617
|
+
const {
|
|
3618
|
+
isThumbDrag,
|
|
3619
|
+
thumbDragOffset
|
|
3620
|
+
} = internalData;
|
|
3621
|
+
if (isThumbDrag) {
|
|
3622
|
+
const viewEl = refVirtualWrapper.value;
|
|
3623
|
+
if (!viewEl) {
|
|
3624
|
+
return;
|
|
3625
|
+
}
|
|
3626
|
+
const {
|
|
3627
|
+
yThumbHeight
|
|
3628
|
+
} = reactData;
|
|
3629
|
+
const thumbEl = evnt.currentTarget;
|
|
3630
|
+
const trackEl = thumbEl.parentElement;
|
|
3631
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
3632
|
+
// 更新偏移
|
|
3633
|
+
viewEl.scrollTop = (0, _util2.getScrollFromDrag)(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
3634
|
+
}
|
|
3635
|
+
};
|
|
3365
3636
|
Object.assign($xeTree, treeMethods, treePrivateMethods);
|
|
3366
3637
|
const renderDragIcon = (node, nodeid) => {
|
|
3367
3638
|
const {
|
|
@@ -3704,19 +3975,23 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
3704
3975
|
const {
|
|
3705
3976
|
loading,
|
|
3706
3977
|
trigger,
|
|
3707
|
-
showLine
|
|
3978
|
+
showLine,
|
|
3979
|
+
useScrollbar
|
|
3708
3980
|
} = props;
|
|
3709
3981
|
const {
|
|
3710
3982
|
bodyHeight,
|
|
3711
3983
|
topSpaceHeight,
|
|
3712
3984
|
treeList,
|
|
3713
|
-
tooltipStore
|
|
3985
|
+
tooltipStore,
|
|
3986
|
+
xThumbWidth,
|
|
3987
|
+
yThumbHeight
|
|
3714
3988
|
} = reactData;
|
|
3715
3989
|
const vSize = computeSize.value;
|
|
3716
3990
|
const radioOpts = computeRadioOpts.value;
|
|
3717
3991
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
3718
3992
|
const loadingOpts = computeLoadingOpts.value;
|
|
3719
3993
|
const isNodeHover = computeIsNodeHover.value;
|
|
3994
|
+
const wrapperStyles = computeWrapperStyles.value;
|
|
3720
3995
|
const treeStyle = computeTreeStyle.value;
|
|
3721
3996
|
const dragOpts = computeDragOpts.value;
|
|
3722
3997
|
const tooltipOpts = computeTooltipOpts.value;
|
|
@@ -3724,21 +3999,36 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
3724
3999
|
const headerSlot = slots.header;
|
|
3725
4000
|
const footerSlot = slots.footer;
|
|
3726
4001
|
const tooltipSlot = slots.tooltip;
|
|
4002
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
4003
|
+
const scrollXVisible = computeScrollXVisible.value;
|
|
4004
|
+
const scrollYVisible = computeScrollYVisible.value;
|
|
4005
|
+
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
4006
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
4007
|
+
const scrollXAutoHide = computeScrollXAutoHide.value;
|
|
4008
|
+
const scrollYAutoHide = computeScrollYAutoHide.value;
|
|
4009
|
+
const scrollbarWrapperClss = computeScrollbarWrapperClss.value;
|
|
3727
4010
|
const teOns = {};
|
|
3728
4011
|
if (dragOpts.isCrossTreeDrag && !treeList.length) {
|
|
3729
4012
|
teOns.onDragover = $xeTree.handleCrossTreeNodeDragoverEmptyEvent;
|
|
3730
4013
|
}
|
|
3731
4014
|
return (0, _vue.h)('div', Object.assign({
|
|
3732
4015
|
ref: refElem,
|
|
3733
|
-
class: ['vxe-tree', {
|
|
4016
|
+
class: ['vxe-tree', useScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '', useScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '', useScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '', useScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '', {
|
|
3734
4017
|
[`size--${vSize}`]: vSize,
|
|
3735
4018
|
'show--line': showLine,
|
|
4019
|
+
'is--virtual-scrollbar': useScrollbar,
|
|
4020
|
+
'ov-padding': useScrollbar && scrollbarOpts.padding,
|
|
4021
|
+
'ov-x--auto-hide': useScrollbar && scrollXAutoHide,
|
|
4022
|
+
'ov-y--auto-hide': useScrollbar && scrollYAutoHide,
|
|
4023
|
+
'overflow-y': yThumbHeight,
|
|
4024
|
+
'overflow-x': xThumbWidth,
|
|
3736
4025
|
'checkbox--highlight': checkboxOpts.highlight,
|
|
3737
4026
|
'radio--highlight': radioOpts.highlight,
|
|
3738
4027
|
'node--hover': isNodeHover,
|
|
3739
4028
|
'node--trigger': trigger === 'node',
|
|
3740
4029
|
'is--loading': loading
|
|
3741
|
-
}]
|
|
4030
|
+
}],
|
|
4031
|
+
style: wrapperStyles
|
|
3742
4032
|
}, teOns), [headerSlot ? (0, _vue.h)('div', {
|
|
3743
4033
|
ref: refHeaderWrapperElem,
|
|
3744
4034
|
class: 'vxe-tree--header-wrapper'
|
|
@@ -3766,6 +4056,36 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
3766
4056
|
}, footerSlot({
|
|
3767
4057
|
$tree: $xeTree
|
|
3768
4058
|
})) : (0, _ui.renderEmptyElement)($xeTree),
|
|
4059
|
+
/**
|
|
4060
|
+
* 滚动条
|
|
4061
|
+
*/
|
|
4062
|
+
useScrollbar ? (0, _vue.h)('div', {
|
|
4063
|
+
class: scrollbarWrapperClss
|
|
4064
|
+
}, [scrollXVisible === false ? (0, _ui.renderEmptyElement)($xeTree) : (0, _vue.h)('div', {
|
|
4065
|
+
ref: refTrackXElem,
|
|
4066
|
+
class: 'vxe-scrollbar--track-x',
|
|
4067
|
+
onClick: clickTrackXEvent
|
|
4068
|
+
}, [(0, _vue.h)('div', {
|
|
4069
|
+
ref: refThumbXElem,
|
|
4070
|
+
class: 'vxe-scrollbar--thumb-x',
|
|
4071
|
+
onPointerdown: pointerdownThumbXEvent,
|
|
4072
|
+
onPointermove: pointermoveThumbXEvent,
|
|
4073
|
+
onPointerup: cleatPointerThumbEvent,
|
|
4074
|
+
onPointercancel: cleatPointerThumbEvent,
|
|
4075
|
+
onLostpointercapture: cleatPointerThumbEvent
|
|
4076
|
+
})]), scrollYVisible === false ? (0, _ui.renderEmptyElement)($xeTree) : (0, _vue.h)('div', {
|
|
4077
|
+
ref: refTrackYElem,
|
|
4078
|
+
class: 'vxe-scrollbar--track-y',
|
|
4079
|
+
onClick: clickTrackYEvent
|
|
4080
|
+
}, [(0, _vue.h)('div', {
|
|
4081
|
+
ref: refThumbYElem,
|
|
4082
|
+
class: 'vxe-scrollbar--thumb-y',
|
|
4083
|
+
onPointerdown: pointerdownThumbYEvent,
|
|
4084
|
+
onPointermove: pointermoveThumbYEvent,
|
|
4085
|
+
onPointerup: cleatPointerThumbEvent,
|
|
4086
|
+
onPointercancel: cleatPointerThumbEvent,
|
|
4087
|
+
onLostpointercapture: cleatPointerThumbEvent
|
|
4088
|
+
})])]) : (0, _ui.renderEmptyElement)($xeTree),
|
|
3769
4089
|
/**
|
|
3770
4090
|
* 拖拽提示
|
|
3771
4091
|
*/
|
|
@@ -3849,18 +4169,39 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
3849
4169
|
(0, _vue.watch)(() => props.filterValue, () => {
|
|
3850
4170
|
triggerSearchEvent(new Event('filter'));
|
|
3851
4171
|
});
|
|
3852
|
-
const
|
|
4172
|
+
const reFlag = (0, _vue.ref)(0);
|
|
3853
4173
|
(0, _vue.watch)(() => props.height, () => {
|
|
3854
|
-
|
|
4174
|
+
reFlag.value++;
|
|
3855
4175
|
});
|
|
3856
4176
|
(0, _vue.watch)(() => props.minHeight, () => {
|
|
3857
|
-
|
|
4177
|
+
reFlag.value++;
|
|
3858
4178
|
});
|
|
3859
4179
|
(0, _vue.watch)(() => props.maxHeight, () => {
|
|
3860
|
-
|
|
4180
|
+
reFlag.value++;
|
|
3861
4181
|
});
|
|
3862
|
-
(0, _vue.watch)(
|
|
3863
|
-
|
|
4182
|
+
(0, _vue.watch)(() => props.useScrollbar, () => {
|
|
4183
|
+
reFlag.value++;
|
|
4184
|
+
});
|
|
4185
|
+
(0, _vue.watch)(computeScrollYWidth, () => {
|
|
4186
|
+
reFlag.value++;
|
|
4187
|
+
});
|
|
4188
|
+
(0, _vue.watch)(computeScrollXHeight, () => {
|
|
4189
|
+
reFlag.value++;
|
|
4190
|
+
});
|
|
4191
|
+
(0, _vue.watch)(computeScrollXVisible, () => {
|
|
4192
|
+
(0, _vue.nextTick)(() => {
|
|
4193
|
+
reFlag.value++;
|
|
4194
|
+
});
|
|
4195
|
+
});
|
|
4196
|
+
(0, _vue.watch)(computeScrollYVisible, () => {
|
|
4197
|
+
(0, _vue.nextTick)(() => {
|
|
4198
|
+
reFlag.value++;
|
|
4199
|
+
});
|
|
4200
|
+
});
|
|
4201
|
+
(0, _vue.watch)(reFlag, () => {
|
|
4202
|
+
recalculate().then(() => {
|
|
4203
|
+
recalculate();
|
|
4204
|
+
});
|
|
3864
4205
|
});
|
|
3865
4206
|
(0, _vue.onMounted)(() => {
|
|
3866
4207
|
const {
|
|
@@ -3869,7 +4210,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
3869
4210
|
menuConfig,
|
|
3870
4211
|
showOverflow,
|
|
3871
4212
|
lazy,
|
|
3872
|
-
loadMethod
|
|
4213
|
+
loadMethod,
|
|
4214
|
+
autoResize,
|
|
4215
|
+
useScrollbar
|
|
3873
4216
|
} = props;
|
|
3874
4217
|
const dragOpts = computeDragOpts.value;
|
|
3875
4218
|
if (!showOverflow) {
|
|
@@ -3891,12 +4234,25 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
3891
4234
|
if (menuConfig && !VxeUIContextMenu) {
|
|
3892
4235
|
errLog('vxe.error.reqComp', ['vxe-context-menu']);
|
|
3893
4236
|
}
|
|
3894
|
-
|
|
3895
|
-
|
|
4237
|
+
const el = refElem.value;
|
|
4238
|
+
if (useScrollbar || autoResize) {
|
|
4239
|
+
const viewInnerEl = refVirtualBody.value;
|
|
4240
|
+
const scrollObserver = _ui.globalResize.create(() => {
|
|
4241
|
+
updateScrollbar();
|
|
4242
|
+
});
|
|
4243
|
+
if (el) {
|
|
4244
|
+
scrollObserver.observe(el);
|
|
4245
|
+
}
|
|
4246
|
+
if (viewInnerEl) {
|
|
4247
|
+
scrollObserver.observe(viewInnerEl);
|
|
4248
|
+
}
|
|
4249
|
+
internalData.scrollObserver = scrollObserver;
|
|
4250
|
+
}
|
|
4251
|
+
if (autoResize) {
|
|
3896
4252
|
const parentEl = getParentElem();
|
|
3897
4253
|
const resizeObserver = _ui.globalResize.create(() => {
|
|
3898
4254
|
if (props.autoResize) {
|
|
3899
|
-
|
|
4255
|
+
reFlag.value++;
|
|
3900
4256
|
}
|
|
3901
4257
|
});
|
|
3902
4258
|
if (el) {
|
|
@@ -3907,16 +4263,22 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
3907
4263
|
}
|
|
3908
4264
|
internalData.resizeObserver = resizeObserver;
|
|
3909
4265
|
}
|
|
3910
|
-
|
|
3911
|
-
_ui.globalEvents.on($xeTree, 'resize',
|
|
4266
|
+
reFlag.value++;
|
|
4267
|
+
_ui.globalEvents.on($xeTree, 'resize', () => {
|
|
4268
|
+
reFlag.value++;
|
|
4269
|
+
});
|
|
3912
4270
|
});
|
|
3913
4271
|
(0, _vue.onBeforeUnmount)(() => {
|
|
3914
4272
|
const {
|
|
4273
|
+
scrollObserver,
|
|
3915
4274
|
resizeObserver
|
|
3916
4275
|
} = internalData;
|
|
3917
4276
|
if (resizeObserver) {
|
|
3918
4277
|
resizeObserver.disconnect();
|
|
3919
4278
|
}
|
|
4279
|
+
if (scrollObserver) {
|
|
4280
|
+
scrollObserver.disconnect();
|
|
4281
|
+
}
|
|
3920
4282
|
_ui.globalEvents.off($xeTree, 'resize');
|
|
3921
4283
|
_xeUtils.default.assign(reactData, createReactData());
|
|
3922
4284
|
_xeUtils.default.assign(internalData, createInternalData());
|