vxe-pc-ui 4.20.0 → 4.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.esm.js +594 -130
- package/dist/style.css +1 -1
- package/dist/style.min.css +1 -1
- package/es/card/src/card.js +17 -3
- package/es/icon/style.css +1 -1
- package/es/language/fr-FR.js +29 -29
- package/es/layout-aside/src/layout-aside.js +8 -5
- package/es/layout-body/src/layout-body.js +19 -11
- package/es/list/src/list.js +79 -36
- package/es/list/style.css +25 -8
- package/es/list/style.min.css +1 -1
- package/es/scrollbar/src/scrollbar.js +59 -17
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tabs.js +19 -4
- package/es/tree/src/tree.js +393 -55
- 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-list/style.css +25 -8
- package/es/vxe-list/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 +17 -3
- package/lib/card/src/card.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +610 -140
- 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 +7 -7
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/layout-body/src/layout-body.js +27 -21
- package/lib/layout-body/src/layout-body.min.js +1 -1
- package/lib/list/src/list.js +70 -32
- 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/scrollbar/src/scrollbar.js +67 -15
- 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 +22 -10
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tree/src/tree.js +397 -53
- 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-list/style/style.css +25 -8
- package/lib/vxe-list/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 +1 -1
- package/packages/card/src/card.ts +18 -3
- package/packages/language/fr-FR.ts +903 -903
- package/packages/layout-aside/src/layout-aside.ts +8 -5
- package/packages/layout-body/src/layout-body.ts +23 -14
- package/packages/list/src/list.ts +87 -42
- package/packages/scrollbar/src/scrollbar.ts +63 -16
- package/packages/tabs/src/tabs.ts +19 -5
- package/packages/tree/src/tree.ts +432 -64
- package/packages/ui/src/utils.ts +4 -0
- package/styles/components/list.scss +35 -10
- package/styles/components/tree.scss +76 -0
- package/types/components/card.d.ts +10 -1
- package/types/components/layout-aside.d.ts +10 -1
- package/types/components/layout-body.d.ts +10 -1
- package/types/components/list.d.ts +10 -1
- package/types/components/scrollbar.d.ts +17 -2
- package/types/components/table.d.ts +47 -4
- package/types/components/tabs.d.ts +10 -1
- package/types/components/tree.d.ts +33 -2
- /package/es/icon/{iconfont.1791880413927.ttf → iconfont.1791950625324.ttf} +0 -0
- /package/es/icon/{iconfont.1791880413927.woff → iconfont.1791950625324.woff} +0 -0
- /package/es/icon/{iconfont.1791880413927.woff2 → iconfont.1791950625324.woff2} +0 -0
- /package/es/{iconfont.1791880413927.ttf → iconfont.1791950625324.ttf} +0 -0
- /package/es/{iconfont.1791880413927.woff → iconfont.1791950625324.woff} +0 -0
- /package/es/{iconfont.1791880413927.woff2 → iconfont.1791950625324.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1791880413927.ttf → iconfont.1791950625324.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1791880413927.woff → iconfont.1791950625324.woff} +0 -0
- /package/lib/icon/style/{iconfont.1791880413927.woff2 → iconfont.1791950625324.woff2} +0 -0
- /package/lib/{iconfont.1791880413927.ttf → iconfont.1791950625324.ttf} +0 -0
- /package/lib/{iconfont.1791880413927.woff → iconfont.1791950625324.woff} +0 -0
- /package/lib/{iconfont.1791880413927.woff2 → iconfont.1791950625324.woff2} +0 -0
package/dist/all.esm.js
CHANGED
|
@@ -101,7 +101,7 @@ function checkDynamic() {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
const { log } = VxeUI;
|
|
104
|
-
const uiVersion = `ui v${"4.20.
|
|
104
|
+
const uiVersion = `ui v${"4.20.1"}`;
|
|
105
105
|
function createComponentLog(name) {
|
|
106
106
|
const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
|
|
107
107
|
const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
|
|
@@ -115,7 +115,7 @@ function createComponentLog(name) {
|
|
|
115
115
|
const warnLog$j = log.create('warn', uiVersion);
|
|
116
116
|
log.create('error', uiVersion);
|
|
117
117
|
|
|
118
|
-
const version = "4.20.
|
|
118
|
+
const version = "4.20.1";
|
|
119
119
|
VxeUI.uiVersion = version;
|
|
120
120
|
VxeUI.dynamicApp = dynamicApp;
|
|
121
121
|
function config(options) {
|
|
@@ -2694,6 +2694,9 @@ function enModelValue(nodeid) {
|
|
|
2694
2694
|
function deModelValue(nodeid) {
|
|
2695
2695
|
return nodeid ? decodeURIComponent(`${nodeid}`) : nodeid;
|
|
2696
2696
|
}
|
|
2697
|
+
function getDefaultConfig(val1, def1) {
|
|
2698
|
+
return XEUtils.eqNull(val1) ? def1 : val1;
|
|
2699
|
+
}
|
|
2697
2700
|
|
|
2698
2701
|
function createReactData$p() {
|
|
2699
2702
|
return {
|
|
@@ -6479,6 +6482,7 @@ var VxeScrollbarComponent = defineVxeComponent({
|
|
|
6479
6482
|
name: 'VxeScrollbar',
|
|
6480
6483
|
props: {
|
|
6481
6484
|
id: [String, Number],
|
|
6485
|
+
viewId: [String, Number],
|
|
6482
6486
|
width: [String, Number],
|
|
6483
6487
|
height: [String, Number],
|
|
6484
6488
|
minWidth: [String, Number],
|
|
@@ -6494,6 +6498,14 @@ var VxeScrollbarComponent = defineVxeComponent({
|
|
|
6494
6498
|
type: Boolean,
|
|
6495
6499
|
default: () => getConfig$2().scrollbar.padding
|
|
6496
6500
|
},
|
|
6501
|
+
autoHide: {
|
|
6502
|
+
type: Boolean,
|
|
6503
|
+
default: () => getConfig$2().scrollbar.autoHide
|
|
6504
|
+
},
|
|
6505
|
+
visible: {
|
|
6506
|
+
type: Boolean,
|
|
6507
|
+
default: () => getConfig$2().scrollbar.visible
|
|
6508
|
+
},
|
|
6497
6509
|
xConfig: Object,
|
|
6498
6510
|
yConfig: Object,
|
|
6499
6511
|
className: {
|
|
@@ -6538,6 +6550,8 @@ var VxeScrollbarComponent = defineVxeComponent({
|
|
|
6538
6550
|
const { width, height, minWidth, minHeight, maxWidth, maxHeight } = props;
|
|
6539
6551
|
const xOpts = computeXOpts.value;
|
|
6540
6552
|
const yOpts = computeYOpts.value;
|
|
6553
|
+
const barWidth = yOpts.width;
|
|
6554
|
+
const barHeight = xOpts.height;
|
|
6541
6555
|
const stys = {};
|
|
6542
6556
|
if (width) {
|
|
6543
6557
|
stys.width = toCssUnit(width);
|
|
@@ -6557,33 +6571,53 @@ var VxeScrollbarComponent = defineVxeComponent({
|
|
|
6557
6571
|
if (maxHeight) {
|
|
6558
6572
|
stys.maxHeight = toCssUnit(maxHeight);
|
|
6559
6573
|
}
|
|
6560
|
-
if (
|
|
6561
|
-
stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(
|
|
6562
|
-
|
|
6563
|
-
if (xOpts.height) {
|
|
6564
|
-
stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(xOpts.height);
|
|
6574
|
+
if (barWidth || barHeight) {
|
|
6575
|
+
stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(barWidth || barHeight);
|
|
6576
|
+
stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(barHeight || barWidth);
|
|
6565
6577
|
}
|
|
6566
6578
|
return stys;
|
|
6567
6579
|
});
|
|
6580
|
+
const computeXVisible = computed(() => {
|
|
6581
|
+
const { visible } = props;
|
|
6582
|
+
const xOpts = computeXOpts.value;
|
|
6583
|
+
return getDefaultConfig(xOpts.visible, visible);
|
|
6584
|
+
});
|
|
6585
|
+
const computeYVisible = computed(() => {
|
|
6586
|
+
const { visible } = props;
|
|
6587
|
+
const yOpts = computeYOpts.value;
|
|
6588
|
+
return getDefaultConfig(yOpts.visible, visible);
|
|
6589
|
+
});
|
|
6590
|
+
const computeXAutoHide = computed(() => {
|
|
6591
|
+
const { autoHide } = props;
|
|
6592
|
+
const xOpts = computeXOpts.value;
|
|
6593
|
+
return getDefaultConfig(xOpts.autoHide, autoHide);
|
|
6594
|
+
});
|
|
6595
|
+
const computeYAutoHide = computed(() => {
|
|
6596
|
+
const { autoHide } = props;
|
|
6597
|
+
const yOpts = computeYOpts.value;
|
|
6598
|
+
return getDefaultConfig(yOpts.autoHide, autoHide);
|
|
6599
|
+
});
|
|
6568
6600
|
const computeWrapperClss = computed(() => {
|
|
6569
6601
|
const { native, className, padding } = props;
|
|
6570
6602
|
const { yThumbHeight, xThumbWidth } = reactData;
|
|
6571
|
-
const xOpts = computeXOpts.value;
|
|
6572
|
-
const yOpts = computeYOpts.value;
|
|
6573
6603
|
const xToTop = computeXToTop.value;
|
|
6574
6604
|
const yToLeft = computeYToLeft.value;
|
|
6605
|
+
const xVisible = computeXVisible.value;
|
|
6606
|
+
const yVisible = computeYVisible.value;
|
|
6607
|
+
const xAutoHide = computeXAutoHide.value;
|
|
6608
|
+
const yAutoHide = computeYAutoHide.value;
|
|
6575
6609
|
return domUtils.buildClass([
|
|
6576
6610
|
'vxe-scrollbar',
|
|
6577
|
-
`ov-x--${
|
|
6578
|
-
`ov-y--${
|
|
6611
|
+
`ov-x--${xVisible === false ? 'hidden' : 'visible'}`,
|
|
6612
|
+
`ov-y--${yVisible === false ? 'hidden' : 'visible'}`,
|
|
6579
6613
|
`sx-pos--${xToTop ? 'top' : 'bottom'}`,
|
|
6580
6614
|
`sy-pos--${yToLeft ? 'left' : 'right'}`,
|
|
6581
6615
|
native ? 'is--native' : 'is--virtual',
|
|
6582
6616
|
className
|
|
6583
6617
|
], {
|
|
6584
6618
|
'is--padding': padding,
|
|
6585
|
-
'ov-x--auto-hide':
|
|
6586
|
-
'ov-y--auto-hide':
|
|
6619
|
+
'ov-x--auto-hide': xAutoHide,
|
|
6620
|
+
'ov-y--auto-hide': yAutoHide,
|
|
6587
6621
|
'overflow-y': yThumbHeight,
|
|
6588
6622
|
'overflow-x': xThumbWidth
|
|
6589
6623
|
});
|
|
@@ -6923,13 +6957,13 @@ var VxeScrollbarComponent = defineVxeComponent({
|
|
|
6923
6957
|
const scrollbarPrivateMethods = {};
|
|
6924
6958
|
Object.assign($xeScrollbar, scrollbarMethods, scrollbarPrivateMethods);
|
|
6925
6959
|
const renderVN = () => {
|
|
6926
|
-
const { id, native, loading, viewAttrs } = props;
|
|
6960
|
+
const { id, native, loading, viewId, viewAttrs } = props;
|
|
6927
6961
|
const wrapperStyle = computeWrapperStyle.value;
|
|
6928
6962
|
const wrapperClss = computeWrapperClss.value;
|
|
6929
6963
|
const viewClss = computeViewClss.value;
|
|
6930
6964
|
const viewInnerClss = computeViewInnerClss.value;
|
|
6931
|
-
const
|
|
6932
|
-
const
|
|
6965
|
+
const xVisible = computeXVisible.value;
|
|
6966
|
+
const yVisible = computeYVisible.value;
|
|
6933
6967
|
const defaultSlot = slots.default;
|
|
6934
6968
|
return h('div', {
|
|
6935
6969
|
ref: refElem,
|
|
@@ -6937,14 +6971,14 @@ var VxeScrollbarComponent = defineVxeComponent({
|
|
|
6937
6971
|
class: wrapperClss,
|
|
6938
6972
|
style: wrapperStyle
|
|
6939
6973
|
}, [
|
|
6940
|
-
h('div', Object.assign({ ref: refViewElem, class: viewClss, onScroll: scrollEvent }, viewAttrs), [
|
|
6974
|
+
h('div', Object.assign({ ref: refViewElem, class: viewClss, onScroll: scrollEvent, id: viewId || null }, viewAttrs), [
|
|
6941
6975
|
h('div', {
|
|
6942
6976
|
key: 'vi',
|
|
6943
6977
|
ref: refViewInnerElem,
|
|
6944
6978
|
class: viewInnerClss
|
|
6945
6979
|
}, defaultSlot ? defaultSlot({}) : [])
|
|
6946
6980
|
]),
|
|
6947
|
-
native ||
|
|
6981
|
+
native || xVisible === false
|
|
6948
6982
|
? renderEmptyElement($xeScrollbar)
|
|
6949
6983
|
: h('div', {
|
|
6950
6984
|
ref: refTrackXElem,
|
|
@@ -6961,7 +6995,7 @@ var VxeScrollbarComponent = defineVxeComponent({
|
|
|
6961
6995
|
onLostpointercapture: cleatPointerThumbEvent
|
|
6962
6996
|
})
|
|
6963
6997
|
]),
|
|
6964
|
-
native ||
|
|
6998
|
+
native || yVisible === false
|
|
6965
6999
|
? renderEmptyElement($xeScrollbar)
|
|
6966
7000
|
: h('div', {
|
|
6967
7001
|
ref: refTrackYElem,
|
|
@@ -7009,6 +7043,16 @@ var VxeScrollbarComponent = defineVxeComponent({
|
|
|
7009
7043
|
watch(() => props.syncResize, () => {
|
|
7010
7044
|
reFlag.value++;
|
|
7011
7045
|
});
|
|
7046
|
+
watch(computeXVisible, () => {
|
|
7047
|
+
nextTick(() => {
|
|
7048
|
+
reFlag.value++;
|
|
7049
|
+
});
|
|
7050
|
+
});
|
|
7051
|
+
watch(computeYVisible, () => {
|
|
7052
|
+
nextTick(() => {
|
|
7053
|
+
reFlag.value++;
|
|
7054
|
+
});
|
|
7055
|
+
});
|
|
7012
7056
|
watch(reFlag, () => {
|
|
7013
7057
|
$xeScrollbar.recalculate().then(() => {
|
|
7014
7058
|
$xeScrollbar.recalculate();
|
|
@@ -7118,6 +7162,19 @@ var VxeCardComponent = defineVxeComponent({
|
|
|
7118
7162
|
const computeScrollbarOpts = computed(() => {
|
|
7119
7163
|
return Object.assign({}, getConfig$4().card.scrollbarConfig, props.scrollbarConfig);
|
|
7120
7164
|
});
|
|
7165
|
+
const computeScrollbarProps = computed(() => {
|
|
7166
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
7167
|
+
return {
|
|
7168
|
+
width: scrollbarOpts.width,
|
|
7169
|
+
height: scrollbarOpts.height,
|
|
7170
|
+
autoHide: scrollbarOpts.autoHide,
|
|
7171
|
+
visible: scrollbarOpts.visible,
|
|
7172
|
+
xConfig: scrollbarOpts.xConfig,
|
|
7173
|
+
yConfig: scrollbarOpts.yConfig,
|
|
7174
|
+
className: scrollbarOpts.className,
|
|
7175
|
+
viewAttrs: scrollbarOpts.viewAttrs
|
|
7176
|
+
};
|
|
7177
|
+
});
|
|
7121
7178
|
const computeMaps = {
|
|
7122
7179
|
computeSize
|
|
7123
7180
|
};
|
|
@@ -7149,6 +7206,7 @@ var VxeCardComponent = defineVxeComponent({
|
|
|
7149
7206
|
const vSize = computeSize.value;
|
|
7150
7207
|
const cardStyle = computeCardStyle.value;
|
|
7151
7208
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
7209
|
+
const scrollbarProps = computeScrollbarProps.value;
|
|
7152
7210
|
const { viewClassName, viewInnerClassName } = scrollbarOpts;
|
|
7153
7211
|
return h('div', {
|
|
7154
7212
|
ref: refElem,
|
|
@@ -7183,7 +7241,7 @@ var VxeCardComponent = defineVxeComponent({
|
|
|
7183
7241
|
}, [
|
|
7184
7242
|
leftSlot
|
|
7185
7243
|
? (useScrollbar
|
|
7186
|
-
? h(VxeScrollbar, Object.assign(Object.assign({ class: 'vxe-card--body-scrollbar-left' },
|
|
7244
|
+
? h(VxeScrollbar, Object.assign(Object.assign({ class: 'vxe-card--body-scrollbar-left' }, scrollbarProps), { viewClassName: 'vxe-card--body-scrollbar-left-view', viewInnerClassName: 'vxe-card--body-scrollbar-left-inner' }), {
|
|
7187
7245
|
default: () => getSlotVNs(leftSlot({}))
|
|
7188
7246
|
})
|
|
7189
7247
|
: h('div', {
|
|
@@ -7191,7 +7249,7 @@ var VxeCardComponent = defineVxeComponent({
|
|
|
7191
7249
|
}, getSlotVNs(leftSlot({}))))
|
|
7192
7250
|
: renderEmptyElement$1($xeCard),
|
|
7193
7251
|
useScrollbar
|
|
7194
|
-
? h(VxeScrollbar, Object.assign(Object.assign({ class: 'vxe-card--body-scrollbar-content' },
|
|
7252
|
+
? h(VxeScrollbar, Object.assign(Object.assign({ class: 'vxe-card--body-scrollbar-content' }, scrollbarProps), { viewClassName: 'vxe-card--body-scrollbar-content-view' + (viewClassName ? (' ' + viewClassName) : ''), viewInnerClassName: 'vxe-card--body-scrollbar-content-inner' + (viewClassName ? (' ' + viewInnerClassName) : '') }), {
|
|
7195
7253
|
default: () => defaultSlot ? getSlotVNs(defaultSlot({})) : []
|
|
7196
7254
|
})
|
|
7197
7255
|
: h('div', {
|
|
@@ -7199,7 +7257,7 @@ var VxeCardComponent = defineVxeComponent({
|
|
|
7199
7257
|
}, defaultSlot ? getSlotVNs(defaultSlot({})) : []),
|
|
7200
7258
|
rightSlot
|
|
7201
7259
|
? (useScrollbar
|
|
7202
|
-
? h(VxeScrollbar, Object.assign(Object.assign({ class: 'vxe-card--body-scrollbar-right' },
|
|
7260
|
+
? h(VxeScrollbar, Object.assign(Object.assign({ class: 'vxe-card--body-scrollbar-right' }, scrollbarProps), { viewClassName: 'vxe-card--body-scrollbar-right-view', viewInnerClassName: 'vxe-card--body-scrollbar-right-inner' }), {
|
|
7203
7261
|
default: () => getSlotVNs(rightSlot({}))
|
|
7204
7262
|
})
|
|
7205
7263
|
: h('div', {
|
|
@@ -7902,7 +7960,6 @@ var VxeListComponent = defineVxeComponent({
|
|
|
7902
7960
|
const refFooterElem = ref();
|
|
7903
7961
|
const refVirtualWrapper = ref();
|
|
7904
7962
|
const refVirtualBody = ref();
|
|
7905
|
-
const refViewInnerElem = ref();
|
|
7906
7963
|
const refTrackXElem = ref();
|
|
7907
7964
|
const refTrackYElem = ref();
|
|
7908
7965
|
const refThumbXElem = ref();
|
|
@@ -7955,17 +8012,18 @@ var VxeListComponent = defineVxeComponent({
|
|
|
7955
8012
|
});
|
|
7956
8013
|
const computeWrapperStyles = computed(() => {
|
|
7957
8014
|
const rowHeight = computeRowHeight.value;
|
|
8015
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
7958
8016
|
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
7959
8017
|
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
8018
|
+
const barWidth = getDefaultConfig(getDefaultConfig(scrollbarYOpts.width, scrollbarOpts.width), getConfig$4().scrollbar.width);
|
|
8019
|
+
const barHeight = getDefaultConfig(getDefaultConfig(scrollbarXOpts.height, scrollbarOpts.height), getConfig$4().scrollbar.height);
|
|
7960
8020
|
const stys = {};
|
|
7961
8021
|
if (rowHeight) {
|
|
7962
8022
|
stys['--vxe-ui-list-row-height'] = toCssUnit(rowHeight);
|
|
7963
8023
|
}
|
|
7964
|
-
if (
|
|
7965
|
-
stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(
|
|
7966
|
-
|
|
7967
|
-
if (scrollbarXOpts.height) {
|
|
7968
|
-
stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(scrollbarXOpts.height);
|
|
8024
|
+
if (barWidth || barHeight) {
|
|
8025
|
+
stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(barWidth || barHeight);
|
|
8026
|
+
stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(barHeight || barWidth);
|
|
7969
8027
|
}
|
|
7970
8028
|
return stys;
|
|
7971
8029
|
});
|
|
@@ -7993,24 +8051,46 @@ var VxeListComponent = defineVxeComponent({
|
|
|
7993
8051
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
7994
8052
|
return Object.assign({}, getConfig$4().scrollbar.yConfig, scrollbarOpts.yConfig);
|
|
7995
8053
|
});
|
|
8054
|
+
const computeScrollXVisible = computed(() => {
|
|
8055
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
8056
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
8057
|
+
return getDefaultConfig(scrollbarXOpts.visible, scrollbarOpts.visible);
|
|
8058
|
+
});
|
|
8059
|
+
const computeScrollYVisible = computed(() => {
|
|
8060
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
8061
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
8062
|
+
return getDefaultConfig(scrollbarYOpts.visible, scrollbarOpts.visible);
|
|
8063
|
+
});
|
|
8064
|
+
const computeScrollXAutoHide = computed(() => {
|
|
8065
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
8066
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
8067
|
+
return getDefaultConfig(getDefaultConfig(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), getConfig$4().scrollbar.autoHide);
|
|
8068
|
+
});
|
|
8069
|
+
const computeScrollYAutoHide = computed(() => {
|
|
8070
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
8071
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
8072
|
+
return getDefaultConfig(getDefaultConfig(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), getConfig$4().scrollbar.autoHide);
|
|
8073
|
+
});
|
|
7996
8074
|
const computeScrollbarWrapperClss = computed(() => {
|
|
7997
8075
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
7998
8076
|
const { padding } = scrollbarOpts;
|
|
7999
8077
|
const { yThumbHeight, xThumbWidth } = reactData;
|
|
8000
|
-
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
8001
|
-
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
8002
8078
|
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
8003
8079
|
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
8080
|
+
const scrollXVisible = computeScrollXVisible.value;
|
|
8081
|
+
const scrollYVisible = computeScrollYVisible.value;
|
|
8082
|
+
const scrollXAutoHide = computeScrollXAutoHide.value;
|
|
8083
|
+
const scrollYAutoHide = computeScrollYAutoHide.value;
|
|
8004
8084
|
return domUtils$1.buildClass([
|
|
8005
8085
|
'vxe-scrollbar is--virtual',
|
|
8006
|
-
`ov-x--${
|
|
8007
|
-
`ov-y--${
|
|
8086
|
+
`ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}`,
|
|
8087
|
+
`ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}`,
|
|
8008
8088
|
`sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`,
|
|
8009
8089
|
`sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`
|
|
8010
8090
|
], {
|
|
8011
8091
|
'is--padding': padding,
|
|
8012
|
-
'ov-x--auto-hide':
|
|
8013
|
-
'ov-y--auto-hide':
|
|
8092
|
+
'ov-x--auto-hide': scrollXAutoHide,
|
|
8093
|
+
'ov-y--auto-hide': scrollYAutoHide,
|
|
8014
8094
|
'overflow-y': yThumbHeight,
|
|
8015
8095
|
'overflow-x': xThumbWidth
|
|
8016
8096
|
});
|
|
@@ -9889,7 +9969,7 @@ var VxeListComponent = defineVxeComponent({
|
|
|
9889
9969
|
};
|
|
9890
9970
|
const renderVN = () => {
|
|
9891
9971
|
const { showCheckbox, className, loading, useScrollbar } = props;
|
|
9892
|
-
const { bodyHeight, topSpaceHeight, rowList, isAllChecked, isAllIndeterminate } = reactData;
|
|
9972
|
+
const { bodyHeight, topSpaceHeight, rowList, isAllChecked, isAllIndeterminate, xThumbWidth, yThumbHeight } = reactData;
|
|
9893
9973
|
const defaultSlot = slots.default;
|
|
9894
9974
|
const headerSlot = slots.header;
|
|
9895
9975
|
const footerSlot = slots.footer;
|
|
@@ -9904,22 +9984,38 @@ var VxeListComponent = defineVxeComponent({
|
|
|
9904
9984
|
const rowOpts = computeRowOpts.value;
|
|
9905
9985
|
const { isHover, padding } = rowOpts;
|
|
9906
9986
|
const isDrag = computeIsDrag.value;
|
|
9907
|
-
const
|
|
9908
|
-
const
|
|
9987
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
9988
|
+
const scrollXVisible = computeScrollXVisible.value;
|
|
9989
|
+
const scrollYVisible = computeScrollYVisible.value;
|
|
9990
|
+
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
9991
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
9992
|
+
const scrollXAutoHide = computeScrollXAutoHide.value;
|
|
9993
|
+
const scrollYAutoHide = computeScrollYAutoHide.value;
|
|
9909
9994
|
const scrollbarWrapperClss = computeScrollbarWrapperClss.value;
|
|
9910
9995
|
const showDefChekboxHead = showCheckbox && showHeader !== false;
|
|
9911
9996
|
const leOns = {};
|
|
9912
9997
|
if (isCrossListDrag && !rowList.length) {
|
|
9913
9998
|
leOns.onDragover = $xeList.handleCrossListRowDragoverEmptyEvent;
|
|
9914
9999
|
}
|
|
9915
|
-
return h('div', Object.assign({ ref: refElem, class: [
|
|
10000
|
+
return h('div', Object.assign({ ref: refElem, class: [
|
|
10001
|
+
'vxe-list',
|
|
10002
|
+
useScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '',
|
|
10003
|
+
useScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '',
|
|
10004
|
+
useScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '',
|
|
10005
|
+
useScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '',
|
|
10006
|
+
className ? (XEUtils.isFunction(className) ? className({ $list: $xeList }) : className) : '',
|
|
10007
|
+
{
|
|
9916
10008
|
[`size--${vSize}`]: vSize,
|
|
9917
10009
|
'is--virtual-scrollbar': useScrollbar,
|
|
9918
|
-
'ov-
|
|
9919
|
-
'ov-
|
|
10010
|
+
'ov-padding': useScrollbar && scrollbarOpts.padding,
|
|
10011
|
+
'ov-x--auto-hide': useScrollbar && scrollXAutoHide,
|
|
10012
|
+
'ov-y--auto-hide': useScrollbar && scrollYAutoHide,
|
|
10013
|
+
'overflow-y': yThumbHeight,
|
|
10014
|
+
'overflow-x': xThumbWidth,
|
|
9920
10015
|
'is--drag': isDrag,
|
|
9921
10016
|
'is--loading': loading
|
|
9922
|
-
}
|
|
10017
|
+
}
|
|
10018
|
+
], style: wrapperStyles }, leOns), [
|
|
9923
10019
|
headerSlot || showDefChekboxHead
|
|
9924
10020
|
? h('div', {
|
|
9925
10021
|
ref: refHeaderElem,
|
|
@@ -9976,15 +10072,7 @@ var VxeListComponent = defineVxeComponent({
|
|
|
9976
10072
|
style: {
|
|
9977
10073
|
marginTop: topSpaceHeight ? `${topSpaceHeight}px` : ''
|
|
9978
10074
|
}
|
|
9979
|
-
},
|
|
9980
|
-
? (defaultSlot ? defaultSlot({ items: rowList, $list: $xeList }) : rowList.map((row, i) => renderRow(row, i)))
|
|
9981
|
-
: [
|
|
9982
|
-
h('div', {
|
|
9983
|
-
key: 'vi',
|
|
9984
|
-
ref: refViewInnerElem,
|
|
9985
|
-
class: 'vxe-scrollbar--view-inner'
|
|
9986
|
-
}, defaultSlot ? defaultSlot({ items: rowList, $list: $xeList }) : rowList.map((row, i) => renderRow(row, i)))
|
|
9987
|
-
])
|
|
10075
|
+
}, defaultSlot ? defaultSlot({ items: rowList, $list: $xeList }) : rowList.map((row, i) => renderRow(row, i)))
|
|
9988
10076
|
]),
|
|
9989
10077
|
footerSlot
|
|
9990
10078
|
? h('div', {
|
|
@@ -9999,7 +10087,7 @@ var VxeListComponent = defineVxeComponent({
|
|
|
9999
10087
|
? h('div', {
|
|
10000
10088
|
class: scrollbarWrapperClss
|
|
10001
10089
|
}, [
|
|
10002
|
-
|
|
10090
|
+
scrollXVisible === false
|
|
10003
10091
|
? renderEmptyElement$1($xeList)
|
|
10004
10092
|
: h('div', {
|
|
10005
10093
|
ref: refTrackXElem,
|
|
@@ -10016,7 +10104,7 @@ var VxeListComponent = defineVxeComponent({
|
|
|
10016
10104
|
onLostpointercapture: cleatPointerThumbEvent
|
|
10017
10105
|
})
|
|
10018
10106
|
]),
|
|
10019
|
-
|
|
10107
|
+
scrollYVisible === false
|
|
10020
10108
|
? renderEmptyElement$1($xeList)
|
|
10021
10109
|
: h('div', {
|
|
10022
10110
|
ref: refTrackYElem,
|
|
@@ -10068,11 +10156,24 @@ var VxeListComponent = defineVxeComponent({
|
|
|
10068
10156
|
watch(() => props.syncResize, () => {
|
|
10069
10157
|
reFlag.value++;
|
|
10070
10158
|
});
|
|
10159
|
+
watch(() => props.useScrollbar, () => {
|
|
10160
|
+
reFlag.value++;
|
|
10161
|
+
});
|
|
10071
10162
|
watch(computeRowHeight, () => {
|
|
10072
10163
|
reFlag.value++;
|
|
10073
10164
|
});
|
|
10074
|
-
watch(
|
|
10165
|
+
watch(computeScrollXVisible, () => {
|
|
10166
|
+
nextTick(() => {
|
|
10167
|
+
reFlag.value++;
|
|
10168
|
+
});
|
|
10169
|
+
});
|
|
10170
|
+
watch(computeScrollYVisible, () => {
|
|
10075
10171
|
nextTick(() => {
|
|
10172
|
+
reFlag.value++;
|
|
10173
|
+
});
|
|
10174
|
+
});
|
|
10175
|
+
watch(reFlag, () => {
|
|
10176
|
+
recalculate().then(() => {
|
|
10076
10177
|
recalculate();
|
|
10077
10178
|
});
|
|
10078
10179
|
});
|
|
@@ -10122,13 +10223,13 @@ var VxeListComponent = defineVxeComponent({
|
|
|
10122
10223
|
}
|
|
10123
10224
|
if (useScrollbar || autoResize) {
|
|
10124
10225
|
const el = refElem.value;
|
|
10125
|
-
const viewInnerEl =
|
|
10226
|
+
const viewInnerEl = refVirtualBody.value;
|
|
10126
10227
|
const resizeObserver = globalResize$1.create(() => {
|
|
10127
10228
|
reFlag.value++;
|
|
10128
10229
|
});
|
|
10129
|
-
|
|
10130
|
-
|
|
10131
|
-
if (
|
|
10230
|
+
if (el) {
|
|
10231
|
+
resizeObserver.observe(el);
|
|
10232
|
+
if (autoResize) {
|
|
10132
10233
|
resizeObserver.observe(el.parentElement);
|
|
10133
10234
|
}
|
|
10134
10235
|
}
|
|
@@ -29857,7 +29958,7 @@ var VxeLayoutAsideComponent = defineVxeComponent({
|
|
|
29857
29958
|
const vSize = computeSize.value;
|
|
29858
29959
|
const collapseOpts = computeCollapseOpts.value;
|
|
29859
29960
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
29860
|
-
const {
|
|
29961
|
+
const { className, viewClassName, viewInnerClassName } = scrollbarOpts;
|
|
29861
29962
|
const defaultSlot = slots.default;
|
|
29862
29963
|
return h('aside', {
|
|
29863
29964
|
ref: refElem,
|
|
@@ -29872,13 +29973,16 @@ var VxeLayoutAsideComponent = defineVxeComponent({
|
|
|
29872
29973
|
}, [
|
|
29873
29974
|
useScrollbar
|
|
29874
29975
|
? h(VxeScrollbar, {
|
|
29875
|
-
|
|
29976
|
+
width: scrollbarOpts.width,
|
|
29977
|
+
height: scrollbarOpts.height,
|
|
29978
|
+
autoHide: scrollbarOpts.autoHide,
|
|
29979
|
+
visible: scrollbarOpts.visible,
|
|
29876
29980
|
xConfig: {
|
|
29877
|
-
visible:
|
|
29981
|
+
visible: false
|
|
29878
29982
|
},
|
|
29879
|
-
yConfig,
|
|
29983
|
+
yConfig: scrollbarOpts.yConfig,
|
|
29880
29984
|
className: 'vxe-layout-aside--scrollbar' + (className ? (' ' + className) : ''),
|
|
29881
|
-
viewAttrs,
|
|
29985
|
+
viewAttrs: scrollbarOpts.viewAttrs,
|
|
29882
29986
|
viewClassName: 'vxe-layout-aside--scrollbar-view' + (viewClassName ? (' ' + viewClassName) : ''),
|
|
29883
29987
|
viewInnerClassName: 'vxe-layout-aside--scrollbar-inner' + (viewInnerClassName ? (' ' + viewInnerClassName) : '')
|
|
29884
29988
|
}, {
|
|
@@ -29960,6 +30064,23 @@ var VxeLayoutBodyComponent = defineVxeComponent({
|
|
|
29960
30064
|
const computeScrollbarOpts = computed(() => {
|
|
29961
30065
|
return Object.assign({}, getConfig$4().layoutBody.scrollbarConfig, props.scrollbarConfig);
|
|
29962
30066
|
});
|
|
30067
|
+
const computeScrollbarProps = computed(() => {
|
|
30068
|
+
const { showBacktop } = props;
|
|
30069
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
30070
|
+
const { className, viewClassName, viewInnerClassName } = scrollbarOpts;
|
|
30071
|
+
return {
|
|
30072
|
+
width: scrollbarOpts.width,
|
|
30073
|
+
height: scrollbarOpts.height,
|
|
30074
|
+
autoHide: scrollbarOpts.autoHide,
|
|
30075
|
+
visible: scrollbarOpts.visible,
|
|
30076
|
+
xConfig: scrollbarOpts.xConfig,
|
|
30077
|
+
yConfig: scrollbarOpts.yConfig,
|
|
30078
|
+
className: 'vxe-layout-body--scrollbar' + (className ? (' ' + className) : ''),
|
|
30079
|
+
viewAttrs: Object.assign(Object.assign({}, scrollbarOpts.viewAttrs), { id: showBacktop ? (backtopId || null) : null }),
|
|
30080
|
+
viewClassName: 'vxe-layout-body--scrollbar-view' + (viewClassName ? (' ' + viewClassName) : ''),
|
|
30081
|
+
viewInnerClassName: 'vxe-layout-body--scrollbar-inner' + (viewInnerClassName ? (' ' + viewInnerClassName) : '')
|
|
30082
|
+
};
|
|
30083
|
+
});
|
|
29963
30084
|
const computeMaps = {
|
|
29964
30085
|
computeSize
|
|
29965
30086
|
};
|
|
@@ -29983,8 +30104,7 @@ var VxeLayoutBodyComponent = defineVxeComponent({
|
|
|
29983
30104
|
const renderVN = () => {
|
|
29984
30105
|
const { loading, padding, showBacktop, useScrollbar } = props;
|
|
29985
30106
|
const backtopOpts = computeBacktopOpts.value;
|
|
29986
|
-
const
|
|
29987
|
-
const { native, xConfig, yConfig, className, viewAttrs, viewClassName, viewInnerClassName } = scrollbarOpts;
|
|
30107
|
+
const scrollbarProps = computeScrollbarProps.value;
|
|
29988
30108
|
const vSize = computeSize.value;
|
|
29989
30109
|
const defaultSlot = slots.default;
|
|
29990
30110
|
const backtopSlot = slots.backtop;
|
|
@@ -30009,15 +30129,7 @@ var VxeLayoutBodyComponent = defineVxeComponent({
|
|
|
30009
30129
|
}]
|
|
30010
30130
|
}, [
|
|
30011
30131
|
useScrollbar
|
|
30012
|
-
? h(VxeScrollbar, {
|
|
30013
|
-
native,
|
|
30014
|
-
xConfig,
|
|
30015
|
-
yConfig,
|
|
30016
|
-
className: 'vxe-layout-body--scrollbar' + (className ? (' ' + className) : ''),
|
|
30017
|
-
viewAttrs: Object.assign(Object.assign({}, viewAttrs), { id: showBacktop ? (backtopId || null) : null }),
|
|
30018
|
-
viewClassName: 'vxe-layout-body--scrollbar-view' + (viewClassName ? (' ' + viewClassName) : ''),
|
|
30019
|
-
viewInnerClassName: 'vxe-layout-body--scrollbar-inner' + (viewInnerClassName ? (' ' + viewInnerClassName) : '')
|
|
30020
|
-
}, {
|
|
30132
|
+
? h(VxeScrollbar, scrollbarProps, {
|
|
30021
30133
|
default: () => defaultSlot ? defaultSlot({}) : []
|
|
30022
30134
|
})
|
|
30023
30135
|
: h('div', {
|
|
@@ -41379,6 +41491,22 @@ var VxeTabsComponent = defineVxeComponent({
|
|
|
41379
41491
|
const computeScrollbarOpts = computed(() => {
|
|
41380
41492
|
return Object.assign({}, getConfig$4().tabs.scrollbarConfig, props.scrollbarConfig);
|
|
41381
41493
|
});
|
|
41494
|
+
const computeScrollbarProps = computed(() => {
|
|
41495
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
41496
|
+
const { viewClassName, viewInnerClassName } = scrollbarOpts;
|
|
41497
|
+
return {
|
|
41498
|
+
width: scrollbarOpts.width,
|
|
41499
|
+
height: scrollbarOpts.height,
|
|
41500
|
+
autoHide: scrollbarOpts.autoHide,
|
|
41501
|
+
visible: scrollbarOpts.visible,
|
|
41502
|
+
xConfig: scrollbarOpts.xConfig,
|
|
41503
|
+
yConfig: scrollbarOpts.yConfig,
|
|
41504
|
+
className: scrollbarOpts.className,
|
|
41505
|
+
viewAttrs: scrollbarOpts.viewAttrs,
|
|
41506
|
+
viewClassName: 'vxe-tabs-pane--scrollbar-item-view' + (viewClassName ? (' ' + viewClassName) : ''),
|
|
41507
|
+
viewInnerClassName: 'vxe-tabs-pane--scrollbar-item-inner' + (viewClassName ? (' ' + viewInnerClassName) : '')
|
|
41508
|
+
};
|
|
41509
|
+
});
|
|
41382
41510
|
const computeMaps = {};
|
|
41383
41511
|
const $xeTabs = {
|
|
41384
41512
|
xID,
|
|
@@ -41958,13 +42086,12 @@ var VxeTabsComponent = defineVxeComponent({
|
|
|
41958
42086
|
const { initNames, activeName } = reactData;
|
|
41959
42087
|
const { name, slots } = item;
|
|
41960
42088
|
const defaultSlot = slots ? slots.default : null;
|
|
41961
|
-
const
|
|
41962
|
-
const { viewClassName, viewInnerClassName } = scrollbarOpts;
|
|
42089
|
+
const scrollbarProps = computeScrollbarProps.value;
|
|
41963
42090
|
if (name && initNames.includes(name)) {
|
|
41964
42091
|
return useScrollbar
|
|
41965
|
-
? h(VxeScrollbar, Object.assign(
|
|
42092
|
+
? h(VxeScrollbar, Object.assign({ key: `${name}`, class: ['vxe-tabs-pane--scrollbar-item', {
|
|
41966
42093
|
'is--visible': activeName === name
|
|
41967
|
-
}] },
|
|
42094
|
+
}] }, scrollbarProps), {
|
|
41968
42095
|
default: () => defaultSlot ? callSlot(defaultSlot, { name }) : []
|
|
41969
42096
|
})
|
|
41970
42097
|
: h('div', {
|
|
@@ -43456,6 +43583,34 @@ const { menus, getConfig, getI18n, getIcon } = VxeUI;
|
|
|
43456
43583
|
function getNodeUniqueId() {
|
|
43457
43584
|
return XEUtils.uniqueId('node_');
|
|
43458
43585
|
}
|
|
43586
|
+
function createReactData$2() {
|
|
43587
|
+
return {
|
|
43588
|
+
parentHeight: 0,
|
|
43589
|
+
customHeight: 0,
|
|
43590
|
+
customMinHeight: 0,
|
|
43591
|
+
customMaxHeight: 0,
|
|
43592
|
+
currentNode: null,
|
|
43593
|
+
scrollYLoad: false,
|
|
43594
|
+
bodyHeight: 0,
|
|
43595
|
+
topSpaceHeight: 0,
|
|
43596
|
+
selectRadioKey: null,
|
|
43597
|
+
treeList: [],
|
|
43598
|
+
updateExpandedFlag: 1,
|
|
43599
|
+
updateCheckboxFlag: 1,
|
|
43600
|
+
// 滚动条
|
|
43601
|
+
yThumbHeight: 0,
|
|
43602
|
+
xThumbWidth: 0,
|
|
43603
|
+
insertNodeFlag: 1,
|
|
43604
|
+
removeNodeFlag: 1,
|
|
43605
|
+
dragNode: null,
|
|
43606
|
+
dragTipText: '',
|
|
43607
|
+
isCrossDragNode: false,
|
|
43608
|
+
tooltipStore: {
|
|
43609
|
+
visible: false,
|
|
43610
|
+
node: null
|
|
43611
|
+
}
|
|
43612
|
+
};
|
|
43613
|
+
}
|
|
43459
43614
|
function createInternalData$2() {
|
|
43460
43615
|
return {
|
|
43461
43616
|
// initialized: false,
|
|
@@ -43468,8 +43623,14 @@ function createInternalData$2() {
|
|
|
43468
43623
|
indeterminateNodeMaps: {},
|
|
43469
43624
|
treeExpandedMaps: {},
|
|
43470
43625
|
treeExpandLazyLoadedMaps: {},
|
|
43471
|
-
|
|
43626
|
+
// 滚动条
|
|
43627
|
+
// resizeObserver: undefined,
|
|
43628
|
+
// isThumbDrag: false,
|
|
43629
|
+
thumbDragOffset: 0,
|
|
43630
|
+
yThumbTop: 0,
|
|
43631
|
+
xThumbLeft: 0,
|
|
43472
43632
|
lastScrollTop: 0,
|
|
43633
|
+
lastScrollLeft: 0,
|
|
43473
43634
|
scrollYStore: {
|
|
43474
43635
|
startIndex: 0,
|
|
43475
43636
|
endIndex: 0,
|
|
@@ -43486,31 +43647,6 @@ function createInternalData$2() {
|
|
|
43486
43647
|
// hpTimeout: undefined
|
|
43487
43648
|
};
|
|
43488
43649
|
}
|
|
43489
|
-
function createReactData$2() {
|
|
43490
|
-
return {
|
|
43491
|
-
parentHeight: 0,
|
|
43492
|
-
customHeight: 0,
|
|
43493
|
-
customMinHeight: 0,
|
|
43494
|
-
customMaxHeight: 0,
|
|
43495
|
-
currentNode: null,
|
|
43496
|
-
scrollYLoad: false,
|
|
43497
|
-
bodyHeight: 0,
|
|
43498
|
-
topSpaceHeight: 0,
|
|
43499
|
-
selectRadioKey: null,
|
|
43500
|
-
treeList: [],
|
|
43501
|
-
updateExpandedFlag: 1,
|
|
43502
|
-
updateCheckboxFlag: 1,
|
|
43503
|
-
insertNodeFlag: 1,
|
|
43504
|
-
removeNodeFlag: 1,
|
|
43505
|
-
dragNode: null,
|
|
43506
|
-
dragTipText: '',
|
|
43507
|
-
isCrossDragNode: false,
|
|
43508
|
-
tooltipStore: {
|
|
43509
|
-
visible: false,
|
|
43510
|
-
node: null
|
|
43511
|
-
}
|
|
43512
|
-
};
|
|
43513
|
-
}
|
|
43514
43650
|
let crossTreeDragNodeObj = null;
|
|
43515
43651
|
var VxeTreeComponent = defineVxeComponent({
|
|
43516
43652
|
name: 'VxeTree',
|
|
@@ -43641,7 +43777,12 @@ var VxeTreeComponent = defineVxeComponent({
|
|
|
43641
43777
|
type: String,
|
|
43642
43778
|
default: () => getConfig().tree.size || getConfig().size
|
|
43643
43779
|
},
|
|
43644
|
-
virtualYConfig: Object
|
|
43780
|
+
virtualYConfig: Object,
|
|
43781
|
+
useScrollbar: {
|
|
43782
|
+
type: Boolean,
|
|
43783
|
+
default: () => getConfig().tree.useScrollbar
|
|
43784
|
+
},
|
|
43785
|
+
scrollbarConfig: Object
|
|
43645
43786
|
},
|
|
43646
43787
|
emits: [
|
|
43647
43788
|
'update:modelValue',
|
|
@@ -43673,6 +43814,10 @@ var VxeTreeComponent = defineVxeComponent({
|
|
|
43673
43814
|
const refFooterWrapperElem = ref();
|
|
43674
43815
|
const refVirtualWrapper = ref();
|
|
43675
43816
|
const refVirtualBody = ref();
|
|
43817
|
+
const refTrackXElem = ref();
|
|
43818
|
+
const refTrackYElem = ref();
|
|
43819
|
+
const refThumbXElem = ref();
|
|
43820
|
+
const refThumbYElem = ref();
|
|
43676
43821
|
const refDragNodeLineElem = ref();
|
|
43677
43822
|
const refDragTipElem = ref();
|
|
43678
43823
|
const refTooltip = ref();
|
|
@@ -43744,6 +43889,19 @@ var VxeTreeComponent = defineVxeComponent({
|
|
|
43744
43889
|
const computeMenuOpts = computed(() => {
|
|
43745
43890
|
return Object.assign({}, getConfig().tree.menuConfig, props.menuConfig);
|
|
43746
43891
|
});
|
|
43892
|
+
const computeWrapperStyles = computed(() => {
|
|
43893
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
43894
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
43895
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
43896
|
+
const barWidth = getDefaultConfig(getDefaultConfig(scrollbarYOpts.width, scrollbarOpts.width), getConfig().scrollbar.width);
|
|
43897
|
+
const barHeight = getDefaultConfig(getDefaultConfig(scrollbarXOpts.height, scrollbarOpts.height), getConfig().scrollbar.height);
|
|
43898
|
+
const stys = {};
|
|
43899
|
+
if (barWidth || barHeight) {
|
|
43900
|
+
stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(barWidth || barHeight);
|
|
43901
|
+
stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(barHeight || barWidth);
|
|
43902
|
+
}
|
|
43903
|
+
return stys;
|
|
43904
|
+
});
|
|
43747
43905
|
const computeTreeStyle = computed(() => {
|
|
43748
43906
|
const { indent } = props;
|
|
43749
43907
|
const { customHeight, customMinHeight, customMaxHeight } = reactData;
|
|
@@ -43776,6 +43934,71 @@ var VxeTreeComponent = defineVxeComponent({
|
|
|
43776
43934
|
const computeFilterOpts = computed(() => {
|
|
43777
43935
|
return Object.assign({}, getConfig().tree.filterConfig, props.filterConfig);
|
|
43778
43936
|
});
|
|
43937
|
+
const computeScrollbarOpts = computed(() => {
|
|
43938
|
+
return Object.assign({}, getConfig().tree.scrollbarConfig, props.scrollbarConfig);
|
|
43939
|
+
});
|
|
43940
|
+
const computeScrollbarXOpts = computed(() => {
|
|
43941
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
43942
|
+
return Object.assign({}, getConfig().scrollbar.xConfig, scrollbarOpts.xConfig, {
|
|
43943
|
+
visible: false
|
|
43944
|
+
});
|
|
43945
|
+
});
|
|
43946
|
+
const computeScrollbarYOpts = computed(() => {
|
|
43947
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
43948
|
+
return Object.assign({}, getConfig().scrollbar.yConfig, scrollbarOpts.yConfig);
|
|
43949
|
+
});
|
|
43950
|
+
const computeScrollXVisible = computed(() => {
|
|
43951
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
43952
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
43953
|
+
return getDefaultConfig(scrollbarXOpts.visible, scrollbarOpts.visible);
|
|
43954
|
+
});
|
|
43955
|
+
const computeScrollYVisible = computed(() => {
|
|
43956
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
43957
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
43958
|
+
return getDefaultConfig(scrollbarYOpts.visible, scrollbarOpts.visible);
|
|
43959
|
+
});
|
|
43960
|
+
const computeScrollXAutoHide = computed(() => {
|
|
43961
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
43962
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
43963
|
+
return getDefaultConfig(getDefaultConfig(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
|
|
43964
|
+
});
|
|
43965
|
+
const computeScrollYAutoHide = computed(() => {
|
|
43966
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
43967
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
43968
|
+
return getDefaultConfig(getDefaultConfig(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
|
|
43969
|
+
});
|
|
43970
|
+
const computeScrollbarWrapperClss = computed(() => {
|
|
43971
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
43972
|
+
const { padding } = scrollbarOpts;
|
|
43973
|
+
const { yThumbHeight, xThumbWidth } = reactData;
|
|
43974
|
+
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
43975
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
43976
|
+
const scrollXVisible = computeScrollXVisible.value;
|
|
43977
|
+
const scrollYVisible = computeScrollYVisible.value;
|
|
43978
|
+
const scrollXAutoHide = computeScrollXAutoHide.value;
|
|
43979
|
+
const scrollYAutoHide = computeScrollYAutoHide.value;
|
|
43980
|
+
return domUtils$1.buildClass([
|
|
43981
|
+
'vxe-scrollbar is--virtual',
|
|
43982
|
+
`ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}`,
|
|
43983
|
+
`ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}`,
|
|
43984
|
+
`sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`,
|
|
43985
|
+
`sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`
|
|
43986
|
+
], {
|
|
43987
|
+
'is--padding': padding,
|
|
43988
|
+
'ov-x--auto-hide': scrollXAutoHide,
|
|
43989
|
+
'ov-y--auto-hide': scrollYAutoHide,
|
|
43990
|
+
'overflow-y': yThumbHeight,
|
|
43991
|
+
'overflow-x': xThumbWidth
|
|
43992
|
+
});
|
|
43993
|
+
});
|
|
43994
|
+
const computeScrollbarXToTop = computed(() => {
|
|
43995
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
43996
|
+
return scrollbarXOpts.position === 'top';
|
|
43997
|
+
});
|
|
43998
|
+
const computeScrollbarYToLeft = computed(() => {
|
|
43999
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
44000
|
+
return scrollbarYOpts.position === 'left';
|
|
44001
|
+
});
|
|
43779
44002
|
const computeMaps = {
|
|
43780
44003
|
computeKeyField,
|
|
43781
44004
|
computeParentField,
|
|
@@ -44293,6 +44516,10 @@ var VxeTreeComponent = defineVxeComponent({
|
|
|
44293
44516
|
}
|
|
44294
44517
|
});
|
|
44295
44518
|
};
|
|
44519
|
+
const updateScrollbar = () => {
|
|
44520
|
+
updateThumbSize();
|
|
44521
|
+
updateThumbOffset();
|
|
44522
|
+
};
|
|
44296
44523
|
/**
|
|
44297
44524
|
* 重新计算列表
|
|
44298
44525
|
*/
|
|
@@ -44314,6 +44541,7 @@ var VxeTreeComponent = defineVxeComponent({
|
|
|
44314
44541
|
const parentPaddingSize = getPaddingTopBottomSize(parentEl);
|
|
44315
44542
|
reactData.parentHeight = Math.max(headHeight + footHeight + rowHeight, parentEl.clientHeight - parentPaddingSize - headHeight - footHeight);
|
|
44316
44543
|
}
|
|
44544
|
+
updateScrollbar();
|
|
44317
44545
|
updateHeight();
|
|
44318
44546
|
return computeScrollLoad().then(() => {
|
|
44319
44547
|
updateHeight();
|
|
@@ -44347,6 +44575,7 @@ var VxeTreeComponent = defineVxeComponent({
|
|
|
44347
44575
|
const scrollLeft = scrollBodyElem.scrollLeft;
|
|
44348
44576
|
const isX = scrollLeft !== internalData.lastScrollLeft;
|
|
44349
44577
|
const isY = scrollTop !== internalData.lastScrollTop;
|
|
44578
|
+
updateThumbOffset();
|
|
44350
44579
|
internalData.lastScrollTop = scrollTop;
|
|
44351
44580
|
internalData.lastScrollLeft = scrollLeft;
|
|
44352
44581
|
if (reactData.scrollYLoad) {
|
|
@@ -44891,13 +45120,6 @@ var VxeTreeComponent = defineVxeComponent({
|
|
|
44891
45120
|
emitRadioMode(value);
|
|
44892
45121
|
dispatchEvent('radio-change', { node, value, checked: isChecked }, evnt);
|
|
44893
45122
|
};
|
|
44894
|
-
const handleGlobalResizeEvent = () => {
|
|
44895
|
-
const el = refElem.value;
|
|
44896
|
-
if (!el || !el.clientWidth) {
|
|
44897
|
-
return;
|
|
44898
|
-
}
|
|
44899
|
-
recalculate();
|
|
44900
|
-
};
|
|
44901
45123
|
const insertTreeNode = (newRecords, isAppend) => {
|
|
44902
45124
|
const { treeFullData, nodeMaps } = internalData;
|
|
44903
45125
|
const keyField = computeKeyField.value;
|
|
@@ -46331,6 +46553,162 @@ var VxeTreeComponent = defineVxeComponent({
|
|
|
46331
46553
|
hideDropTip();
|
|
46332
46554
|
}
|
|
46333
46555
|
};
|
|
46556
|
+
const updateThumbSize = () => {
|
|
46557
|
+
const viewEl = refVirtualWrapper.value;
|
|
46558
|
+
if (!viewEl) {
|
|
46559
|
+
return;
|
|
46560
|
+
}
|
|
46561
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
46562
|
+
return;
|
|
46563
|
+
}
|
|
46564
|
+
const trackXEl = refTrackXElem.value;
|
|
46565
|
+
const xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
|
|
46566
|
+
const thumbXElem = refThumbXElem.value;
|
|
46567
|
+
if (thumbXElem) {
|
|
46568
|
+
thumbXElem.style.width = xThumbWidth + 'px';
|
|
46569
|
+
}
|
|
46570
|
+
reactData.xThumbWidth = xThumbWidth;
|
|
46571
|
+
const trackYEl = refTrackYElem.value;
|
|
46572
|
+
const yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
|
|
46573
|
+
const thumbYElem = refThumbYElem.value;
|
|
46574
|
+
if (thumbYElem) {
|
|
46575
|
+
thumbYElem.style.height = yThumbHeight + 'px';
|
|
46576
|
+
}
|
|
46577
|
+
reactData.yThumbHeight = yThumbHeight;
|
|
46578
|
+
};
|
|
46579
|
+
const updateThumbOffset = () => {
|
|
46580
|
+
const viewEl = refVirtualWrapper.value;
|
|
46581
|
+
if (!viewEl) {
|
|
46582
|
+
return;
|
|
46583
|
+
}
|
|
46584
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
46585
|
+
return;
|
|
46586
|
+
}
|
|
46587
|
+
const { xThumbWidth, yThumbHeight } = reactData;
|
|
46588
|
+
const trackXEl = refTrackXElem.value;
|
|
46589
|
+
const thumbXElem = refThumbXElem.value;
|
|
46590
|
+
const xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
|
|
46591
|
+
internalData.xThumbLeft = xThumbLeft;
|
|
46592
|
+
if (thumbXElem && xThumbWidth) {
|
|
46593
|
+
thumbXElem.style.width = xThumbWidth + 'px';
|
|
46594
|
+
thumbXElem.style.transform = `translateX(${xThumbLeft}px)`;
|
|
46595
|
+
}
|
|
46596
|
+
const trackYEl = refTrackYElem.value;
|
|
46597
|
+
const thumbYElem = refThumbYElem.value;
|
|
46598
|
+
const yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
|
|
46599
|
+
internalData.yThumbTop = yThumbTop;
|
|
46600
|
+
if (thumbYElem && yThumbHeight) {
|
|
46601
|
+
thumbYElem.style.height = yThumbHeight + 'px';
|
|
46602
|
+
thumbYElem.style.transform = `translateY(${yThumbTop}px)`;
|
|
46603
|
+
}
|
|
46604
|
+
};
|
|
46605
|
+
const clickTrackXEvent = (evnt) => {
|
|
46606
|
+
const trackEl = evnt.currentTarget;
|
|
46607
|
+
if (trackEl !== evnt.target) {
|
|
46608
|
+
return;
|
|
46609
|
+
}
|
|
46610
|
+
const viewEl = refVirtualWrapper.value;
|
|
46611
|
+
if (!viewEl) {
|
|
46612
|
+
return;
|
|
46613
|
+
}
|
|
46614
|
+
const { xThumbWidth } = reactData;
|
|
46615
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
46616
|
+
viewEl.scrollTo({
|
|
46617
|
+
left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
|
|
46618
|
+
behavior: 'auto'
|
|
46619
|
+
});
|
|
46620
|
+
};
|
|
46621
|
+
const clickTrackYEvent = (evnt) => {
|
|
46622
|
+
const trackEl = evnt.currentTarget;
|
|
46623
|
+
if (trackEl !== evnt.target) {
|
|
46624
|
+
return;
|
|
46625
|
+
}
|
|
46626
|
+
const viewEl = refVirtualWrapper.value;
|
|
46627
|
+
if (!viewEl) {
|
|
46628
|
+
return;
|
|
46629
|
+
}
|
|
46630
|
+
const { yThumbHeight } = reactData;
|
|
46631
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
46632
|
+
viewEl.scrollTo({
|
|
46633
|
+
top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
|
|
46634
|
+
behavior: 'auto'
|
|
46635
|
+
});
|
|
46636
|
+
};
|
|
46637
|
+
const pointerdownThumbXEvent = (evnt) => {
|
|
46638
|
+
const thumbEl = evnt.currentTarget;
|
|
46639
|
+
internalData.isThumbDrag = true;
|
|
46640
|
+
thumbEl.setPointerCapture(evnt.pointerId);
|
|
46641
|
+
const viewEl = refVirtualWrapper.value;
|
|
46642
|
+
if (!viewEl) {
|
|
46643
|
+
return;
|
|
46644
|
+
}
|
|
46645
|
+
const { xThumbWidth } = reactData;
|
|
46646
|
+
const trackEl = thumbEl.parentElement;
|
|
46647
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
46648
|
+
const pointerPosition = evnt.clientX - trackRect.left;
|
|
46649
|
+
// 记录 thumb 的偏移
|
|
46650
|
+
const thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
46651
|
+
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
46652
|
+
};
|
|
46653
|
+
const pointermoveThumbXEvent = (evnt) => {
|
|
46654
|
+
const thumbEl = evnt.currentTarget;
|
|
46655
|
+
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
46656
|
+
return;
|
|
46657
|
+
}
|
|
46658
|
+
const { isThumbDrag, thumbDragOffset } = internalData;
|
|
46659
|
+
if (isThumbDrag) {
|
|
46660
|
+
const viewEl = refVirtualWrapper.value;
|
|
46661
|
+
if (!viewEl) {
|
|
46662
|
+
return;
|
|
46663
|
+
}
|
|
46664
|
+
const { xThumbWidth } = reactData;
|
|
46665
|
+
const thumbEl = evnt.currentTarget;
|
|
46666
|
+
const trackEl = thumbEl.parentElement;
|
|
46667
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
46668
|
+
// 更新偏移
|
|
46669
|
+
viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
46670
|
+
}
|
|
46671
|
+
};
|
|
46672
|
+
const cleatPointerThumbEvent = (evnt) => {
|
|
46673
|
+
const thumbEl = evnt.currentTarget;
|
|
46674
|
+
thumbEl.releasePointerCapture(evnt.pointerId);
|
|
46675
|
+
internalData.isThumbDrag = false;
|
|
46676
|
+
};
|
|
46677
|
+
const pointerdownThumbYEvent = (evnt) => {
|
|
46678
|
+
const thumbEl = evnt.currentTarget;
|
|
46679
|
+
internalData.isThumbDrag = true;
|
|
46680
|
+
thumbEl.setPointerCapture(evnt.pointerId);
|
|
46681
|
+
const viewEl = refVirtualWrapper.value;
|
|
46682
|
+
if (!viewEl) {
|
|
46683
|
+
return;
|
|
46684
|
+
}
|
|
46685
|
+
const { yThumbHeight } = reactData;
|
|
46686
|
+
const trackEl = thumbEl.parentElement;
|
|
46687
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
46688
|
+
const pointerPosition = evnt.clientY - trackRect.top;
|
|
46689
|
+
// 记录 thumb 的偏移
|
|
46690
|
+
const thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
46691
|
+
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
46692
|
+
};
|
|
46693
|
+
const pointermoveThumbYEvent = (evnt) => {
|
|
46694
|
+
const thumbEl = evnt.currentTarget;
|
|
46695
|
+
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
46696
|
+
return;
|
|
46697
|
+
}
|
|
46698
|
+
const { isThumbDrag, thumbDragOffset } = internalData;
|
|
46699
|
+
if (isThumbDrag) {
|
|
46700
|
+
const viewEl = refVirtualWrapper.value;
|
|
46701
|
+
if (!viewEl) {
|
|
46702
|
+
return;
|
|
46703
|
+
}
|
|
46704
|
+
const { yThumbHeight } = reactData;
|
|
46705
|
+
const thumbEl = evnt.currentTarget;
|
|
46706
|
+
const trackEl = thumbEl.parentElement;
|
|
46707
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
46708
|
+
// 更新偏移
|
|
46709
|
+
viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
46710
|
+
}
|
|
46711
|
+
};
|
|
46334
46712
|
Object.assign($xeTree, treeMethods, treePrivateMethods);
|
|
46335
46713
|
const renderDragIcon = (node, nodeid) => {
|
|
46336
46714
|
const { drag, transform } = props;
|
|
@@ -46640,13 +47018,14 @@ var VxeTreeComponent = defineVxeComponent({
|
|
|
46640
47018
|
return renderEmptyElement$1($xeTree);
|
|
46641
47019
|
};
|
|
46642
47020
|
const renderVN = () => {
|
|
46643
|
-
const { loading, trigger, showLine } = props;
|
|
46644
|
-
const { bodyHeight, topSpaceHeight, treeList, tooltipStore } = reactData;
|
|
47021
|
+
const { loading, trigger, showLine, useScrollbar } = props;
|
|
47022
|
+
const { bodyHeight, topSpaceHeight, treeList, tooltipStore, xThumbWidth, yThumbHeight } = reactData;
|
|
46645
47023
|
const vSize = computeSize.value;
|
|
46646
47024
|
const radioOpts = computeRadioOpts.value;
|
|
46647
47025
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
46648
47026
|
const loadingOpts = computeLoadingOpts.value;
|
|
46649
47027
|
const isNodeHover = computeIsNodeHover.value;
|
|
47028
|
+
const wrapperStyles = computeWrapperStyles.value;
|
|
46650
47029
|
const treeStyle = computeTreeStyle.value;
|
|
46651
47030
|
const dragOpts = computeDragOpts.value;
|
|
46652
47031
|
const tooltipOpts = computeTooltipOpts.value;
|
|
@@ -46654,19 +47033,40 @@ var VxeTreeComponent = defineVxeComponent({
|
|
|
46654
47033
|
const headerSlot = slots.header;
|
|
46655
47034
|
const footerSlot = slots.footer;
|
|
46656
47035
|
const tooltipSlot = slots.tooltip;
|
|
47036
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
47037
|
+
const scrollXVisible = computeScrollXVisible.value;
|
|
47038
|
+
const scrollYVisible = computeScrollYVisible.value;
|
|
47039
|
+
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
47040
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
47041
|
+
const scrollXAutoHide = computeScrollXAutoHide.value;
|
|
47042
|
+
const scrollYAutoHide = computeScrollYAutoHide.value;
|
|
47043
|
+
const scrollbarWrapperClss = computeScrollbarWrapperClss.value;
|
|
46657
47044
|
const teOns = {};
|
|
46658
47045
|
if (dragOpts.isCrossTreeDrag && !treeList.length) {
|
|
46659
47046
|
teOns.onDragover = $xeTree.handleCrossTreeNodeDragoverEmptyEvent;
|
|
46660
47047
|
}
|
|
46661
|
-
return h('div', Object.assign({ ref: refElem, class: [
|
|
47048
|
+
return h('div', Object.assign({ ref: refElem, class: [
|
|
47049
|
+
'vxe-tree',
|
|
47050
|
+
useScrollbar ? `ov-x--${scrollXVisible === false ? 'hidden' : 'visible'}` : '',
|
|
47051
|
+
useScrollbar ? `ov-y--${scrollYVisible === false ? 'hidden' : 'visible'}` : '',
|
|
47052
|
+
useScrollbar ? `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}` : '',
|
|
47053
|
+
useScrollbar ? `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}` : '',
|
|
47054
|
+
{
|
|
46662
47055
|
[`size--${vSize}`]: vSize,
|
|
46663
47056
|
'show--line': showLine,
|
|
47057
|
+
'is--virtual-scrollbar': useScrollbar,
|
|
47058
|
+
'ov-padding': useScrollbar && scrollbarOpts.padding,
|
|
47059
|
+
'ov-x--auto-hide': useScrollbar && scrollXAutoHide,
|
|
47060
|
+
'ov-y--auto-hide': useScrollbar && scrollYAutoHide,
|
|
47061
|
+
'overflow-y': yThumbHeight,
|
|
47062
|
+
'overflow-x': xThumbWidth,
|
|
46664
47063
|
'checkbox--highlight': checkboxOpts.highlight,
|
|
46665
47064
|
'radio--highlight': radioOpts.highlight,
|
|
46666
47065
|
'node--hover': isNodeHover,
|
|
46667
47066
|
'node--trigger': trigger === 'node',
|
|
46668
47067
|
'is--loading': loading
|
|
46669
|
-
}
|
|
47068
|
+
}
|
|
47069
|
+
], style: wrapperStyles }, teOns), [
|
|
46670
47070
|
headerSlot
|
|
46671
47071
|
? h('div', {
|
|
46672
47072
|
ref: refHeaderWrapperElem,
|
|
@@ -46699,6 +47099,49 @@ var VxeTreeComponent = defineVxeComponent({
|
|
|
46699
47099
|
class: 'vxe-tree--footer-wrapper'
|
|
46700
47100
|
}, footerSlot({ $tree: $xeTree }))
|
|
46701
47101
|
: renderEmptyElement$1($xeTree),
|
|
47102
|
+
/**
|
|
47103
|
+
* 滚动条
|
|
47104
|
+
*/
|
|
47105
|
+
useScrollbar
|
|
47106
|
+
? h('div', {
|
|
47107
|
+
class: scrollbarWrapperClss
|
|
47108
|
+
}, [
|
|
47109
|
+
scrollXVisible === false
|
|
47110
|
+
? renderEmptyElement$1($xeTree)
|
|
47111
|
+
: h('div', {
|
|
47112
|
+
ref: refTrackXElem,
|
|
47113
|
+
class: 'vxe-scrollbar--track-x',
|
|
47114
|
+
onClick: clickTrackXEvent
|
|
47115
|
+
}, [
|
|
47116
|
+
h('div', {
|
|
47117
|
+
ref: refThumbXElem,
|
|
47118
|
+
class: 'vxe-scrollbar--thumb-x',
|
|
47119
|
+
onPointerdown: pointerdownThumbXEvent,
|
|
47120
|
+
onPointermove: pointermoveThumbXEvent,
|
|
47121
|
+
onPointerup: cleatPointerThumbEvent,
|
|
47122
|
+
onPointercancel: cleatPointerThumbEvent,
|
|
47123
|
+
onLostpointercapture: cleatPointerThumbEvent
|
|
47124
|
+
})
|
|
47125
|
+
]),
|
|
47126
|
+
scrollYVisible === false
|
|
47127
|
+
? renderEmptyElement$1($xeTree)
|
|
47128
|
+
: h('div', {
|
|
47129
|
+
ref: refTrackYElem,
|
|
47130
|
+
class: 'vxe-scrollbar--track-y',
|
|
47131
|
+
onClick: clickTrackYEvent
|
|
47132
|
+
}, [
|
|
47133
|
+
h('div', {
|
|
47134
|
+
ref: refThumbYElem,
|
|
47135
|
+
class: 'vxe-scrollbar--thumb-y',
|
|
47136
|
+
onPointerdown: pointerdownThumbYEvent,
|
|
47137
|
+
onPointermove: pointermoveThumbYEvent,
|
|
47138
|
+
onPointerup: cleatPointerThumbEvent,
|
|
47139
|
+
onPointercancel: cleatPointerThumbEvent,
|
|
47140
|
+
onLostpointercapture: cleatPointerThumbEvent
|
|
47141
|
+
})
|
|
47142
|
+
])
|
|
47143
|
+
])
|
|
47144
|
+
: renderEmptyElement$1($xeTree),
|
|
46702
47145
|
/**
|
|
46703
47146
|
* 拖拽提示
|
|
46704
47147
|
*/
|
|
@@ -46782,21 +47225,36 @@ var VxeTreeComponent = defineVxeComponent({
|
|
|
46782
47225
|
watch(() => props.filterValue, () => {
|
|
46783
47226
|
triggerSearchEvent(new Event('filter'));
|
|
46784
47227
|
});
|
|
46785
|
-
const
|
|
47228
|
+
const reFlag = ref(0);
|
|
46786
47229
|
watch(() => props.height, () => {
|
|
46787
|
-
|
|
47230
|
+
reFlag.value++;
|
|
46788
47231
|
});
|
|
46789
47232
|
watch(() => props.minHeight, () => {
|
|
46790
|
-
|
|
47233
|
+
reFlag.value++;
|
|
46791
47234
|
});
|
|
46792
47235
|
watch(() => props.maxHeight, () => {
|
|
46793
|
-
|
|
47236
|
+
reFlag.value++;
|
|
46794
47237
|
});
|
|
46795
|
-
watch(
|
|
46796
|
-
|
|
47238
|
+
watch(() => props.useScrollbar, () => {
|
|
47239
|
+
reFlag.value++;
|
|
47240
|
+
});
|
|
47241
|
+
watch(computeScrollXVisible, () => {
|
|
47242
|
+
nextTick(() => {
|
|
47243
|
+
reFlag.value++;
|
|
47244
|
+
});
|
|
47245
|
+
});
|
|
47246
|
+
watch(computeScrollYVisible, () => {
|
|
47247
|
+
nextTick(() => {
|
|
47248
|
+
reFlag.value++;
|
|
47249
|
+
});
|
|
47250
|
+
});
|
|
47251
|
+
watch(reFlag, () => {
|
|
47252
|
+
recalculate().then(() => {
|
|
47253
|
+
recalculate();
|
|
47254
|
+
});
|
|
46797
47255
|
});
|
|
46798
47256
|
onMounted(() => {
|
|
46799
|
-
const { transform, drag, menuConfig, showOverflow, lazy, loadMethod } = props;
|
|
47257
|
+
const { transform, drag, menuConfig, showOverflow, lazy, loadMethod, autoResize, useScrollbar } = props;
|
|
46800
47258
|
const dragOpts = computeDragOpts.value;
|
|
46801
47259
|
if (!showOverflow) {
|
|
46802
47260
|
errLog$2('vxe.error.errProp', ['show-overflow=false', 'show-overflow=true']);
|
|
@@ -46817,24 +47275,30 @@ var VxeTreeComponent = defineVxeComponent({
|
|
|
46817
47275
|
if (menuConfig && !VxeUIContextMenu) {
|
|
46818
47276
|
errLog$2('vxe.error.reqComp', ['vxe-context-menu']);
|
|
46819
47277
|
}
|
|
46820
|
-
if (
|
|
47278
|
+
if (useScrollbar || autoResize) {
|
|
46821
47279
|
const el = refElem.value;
|
|
47280
|
+
const viewInnerEl = refVirtualBody.value;
|
|
46822
47281
|
const parentEl = getParentElem();
|
|
46823
47282
|
const resizeObserver = globalResize$1.create(() => {
|
|
46824
|
-
|
|
46825
|
-
recalculate();
|
|
46826
|
-
}
|
|
47283
|
+
reFlag.value++;
|
|
46827
47284
|
});
|
|
46828
47285
|
if (el) {
|
|
46829
47286
|
resizeObserver.observe(el);
|
|
47287
|
+
if (autoResize) {
|
|
47288
|
+
if (parentEl) {
|
|
47289
|
+
resizeObserver.observe(parentEl);
|
|
47290
|
+
}
|
|
47291
|
+
}
|
|
46830
47292
|
}
|
|
46831
|
-
if (
|
|
46832
|
-
resizeObserver.observe(
|
|
47293
|
+
if (viewInnerEl) {
|
|
47294
|
+
resizeObserver.observe(viewInnerEl);
|
|
46833
47295
|
}
|
|
46834
47296
|
internalData.resizeObserver = resizeObserver;
|
|
46835
47297
|
}
|
|
46836
|
-
|
|
46837
|
-
globalEvents$1.on($xeTree, 'resize',
|
|
47298
|
+
reFlag.value++;
|
|
47299
|
+
globalEvents$1.on($xeTree, 'resize', () => {
|
|
47300
|
+
reFlag.value++;
|
|
47301
|
+
});
|
|
46838
47302
|
});
|
|
46839
47303
|
onBeforeUnmount(() => {
|
|
46840
47304
|
const { resizeObserver } = internalData;
|