vxe-pc-ui 4.19.8 → 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 +878 -115
- 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 +364 -21
- package/es/list/style.css +43 -0
- package/es/list/style.min.css +1 -1
- package/es/scrollbar/src/scrollbar.js +59 -17
- package/es/scrollbar/style.css +1 -0
- 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 +12 -0
- package/es/vxe-list/style.css +43 -0
- package/es/vxe-list/style.min.css +1 -1
- package/es/vxe-scrollbar/style.css +1 -0
- 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 +914 -126
- 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 +368 -21
- package/lib/list/src/list.min.js +1 -1
- package/lib/list/style/style.css +43 -0
- 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/scrollbar/style/style.css +1 -0
- 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 +14 -0
- package/lib/ui/src/utils.min.js +1 -1
- package/lib/vxe-list/style/style.css +43 -0
- package/lib/vxe-list/style/style.min.css +1 -1
- package/lib/vxe-scrollbar/style/style.css +1 -0
- 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 +397 -24
- 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 +14 -0
- package/styles/components/list.scss +76 -0
- package/styles/components/scrollbar.scss +3 -0
- 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 +33 -2
- package/types/components/scrollbar.d.ts +17 -2
- package/types/components/table-plugins/extend-cell-area.d.ts +1 -1
- package/types/components/table.d.ts +71 -4
- package/types/components/tabs.d.ts +10 -1
- package/types/components/tree.d.ts +33 -2
- /package/es/icon/{iconfont.1791862962954.ttf → iconfont.1791950625324.ttf} +0 -0
- /package/es/icon/{iconfont.1791862962954.woff → iconfont.1791950625324.woff} +0 -0
- /package/es/icon/{iconfont.1791862962954.woff2 → iconfont.1791950625324.woff2} +0 -0
- /package/es/{iconfont.1791862962954.ttf → iconfont.1791950625324.ttf} +0 -0
- /package/es/{iconfont.1791862962954.woff → iconfont.1791950625324.woff} +0 -0
- /package/es/{iconfont.1791862962954.woff2 → iconfont.1791950625324.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1791862962954.ttf → iconfont.1791950625324.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1791862962954.woff → iconfont.1791950625324.woff} +0 -0
- /package/lib/icon/style/{iconfont.1791862962954.woff2 → iconfont.1791950625324.woff2} +0 -0
- /package/lib/{iconfont.1791862962954.ttf → iconfont.1791950625324.ttf} +0 -0
- /package/lib/{iconfont.1791862962954.woff → iconfont.1791950625324.woff} +0 -0
- /package/lib/{iconfont.1791862962954.woff2 → iconfont.1791950625324.woff2} +0 -0
package/lib/index.umd.js
CHANGED
|
@@ -4745,7 +4745,7 @@ function checkDynamic() {
|
|
|
4745
4745
|
const {
|
|
4746
4746
|
log: log_log
|
|
4747
4747
|
} = VxeUI;
|
|
4748
|
-
const uiVersion = `ui v${"4.
|
|
4748
|
+
const uiVersion = `ui v${"4.20.1"}`;
|
|
4749
4749
|
function createComponentLog(name) {
|
|
4750
4750
|
const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
|
|
4751
4751
|
const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
|
|
@@ -4763,7 +4763,7 @@ const errLog = log_log.create('error', uiVersion);
|
|
|
4763
4763
|
|
|
4764
4764
|
|
|
4765
4765
|
|
|
4766
|
-
const ui_version = "4.
|
|
4766
|
+
const ui_version = "4.20.1";
|
|
4767
4767
|
VxeUI.uiVersion = ui_version;
|
|
4768
4768
|
VxeUI.dynamicApp = dynamicApp;
|
|
4769
4769
|
function config(options) {
|
|
@@ -7412,6 +7412,15 @@ const Avatar = VxeAvatar;
|
|
|
7412
7412
|
function isEnableConf(conf) {
|
|
7413
7413
|
return conf && conf.enabled !== false;
|
|
7414
7414
|
}
|
|
7415
|
+
/**
|
|
7416
|
+
* 用于开关类型的配置项
|
|
7417
|
+
* 局部启用规则:conf={}
|
|
7418
|
+
* 局部禁用规则:conf={enabled:false}
|
|
7419
|
+
* 全局默认启用规则:conf.enabled=true
|
|
7420
|
+
*/
|
|
7421
|
+
function hasEnableConf(conf, opts) {
|
|
7422
|
+
return opts && (conf ? opts.enabled !== false : opts.enabled);
|
|
7423
|
+
}
|
|
7415
7424
|
function nextZIndex() {
|
|
7416
7425
|
return index_esm.getNext();
|
|
7417
7426
|
}
|
|
@@ -7458,6 +7467,9 @@ function enModelValue(nodeid) {
|
|
|
7458
7467
|
function deModelValue(nodeid) {
|
|
7459
7468
|
return nodeid ? decodeURIComponent(`${nodeid}`) : nodeid;
|
|
7460
7469
|
}
|
|
7470
|
+
function getDefaultConfig(val1, def1) {
|
|
7471
|
+
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().eqNull(val1) ? def1 : val1;
|
|
7472
|
+
}
|
|
7461
7473
|
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
|
|
7462
7474
|
var es_iterator_filter = __webpack_require__(2489);
|
|
7463
7475
|
;// ./packages/tooltip/src/tooltip.ts
|
|
@@ -11686,6 +11698,7 @@ function getScrollFromDrag(pointerPosition, dragOffset, viewportSize, contentSiz
|
|
|
11686
11698
|
|
|
11687
11699
|
|
|
11688
11700
|
|
|
11701
|
+
|
|
11689
11702
|
const {
|
|
11690
11703
|
getConfig: scrollbar_getConfig,
|
|
11691
11704
|
createEvent: scrollbar_createEvent,
|
|
@@ -11715,6 +11728,7 @@ function scrollbar_createInternalData() {
|
|
|
11715
11728
|
name: 'VxeScrollbar',
|
|
11716
11729
|
props: {
|
|
11717
11730
|
id: [String, Number],
|
|
11731
|
+
viewId: [String, Number],
|
|
11718
11732
|
width: [String, Number],
|
|
11719
11733
|
height: [String, Number],
|
|
11720
11734
|
minWidth: [String, Number],
|
|
@@ -11730,6 +11744,14 @@ function scrollbar_createInternalData() {
|
|
|
11730
11744
|
type: Boolean,
|
|
11731
11745
|
default: () => scrollbar_getConfig().scrollbar.padding
|
|
11732
11746
|
},
|
|
11747
|
+
autoHide: {
|
|
11748
|
+
type: Boolean,
|
|
11749
|
+
default: () => scrollbar_getConfig().scrollbar.autoHide
|
|
11750
|
+
},
|
|
11751
|
+
visible: {
|
|
11752
|
+
type: Boolean,
|
|
11753
|
+
default: () => scrollbar_getConfig().scrollbar.visible
|
|
11754
|
+
},
|
|
11733
11755
|
xConfig: Object,
|
|
11734
11756
|
yConfig: Object,
|
|
11735
11757
|
className: {
|
|
@@ -11781,6 +11803,8 @@ function scrollbar_createInternalData() {
|
|
|
11781
11803
|
} = props;
|
|
11782
11804
|
const xOpts = computeXOpts.value;
|
|
11783
11805
|
const yOpts = computeYOpts.value;
|
|
11806
|
+
const barWidth = yOpts.width;
|
|
11807
|
+
const barHeight = xOpts.height;
|
|
11784
11808
|
const stys = {};
|
|
11785
11809
|
if (width) {
|
|
11786
11810
|
stys.width = toCssUnit(width);
|
|
@@ -11800,14 +11824,40 @@ function scrollbar_createInternalData() {
|
|
|
11800
11824
|
if (maxHeight) {
|
|
11801
11825
|
stys.maxHeight = toCssUnit(maxHeight);
|
|
11802
11826
|
}
|
|
11803
|
-
if (
|
|
11804
|
-
stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(
|
|
11805
|
-
|
|
11806
|
-
if (xOpts.height) {
|
|
11807
|
-
stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(xOpts.height);
|
|
11827
|
+
if (barWidth || barHeight) {
|
|
11828
|
+
stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(barWidth || barHeight);
|
|
11829
|
+
stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(barHeight || barWidth);
|
|
11808
11830
|
}
|
|
11809
11831
|
return stys;
|
|
11810
11832
|
});
|
|
11833
|
+
const computeXVisible = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
11834
|
+
const {
|
|
11835
|
+
visible
|
|
11836
|
+
} = props;
|
|
11837
|
+
const xOpts = computeXOpts.value;
|
|
11838
|
+
return getDefaultConfig(xOpts.visible, visible);
|
|
11839
|
+
});
|
|
11840
|
+
const computeYVisible = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
11841
|
+
const {
|
|
11842
|
+
visible
|
|
11843
|
+
} = props;
|
|
11844
|
+
const yOpts = computeYOpts.value;
|
|
11845
|
+
return getDefaultConfig(yOpts.visible, visible);
|
|
11846
|
+
});
|
|
11847
|
+
const computeXAutoHide = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
11848
|
+
const {
|
|
11849
|
+
autoHide
|
|
11850
|
+
} = props;
|
|
11851
|
+
const xOpts = computeXOpts.value;
|
|
11852
|
+
return getDefaultConfig(xOpts.autoHide, autoHide);
|
|
11853
|
+
});
|
|
11854
|
+
const computeYAutoHide = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
11855
|
+
const {
|
|
11856
|
+
autoHide
|
|
11857
|
+
} = props;
|
|
11858
|
+
const yOpts = computeYOpts.value;
|
|
11859
|
+
return getDefaultConfig(yOpts.autoHide, autoHide);
|
|
11860
|
+
});
|
|
11811
11861
|
const computeWrapperClss = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
11812
11862
|
const {
|
|
11813
11863
|
native,
|
|
@@ -11818,14 +11868,16 @@ function scrollbar_createInternalData() {
|
|
|
11818
11868
|
yThumbHeight,
|
|
11819
11869
|
xThumbWidth
|
|
11820
11870
|
} = reactData;
|
|
11821
|
-
const xOpts = computeXOpts.value;
|
|
11822
|
-
const yOpts = computeYOpts.value;
|
|
11823
11871
|
const xToTop = computeXToTop.value;
|
|
11824
11872
|
const yToLeft = computeYToLeft.value;
|
|
11825
|
-
|
|
11873
|
+
const xVisible = computeXVisible.value;
|
|
11874
|
+
const yVisible = computeYVisible.value;
|
|
11875
|
+
const xAutoHide = computeXAutoHide.value;
|
|
11876
|
+
const yAutoHide = computeYAutoHide.value;
|
|
11877
|
+
return scrollbar_domUtils.buildClass(['vxe-scrollbar', `ov-x--${xVisible === false ? 'hidden' : 'visible'}`, `ov-y--${yVisible === false ? 'hidden' : 'visible'}`, `sx-pos--${xToTop ? 'top' : 'bottom'}`, `sy-pos--${yToLeft ? 'left' : 'right'}`, native ? 'is--native' : 'is--virtual', className], {
|
|
11826
11878
|
'is--padding': padding,
|
|
11827
|
-
'ov-x--auto-hide':
|
|
11828
|
-
'ov-y--auto-hide':
|
|
11879
|
+
'ov-x--auto-hide': xAutoHide,
|
|
11880
|
+
'ov-y--auto-hide': yAutoHide,
|
|
11829
11881
|
'overflow-y': yThumbHeight,
|
|
11830
11882
|
'overflow-x': xThumbWidth
|
|
11831
11883
|
});
|
|
@@ -12200,14 +12252,15 @@ function scrollbar_createInternalData() {
|
|
|
12200
12252
|
id,
|
|
12201
12253
|
native,
|
|
12202
12254
|
loading,
|
|
12255
|
+
viewId,
|
|
12203
12256
|
viewAttrs
|
|
12204
12257
|
} = props;
|
|
12205
12258
|
const wrapperStyle = computeWrapperStyle.value;
|
|
12206
12259
|
const wrapperClss = computeWrapperClss.value;
|
|
12207
12260
|
const viewClss = computeViewClss.value;
|
|
12208
12261
|
const viewInnerClss = computeViewInnerClss.value;
|
|
12209
|
-
const
|
|
12210
|
-
const
|
|
12262
|
+
const xVisible = computeXVisible.value;
|
|
12263
|
+
const yVisible = computeYVisible.value;
|
|
12211
12264
|
const defaultSlot = slots.default;
|
|
12212
12265
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
12213
12266
|
ref: refElem,
|
|
@@ -12218,12 +12271,13 @@ function scrollbar_createInternalData() {
|
|
|
12218
12271
|
ref: refViewElem,
|
|
12219
12272
|
class: viewClss,
|
|
12220
12273
|
onScroll: scrollEvent,
|
|
12274
|
+
id: viewId || null,
|
|
12221
12275
|
...viewAttrs
|
|
12222
12276
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
12223
12277
|
key: 'vi',
|
|
12224
12278
|
ref: refViewInnerElem,
|
|
12225
12279
|
class: viewInnerClss
|
|
12226
|
-
}, defaultSlot ? defaultSlot({}) : [])]), native ||
|
|
12280
|
+
}, defaultSlot ? defaultSlot({}) : [])]), native || xVisible === false ? scrollbar_renderEmptyElement($xeScrollbar) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
12227
12281
|
ref: refTrackXElem,
|
|
12228
12282
|
class: 'vxe-scrollbar--track-x',
|
|
12229
12283
|
onClick: clickTrackXEvent
|
|
@@ -12235,7 +12289,7 @@ function scrollbar_createInternalData() {
|
|
|
12235
12289
|
onPointerup: cleatPointerThumbEvent,
|
|
12236
12290
|
onPointercancel: cleatPointerThumbEvent,
|
|
12237
12291
|
onLostpointercapture: cleatPointerThumbEvent
|
|
12238
|
-
})]), native ||
|
|
12292
|
+
})]), native || yVisible === false ? scrollbar_renderEmptyElement($xeScrollbar) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
12239
12293
|
ref: refTrackYElem,
|
|
12240
12294
|
class: 'vxe-scrollbar--track-y',
|
|
12241
12295
|
onClick: clickTrackYEvent
|
|
@@ -12277,6 +12331,16 @@ function scrollbar_createInternalData() {
|
|
|
12277
12331
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.syncResize, () => {
|
|
12278
12332
|
reFlag.value++;
|
|
12279
12333
|
});
|
|
12334
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeXVisible, () => {
|
|
12335
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
|
|
12336
|
+
reFlag.value++;
|
|
12337
|
+
});
|
|
12338
|
+
});
|
|
12339
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeYVisible, () => {
|
|
12340
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
|
|
12341
|
+
reFlag.value++;
|
|
12342
|
+
});
|
|
12343
|
+
});
|
|
12280
12344
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reFlag, () => {
|
|
12281
12345
|
$xeScrollbar.recalculate().then(() => {
|
|
12282
12346
|
$xeScrollbar.recalculate();
|
|
@@ -12410,6 +12474,19 @@ const Scrollbar = VxeScrollbar;
|
|
|
12410
12474
|
const computeScrollbarOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
12411
12475
|
return Object.assign({}, getConfig().card.scrollbarConfig, props.scrollbarConfig);
|
|
12412
12476
|
});
|
|
12477
|
+
const computeScrollbarProps = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
12478
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
12479
|
+
return {
|
|
12480
|
+
width: scrollbarOpts.width,
|
|
12481
|
+
height: scrollbarOpts.height,
|
|
12482
|
+
autoHide: scrollbarOpts.autoHide,
|
|
12483
|
+
visible: scrollbarOpts.visible,
|
|
12484
|
+
xConfig: scrollbarOpts.xConfig,
|
|
12485
|
+
yConfig: scrollbarOpts.yConfig,
|
|
12486
|
+
className: scrollbarOpts.className,
|
|
12487
|
+
viewAttrs: scrollbarOpts.viewAttrs
|
|
12488
|
+
};
|
|
12489
|
+
});
|
|
12413
12490
|
const computeMaps = {
|
|
12414
12491
|
computeSize
|
|
12415
12492
|
};
|
|
@@ -12451,6 +12528,7 @@ const Scrollbar = VxeScrollbar;
|
|
|
12451
12528
|
const vSize = computeSize.value;
|
|
12452
12529
|
const cardStyle = computeCardStyle.value;
|
|
12453
12530
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
12531
|
+
const scrollbarProps = computeScrollbarProps.value;
|
|
12454
12532
|
const {
|
|
12455
12533
|
viewClassName,
|
|
12456
12534
|
viewInnerClassName
|
|
@@ -12476,7 +12554,7 @@ const Scrollbar = VxeScrollbar;
|
|
|
12476
12554
|
class: 'vxe-card--body'
|
|
12477
12555
|
}, [leftSlot ? useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
|
|
12478
12556
|
class: 'vxe-card--body-scrollbar-left',
|
|
12479
|
-
...
|
|
12557
|
+
...scrollbarProps,
|
|
12480
12558
|
viewClassName: 'vxe-card--body-scrollbar-left-view',
|
|
12481
12559
|
viewInnerClassName: 'vxe-card--body-scrollbar-left-inner'
|
|
12482
12560
|
}, {
|
|
@@ -12485,7 +12563,7 @@ const Scrollbar = VxeScrollbar;
|
|
|
12485
12563
|
class: 'vxe-card--body-left'
|
|
12486
12564
|
}, vn_getSlotVNs(leftSlot({}))) : renderEmptyElement($xeCard), useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
|
|
12487
12565
|
class: 'vxe-card--body-scrollbar-content',
|
|
12488
|
-
...
|
|
12566
|
+
...scrollbarProps,
|
|
12489
12567
|
viewClassName: 'vxe-card--body-scrollbar-content-view' + (viewClassName ? ' ' + viewClassName : ''),
|
|
12490
12568
|
viewInnerClassName: 'vxe-card--body-scrollbar-content-inner' + (viewClassName ? ' ' + viewInnerClassName : '')
|
|
12491
12569
|
}, {
|
|
@@ -12494,7 +12572,7 @@ const Scrollbar = VxeScrollbar;
|
|
|
12494
12572
|
class: 'vxe-card--body-content'
|
|
12495
12573
|
}, defaultSlot ? vn_getSlotVNs(defaultSlot({})) : []), rightSlot ? useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
|
|
12496
12574
|
class: 'vxe-card--body-scrollbar-right',
|
|
12497
|
-
...
|
|
12575
|
+
...scrollbarProps,
|
|
12498
12576
|
viewClassName: 'vxe-card--body-scrollbar-right-view',
|
|
12499
12577
|
viewInnerClassName: 'vxe-card--body-scrollbar-right-inner'
|
|
12500
12578
|
}, {
|
|
@@ -13153,6 +13231,7 @@ function getItemCacheObj(item) {
|
|
|
13153
13231
|
|
|
13154
13232
|
|
|
13155
13233
|
|
|
13234
|
+
|
|
13156
13235
|
const {
|
|
13157
13236
|
warnLog: list_warnLog,
|
|
13158
13237
|
errLog: list_errLog
|
|
@@ -13183,6 +13262,9 @@ function list_createReactData() {
|
|
|
13183
13262
|
updateCheckboxFlag: 1,
|
|
13184
13263
|
isAllChecked: false,
|
|
13185
13264
|
isAllIndeterminate: false,
|
|
13265
|
+
// 滚动条
|
|
13266
|
+
yThumbHeight: 0,
|
|
13267
|
+
xThumbWidth: 0,
|
|
13186
13268
|
insertRowFlag: 1,
|
|
13187
13269
|
removeRowFlag: 1,
|
|
13188
13270
|
dragRow: null,
|
|
@@ -13192,13 +13274,18 @@ function list_createReactData() {
|
|
|
13192
13274
|
}
|
|
13193
13275
|
function list_createInternalData() {
|
|
13194
13276
|
return {
|
|
13195
|
-
resizeObserver: undefined,
|
|
13196
13277
|
fullData: [],
|
|
13197
13278
|
afterList: [],
|
|
13198
13279
|
fullKeyMaps: {},
|
|
13199
13280
|
rowMaps: {},
|
|
13200
|
-
|
|
13281
|
+
// 滚动条
|
|
13282
|
+
// resizeObserver: undefined,
|
|
13283
|
+
// isThumbDrag: false,
|
|
13284
|
+
thumbDragOffset: 0,
|
|
13285
|
+
yThumbTop: 0,
|
|
13286
|
+
xThumbLeft: 0,
|
|
13201
13287
|
lastScrollTop: 0,
|
|
13288
|
+
lastScrollLeft: 0,
|
|
13202
13289
|
scrollYStore: {
|
|
13203
13290
|
startIndex: 0,
|
|
13204
13291
|
endIndex: 0,
|
|
@@ -13252,7 +13339,12 @@ let crossListDragRowObj = null;
|
|
|
13252
13339
|
dragConfig: Object,
|
|
13253
13340
|
menuConfig: Object,
|
|
13254
13341
|
virtualYConfig: Object,
|
|
13255
|
-
scrollY: Object
|
|
13342
|
+
scrollY: Object,
|
|
13343
|
+
useScrollbar: {
|
|
13344
|
+
type: Boolean,
|
|
13345
|
+
default: () => getConfig().list.useScrollbar
|
|
13346
|
+
},
|
|
13347
|
+
scrollbarConfig: Object
|
|
13256
13348
|
},
|
|
13257
13349
|
emits: ['update:checkRowKey', 'update:checkRowKeys', 'row-click', 'row-dblclick', 'current-change', 'radio-change', 'checkbox-change', 'checkbox-all', 'scroll', 'row-dragstart', 'row-dragover', 'row-dragend', 'row-remove-dragend', 'row-insert-dragend', 'row-menu', 'menu-click'],
|
|
13258
13350
|
setup(props, context) {
|
|
@@ -13273,6 +13365,10 @@ let crossListDragRowObj = null;
|
|
|
13273
13365
|
const refFooterElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
13274
13366
|
const refVirtualWrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
13275
13367
|
const refVirtualBody = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
13368
|
+
const refTrackXElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
13369
|
+
const refTrackYElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
13370
|
+
const refThumbXElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
13371
|
+
const refThumbYElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
13276
13372
|
const refDragRowLineElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
13277
13373
|
const refDragTipElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
13278
13374
|
const refMaps = {
|
|
@@ -13331,11 +13427,20 @@ let crossListDragRowObj = null;
|
|
|
13331
13427
|
});
|
|
13332
13428
|
const computeWrapperStyles = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
13333
13429
|
const rowHeight = computeRowHeight.value;
|
|
13334
|
-
const
|
|
13430
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
13431
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
13432
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
13433
|
+
const barWidth = getDefaultConfig(getDefaultConfig(scrollbarYOpts.width, scrollbarOpts.width), getConfig().scrollbar.width);
|
|
13434
|
+
const barHeight = getDefaultConfig(getDefaultConfig(scrollbarXOpts.height, scrollbarOpts.height), getConfig().scrollbar.height);
|
|
13435
|
+
const stys = {};
|
|
13335
13436
|
if (rowHeight) {
|
|
13336
|
-
|
|
13437
|
+
stys['--vxe-ui-list-row-height'] = toCssUnit(rowHeight);
|
|
13337
13438
|
}
|
|
13338
|
-
|
|
13439
|
+
if (barWidth || barHeight) {
|
|
13440
|
+
stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(barWidth || barHeight);
|
|
13441
|
+
stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(barHeight || barWidth);
|
|
13442
|
+
}
|
|
13443
|
+
return stys;
|
|
13339
13444
|
});
|
|
13340
13445
|
const computeVirtualStyles = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
13341
13446
|
const {
|
|
@@ -13357,6 +13462,68 @@ let crossListDragRowObj = null;
|
|
|
13357
13462
|
}
|
|
13358
13463
|
return style;
|
|
13359
13464
|
});
|
|
13465
|
+
const computeScrollbarOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
13466
|
+
return Object.assign({}, getConfig().list.scrollbarConfig, props.scrollbarConfig);
|
|
13467
|
+
});
|
|
13468
|
+
const computeScrollbarXOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
13469
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
13470
|
+
return Object.assign({}, getConfig().scrollbar.xConfig, scrollbarOpts.xConfig);
|
|
13471
|
+
});
|
|
13472
|
+
const computeScrollbarYOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
13473
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
13474
|
+
return Object.assign({}, getConfig().scrollbar.yConfig, scrollbarOpts.yConfig);
|
|
13475
|
+
});
|
|
13476
|
+
const computeScrollXVisible = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
13477
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
13478
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
13479
|
+
return getDefaultConfig(scrollbarXOpts.visible, scrollbarOpts.visible);
|
|
13480
|
+
});
|
|
13481
|
+
const computeScrollYVisible = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
13482
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
13483
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
13484
|
+
return getDefaultConfig(scrollbarYOpts.visible, scrollbarOpts.visible);
|
|
13485
|
+
});
|
|
13486
|
+
const computeScrollXAutoHide = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
13487
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
13488
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
13489
|
+
return getDefaultConfig(getDefaultConfig(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
|
|
13490
|
+
});
|
|
13491
|
+
const computeScrollYAutoHide = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
13492
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
13493
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
13494
|
+
return getDefaultConfig(getDefaultConfig(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
|
|
13495
|
+
});
|
|
13496
|
+
const computeScrollbarWrapperClss = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
13497
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
13498
|
+
const {
|
|
13499
|
+
padding
|
|
13500
|
+
} = scrollbarOpts;
|
|
13501
|
+
const {
|
|
13502
|
+
yThumbHeight,
|
|
13503
|
+
xThumbWidth
|
|
13504
|
+
} = reactData;
|
|
13505
|
+
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
13506
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
13507
|
+
const scrollXVisible = computeScrollXVisible.value;
|
|
13508
|
+
const scrollYVisible = computeScrollYVisible.value;
|
|
13509
|
+
const scrollXAutoHide = computeScrollXAutoHide.value;
|
|
13510
|
+
const scrollYAutoHide = computeScrollYAutoHide.value;
|
|
13511
|
+
return 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'}`], {
|
|
13512
|
+
'is--padding': padding,
|
|
13513
|
+
'ov-x--auto-hide': scrollXAutoHide,
|
|
13514
|
+
'ov-y--auto-hide': scrollYAutoHide,
|
|
13515
|
+
'overflow-y': yThumbHeight,
|
|
13516
|
+
'overflow-x': xThumbWidth
|
|
13517
|
+
});
|
|
13518
|
+
});
|
|
13519
|
+
const computeScrollbarXToTop = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
13520
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
13521
|
+
return scrollbarXOpts.position === 'top';
|
|
13522
|
+
});
|
|
13523
|
+
const computeScrollbarYToLeft = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
13524
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
13525
|
+
return scrollbarYOpts.position === 'left';
|
|
13526
|
+
});
|
|
13360
13527
|
const dispatchEvent = (type, params, evnt) => {
|
|
13361
13528
|
emit(type, createEvent(evnt, {
|
|
13362
13529
|
$list: $xeList
|
|
@@ -13534,6 +13701,7 @@ let crossListDragRowObj = null;
|
|
|
13534
13701
|
lastScrollLeft,
|
|
13535
13702
|
lastScrollTop
|
|
13536
13703
|
} = internalData;
|
|
13704
|
+
updateScrollbar();
|
|
13537
13705
|
return clearScroll().then(() => {
|
|
13538
13706
|
if (lastScrollLeft || lastScrollTop) {
|
|
13539
13707
|
internalData.lastScrollLeft = 0;
|
|
@@ -13542,6 +13710,10 @@ let crossListDragRowObj = null;
|
|
|
13542
13710
|
}
|
|
13543
13711
|
});
|
|
13544
13712
|
};
|
|
13713
|
+
const updateScrollbar = () => {
|
|
13714
|
+
updateThumbSize();
|
|
13715
|
+
updateThumbOffset();
|
|
13716
|
+
};
|
|
13545
13717
|
/**
|
|
13546
13718
|
* 重新计算列表
|
|
13547
13719
|
*/
|
|
@@ -13559,6 +13731,7 @@ let crossListDragRowObj = null;
|
|
|
13559
13731
|
parentHeight = parentEl.clientHeight - Math.ceil(external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(parentStyle.paddingLeft) + external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().toNumber(parentStyle.paddingRight));
|
|
13560
13732
|
}
|
|
13561
13733
|
reactData.parentHeight = parentHeight;
|
|
13734
|
+
updateScrollbar();
|
|
13562
13735
|
updateHeight();
|
|
13563
13736
|
if (el.clientWidth && el.clientHeight) {
|
|
13564
13737
|
return computeScrollLoad();
|
|
@@ -13596,6 +13769,7 @@ let crossListDragRowObj = null;
|
|
|
13596
13769
|
const scrollLeft = scrollBodyElem.scrollLeft;
|
|
13597
13770
|
const isX = scrollLeft !== internalData.lastScrollLeft;
|
|
13598
13771
|
const isY = scrollTop !== internalData.lastScrollTop;
|
|
13772
|
+
updateThumbOffset();
|
|
13599
13773
|
internalData.lastScrollTop = scrollTop;
|
|
13600
13774
|
internalData.lastScrollLeft = scrollLeft;
|
|
13601
13775
|
if (reactData.scrollYLoad) {
|
|
@@ -15102,6 +15276,183 @@ let crossListDragRowObj = null;
|
|
|
15102
15276
|
hideDropTip();
|
|
15103
15277
|
}
|
|
15104
15278
|
};
|
|
15279
|
+
const updateThumbSize = () => {
|
|
15280
|
+
const viewEl = refVirtualWrapper.value;
|
|
15281
|
+
if (!viewEl) {
|
|
15282
|
+
return;
|
|
15283
|
+
}
|
|
15284
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
15285
|
+
return;
|
|
15286
|
+
}
|
|
15287
|
+
const trackXEl = refTrackXElem.value;
|
|
15288
|
+
const xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
|
|
15289
|
+
const thumbXElem = refThumbXElem.value;
|
|
15290
|
+
if (thumbXElem) {
|
|
15291
|
+
thumbXElem.style.width = xThumbWidth + 'px';
|
|
15292
|
+
}
|
|
15293
|
+
reactData.xThumbWidth = xThumbWidth;
|
|
15294
|
+
const trackYEl = refTrackYElem.value;
|
|
15295
|
+
const yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
|
|
15296
|
+
const thumbYElem = refThumbYElem.value;
|
|
15297
|
+
if (thumbYElem) {
|
|
15298
|
+
thumbYElem.style.height = yThumbHeight + 'px';
|
|
15299
|
+
}
|
|
15300
|
+
reactData.yThumbHeight = yThumbHeight;
|
|
15301
|
+
};
|
|
15302
|
+
const updateThumbOffset = () => {
|
|
15303
|
+
const viewEl = refVirtualWrapper.value;
|
|
15304
|
+
if (!viewEl) {
|
|
15305
|
+
return;
|
|
15306
|
+
}
|
|
15307
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
15308
|
+
return;
|
|
15309
|
+
}
|
|
15310
|
+
const {
|
|
15311
|
+
xThumbWidth,
|
|
15312
|
+
yThumbHeight
|
|
15313
|
+
} = reactData;
|
|
15314
|
+
const trackXEl = refTrackXElem.value;
|
|
15315
|
+
const thumbXElem = refThumbXElem.value;
|
|
15316
|
+
const xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
|
|
15317
|
+
internalData.xThumbLeft = xThumbLeft;
|
|
15318
|
+
if (thumbXElem && xThumbWidth) {
|
|
15319
|
+
thumbXElem.style.width = xThumbWidth + 'px';
|
|
15320
|
+
thumbXElem.style.transform = `translateX(${xThumbLeft}px)`;
|
|
15321
|
+
}
|
|
15322
|
+
const trackYEl = refTrackYElem.value;
|
|
15323
|
+
const thumbYElem = refThumbYElem.value;
|
|
15324
|
+
const yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
|
|
15325
|
+
internalData.yThumbTop = yThumbTop;
|
|
15326
|
+
if (thumbYElem && yThumbHeight) {
|
|
15327
|
+
thumbYElem.style.height = yThumbHeight + 'px';
|
|
15328
|
+
thumbYElem.style.transform = `translateY(${yThumbTop}px)`;
|
|
15329
|
+
}
|
|
15330
|
+
};
|
|
15331
|
+
const clickTrackXEvent = evnt => {
|
|
15332
|
+
const trackEl = evnt.currentTarget;
|
|
15333
|
+
if (trackEl !== evnt.target) {
|
|
15334
|
+
return;
|
|
15335
|
+
}
|
|
15336
|
+
const viewEl = refVirtualWrapper.value;
|
|
15337
|
+
if (!viewEl) {
|
|
15338
|
+
return;
|
|
15339
|
+
}
|
|
15340
|
+
const {
|
|
15341
|
+
xThumbWidth
|
|
15342
|
+
} = reactData;
|
|
15343
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
15344
|
+
viewEl.scrollTo({
|
|
15345
|
+
left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
|
|
15346
|
+
behavior: 'auto'
|
|
15347
|
+
});
|
|
15348
|
+
};
|
|
15349
|
+
const clickTrackYEvent = evnt => {
|
|
15350
|
+
const trackEl = evnt.currentTarget;
|
|
15351
|
+
if (trackEl !== evnt.target) {
|
|
15352
|
+
return;
|
|
15353
|
+
}
|
|
15354
|
+
const viewEl = refVirtualWrapper.value;
|
|
15355
|
+
if (!viewEl) {
|
|
15356
|
+
return;
|
|
15357
|
+
}
|
|
15358
|
+
const {
|
|
15359
|
+
yThumbHeight
|
|
15360
|
+
} = reactData;
|
|
15361
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
15362
|
+
viewEl.scrollTo({
|
|
15363
|
+
top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
|
|
15364
|
+
behavior: 'auto'
|
|
15365
|
+
});
|
|
15366
|
+
};
|
|
15367
|
+
const pointerdownThumbXEvent = evnt => {
|
|
15368
|
+
const thumbEl = evnt.currentTarget;
|
|
15369
|
+
internalData.isThumbDrag = true;
|
|
15370
|
+
thumbEl.setPointerCapture(evnt.pointerId);
|
|
15371
|
+
const viewEl = refVirtualWrapper.value;
|
|
15372
|
+
if (!viewEl) {
|
|
15373
|
+
return;
|
|
15374
|
+
}
|
|
15375
|
+
const {
|
|
15376
|
+
xThumbWidth
|
|
15377
|
+
} = reactData;
|
|
15378
|
+
const trackEl = thumbEl.parentElement;
|
|
15379
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
15380
|
+
const pointerPosition = evnt.clientX - trackRect.left;
|
|
15381
|
+
// 记录 thumb 的偏移
|
|
15382
|
+
const thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
15383
|
+
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
15384
|
+
};
|
|
15385
|
+
const pointermoveThumbXEvent = evnt => {
|
|
15386
|
+
const thumbEl = evnt.currentTarget;
|
|
15387
|
+
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
15388
|
+
return;
|
|
15389
|
+
}
|
|
15390
|
+
const {
|
|
15391
|
+
isThumbDrag,
|
|
15392
|
+
thumbDragOffset
|
|
15393
|
+
} = internalData;
|
|
15394
|
+
if (isThumbDrag) {
|
|
15395
|
+
const viewEl = refVirtualWrapper.value;
|
|
15396
|
+
if (!viewEl) {
|
|
15397
|
+
return;
|
|
15398
|
+
}
|
|
15399
|
+
const {
|
|
15400
|
+
xThumbWidth
|
|
15401
|
+
} = reactData;
|
|
15402
|
+
const thumbEl = evnt.currentTarget;
|
|
15403
|
+
const trackEl = thumbEl.parentElement;
|
|
15404
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
15405
|
+
// 更新偏移
|
|
15406
|
+
viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
15407
|
+
}
|
|
15408
|
+
};
|
|
15409
|
+
const cleatPointerThumbEvent = evnt => {
|
|
15410
|
+
const thumbEl = evnt.currentTarget;
|
|
15411
|
+
thumbEl.releasePointerCapture(evnt.pointerId);
|
|
15412
|
+
internalData.isThumbDrag = false;
|
|
15413
|
+
};
|
|
15414
|
+
const pointerdownThumbYEvent = evnt => {
|
|
15415
|
+
const thumbEl = evnt.currentTarget;
|
|
15416
|
+
internalData.isThumbDrag = true;
|
|
15417
|
+
thumbEl.setPointerCapture(evnt.pointerId);
|
|
15418
|
+
const viewEl = refVirtualWrapper.value;
|
|
15419
|
+
if (!viewEl) {
|
|
15420
|
+
return;
|
|
15421
|
+
}
|
|
15422
|
+
const {
|
|
15423
|
+
yThumbHeight
|
|
15424
|
+
} = reactData;
|
|
15425
|
+
const trackEl = thumbEl.parentElement;
|
|
15426
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
15427
|
+
const pointerPosition = evnt.clientY - trackRect.top;
|
|
15428
|
+
// 记录 thumb 的偏移
|
|
15429
|
+
const thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
15430
|
+
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
15431
|
+
};
|
|
15432
|
+
const pointermoveThumbYEvent = evnt => {
|
|
15433
|
+
const thumbEl = evnt.currentTarget;
|
|
15434
|
+
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
15435
|
+
return;
|
|
15436
|
+
}
|
|
15437
|
+
const {
|
|
15438
|
+
isThumbDrag,
|
|
15439
|
+
thumbDragOffset
|
|
15440
|
+
} = internalData;
|
|
15441
|
+
if (isThumbDrag) {
|
|
15442
|
+
const viewEl = refVirtualWrapper.value;
|
|
15443
|
+
if (!viewEl) {
|
|
15444
|
+
return;
|
|
15445
|
+
}
|
|
15446
|
+
const {
|
|
15447
|
+
yThumbHeight
|
|
15448
|
+
} = reactData;
|
|
15449
|
+
const thumbEl = evnt.currentTarget;
|
|
15450
|
+
const trackEl = thumbEl.parentElement;
|
|
15451
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
15452
|
+
// 更新偏移
|
|
15453
|
+
viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
15454
|
+
}
|
|
15455
|
+
};
|
|
15105
15456
|
Object.assign($xeList, listMethods, listPrivateMethods);
|
|
15106
15457
|
const renderDragTip = () => {
|
|
15107
15458
|
const {
|
|
@@ -15336,14 +15687,17 @@ let crossListDragRowObj = null;
|
|
|
15336
15687
|
const {
|
|
15337
15688
|
showCheckbox,
|
|
15338
15689
|
className,
|
|
15339
|
-
loading
|
|
15690
|
+
loading,
|
|
15691
|
+
useScrollbar
|
|
15340
15692
|
} = props;
|
|
15341
15693
|
const {
|
|
15342
15694
|
bodyHeight,
|
|
15343
15695
|
topSpaceHeight,
|
|
15344
15696
|
rowList,
|
|
15345
15697
|
isAllChecked,
|
|
15346
|
-
isAllIndeterminate
|
|
15698
|
+
isAllIndeterminate,
|
|
15699
|
+
xThumbWidth,
|
|
15700
|
+
yThumbHeight
|
|
15347
15701
|
} = reactData;
|
|
15348
15702
|
const defaultSlot = slots.default;
|
|
15349
15703
|
const headerSlot = slots.header;
|
|
@@ -15368,6 +15722,14 @@ let crossListDragRowObj = null;
|
|
|
15368
15722
|
padding
|
|
15369
15723
|
} = rowOpts;
|
|
15370
15724
|
const isDrag = computeIsDrag.value;
|
|
15725
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
15726
|
+
const scrollXVisible = computeScrollXVisible.value;
|
|
15727
|
+
const scrollYVisible = computeScrollYVisible.value;
|
|
15728
|
+
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
15729
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
15730
|
+
const scrollXAutoHide = computeScrollXAutoHide.value;
|
|
15731
|
+
const scrollYAutoHide = computeScrollYAutoHide.value;
|
|
15732
|
+
const scrollbarWrapperClss = computeScrollbarWrapperClss.value;
|
|
15371
15733
|
const showDefChekboxHead = showCheckbox && showHeader !== false;
|
|
15372
15734
|
const leOns = {};
|
|
15373
15735
|
if (isCrossListDrag && !rowList.length) {
|
|
@@ -15375,10 +15737,16 @@ let crossListDragRowObj = null;
|
|
|
15375
15737
|
}
|
|
15376
15738
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
15377
15739
|
ref: refElem,
|
|
15378
|
-
class: ['vxe-list', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
|
|
15740
|
+
class: ['vxe-list', 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'}` : '', className ? external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().isFunction(className) ? className({
|
|
15379
15741
|
$list: $xeList
|
|
15380
15742
|
}) : className : '', {
|
|
15381
15743
|
[`size--${vSize}`]: vSize,
|
|
15744
|
+
'is--virtual-scrollbar': useScrollbar,
|
|
15745
|
+
'ov-padding': useScrollbar && scrollbarOpts.padding,
|
|
15746
|
+
'ov-x--auto-hide': useScrollbar && scrollXAutoHide,
|
|
15747
|
+
'ov-y--auto-hide': useScrollbar && scrollYAutoHide,
|
|
15748
|
+
'overflow-y': yThumbHeight,
|
|
15749
|
+
'overflow-x': xThumbWidth,
|
|
15382
15750
|
'is--drag': isDrag,
|
|
15383
15751
|
'is--loading': loading
|
|
15384
15752
|
}],
|
|
@@ -15436,6 +15804,36 @@ let crossListDragRowObj = null;
|
|
|
15436
15804
|
items: rowList,
|
|
15437
15805
|
$list: $xeList
|
|
15438
15806
|
})) : renderEmptyElement($xeList),
|
|
15807
|
+
/**
|
|
15808
|
+
* 滚动条
|
|
15809
|
+
*/
|
|
15810
|
+
useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
15811
|
+
class: scrollbarWrapperClss
|
|
15812
|
+
}, [scrollXVisible === false ? renderEmptyElement($xeList) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
15813
|
+
ref: refTrackXElem,
|
|
15814
|
+
class: 'vxe-scrollbar--track-x',
|
|
15815
|
+
onClick: clickTrackXEvent
|
|
15816
|
+
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
15817
|
+
ref: refThumbXElem,
|
|
15818
|
+
class: 'vxe-scrollbar--thumb-x',
|
|
15819
|
+
onPointerdown: pointerdownThumbXEvent,
|
|
15820
|
+
onPointermove: pointermoveThumbXEvent,
|
|
15821
|
+
onPointerup: cleatPointerThumbEvent,
|
|
15822
|
+
onPointercancel: cleatPointerThumbEvent,
|
|
15823
|
+
onLostpointercapture: cleatPointerThumbEvent
|
|
15824
|
+
})]), scrollYVisible === false ? renderEmptyElement($xeList) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
15825
|
+
ref: refTrackYElem,
|
|
15826
|
+
class: 'vxe-scrollbar--track-y',
|
|
15827
|
+
onClick: clickTrackYEvent
|
|
15828
|
+
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
15829
|
+
ref: refThumbYElem,
|
|
15830
|
+
class: 'vxe-scrollbar--thumb-y',
|
|
15831
|
+
onPointerdown: pointerdownThumbYEvent,
|
|
15832
|
+
onPointermove: pointermoveThumbYEvent,
|
|
15833
|
+
onPointerup: cleatPointerThumbEvent,
|
|
15834
|
+
onPointercancel: cleatPointerThumbEvent,
|
|
15835
|
+
onLostpointercapture: cleatPointerThumbEvent
|
|
15836
|
+
})])]) : renderEmptyElement($xeList),
|
|
15439
15837
|
/**
|
|
15440
15838
|
* 拖拽提示
|
|
15441
15839
|
*/
|
|
@@ -15468,11 +15866,24 @@ let crossListDragRowObj = null;
|
|
|
15468
15866
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.syncResize, () => {
|
|
15469
15867
|
reFlag.value++;
|
|
15470
15868
|
});
|
|
15869
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.useScrollbar, () => {
|
|
15870
|
+
reFlag.value++;
|
|
15871
|
+
});
|
|
15471
15872
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeRowHeight, () => {
|
|
15472
15873
|
reFlag.value++;
|
|
15473
15874
|
});
|
|
15474
|
-
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(
|
|
15875
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollXVisible, () => {
|
|
15876
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
|
|
15877
|
+
reFlag.value++;
|
|
15878
|
+
});
|
|
15879
|
+
});
|
|
15880
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollYVisible, () => {
|
|
15475
15881
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
|
|
15882
|
+
reFlag.value++;
|
|
15883
|
+
});
|
|
15884
|
+
});
|
|
15885
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reFlag, () => {
|
|
15886
|
+
recalculate().then(() => {
|
|
15476
15887
|
recalculate();
|
|
15477
15888
|
});
|
|
15478
15889
|
});
|
|
@@ -15490,7 +15901,9 @@ let crossListDragRowObj = null;
|
|
|
15490
15901
|
updateCheckboxModeValue();
|
|
15491
15902
|
});
|
|
15492
15903
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.onActivated)(() => {
|
|
15493
|
-
recalculate().then(() =>
|
|
15904
|
+
recalculate().then(() => {
|
|
15905
|
+
refreshScroll();
|
|
15906
|
+
});
|
|
15494
15907
|
});
|
|
15495
15908
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
|
|
15496
15909
|
loadData(props.data || []);
|
|
@@ -15499,7 +15912,9 @@ let crossListDragRowObj = null;
|
|
|
15499
15912
|
const {
|
|
15500
15913
|
showSeq,
|
|
15501
15914
|
showRadio,
|
|
15502
|
-
showCheckbox
|
|
15915
|
+
showCheckbox,
|
|
15916
|
+
autoResize,
|
|
15917
|
+
useScrollbar
|
|
15503
15918
|
} = props;
|
|
15504
15919
|
const rowOpts = computeRowOpts.value;
|
|
15505
15920
|
const {
|
|
@@ -15524,17 +15939,27 @@ let crossListDragRowObj = null;
|
|
|
15524
15939
|
if (useKey && !keyField) {
|
|
15525
15940
|
list_errLog('vxe.error.reqSupportProp', ['row-config.useKey', 'row-config.keyField']);
|
|
15526
15941
|
}
|
|
15527
|
-
if (
|
|
15942
|
+
if (useScrollbar || autoResize) {
|
|
15528
15943
|
const el = refElem.value;
|
|
15529
|
-
const
|
|
15530
|
-
resizeObserver.
|
|
15944
|
+
const viewInnerEl = refVirtualBody.value;
|
|
15945
|
+
const resizeObserver = globalResize.create(() => {
|
|
15946
|
+
reFlag.value++;
|
|
15947
|
+
});
|
|
15531
15948
|
if (el) {
|
|
15532
|
-
resizeObserver.observe(el
|
|
15949
|
+
resizeObserver.observe(el);
|
|
15950
|
+
if (autoResize) {
|
|
15951
|
+
resizeObserver.observe(el.parentElement);
|
|
15952
|
+
}
|
|
15953
|
+
}
|
|
15954
|
+
if (viewInnerEl) {
|
|
15955
|
+
resizeObserver.observe(viewInnerEl);
|
|
15533
15956
|
}
|
|
15534
15957
|
internalData.resizeObserver = resizeObserver;
|
|
15535
15958
|
}
|
|
15536
|
-
|
|
15537
|
-
globalEvents.on($xeList, 'resize',
|
|
15959
|
+
reFlag.value++;
|
|
15960
|
+
globalEvents.on($xeList, 'resize', () => {
|
|
15961
|
+
reFlag.value++;
|
|
15962
|
+
});
|
|
15538
15963
|
});
|
|
15539
15964
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
|
|
15540
15965
|
const {
|
|
@@ -37421,10 +37846,7 @@ const ImagePreview = VxeImagePreview;
|
|
|
37421
37846
|
const collapseOpts = computeCollapseOpts.value;
|
|
37422
37847
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
37423
37848
|
const {
|
|
37424
|
-
native,
|
|
37425
|
-
yConfig,
|
|
37426
37849
|
className,
|
|
37427
|
-
viewAttrs,
|
|
37428
37850
|
viewClassName,
|
|
37429
37851
|
viewInnerClassName
|
|
37430
37852
|
} = scrollbarOpts;
|
|
@@ -37440,13 +37862,16 @@ const ImagePreview = VxeImagePreview;
|
|
|
37440
37862
|
}],
|
|
37441
37863
|
style: varStyle
|
|
37442
37864
|
}, [useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
|
|
37443
|
-
|
|
37865
|
+
width: scrollbarOpts.width,
|
|
37866
|
+
height: scrollbarOpts.height,
|
|
37867
|
+
autoHide: scrollbarOpts.autoHide,
|
|
37868
|
+
visible: scrollbarOpts.visible,
|
|
37444
37869
|
xConfig: {
|
|
37445
|
-
visible:
|
|
37870
|
+
visible: false
|
|
37446
37871
|
},
|
|
37447
|
-
yConfig,
|
|
37872
|
+
yConfig: scrollbarOpts.yConfig,
|
|
37448
37873
|
className: 'vxe-layout-aside--scrollbar' + (className ? ' ' + className : ''),
|
|
37449
|
-
viewAttrs,
|
|
37874
|
+
viewAttrs: scrollbarOpts.viewAttrs,
|
|
37450
37875
|
viewClassName: 'vxe-layout-aside--scrollbar-view' + (viewClassName ? ' ' + viewClassName : ''),
|
|
37451
37876
|
viewInnerClassName: 'vxe-layout-aside--scrollbar-inner' + (viewInnerClassName ? ' ' + viewInnerClassName : '')
|
|
37452
37877
|
}, {
|
|
@@ -37542,6 +37967,32 @@ function layout_body_createReactData() {
|
|
|
37542
37967
|
const computeScrollbarOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
37543
37968
|
return Object.assign({}, getConfig().layoutBody.scrollbarConfig, props.scrollbarConfig);
|
|
37544
37969
|
});
|
|
37970
|
+
const computeScrollbarProps = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
37971
|
+
const {
|
|
37972
|
+
showBacktop
|
|
37973
|
+
} = props;
|
|
37974
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
37975
|
+
const {
|
|
37976
|
+
className,
|
|
37977
|
+
viewClassName,
|
|
37978
|
+
viewInnerClassName
|
|
37979
|
+
} = scrollbarOpts;
|
|
37980
|
+
return {
|
|
37981
|
+
width: scrollbarOpts.width,
|
|
37982
|
+
height: scrollbarOpts.height,
|
|
37983
|
+
autoHide: scrollbarOpts.autoHide,
|
|
37984
|
+
visible: scrollbarOpts.visible,
|
|
37985
|
+
xConfig: scrollbarOpts.xConfig,
|
|
37986
|
+
yConfig: scrollbarOpts.yConfig,
|
|
37987
|
+
className: 'vxe-layout-body--scrollbar' + (className ? ' ' + className : ''),
|
|
37988
|
+
viewAttrs: {
|
|
37989
|
+
...scrollbarOpts.viewAttrs,
|
|
37990
|
+
id: showBacktop ? backtopId || null : null
|
|
37991
|
+
},
|
|
37992
|
+
viewClassName: 'vxe-layout-body--scrollbar-view' + (viewClassName ? ' ' + viewClassName : ''),
|
|
37993
|
+
viewInnerClassName: 'vxe-layout-body--scrollbar-inner' + (viewInnerClassName ? ' ' + viewInnerClassName : '')
|
|
37994
|
+
};
|
|
37995
|
+
});
|
|
37545
37996
|
const computeMaps = {
|
|
37546
37997
|
computeSize
|
|
37547
37998
|
};
|
|
@@ -37572,16 +38023,7 @@ function layout_body_createReactData() {
|
|
|
37572
38023
|
useScrollbar
|
|
37573
38024
|
} = props;
|
|
37574
38025
|
const backtopOpts = computeBacktopOpts.value;
|
|
37575
|
-
const
|
|
37576
|
-
const {
|
|
37577
|
-
native,
|
|
37578
|
-
xConfig,
|
|
37579
|
-
yConfig,
|
|
37580
|
-
className,
|
|
37581
|
-
viewAttrs,
|
|
37582
|
-
viewClassName,
|
|
37583
|
-
viewInnerClassName
|
|
37584
|
-
} = scrollbarOpts;
|
|
38026
|
+
const scrollbarProps = computeScrollbarProps.value;
|
|
37585
38027
|
const vSize = computeSize.value;
|
|
37586
38028
|
const defaultSlot = slots.default;
|
|
37587
38029
|
const backtopSlot = slots.backtop;
|
|
@@ -37604,18 +38046,7 @@ function layout_body_createReactData() {
|
|
|
37604
38046
|
'is--loading': loading,
|
|
37605
38047
|
'is--padding': padding
|
|
37606
38048
|
}]
|
|
37607
|
-
}, [useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
|
|
37608
|
-
native,
|
|
37609
|
-
xConfig,
|
|
37610
|
-
yConfig,
|
|
37611
|
-
className: 'vxe-layout-body--scrollbar' + (className ? ' ' + className : ''),
|
|
37612
|
-
viewAttrs: {
|
|
37613
|
-
...viewAttrs,
|
|
37614
|
-
id: showBacktop ? backtopId || null : null
|
|
37615
|
-
},
|
|
37616
|
-
viewClassName: 'vxe-layout-body--scrollbar-view' + (viewClassName ? ' ' + viewClassName : ''),
|
|
37617
|
-
viewInnerClassName: 'vxe-layout-body--scrollbar-inner' + (viewInnerClassName ? ' ' + viewInnerClassName : '')
|
|
37618
|
-
}, {
|
|
38049
|
+
}, [useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, scrollbarProps, {
|
|
37619
38050
|
default: () => defaultSlot ? defaultSlot({}) : []
|
|
37620
38051
|
}) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
37621
38052
|
id: showBacktop ? backtopId : '',
|
|
@@ -50304,6 +50735,25 @@ const scrollbarOffsetSize = 20;
|
|
|
50304
50735
|
const computeScrollbarOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
50305
50736
|
return Object.assign({}, getConfig().tabs.scrollbarConfig, props.scrollbarConfig);
|
|
50306
50737
|
});
|
|
50738
|
+
const computeScrollbarProps = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
50739
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
50740
|
+
const {
|
|
50741
|
+
viewClassName,
|
|
50742
|
+
viewInnerClassName
|
|
50743
|
+
} = scrollbarOpts;
|
|
50744
|
+
return {
|
|
50745
|
+
width: scrollbarOpts.width,
|
|
50746
|
+
height: scrollbarOpts.height,
|
|
50747
|
+
autoHide: scrollbarOpts.autoHide,
|
|
50748
|
+
visible: scrollbarOpts.visible,
|
|
50749
|
+
xConfig: scrollbarOpts.xConfig,
|
|
50750
|
+
yConfig: scrollbarOpts.yConfig,
|
|
50751
|
+
className: scrollbarOpts.className,
|
|
50752
|
+
viewAttrs: scrollbarOpts.viewAttrs,
|
|
50753
|
+
viewClassName: 'vxe-tabs-pane--scrollbar-item-view' + (viewClassName ? ' ' + viewClassName : ''),
|
|
50754
|
+
viewInnerClassName: 'vxe-tabs-pane--scrollbar-item-inner' + (viewClassName ? ' ' + viewInnerClassName : '')
|
|
50755
|
+
};
|
|
50756
|
+
});
|
|
50307
50757
|
const computeMaps = {};
|
|
50308
50758
|
const $xeTabs = {
|
|
50309
50759
|
xID,
|
|
@@ -50979,20 +51429,14 @@ const scrollbarOffsetSize = 20;
|
|
|
50979
51429
|
slots
|
|
50980
51430
|
} = item;
|
|
50981
51431
|
const defaultSlot = slots ? slots.default : null;
|
|
50982
|
-
const
|
|
50983
|
-
const {
|
|
50984
|
-
viewClassName,
|
|
50985
|
-
viewInnerClassName
|
|
50986
|
-
} = scrollbarOpts;
|
|
51432
|
+
const scrollbarProps = computeScrollbarProps.value;
|
|
50987
51433
|
if (name && initNames.includes(name)) {
|
|
50988
51434
|
return useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
|
|
50989
51435
|
key: `${name}`,
|
|
50990
51436
|
class: ['vxe-tabs-pane--scrollbar-item', {
|
|
50991
51437
|
'is--visible': activeName === name
|
|
50992
51438
|
}],
|
|
50993
|
-
...
|
|
50994
|
-
viewClassName: 'vxe-tabs-pane--scrollbar-item-view' + (viewClassName ? ' ' + viewClassName : ''),
|
|
50995
|
-
viewInnerClassName: 'vxe-tabs-pane--scrollbar-item-inner' + (viewClassName ? ' ' + viewInnerClassName : '')
|
|
51439
|
+
...scrollbarProps
|
|
50996
51440
|
}, {
|
|
50997
51441
|
default: () => defaultSlot ? callSlot(defaultSlot, {
|
|
50998
51442
|
name
|
|
@@ -52678,6 +53122,7 @@ function getCrossTreeDragNodeInfo() {
|
|
|
52678
53122
|
|
|
52679
53123
|
|
|
52680
53124
|
|
|
53125
|
+
|
|
52681
53126
|
const {
|
|
52682
53127
|
warnLog: tree_warnLog,
|
|
52683
53128
|
errLog: tree_errLog
|
|
@@ -52694,6 +53139,34 @@ const {
|
|
|
52694
53139
|
function tree_getNodeUniqueId() {
|
|
52695
53140
|
return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId('node_');
|
|
52696
53141
|
}
|
|
53142
|
+
function tree_createReactData() {
|
|
53143
|
+
return {
|
|
53144
|
+
parentHeight: 0,
|
|
53145
|
+
customHeight: 0,
|
|
53146
|
+
customMinHeight: 0,
|
|
53147
|
+
customMaxHeight: 0,
|
|
53148
|
+
currentNode: null,
|
|
53149
|
+
scrollYLoad: false,
|
|
53150
|
+
bodyHeight: 0,
|
|
53151
|
+
topSpaceHeight: 0,
|
|
53152
|
+
selectRadioKey: null,
|
|
53153
|
+
treeList: [],
|
|
53154
|
+
updateExpandedFlag: 1,
|
|
53155
|
+
updateCheckboxFlag: 1,
|
|
53156
|
+
// 滚动条
|
|
53157
|
+
yThumbHeight: 0,
|
|
53158
|
+
xThumbWidth: 0,
|
|
53159
|
+
insertNodeFlag: 1,
|
|
53160
|
+
removeNodeFlag: 1,
|
|
53161
|
+
dragNode: null,
|
|
53162
|
+
dragTipText: '',
|
|
53163
|
+
isCrossDragNode: false,
|
|
53164
|
+
tooltipStore: {
|
|
53165
|
+
visible: false,
|
|
53166
|
+
node: null
|
|
53167
|
+
}
|
|
53168
|
+
};
|
|
53169
|
+
}
|
|
52697
53170
|
function tree_createInternalData() {
|
|
52698
53171
|
return {
|
|
52699
53172
|
// initialized: false,
|
|
@@ -52706,8 +53179,14 @@ function tree_createInternalData() {
|
|
|
52706
53179
|
indeterminateNodeMaps: {},
|
|
52707
53180
|
treeExpandedMaps: {},
|
|
52708
53181
|
treeExpandLazyLoadedMaps: {},
|
|
52709
|
-
|
|
53182
|
+
// 滚动条
|
|
53183
|
+
// resizeObserver: undefined,
|
|
53184
|
+
// isThumbDrag: false,
|
|
53185
|
+
thumbDragOffset: 0,
|
|
53186
|
+
yThumbTop: 0,
|
|
53187
|
+
xThumbLeft: 0,
|
|
52710
53188
|
lastScrollTop: 0,
|
|
53189
|
+
lastScrollLeft: 0,
|
|
52711
53190
|
scrollYStore: {
|
|
52712
53191
|
startIndex: 0,
|
|
52713
53192
|
endIndex: 0,
|
|
@@ -52724,31 +53203,6 @@ function tree_createInternalData() {
|
|
|
52724
53203
|
// hpTimeout: undefined
|
|
52725
53204
|
};
|
|
52726
53205
|
}
|
|
52727
|
-
function tree_createReactData() {
|
|
52728
|
-
return {
|
|
52729
|
-
parentHeight: 0,
|
|
52730
|
-
customHeight: 0,
|
|
52731
|
-
customMinHeight: 0,
|
|
52732
|
-
customMaxHeight: 0,
|
|
52733
|
-
currentNode: null,
|
|
52734
|
-
scrollYLoad: false,
|
|
52735
|
-
bodyHeight: 0,
|
|
52736
|
-
topSpaceHeight: 0,
|
|
52737
|
-
selectRadioKey: null,
|
|
52738
|
-
treeList: [],
|
|
52739
|
-
updateExpandedFlag: 1,
|
|
52740
|
-
updateCheckboxFlag: 1,
|
|
52741
|
-
insertNodeFlag: 1,
|
|
52742
|
-
removeNodeFlag: 1,
|
|
52743
|
-
dragNode: null,
|
|
52744
|
-
dragTipText: '',
|
|
52745
|
-
isCrossDragNode: false,
|
|
52746
|
-
tooltipStore: {
|
|
52747
|
-
visible: false,
|
|
52748
|
-
node: null
|
|
52749
|
-
}
|
|
52750
|
-
};
|
|
52751
|
-
}
|
|
52752
53206
|
let crossTreeDragNodeObj = null;
|
|
52753
53207
|
/* harmony default export */ var tree = (defineVxeComponent({
|
|
52754
53208
|
name: 'VxeTree',
|
|
@@ -52879,7 +53333,12 @@ let crossTreeDragNodeObj = null;
|
|
|
52879
53333
|
type: String,
|
|
52880
53334
|
default: () => tree_getConfig().tree.size || tree_getConfig().size
|
|
52881
53335
|
},
|
|
52882
|
-
virtualYConfig: Object
|
|
53336
|
+
virtualYConfig: Object,
|
|
53337
|
+
useScrollbar: {
|
|
53338
|
+
type: Boolean,
|
|
53339
|
+
default: () => tree_getConfig().tree.useScrollbar
|
|
53340
|
+
},
|
|
53341
|
+
scrollbarConfig: Object
|
|
52883
53342
|
},
|
|
52884
53343
|
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'],
|
|
52885
53344
|
setup(props, context) {
|
|
@@ -52896,6 +53355,10 @@ let crossTreeDragNodeObj = null;
|
|
|
52896
53355
|
const refFooterWrapperElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
52897
53356
|
const refVirtualWrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
52898
53357
|
const refVirtualBody = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
53358
|
+
const refTrackXElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
53359
|
+
const refTrackYElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
53360
|
+
const refThumbXElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
53361
|
+
const refThumbYElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
52899
53362
|
const refDragNodeLineElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
52900
53363
|
const refDragTipElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
52901
53364
|
const refTooltip = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
@@ -52975,6 +53438,19 @@ let crossTreeDragNodeObj = null;
|
|
|
52975
53438
|
const computeMenuOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
52976
53439
|
return Object.assign({}, tree_getConfig().tree.menuConfig, props.menuConfig);
|
|
52977
53440
|
});
|
|
53441
|
+
const computeWrapperStyles = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
53442
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
53443
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
53444
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
53445
|
+
const barWidth = getDefaultConfig(getDefaultConfig(scrollbarYOpts.width, scrollbarOpts.width), tree_getConfig().scrollbar.width);
|
|
53446
|
+
const barHeight = getDefaultConfig(getDefaultConfig(scrollbarXOpts.height, scrollbarOpts.height), tree_getConfig().scrollbar.height);
|
|
53447
|
+
const stys = {};
|
|
53448
|
+
if (barWidth || barHeight) {
|
|
53449
|
+
stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(barWidth || barHeight);
|
|
53450
|
+
stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(barHeight || barWidth);
|
|
53451
|
+
}
|
|
53452
|
+
return stys;
|
|
53453
|
+
});
|
|
52978
53454
|
const computeTreeStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
52979
53455
|
const {
|
|
52980
53456
|
indent
|
|
@@ -53018,6 +53494,70 @@ let crossTreeDragNodeObj = null;
|
|
|
53018
53494
|
const computeFilterOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
53019
53495
|
return Object.assign({}, tree_getConfig().tree.filterConfig, props.filterConfig);
|
|
53020
53496
|
});
|
|
53497
|
+
const computeScrollbarOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
53498
|
+
return Object.assign({}, tree_getConfig().tree.scrollbarConfig, props.scrollbarConfig);
|
|
53499
|
+
});
|
|
53500
|
+
const computeScrollbarXOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
53501
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
53502
|
+
return Object.assign({}, tree_getConfig().scrollbar.xConfig, scrollbarOpts.xConfig, {
|
|
53503
|
+
visible: false
|
|
53504
|
+
});
|
|
53505
|
+
});
|
|
53506
|
+
const computeScrollbarYOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
53507
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
53508
|
+
return Object.assign({}, tree_getConfig().scrollbar.yConfig, scrollbarOpts.yConfig);
|
|
53509
|
+
});
|
|
53510
|
+
const computeScrollXVisible = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
53511
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
53512
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
53513
|
+
return getDefaultConfig(scrollbarXOpts.visible, scrollbarOpts.visible);
|
|
53514
|
+
});
|
|
53515
|
+
const computeScrollYVisible = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
53516
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
53517
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
53518
|
+
return getDefaultConfig(scrollbarYOpts.visible, scrollbarOpts.visible);
|
|
53519
|
+
});
|
|
53520
|
+
const computeScrollXAutoHide = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
53521
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
53522
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
53523
|
+
return getDefaultConfig(getDefaultConfig(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), tree_getConfig().scrollbar.autoHide);
|
|
53524
|
+
});
|
|
53525
|
+
const computeScrollYAutoHide = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
53526
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
53527
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
53528
|
+
return getDefaultConfig(getDefaultConfig(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), tree_getConfig().scrollbar.autoHide);
|
|
53529
|
+
});
|
|
53530
|
+
const computeScrollbarWrapperClss = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
53531
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
53532
|
+
const {
|
|
53533
|
+
padding
|
|
53534
|
+
} = scrollbarOpts;
|
|
53535
|
+
const {
|
|
53536
|
+
yThumbHeight,
|
|
53537
|
+
xThumbWidth
|
|
53538
|
+
} = reactData;
|
|
53539
|
+
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
53540
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
53541
|
+
const scrollXVisible = computeScrollXVisible.value;
|
|
53542
|
+
const scrollYVisible = computeScrollYVisible.value;
|
|
53543
|
+
const scrollXAutoHide = computeScrollXAutoHide.value;
|
|
53544
|
+
const scrollYAutoHide = computeScrollYAutoHide.value;
|
|
53545
|
+
return 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'}`], {
|
|
53546
|
+
'is--padding': padding,
|
|
53547
|
+
'ov-x--auto-hide': scrollXAutoHide,
|
|
53548
|
+
'ov-y--auto-hide': scrollYAutoHide,
|
|
53549
|
+
'overflow-y': yThumbHeight,
|
|
53550
|
+
'overflow-x': xThumbWidth
|
|
53551
|
+
});
|
|
53552
|
+
});
|
|
53553
|
+
const computeScrollbarXToTop = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
53554
|
+
const scrollbarXOpts = computeScrollbarXOpts.value;
|
|
53555
|
+
return scrollbarXOpts.position === 'top';
|
|
53556
|
+
});
|
|
53557
|
+
const computeScrollbarYToLeft = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
|
|
53558
|
+
const scrollbarYOpts = computeScrollbarYOpts.value;
|
|
53559
|
+
return scrollbarYOpts.position === 'left';
|
|
53560
|
+
});
|
|
53021
53561
|
const computeMaps = {
|
|
53022
53562
|
computeKeyField,
|
|
53023
53563
|
computeParentField,
|
|
@@ -53614,6 +54154,10 @@ let crossTreeDragNodeObj = null;
|
|
|
53614
54154
|
}
|
|
53615
54155
|
});
|
|
53616
54156
|
};
|
|
54157
|
+
const updateScrollbar = () => {
|
|
54158
|
+
updateThumbSize();
|
|
54159
|
+
updateThumbOffset();
|
|
54160
|
+
};
|
|
53617
54161
|
/**
|
|
53618
54162
|
* 重新计算列表
|
|
53619
54163
|
*/
|
|
@@ -53639,6 +54183,7 @@ let crossTreeDragNodeObj = null;
|
|
|
53639
54183
|
const parentPaddingSize = getPaddingTopBottomSize(parentEl);
|
|
53640
54184
|
reactData.parentHeight = Math.max(headHeight + footHeight + rowHeight, parentEl.clientHeight - parentPaddingSize - headHeight - footHeight);
|
|
53641
54185
|
}
|
|
54186
|
+
updateScrollbar();
|
|
53642
54187
|
updateHeight();
|
|
53643
54188
|
return computeScrollLoad().then(() => {
|
|
53644
54189
|
updateHeight();
|
|
@@ -53680,6 +54225,7 @@ let crossTreeDragNodeObj = null;
|
|
|
53680
54225
|
const scrollLeft = scrollBodyElem.scrollLeft;
|
|
53681
54226
|
const isX = scrollLeft !== internalData.lastScrollLeft;
|
|
53682
54227
|
const isY = scrollTop !== internalData.lastScrollTop;
|
|
54228
|
+
updateThumbOffset();
|
|
53683
54229
|
internalData.lastScrollTop = scrollTop;
|
|
53684
54230
|
internalData.lastScrollLeft = scrollLeft;
|
|
53685
54231
|
if (reactData.scrollYLoad) {
|
|
@@ -54355,13 +54901,6 @@ let crossTreeDragNodeObj = null;
|
|
|
54355
54901
|
checked: isChecked
|
|
54356
54902
|
}, evnt);
|
|
54357
54903
|
};
|
|
54358
|
-
const handleGlobalResizeEvent = () => {
|
|
54359
|
-
const el = refElem.value;
|
|
54360
|
-
if (!el || !el.clientWidth) {
|
|
54361
|
-
return;
|
|
54362
|
-
}
|
|
54363
|
-
recalculate();
|
|
54364
|
-
};
|
|
54365
54904
|
const insertTreeNode = (newRecords, isAppend) => {
|
|
54366
54905
|
const {
|
|
54367
54906
|
treeFullData,
|
|
@@ -56024,6 +56563,183 @@ let crossTreeDragNodeObj = null;
|
|
|
56024
56563
|
hideDropTip();
|
|
56025
56564
|
}
|
|
56026
56565
|
};
|
|
56566
|
+
const updateThumbSize = () => {
|
|
56567
|
+
const viewEl = refVirtualWrapper.value;
|
|
56568
|
+
if (!viewEl) {
|
|
56569
|
+
return;
|
|
56570
|
+
}
|
|
56571
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
56572
|
+
return;
|
|
56573
|
+
}
|
|
56574
|
+
const trackXEl = refTrackXElem.value;
|
|
56575
|
+
const xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
|
|
56576
|
+
const thumbXElem = refThumbXElem.value;
|
|
56577
|
+
if (thumbXElem) {
|
|
56578
|
+
thumbXElem.style.width = xThumbWidth + 'px';
|
|
56579
|
+
}
|
|
56580
|
+
reactData.xThumbWidth = xThumbWidth;
|
|
56581
|
+
const trackYEl = refTrackYElem.value;
|
|
56582
|
+
const yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
|
|
56583
|
+
const thumbYElem = refThumbYElem.value;
|
|
56584
|
+
if (thumbYElem) {
|
|
56585
|
+
thumbYElem.style.height = yThumbHeight + 'px';
|
|
56586
|
+
}
|
|
56587
|
+
reactData.yThumbHeight = yThumbHeight;
|
|
56588
|
+
};
|
|
56589
|
+
const updateThumbOffset = () => {
|
|
56590
|
+
const viewEl = refVirtualWrapper.value;
|
|
56591
|
+
if (!viewEl) {
|
|
56592
|
+
return;
|
|
56593
|
+
}
|
|
56594
|
+
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
56595
|
+
return;
|
|
56596
|
+
}
|
|
56597
|
+
const {
|
|
56598
|
+
xThumbWidth,
|
|
56599
|
+
yThumbHeight
|
|
56600
|
+
} = reactData;
|
|
56601
|
+
const trackXEl = refTrackXElem.value;
|
|
56602
|
+
const thumbXElem = refThumbXElem.value;
|
|
56603
|
+
const xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
|
|
56604
|
+
internalData.xThumbLeft = xThumbLeft;
|
|
56605
|
+
if (thumbXElem && xThumbWidth) {
|
|
56606
|
+
thumbXElem.style.width = xThumbWidth + 'px';
|
|
56607
|
+
thumbXElem.style.transform = `translateX(${xThumbLeft}px)`;
|
|
56608
|
+
}
|
|
56609
|
+
const trackYEl = refTrackYElem.value;
|
|
56610
|
+
const thumbYElem = refThumbYElem.value;
|
|
56611
|
+
const yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
|
|
56612
|
+
internalData.yThumbTop = yThumbTop;
|
|
56613
|
+
if (thumbYElem && yThumbHeight) {
|
|
56614
|
+
thumbYElem.style.height = yThumbHeight + 'px';
|
|
56615
|
+
thumbYElem.style.transform = `translateY(${yThumbTop}px)`;
|
|
56616
|
+
}
|
|
56617
|
+
};
|
|
56618
|
+
const clickTrackXEvent = evnt => {
|
|
56619
|
+
const trackEl = evnt.currentTarget;
|
|
56620
|
+
if (trackEl !== evnt.target) {
|
|
56621
|
+
return;
|
|
56622
|
+
}
|
|
56623
|
+
const viewEl = refVirtualWrapper.value;
|
|
56624
|
+
if (!viewEl) {
|
|
56625
|
+
return;
|
|
56626
|
+
}
|
|
56627
|
+
const {
|
|
56628
|
+
xThumbWidth
|
|
56629
|
+
} = reactData;
|
|
56630
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
56631
|
+
viewEl.scrollTo({
|
|
56632
|
+
left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
|
|
56633
|
+
behavior: 'auto'
|
|
56634
|
+
});
|
|
56635
|
+
};
|
|
56636
|
+
const clickTrackYEvent = evnt => {
|
|
56637
|
+
const trackEl = evnt.currentTarget;
|
|
56638
|
+
if (trackEl !== evnt.target) {
|
|
56639
|
+
return;
|
|
56640
|
+
}
|
|
56641
|
+
const viewEl = refVirtualWrapper.value;
|
|
56642
|
+
if (!viewEl) {
|
|
56643
|
+
return;
|
|
56644
|
+
}
|
|
56645
|
+
const {
|
|
56646
|
+
yThumbHeight
|
|
56647
|
+
} = reactData;
|
|
56648
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
56649
|
+
viewEl.scrollTo({
|
|
56650
|
+
top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
|
|
56651
|
+
behavior: 'auto'
|
|
56652
|
+
});
|
|
56653
|
+
};
|
|
56654
|
+
const pointerdownThumbXEvent = evnt => {
|
|
56655
|
+
const thumbEl = evnt.currentTarget;
|
|
56656
|
+
internalData.isThumbDrag = true;
|
|
56657
|
+
thumbEl.setPointerCapture(evnt.pointerId);
|
|
56658
|
+
const viewEl = refVirtualWrapper.value;
|
|
56659
|
+
if (!viewEl) {
|
|
56660
|
+
return;
|
|
56661
|
+
}
|
|
56662
|
+
const {
|
|
56663
|
+
xThumbWidth
|
|
56664
|
+
} = reactData;
|
|
56665
|
+
const trackEl = thumbEl.parentElement;
|
|
56666
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
56667
|
+
const pointerPosition = evnt.clientX - trackRect.left;
|
|
56668
|
+
// 记录 thumb 的偏移
|
|
56669
|
+
const thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
56670
|
+
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
56671
|
+
};
|
|
56672
|
+
const pointermoveThumbXEvent = evnt => {
|
|
56673
|
+
const thumbEl = evnt.currentTarget;
|
|
56674
|
+
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
56675
|
+
return;
|
|
56676
|
+
}
|
|
56677
|
+
const {
|
|
56678
|
+
isThumbDrag,
|
|
56679
|
+
thumbDragOffset
|
|
56680
|
+
} = internalData;
|
|
56681
|
+
if (isThumbDrag) {
|
|
56682
|
+
const viewEl = refVirtualWrapper.value;
|
|
56683
|
+
if (!viewEl) {
|
|
56684
|
+
return;
|
|
56685
|
+
}
|
|
56686
|
+
const {
|
|
56687
|
+
xThumbWidth
|
|
56688
|
+
} = reactData;
|
|
56689
|
+
const thumbEl = evnt.currentTarget;
|
|
56690
|
+
const trackEl = thumbEl.parentElement;
|
|
56691
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
56692
|
+
// 更新偏移
|
|
56693
|
+
viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
56694
|
+
}
|
|
56695
|
+
};
|
|
56696
|
+
const cleatPointerThumbEvent = evnt => {
|
|
56697
|
+
const thumbEl = evnt.currentTarget;
|
|
56698
|
+
thumbEl.releasePointerCapture(evnt.pointerId);
|
|
56699
|
+
internalData.isThumbDrag = false;
|
|
56700
|
+
};
|
|
56701
|
+
const pointerdownThumbYEvent = evnt => {
|
|
56702
|
+
const thumbEl = evnt.currentTarget;
|
|
56703
|
+
internalData.isThumbDrag = true;
|
|
56704
|
+
thumbEl.setPointerCapture(evnt.pointerId);
|
|
56705
|
+
const viewEl = refVirtualWrapper.value;
|
|
56706
|
+
if (!viewEl) {
|
|
56707
|
+
return;
|
|
56708
|
+
}
|
|
56709
|
+
const {
|
|
56710
|
+
yThumbHeight
|
|
56711
|
+
} = reactData;
|
|
56712
|
+
const trackEl = thumbEl.parentElement;
|
|
56713
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
56714
|
+
const pointerPosition = evnt.clientY - trackRect.top;
|
|
56715
|
+
// 记录 thumb 的偏移
|
|
56716
|
+
const thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
56717
|
+
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
56718
|
+
};
|
|
56719
|
+
const pointermoveThumbYEvent = evnt => {
|
|
56720
|
+
const thumbEl = evnt.currentTarget;
|
|
56721
|
+
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
56722
|
+
return;
|
|
56723
|
+
}
|
|
56724
|
+
const {
|
|
56725
|
+
isThumbDrag,
|
|
56726
|
+
thumbDragOffset
|
|
56727
|
+
} = internalData;
|
|
56728
|
+
if (isThumbDrag) {
|
|
56729
|
+
const viewEl = refVirtualWrapper.value;
|
|
56730
|
+
if (!viewEl) {
|
|
56731
|
+
return;
|
|
56732
|
+
}
|
|
56733
|
+
const {
|
|
56734
|
+
yThumbHeight
|
|
56735
|
+
} = reactData;
|
|
56736
|
+
const thumbEl = evnt.currentTarget;
|
|
56737
|
+
const trackEl = thumbEl.parentElement;
|
|
56738
|
+
const trackRect = trackEl.getBoundingClientRect();
|
|
56739
|
+
// 更新偏移
|
|
56740
|
+
viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
56741
|
+
}
|
|
56742
|
+
};
|
|
56027
56743
|
Object.assign($xeTree, treeMethods, treePrivateMethods);
|
|
56028
56744
|
const renderDragIcon = (node, nodeid) => {
|
|
56029
56745
|
const {
|
|
@@ -56368,19 +57084,23 @@ let crossTreeDragNodeObj = null;
|
|
|
56368
57084
|
const {
|
|
56369
57085
|
loading,
|
|
56370
57086
|
trigger,
|
|
56371
|
-
showLine
|
|
57087
|
+
showLine,
|
|
57088
|
+
useScrollbar
|
|
56372
57089
|
} = props;
|
|
56373
57090
|
const {
|
|
56374
57091
|
bodyHeight,
|
|
56375
57092
|
topSpaceHeight,
|
|
56376
57093
|
treeList,
|
|
56377
|
-
tooltipStore
|
|
57094
|
+
tooltipStore,
|
|
57095
|
+
xThumbWidth,
|
|
57096
|
+
yThumbHeight
|
|
56378
57097
|
} = reactData;
|
|
56379
57098
|
const vSize = computeSize.value;
|
|
56380
57099
|
const radioOpts = computeRadioOpts.value;
|
|
56381
57100
|
const checkboxOpts = computeCheckboxOpts.value;
|
|
56382
57101
|
const loadingOpts = computeLoadingOpts.value;
|
|
56383
57102
|
const isNodeHover = computeIsNodeHover.value;
|
|
57103
|
+
const wrapperStyles = computeWrapperStyles.value;
|
|
56384
57104
|
const treeStyle = computeTreeStyle.value;
|
|
56385
57105
|
const dragOpts = computeDragOpts.value;
|
|
56386
57106
|
const tooltipOpts = computeTooltipOpts.value;
|
|
@@ -56388,21 +57108,36 @@ let crossTreeDragNodeObj = null;
|
|
|
56388
57108
|
const headerSlot = slots.header;
|
|
56389
57109
|
const footerSlot = slots.footer;
|
|
56390
57110
|
const tooltipSlot = slots.tooltip;
|
|
57111
|
+
const scrollbarOpts = computeScrollbarOpts.value;
|
|
57112
|
+
const scrollXVisible = computeScrollXVisible.value;
|
|
57113
|
+
const scrollYVisible = computeScrollYVisible.value;
|
|
57114
|
+
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
57115
|
+
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
57116
|
+
const scrollXAutoHide = computeScrollXAutoHide.value;
|
|
57117
|
+
const scrollYAutoHide = computeScrollYAutoHide.value;
|
|
57118
|
+
const scrollbarWrapperClss = computeScrollbarWrapperClss.value;
|
|
56391
57119
|
const teOns = {};
|
|
56392
57120
|
if (dragOpts.isCrossTreeDrag && !treeList.length) {
|
|
56393
57121
|
teOns.onDragover = $xeTree.handleCrossTreeNodeDragoverEmptyEvent;
|
|
56394
57122
|
}
|
|
56395
57123
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
56396
57124
|
ref: refElem,
|
|
56397
|
-
class: ['vxe-tree', {
|
|
57125
|
+
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'}` : '', {
|
|
56398
57126
|
[`size--${vSize}`]: vSize,
|
|
56399
57127
|
'show--line': showLine,
|
|
57128
|
+
'is--virtual-scrollbar': useScrollbar,
|
|
57129
|
+
'ov-padding': useScrollbar && scrollbarOpts.padding,
|
|
57130
|
+
'ov-x--auto-hide': useScrollbar && scrollXAutoHide,
|
|
57131
|
+
'ov-y--auto-hide': useScrollbar && scrollYAutoHide,
|
|
57132
|
+
'overflow-y': yThumbHeight,
|
|
57133
|
+
'overflow-x': xThumbWidth,
|
|
56400
57134
|
'checkbox--highlight': checkboxOpts.highlight,
|
|
56401
57135
|
'radio--highlight': radioOpts.highlight,
|
|
56402
57136
|
'node--hover': isNodeHover,
|
|
56403
57137
|
'node--trigger': trigger === 'node',
|
|
56404
57138
|
'is--loading': loading
|
|
56405
57139
|
}],
|
|
57140
|
+
style: wrapperStyles,
|
|
56406
57141
|
...teOns
|
|
56407
57142
|
}, [headerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
56408
57143
|
ref: refHeaderWrapperElem,
|
|
@@ -56431,6 +57166,36 @@ let crossTreeDragNodeObj = null;
|
|
|
56431
57166
|
}, footerSlot({
|
|
56432
57167
|
$tree: $xeTree
|
|
56433
57168
|
})) : renderEmptyElement($xeTree),
|
|
57169
|
+
/**
|
|
57170
|
+
* 滚动条
|
|
57171
|
+
*/
|
|
57172
|
+
useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
57173
|
+
class: scrollbarWrapperClss
|
|
57174
|
+
}, [scrollXVisible === false ? renderEmptyElement($xeTree) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
57175
|
+
ref: refTrackXElem,
|
|
57176
|
+
class: 'vxe-scrollbar--track-x',
|
|
57177
|
+
onClick: clickTrackXEvent
|
|
57178
|
+
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
57179
|
+
ref: refThumbXElem,
|
|
57180
|
+
class: 'vxe-scrollbar--thumb-x',
|
|
57181
|
+
onPointerdown: pointerdownThumbXEvent,
|
|
57182
|
+
onPointermove: pointermoveThumbXEvent,
|
|
57183
|
+
onPointerup: cleatPointerThumbEvent,
|
|
57184
|
+
onPointercancel: cleatPointerThumbEvent,
|
|
57185
|
+
onLostpointercapture: cleatPointerThumbEvent
|
|
57186
|
+
})]), scrollYVisible === false ? renderEmptyElement($xeTree) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
57187
|
+
ref: refTrackYElem,
|
|
57188
|
+
class: 'vxe-scrollbar--track-y',
|
|
57189
|
+
onClick: clickTrackYEvent
|
|
57190
|
+
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
57191
|
+
ref: refThumbYElem,
|
|
57192
|
+
class: 'vxe-scrollbar--thumb-y',
|
|
57193
|
+
onPointerdown: pointerdownThumbYEvent,
|
|
57194
|
+
onPointermove: pointermoveThumbYEvent,
|
|
57195
|
+
onPointerup: cleatPointerThumbEvent,
|
|
57196
|
+
onPointercancel: cleatPointerThumbEvent,
|
|
57197
|
+
onLostpointercapture: cleatPointerThumbEvent
|
|
57198
|
+
})])]) : renderEmptyElement($xeTree),
|
|
56434
57199
|
/**
|
|
56435
57200
|
* 拖拽提示
|
|
56436
57201
|
*/
|
|
@@ -56514,18 +57279,33 @@ let crossTreeDragNodeObj = null;
|
|
|
56514
57279
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.filterValue, () => {
|
|
56515
57280
|
triggerSearchEvent(new Event('filter'));
|
|
56516
57281
|
});
|
|
56517
|
-
const
|
|
57282
|
+
const reFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
|
|
56518
57283
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.height, () => {
|
|
56519
|
-
|
|
57284
|
+
reFlag.value++;
|
|
56520
57285
|
});
|
|
56521
57286
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.minHeight, () => {
|
|
56522
|
-
|
|
57287
|
+
reFlag.value++;
|
|
56523
57288
|
});
|
|
56524
57289
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.maxHeight, () => {
|
|
56525
|
-
|
|
57290
|
+
reFlag.value++;
|
|
56526
57291
|
});
|
|
56527
|
-
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(
|
|
56528
|
-
|
|
57292
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.useScrollbar, () => {
|
|
57293
|
+
reFlag.value++;
|
|
57294
|
+
});
|
|
57295
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollXVisible, () => {
|
|
57296
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
|
|
57297
|
+
reFlag.value++;
|
|
57298
|
+
});
|
|
57299
|
+
});
|
|
57300
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollYVisible, () => {
|
|
57301
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.nextTick)(() => {
|
|
57302
|
+
reFlag.value++;
|
|
57303
|
+
});
|
|
57304
|
+
});
|
|
57305
|
+
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reFlag, () => {
|
|
57306
|
+
recalculate().then(() => {
|
|
57307
|
+
recalculate();
|
|
57308
|
+
});
|
|
56529
57309
|
});
|
|
56530
57310
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
|
|
56531
57311
|
const {
|
|
@@ -56534,7 +57314,9 @@ let crossTreeDragNodeObj = null;
|
|
|
56534
57314
|
menuConfig,
|
|
56535
57315
|
showOverflow,
|
|
56536
57316
|
lazy,
|
|
56537
|
-
loadMethod
|
|
57317
|
+
loadMethod,
|
|
57318
|
+
autoResize,
|
|
57319
|
+
useScrollbar
|
|
56538
57320
|
} = props;
|
|
56539
57321
|
const dragOpts = computeDragOpts.value;
|
|
56540
57322
|
if (!showOverflow) {
|
|
@@ -56556,24 +57338,30 @@ let crossTreeDragNodeObj = null;
|
|
|
56556
57338
|
if (menuConfig && !VxeUIContextMenu) {
|
|
56557
57339
|
tree_errLog('vxe.error.reqComp', ['vxe-context-menu']);
|
|
56558
57340
|
}
|
|
56559
|
-
if (
|
|
57341
|
+
if (useScrollbar || autoResize) {
|
|
56560
57342
|
const el = refElem.value;
|
|
57343
|
+
const viewInnerEl = refVirtualBody.value;
|
|
56561
57344
|
const parentEl = getParentElem();
|
|
56562
57345
|
const resizeObserver = globalResize.create(() => {
|
|
56563
|
-
|
|
56564
|
-
recalculate();
|
|
56565
|
-
}
|
|
57346
|
+
reFlag.value++;
|
|
56566
57347
|
});
|
|
56567
57348
|
if (el) {
|
|
56568
57349
|
resizeObserver.observe(el);
|
|
57350
|
+
if (autoResize) {
|
|
57351
|
+
if (parentEl) {
|
|
57352
|
+
resizeObserver.observe(parentEl);
|
|
57353
|
+
}
|
|
57354
|
+
}
|
|
56569
57355
|
}
|
|
56570
|
-
if (
|
|
56571
|
-
resizeObserver.observe(
|
|
57356
|
+
if (viewInnerEl) {
|
|
57357
|
+
resizeObserver.observe(viewInnerEl);
|
|
56572
57358
|
}
|
|
56573
57359
|
internalData.resizeObserver = resizeObserver;
|
|
56574
57360
|
}
|
|
56575
|
-
|
|
56576
|
-
globalEvents.on($xeTree, 'resize',
|
|
57361
|
+
reFlag.value++;
|
|
57362
|
+
globalEvents.on($xeTree, 'resize', () => {
|
|
57363
|
+
reFlag.value++;
|
|
57364
|
+
});
|
|
56577
57365
|
});
|
|
56578
57366
|
(0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
|
|
56579
57367
|
const {
|