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.
Files changed (94) hide show
  1. package/dist/all.esm.js +594 -130
  2. package/dist/style.css +1 -1
  3. package/dist/style.min.css +1 -1
  4. package/es/card/src/card.js +17 -3
  5. package/es/icon/style.css +1 -1
  6. package/es/language/fr-FR.js +29 -29
  7. package/es/layout-aside/src/layout-aside.js +8 -5
  8. package/es/layout-body/src/layout-body.js +19 -11
  9. package/es/list/src/list.js +79 -36
  10. package/es/list/style.css +25 -8
  11. package/es/list/style.min.css +1 -1
  12. package/es/scrollbar/src/scrollbar.js +59 -17
  13. package/es/style.css +1 -1
  14. package/es/style.min.css +1 -1
  15. package/es/tabs/src/tabs.js +19 -4
  16. package/es/tree/src/tree.js +393 -55
  17. package/es/tree/style.css +43 -0
  18. package/es/tree/style.min.css +1 -1
  19. package/es/ui/index.js +1 -1
  20. package/es/ui/src/log.js +1 -1
  21. package/es/ui/src/utils.js +3 -0
  22. package/es/vxe-list/style.css +25 -8
  23. package/es/vxe-list/style.min.css +1 -1
  24. package/es/vxe-tree/style.css +43 -0
  25. package/es/vxe-tree/style.min.css +1 -1
  26. package/lib/card/src/card.js +17 -3
  27. package/lib/card/src/card.min.js +1 -1
  28. package/lib/icon/style/style.css +1 -1
  29. package/lib/icon/style/style.min.css +1 -1
  30. package/lib/index.umd.js +610 -140
  31. package/lib/index.umd.min.js +1 -1
  32. package/lib/language/fr-FR.js +29 -29
  33. package/lib/language/fr-FR.min.js +1 -1
  34. package/lib/language/fr-FR.umd.js +29 -29
  35. package/lib/layout-aside/src/layout-aside.js +7 -7
  36. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  37. package/lib/layout-body/src/layout-body.js +27 -21
  38. package/lib/layout-body/src/layout-body.min.js +1 -1
  39. package/lib/list/src/list.js +70 -32
  40. package/lib/list/src/list.min.js +1 -1
  41. package/lib/list/style/style.css +25 -8
  42. package/lib/list/style/style.min.css +1 -1
  43. package/lib/scrollbar/src/scrollbar.js +67 -15
  44. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  45. package/lib/style.css +1 -1
  46. package/lib/style.min.css +1 -1
  47. package/lib/tabs/src/tabs.js +22 -10
  48. package/lib/tabs/src/tabs.min.js +1 -1
  49. package/lib/tree/src/tree.js +397 -53
  50. package/lib/tree/src/tree.min.js +1 -1
  51. package/lib/tree/style/style.css +43 -0
  52. package/lib/tree/style/style.min.css +1 -1
  53. package/lib/ui/index.js +1 -1
  54. package/lib/ui/index.min.js +1 -1
  55. package/lib/ui/src/log.js +1 -1
  56. package/lib/ui/src/log.min.js +1 -1
  57. package/lib/ui/src/utils.js +4 -0
  58. package/lib/ui/src/utils.min.js +1 -1
  59. package/lib/vxe-list/style/style.css +25 -8
  60. package/lib/vxe-list/style/style.min.css +1 -1
  61. package/lib/vxe-tree/style/style.css +43 -0
  62. package/lib/vxe-tree/style/style.min.css +1 -1
  63. package/package.json +1 -1
  64. package/packages/card/src/card.ts +18 -3
  65. package/packages/language/fr-FR.ts +903 -903
  66. package/packages/layout-aside/src/layout-aside.ts +8 -5
  67. package/packages/layout-body/src/layout-body.ts +23 -14
  68. package/packages/list/src/list.ts +87 -42
  69. package/packages/scrollbar/src/scrollbar.ts +63 -16
  70. package/packages/tabs/src/tabs.ts +19 -5
  71. package/packages/tree/src/tree.ts +432 -64
  72. package/packages/ui/src/utils.ts +4 -0
  73. package/styles/components/list.scss +35 -10
  74. package/styles/components/tree.scss +76 -0
  75. package/types/components/card.d.ts +10 -1
  76. package/types/components/layout-aside.d.ts +10 -1
  77. package/types/components/layout-body.d.ts +10 -1
  78. package/types/components/list.d.ts +10 -1
  79. package/types/components/scrollbar.d.ts +17 -2
  80. package/types/components/table.d.ts +47 -4
  81. package/types/components/tabs.d.ts +10 -1
  82. package/types/components/tree.d.ts +33 -2
  83. /package/es/icon/{iconfont.1791880413927.ttf → iconfont.1791950625324.ttf} +0 -0
  84. /package/es/icon/{iconfont.1791880413927.woff → iconfont.1791950625324.woff} +0 -0
  85. /package/es/icon/{iconfont.1791880413927.woff2 → iconfont.1791950625324.woff2} +0 -0
  86. /package/es/{iconfont.1791880413927.ttf → iconfont.1791950625324.ttf} +0 -0
  87. /package/es/{iconfont.1791880413927.woff → iconfont.1791950625324.woff} +0 -0
  88. /package/es/{iconfont.1791880413927.woff2 → iconfont.1791950625324.woff2} +0 -0
  89. /package/lib/icon/style/{iconfont.1791880413927.ttf → iconfont.1791950625324.ttf} +0 -0
  90. /package/lib/icon/style/{iconfont.1791880413927.woff → iconfont.1791950625324.woff} +0 -0
  91. /package/lib/icon/style/{iconfont.1791880413927.woff2 → iconfont.1791950625324.woff2} +0 -0
  92. /package/lib/{iconfont.1791880413927.ttf → iconfont.1791950625324.ttf} +0 -0
  93. /package/lib/{iconfont.1791880413927.woff → iconfont.1791950625324.woff} +0 -0
  94. /package/lib/{iconfont.1791880413927.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.20.0"}`;
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.20.0";
4766
+ const ui_version = "4.20.1";
4767
4767
  VxeUI.uiVersion = ui_version;
4768
4768
  VxeUI.dynamicApp = dynamicApp;
4769
4769
  function config(options) {
@@ -7467,6 +7467,9 @@ function enModelValue(nodeid) {
7467
7467
  function deModelValue(nodeid) {
7468
7468
  return nodeid ? decodeURIComponent(`${nodeid}`) : nodeid;
7469
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
+ }
7470
7473
  // EXTERNAL MODULE: ./node_modules/core-js/modules/es.iterator.filter.js
7471
7474
  var es_iterator_filter = __webpack_require__(2489);
7472
7475
  ;// ./packages/tooltip/src/tooltip.ts
@@ -11695,6 +11698,7 @@ function getScrollFromDrag(pointerPosition, dragOffset, viewportSize, contentSiz
11695
11698
 
11696
11699
 
11697
11700
 
11701
+
11698
11702
  const {
11699
11703
  getConfig: scrollbar_getConfig,
11700
11704
  createEvent: scrollbar_createEvent,
@@ -11724,6 +11728,7 @@ function scrollbar_createInternalData() {
11724
11728
  name: 'VxeScrollbar',
11725
11729
  props: {
11726
11730
  id: [String, Number],
11731
+ viewId: [String, Number],
11727
11732
  width: [String, Number],
11728
11733
  height: [String, Number],
11729
11734
  minWidth: [String, Number],
@@ -11739,6 +11744,14 @@ function scrollbar_createInternalData() {
11739
11744
  type: Boolean,
11740
11745
  default: () => scrollbar_getConfig().scrollbar.padding
11741
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
+ },
11742
11755
  xConfig: Object,
11743
11756
  yConfig: Object,
11744
11757
  className: {
@@ -11790,6 +11803,8 @@ function scrollbar_createInternalData() {
11790
11803
  } = props;
11791
11804
  const xOpts = computeXOpts.value;
11792
11805
  const yOpts = computeYOpts.value;
11806
+ const barWidth = yOpts.width;
11807
+ const barHeight = xOpts.height;
11793
11808
  const stys = {};
11794
11809
  if (width) {
11795
11810
  stys.width = toCssUnit(width);
@@ -11809,14 +11824,40 @@ function scrollbar_createInternalData() {
11809
11824
  if (maxHeight) {
11810
11825
  stys.maxHeight = toCssUnit(maxHeight);
11811
11826
  }
11812
- if (yOpts.width) {
11813
- stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(yOpts.width);
11814
- }
11815
- if (xOpts.height) {
11816
- 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);
11817
11830
  }
11818
11831
  return stys;
11819
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
+ });
11820
11861
  const computeWrapperClss = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
11821
11862
  const {
11822
11863
  native,
@@ -11827,14 +11868,16 @@ function scrollbar_createInternalData() {
11827
11868
  yThumbHeight,
11828
11869
  xThumbWidth
11829
11870
  } = reactData;
11830
- const xOpts = computeXOpts.value;
11831
- const yOpts = computeYOpts.value;
11832
11871
  const xToTop = computeXToTop.value;
11833
11872
  const yToLeft = computeYToLeft.value;
11834
- return scrollbar_domUtils.buildClass(['vxe-scrollbar', `ov-x--${xOpts.visible || 'visible'}`, `ov-y--${yOpts.visible || 'visible'}`, `sx-pos--${xToTop ? 'top' : 'bottom'}`, `sy-pos--${yToLeft ? 'left' : 'right'}`, native ? 'is--native' : 'is--virtual', className], {
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], {
11835
11878
  'is--padding': padding,
11836
- 'ov-x--auto-hide': xOpts.autoHide,
11837
- 'ov-y--auto-hide': yOpts.autoHide,
11879
+ 'ov-x--auto-hide': xAutoHide,
11880
+ 'ov-y--auto-hide': yAutoHide,
11838
11881
  'overflow-y': yThumbHeight,
11839
11882
  'overflow-x': xThumbWidth
11840
11883
  });
@@ -12209,14 +12252,15 @@ function scrollbar_createInternalData() {
12209
12252
  id,
12210
12253
  native,
12211
12254
  loading,
12255
+ viewId,
12212
12256
  viewAttrs
12213
12257
  } = props;
12214
12258
  const wrapperStyle = computeWrapperStyle.value;
12215
12259
  const wrapperClss = computeWrapperClss.value;
12216
12260
  const viewClss = computeViewClss.value;
12217
12261
  const viewInnerClss = computeViewInnerClss.value;
12218
- const xOpts = computeXOpts.value;
12219
- const yOpts = computeYOpts.value;
12262
+ const xVisible = computeXVisible.value;
12263
+ const yVisible = computeYVisible.value;
12220
12264
  const defaultSlot = slots.default;
12221
12265
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12222
12266
  ref: refElem,
@@ -12227,12 +12271,13 @@ function scrollbar_createInternalData() {
12227
12271
  ref: refViewElem,
12228
12272
  class: viewClss,
12229
12273
  onScroll: scrollEvent,
12274
+ id: viewId || null,
12230
12275
  ...viewAttrs
12231
12276
  }, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12232
12277
  key: 'vi',
12233
12278
  ref: refViewInnerElem,
12234
12279
  class: viewInnerClss
12235
- }, defaultSlot ? defaultSlot({}) : [])]), native || xOpts.visible === 'hidden' ? scrollbar_renderEmptyElement($xeScrollbar) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12280
+ }, defaultSlot ? defaultSlot({}) : [])]), native || xVisible === false ? scrollbar_renderEmptyElement($xeScrollbar) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12236
12281
  ref: refTrackXElem,
12237
12282
  class: 'vxe-scrollbar--track-x',
12238
12283
  onClick: clickTrackXEvent
@@ -12244,7 +12289,7 @@ function scrollbar_createInternalData() {
12244
12289
  onPointerup: cleatPointerThumbEvent,
12245
12290
  onPointercancel: cleatPointerThumbEvent,
12246
12291
  onLostpointercapture: cleatPointerThumbEvent
12247
- })]), native || yOpts.visible === 'hidden' ? scrollbar_renderEmptyElement($xeScrollbar) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12292
+ })]), native || yVisible === false ? scrollbar_renderEmptyElement($xeScrollbar) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
12248
12293
  ref: refTrackYElem,
12249
12294
  class: 'vxe-scrollbar--track-y',
12250
12295
  onClick: clickTrackYEvent
@@ -12286,6 +12331,16 @@ function scrollbar_createInternalData() {
12286
12331
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.syncResize, () => {
12287
12332
  reFlag.value++;
12288
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
+ });
12289
12344
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reFlag, () => {
12290
12345
  $xeScrollbar.recalculate().then(() => {
12291
12346
  $xeScrollbar.recalculate();
@@ -12419,6 +12474,19 @@ const Scrollbar = VxeScrollbar;
12419
12474
  const computeScrollbarOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
12420
12475
  return Object.assign({}, getConfig().card.scrollbarConfig, props.scrollbarConfig);
12421
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
+ });
12422
12490
  const computeMaps = {
12423
12491
  computeSize
12424
12492
  };
@@ -12460,6 +12528,7 @@ const Scrollbar = VxeScrollbar;
12460
12528
  const vSize = computeSize.value;
12461
12529
  const cardStyle = computeCardStyle.value;
12462
12530
  const scrollbarOpts = computeScrollbarOpts.value;
12531
+ const scrollbarProps = computeScrollbarProps.value;
12463
12532
  const {
12464
12533
  viewClassName,
12465
12534
  viewInnerClassName
@@ -12485,7 +12554,7 @@ const Scrollbar = VxeScrollbar;
12485
12554
  class: 'vxe-card--body'
12486
12555
  }, [leftSlot ? useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12487
12556
  class: 'vxe-card--body-scrollbar-left',
12488
- ...scrollbarOpts,
12557
+ ...scrollbarProps,
12489
12558
  viewClassName: 'vxe-card--body-scrollbar-left-view',
12490
12559
  viewInnerClassName: 'vxe-card--body-scrollbar-left-inner'
12491
12560
  }, {
@@ -12494,7 +12563,7 @@ const Scrollbar = VxeScrollbar;
12494
12563
  class: 'vxe-card--body-left'
12495
12564
  }, vn_getSlotVNs(leftSlot({}))) : renderEmptyElement($xeCard), useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12496
12565
  class: 'vxe-card--body-scrollbar-content',
12497
- ...scrollbarOpts,
12566
+ ...scrollbarProps,
12498
12567
  viewClassName: 'vxe-card--body-scrollbar-content-view' + (viewClassName ? ' ' + viewClassName : ''),
12499
12568
  viewInnerClassName: 'vxe-card--body-scrollbar-content-inner' + (viewClassName ? ' ' + viewInnerClassName : '')
12500
12569
  }, {
@@ -12503,7 +12572,7 @@ const Scrollbar = VxeScrollbar;
12503
12572
  class: 'vxe-card--body-content'
12504
12573
  }, defaultSlot ? vn_getSlotVNs(defaultSlot({})) : []), rightSlot ? useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
12505
12574
  class: 'vxe-card--body-scrollbar-right',
12506
- ...scrollbarOpts,
12575
+ ...scrollbarProps,
12507
12576
  viewClassName: 'vxe-card--body-scrollbar-right-view',
12508
12577
  viewInnerClassName: 'vxe-card--body-scrollbar-right-inner'
12509
12578
  }, {
@@ -13296,7 +13365,6 @@ let crossListDragRowObj = null;
13296
13365
  const refFooterElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13297
13366
  const refVirtualWrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13298
13367
  const refVirtualBody = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13299
- const refViewInnerElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13300
13368
  const refTrackXElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13301
13369
  const refTrackYElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
13302
13370
  const refThumbXElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -13359,17 +13427,18 @@ let crossListDragRowObj = null;
13359
13427
  });
13360
13428
  const computeWrapperStyles = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
13361
13429
  const rowHeight = computeRowHeight.value;
13430
+ const scrollbarOpts = computeScrollbarOpts.value;
13362
13431
  const scrollbarXOpts = computeScrollbarXOpts.value;
13363
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);
13364
13435
  const stys = {};
13365
13436
  if (rowHeight) {
13366
13437
  stys['--vxe-ui-list-row-height'] = toCssUnit(rowHeight);
13367
13438
  }
13368
- if (scrollbarYOpts.width) {
13369
- stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(scrollbarYOpts.width);
13370
- }
13371
- if (scrollbarXOpts.height) {
13372
- stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(scrollbarXOpts.height);
13439
+ if (barWidth || barHeight) {
13440
+ stys['--vxe-ui-scrollbar-y-width'] = toCssUnit(barWidth || barHeight);
13441
+ stys['--vxe-ui-scrollbar-x-height'] = toCssUnit(barHeight || barWidth);
13373
13442
  }
13374
13443
  return stys;
13375
13444
  });
@@ -13404,6 +13473,26 @@ let crossListDragRowObj = null;
13404
13473
  const scrollbarOpts = computeScrollbarOpts.value;
13405
13474
  return Object.assign({}, getConfig().scrollbar.yConfig, scrollbarOpts.yConfig);
13406
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
+ });
13407
13496
  const computeScrollbarWrapperClss = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
13408
13497
  const scrollbarOpts = computeScrollbarOpts.value;
13409
13498
  const {
@@ -13413,14 +13502,16 @@ let crossListDragRowObj = null;
13413
13502
  yThumbHeight,
13414
13503
  xThumbWidth
13415
13504
  } = reactData;
13416
- const scrollbarXOpts = computeScrollbarXOpts.value;
13417
- const scrollbarYOpts = computeScrollbarYOpts.value;
13418
13505
  const scrollbarXToTop = computeScrollbarXToTop.value;
13419
13506
  const scrollbarYToLeft = computeScrollbarYToLeft.value;
13420
- return domUtils.buildClass(['vxe-scrollbar is--virtual', `ov-x--${scrollbarXOpts.visible || 'visible'}`, `ov-y--${scrollbarYOpts.visible || 'visible'}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`], {
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'}`], {
13421
13512
  'is--padding': padding,
13422
- 'ov-x--auto-hide': scrollbarXOpts.autoHide,
13423
- 'ov-y--auto-hide': scrollbarYOpts.autoHide,
13513
+ 'ov-x--auto-hide': scrollXAutoHide,
13514
+ 'ov-y--auto-hide': scrollYAutoHide,
13424
13515
  'overflow-y': yThumbHeight,
13425
13516
  'overflow-x': xThumbWidth
13426
13517
  });
@@ -15604,7 +15695,9 @@ let crossListDragRowObj = null;
15604
15695
  topSpaceHeight,
15605
15696
  rowList,
15606
15697
  isAllChecked,
15607
- isAllIndeterminate
15698
+ isAllIndeterminate,
15699
+ xThumbWidth,
15700
+ yThumbHeight
15608
15701
  } = reactData;
15609
15702
  const defaultSlot = slots.default;
15610
15703
  const headerSlot = slots.header;
@@ -15629,8 +15722,13 @@ let crossListDragRowObj = null;
15629
15722
  padding
15630
15723
  } = rowOpts;
15631
15724
  const isDrag = computeIsDrag.value;
15632
- const scrollbarXOpts = computeScrollbarXOpts.value;
15633
- const scrollbarYOpts = computeScrollbarYOpts.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;
15634
15732
  const scrollbarWrapperClss = computeScrollbarWrapperClss.value;
15635
15733
  const showDefChekboxHead = showCheckbox && showHeader !== false;
15636
15734
  const leOns = {};
@@ -15639,13 +15737,16 @@ let crossListDragRowObj = null;
15639
15737
  }
15640
15738
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
15641
15739
  ref: refElem,
15642
- 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({
15643
15741
  $list: $xeList
15644
15742
  }) : className : '', {
15645
15743
  [`size--${vSize}`]: vSize,
15646
15744
  'is--virtual-scrollbar': useScrollbar,
15647
- 'ov-x--auto-hide': useScrollbar && scrollbarXOpts.autoHide,
15648
- 'ov-y--auto-hide': useScrollbar && scrollbarYOpts.autoHide,
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,
15649
15750
  'is--drag': isDrag,
15650
15751
  'is--loading': loading
15651
15752
  }],
@@ -15693,17 +15794,10 @@ let crossListDragRowObj = null;
15693
15794
  style: {
15694
15795
  marginTop: topSpaceHeight ? `${topSpaceHeight}px` : ''
15695
15796
  }
15696
- }, useScrollbar ? defaultSlot ? defaultSlot({
15697
- items: rowList,
15698
- $list: $xeList
15699
- }) : rowList.map((row, i) => renderRow(row, i)) : [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
15700
- key: 'vi',
15701
- ref: refViewInnerElem,
15702
- class: 'vxe-scrollbar--view-inner'
15703
15797
  }, defaultSlot ? defaultSlot({
15704
15798
  items: rowList,
15705
15799
  $list: $xeList
15706
- }) : rowList.map((row, i) => renderRow(row, i)))])]), footerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
15800
+ }) : rowList.map((row, i) => renderRow(row, i)))]), footerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
15707
15801
  ref: refFooterElem,
15708
15802
  class: 'vxe-list--footer-wrapper'
15709
15803
  }, footerSlot({
@@ -15715,7 +15809,7 @@ let crossListDragRowObj = null;
15715
15809
  */
15716
15810
  useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
15717
15811
  class: scrollbarWrapperClss
15718
- }, [scrollbarXOpts.visible === 'hidden' ? renderEmptyElement($xeList) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
15812
+ }, [scrollXVisible === false ? renderEmptyElement($xeList) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
15719
15813
  ref: refTrackXElem,
15720
15814
  class: 'vxe-scrollbar--track-x',
15721
15815
  onClick: clickTrackXEvent
@@ -15727,7 +15821,7 @@ let crossListDragRowObj = null;
15727
15821
  onPointerup: cleatPointerThumbEvent,
15728
15822
  onPointercancel: cleatPointerThumbEvent,
15729
15823
  onLostpointercapture: cleatPointerThumbEvent
15730
- })]), scrollbarYOpts.visible === 'hidden' ? renderEmptyElement($xeList) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
15824
+ })]), scrollYVisible === false ? renderEmptyElement($xeList) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
15731
15825
  ref: refTrackYElem,
15732
15826
  class: 'vxe-scrollbar--track-y',
15733
15827
  onClick: clickTrackYEvent
@@ -15772,11 +15866,24 @@ let crossListDragRowObj = null;
15772
15866
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.syncResize, () => {
15773
15867
  reFlag.value++;
15774
15868
  });
15869
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.useScrollbar, () => {
15870
+ reFlag.value++;
15871
+ });
15775
15872
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeRowHeight, () => {
15776
15873
  reFlag.value++;
15777
15874
  });
15778
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(reFlag, () => {
15875
+ (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(computeScrollXVisible, () => {
15779
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, () => {
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(() => {
15780
15887
  recalculate();
15781
15888
  });
15782
15889
  });
@@ -15834,13 +15941,13 @@ let crossListDragRowObj = null;
15834
15941
  }
15835
15942
  if (useScrollbar || autoResize) {
15836
15943
  const el = refElem.value;
15837
- const viewInnerEl = refViewInnerElem.value;
15944
+ const viewInnerEl = refVirtualBody.value;
15838
15945
  const resizeObserver = globalResize.create(() => {
15839
15946
  reFlag.value++;
15840
15947
  });
15841
- resizeObserver.observe(el);
15842
- if (autoResize) {
15843
- if (el) {
15948
+ if (el) {
15949
+ resizeObserver.observe(el);
15950
+ if (autoResize) {
15844
15951
  resizeObserver.observe(el.parentElement);
15845
15952
  }
15846
15953
  }
@@ -37739,10 +37846,7 @@ const ImagePreview = VxeImagePreview;
37739
37846
  const collapseOpts = computeCollapseOpts.value;
37740
37847
  const scrollbarOpts = computeScrollbarOpts.value;
37741
37848
  const {
37742
- native,
37743
- yConfig,
37744
37849
  className,
37745
- viewAttrs,
37746
37850
  viewClassName,
37747
37851
  viewInnerClassName
37748
37852
  } = scrollbarOpts;
@@ -37758,13 +37862,16 @@ const ImagePreview = VxeImagePreview;
37758
37862
  }],
37759
37863
  style: varStyle
37760
37864
  }, [useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
37761
- native,
37865
+ width: scrollbarOpts.width,
37866
+ height: scrollbarOpts.height,
37867
+ autoHide: scrollbarOpts.autoHide,
37868
+ visible: scrollbarOpts.visible,
37762
37869
  xConfig: {
37763
- visible: 'hidden'
37870
+ visible: false
37764
37871
  },
37765
- yConfig,
37872
+ yConfig: scrollbarOpts.yConfig,
37766
37873
  className: 'vxe-layout-aside--scrollbar' + (className ? ' ' + className : ''),
37767
- viewAttrs,
37874
+ viewAttrs: scrollbarOpts.viewAttrs,
37768
37875
  viewClassName: 'vxe-layout-aside--scrollbar-view' + (viewClassName ? ' ' + viewClassName : ''),
37769
37876
  viewInnerClassName: 'vxe-layout-aside--scrollbar-inner' + (viewInnerClassName ? ' ' + viewInnerClassName : '')
37770
37877
  }, {
@@ -37860,6 +37967,32 @@ function layout_body_createReactData() {
37860
37967
  const computeScrollbarOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
37861
37968
  return Object.assign({}, getConfig().layoutBody.scrollbarConfig, props.scrollbarConfig);
37862
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
+ });
37863
37996
  const computeMaps = {
37864
37997
  computeSize
37865
37998
  };
@@ -37890,16 +38023,7 @@ function layout_body_createReactData() {
37890
38023
  useScrollbar
37891
38024
  } = props;
37892
38025
  const backtopOpts = computeBacktopOpts.value;
37893
- const scrollbarOpts = computeScrollbarOpts.value;
37894
- const {
37895
- native,
37896
- xConfig,
37897
- yConfig,
37898
- className,
37899
- viewAttrs,
37900
- viewClassName,
37901
- viewInnerClassName
37902
- } = scrollbarOpts;
38026
+ const scrollbarProps = computeScrollbarProps.value;
37903
38027
  const vSize = computeSize.value;
37904
38028
  const defaultSlot = slots.default;
37905
38029
  const backtopSlot = slots.backtop;
@@ -37922,18 +38046,7 @@ function layout_body_createReactData() {
37922
38046
  'is--loading': loading,
37923
38047
  'is--padding': padding
37924
38048
  }]
37925
- }, [useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
37926
- native,
37927
- xConfig,
37928
- yConfig,
37929
- className: 'vxe-layout-body--scrollbar' + (className ? ' ' + className : ''),
37930
- viewAttrs: {
37931
- ...viewAttrs,
37932
- id: showBacktop ? backtopId || null : null
37933
- },
37934
- viewClassName: 'vxe-layout-body--scrollbar-view' + (viewClassName ? ' ' + viewClassName : ''),
37935
- viewInnerClassName: 'vxe-layout-body--scrollbar-inner' + (viewInnerClassName ? ' ' + viewInnerClassName : '')
37936
- }, {
38049
+ }, [useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, scrollbarProps, {
37937
38050
  default: () => defaultSlot ? defaultSlot({}) : []
37938
38051
  }) : (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
37939
38052
  id: showBacktop ? backtopId : '',
@@ -50622,6 +50735,25 @@ const scrollbarOffsetSize = 20;
50622
50735
  const computeScrollbarOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
50623
50736
  return Object.assign({}, getConfig().tabs.scrollbarConfig, props.scrollbarConfig);
50624
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
+ });
50625
50757
  const computeMaps = {};
50626
50758
  const $xeTabs = {
50627
50759
  xID,
@@ -51297,20 +51429,14 @@ const scrollbarOffsetSize = 20;
51297
51429
  slots
51298
51430
  } = item;
51299
51431
  const defaultSlot = slots ? slots.default : null;
51300
- const scrollbarOpts = computeScrollbarOpts.value;
51301
- const {
51302
- viewClassName,
51303
- viewInnerClassName
51304
- } = scrollbarOpts;
51432
+ const scrollbarProps = computeScrollbarProps.value;
51305
51433
  if (name && initNames.includes(name)) {
51306
51434
  return useScrollbar ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)(packages_scrollbar, {
51307
51435
  key: `${name}`,
51308
51436
  class: ['vxe-tabs-pane--scrollbar-item', {
51309
51437
  'is--visible': activeName === name
51310
51438
  }],
51311
- ...scrollbarOpts,
51312
- viewClassName: 'vxe-tabs-pane--scrollbar-item-view' + (viewClassName ? ' ' + viewClassName : ''),
51313
- viewInnerClassName: 'vxe-tabs-pane--scrollbar-item-inner' + (viewClassName ? ' ' + viewInnerClassName : '')
51439
+ ...scrollbarProps
51314
51440
  }, {
51315
51441
  default: () => defaultSlot ? callSlot(defaultSlot, {
51316
51442
  name
@@ -52996,6 +53122,7 @@ function getCrossTreeDragNodeInfo() {
52996
53122
 
52997
53123
 
52998
53124
 
53125
+
52999
53126
  const {
53000
53127
  warnLog: tree_warnLog,
53001
53128
  errLog: tree_errLog
@@ -53012,6 +53139,34 @@ const {
53012
53139
  function tree_getNodeUniqueId() {
53013
53140
  return external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().uniqueId('node_');
53014
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
+ }
53015
53170
  function tree_createInternalData() {
53016
53171
  return {
53017
53172
  // initialized: false,
@@ -53024,8 +53179,14 @@ function tree_createInternalData() {
53024
53179
  indeterminateNodeMaps: {},
53025
53180
  treeExpandedMaps: {},
53026
53181
  treeExpandLazyLoadedMaps: {},
53027
- lastScrollLeft: 0,
53182
+ // 滚动条
53183
+ // resizeObserver: undefined,
53184
+ // isThumbDrag: false,
53185
+ thumbDragOffset: 0,
53186
+ yThumbTop: 0,
53187
+ xThumbLeft: 0,
53028
53188
  lastScrollTop: 0,
53189
+ lastScrollLeft: 0,
53029
53190
  scrollYStore: {
53030
53191
  startIndex: 0,
53031
53192
  endIndex: 0,
@@ -53042,31 +53203,6 @@ function tree_createInternalData() {
53042
53203
  // hpTimeout: undefined
53043
53204
  };
53044
53205
  }
53045
- function tree_createReactData() {
53046
- return {
53047
- parentHeight: 0,
53048
- customHeight: 0,
53049
- customMinHeight: 0,
53050
- customMaxHeight: 0,
53051
- currentNode: null,
53052
- scrollYLoad: false,
53053
- bodyHeight: 0,
53054
- topSpaceHeight: 0,
53055
- selectRadioKey: null,
53056
- treeList: [],
53057
- updateExpandedFlag: 1,
53058
- updateCheckboxFlag: 1,
53059
- insertNodeFlag: 1,
53060
- removeNodeFlag: 1,
53061
- dragNode: null,
53062
- dragTipText: '',
53063
- isCrossDragNode: false,
53064
- tooltipStore: {
53065
- visible: false,
53066
- node: null
53067
- }
53068
- };
53069
- }
53070
53206
  let crossTreeDragNodeObj = null;
53071
53207
  /* harmony default export */ var tree = (defineVxeComponent({
53072
53208
  name: 'VxeTree',
@@ -53197,7 +53333,12 @@ let crossTreeDragNodeObj = null;
53197
53333
  type: String,
53198
53334
  default: () => tree_getConfig().tree.size || tree_getConfig().size
53199
53335
  },
53200
- virtualYConfig: Object
53336
+ virtualYConfig: Object,
53337
+ useScrollbar: {
53338
+ type: Boolean,
53339
+ default: () => tree_getConfig().tree.useScrollbar
53340
+ },
53341
+ scrollbarConfig: Object
53201
53342
  },
53202
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'],
53203
53344
  setup(props, context) {
@@ -53214,6 +53355,10 @@ let crossTreeDragNodeObj = null;
53214
53355
  const refFooterWrapperElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53215
53356
  const refVirtualWrapper = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53216
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)();
53217
53362
  const refDragNodeLineElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53218
53363
  const refDragTipElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
53219
53364
  const refTooltip = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
@@ -53293,6 +53438,19 @@ let crossTreeDragNodeObj = null;
53293
53438
  const computeMenuOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
53294
53439
  return Object.assign({}, tree_getConfig().tree.menuConfig, props.menuConfig);
53295
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
+ });
53296
53454
  const computeTreeStyle = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
53297
53455
  const {
53298
53456
  indent
@@ -53336,6 +53494,70 @@ let crossTreeDragNodeObj = null;
53336
53494
  const computeFilterOpts = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.computed)(() => {
53337
53495
  return Object.assign({}, tree_getConfig().tree.filterConfig, props.filterConfig);
53338
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
+ });
53339
53561
  const computeMaps = {
53340
53562
  computeKeyField,
53341
53563
  computeParentField,
@@ -53932,6 +54154,10 @@ let crossTreeDragNodeObj = null;
53932
54154
  }
53933
54155
  });
53934
54156
  };
54157
+ const updateScrollbar = () => {
54158
+ updateThumbSize();
54159
+ updateThumbOffset();
54160
+ };
53935
54161
  /**
53936
54162
  * 重新计算列表
53937
54163
  */
@@ -53957,6 +54183,7 @@ let crossTreeDragNodeObj = null;
53957
54183
  const parentPaddingSize = getPaddingTopBottomSize(parentEl);
53958
54184
  reactData.parentHeight = Math.max(headHeight + footHeight + rowHeight, parentEl.clientHeight - parentPaddingSize - headHeight - footHeight);
53959
54185
  }
54186
+ updateScrollbar();
53960
54187
  updateHeight();
53961
54188
  return computeScrollLoad().then(() => {
53962
54189
  updateHeight();
@@ -53998,6 +54225,7 @@ let crossTreeDragNodeObj = null;
53998
54225
  const scrollLeft = scrollBodyElem.scrollLeft;
53999
54226
  const isX = scrollLeft !== internalData.lastScrollLeft;
54000
54227
  const isY = scrollTop !== internalData.lastScrollTop;
54228
+ updateThumbOffset();
54001
54229
  internalData.lastScrollTop = scrollTop;
54002
54230
  internalData.lastScrollLeft = scrollLeft;
54003
54231
  if (reactData.scrollYLoad) {
@@ -54673,13 +54901,6 @@ let crossTreeDragNodeObj = null;
54673
54901
  checked: isChecked
54674
54902
  }, evnt);
54675
54903
  };
54676
- const handleGlobalResizeEvent = () => {
54677
- const el = refElem.value;
54678
- if (!el || !el.clientWidth) {
54679
- return;
54680
- }
54681
- recalculate();
54682
- };
54683
54904
  const insertTreeNode = (newRecords, isAppend) => {
54684
54905
  const {
54685
54906
  treeFullData,
@@ -56342,6 +56563,183 @@ let crossTreeDragNodeObj = null;
56342
56563
  hideDropTip();
56343
56564
  }
56344
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
+ };
56345
56743
  Object.assign($xeTree, treeMethods, treePrivateMethods);
56346
56744
  const renderDragIcon = (node, nodeid) => {
56347
56745
  const {
@@ -56686,19 +57084,23 @@ let crossTreeDragNodeObj = null;
56686
57084
  const {
56687
57085
  loading,
56688
57086
  trigger,
56689
- showLine
57087
+ showLine,
57088
+ useScrollbar
56690
57089
  } = props;
56691
57090
  const {
56692
57091
  bodyHeight,
56693
57092
  topSpaceHeight,
56694
57093
  treeList,
56695
- tooltipStore
57094
+ tooltipStore,
57095
+ xThumbWidth,
57096
+ yThumbHeight
56696
57097
  } = reactData;
56697
57098
  const vSize = computeSize.value;
56698
57099
  const radioOpts = computeRadioOpts.value;
56699
57100
  const checkboxOpts = computeCheckboxOpts.value;
56700
57101
  const loadingOpts = computeLoadingOpts.value;
56701
57102
  const isNodeHover = computeIsNodeHover.value;
57103
+ const wrapperStyles = computeWrapperStyles.value;
56702
57104
  const treeStyle = computeTreeStyle.value;
56703
57105
  const dragOpts = computeDragOpts.value;
56704
57106
  const tooltipOpts = computeTooltipOpts.value;
@@ -56706,21 +57108,36 @@ let crossTreeDragNodeObj = null;
56706
57108
  const headerSlot = slots.header;
56707
57109
  const footerSlot = slots.footer;
56708
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;
56709
57119
  const teOns = {};
56710
57120
  if (dragOpts.isCrossTreeDrag && !treeList.length) {
56711
57121
  teOns.onDragover = $xeTree.handleCrossTreeNodeDragoverEmptyEvent;
56712
57122
  }
56713
57123
  return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
56714
57124
  ref: refElem,
56715
- 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'}` : '', {
56716
57126
  [`size--${vSize}`]: vSize,
56717
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,
56718
57134
  'checkbox--highlight': checkboxOpts.highlight,
56719
57135
  'radio--highlight': radioOpts.highlight,
56720
57136
  'node--hover': isNodeHover,
56721
57137
  'node--trigger': trigger === 'node',
56722
57138
  'is--loading': loading
56723
57139
  }],
57140
+ style: wrapperStyles,
56724
57141
  ...teOns
56725
57142
  }, [headerSlot ? (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
56726
57143
  ref: refHeaderWrapperElem,
@@ -56749,6 +57166,36 @@ let crossTreeDragNodeObj = null;
56749
57166
  }, footerSlot({
56750
57167
  $tree: $xeTree
56751
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),
56752
57199
  /**
56753
57200
  * 拖拽提示
56754
57201
  */
@@ -56832,18 +57279,33 @@ let crossTreeDragNodeObj = null;
56832
57279
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.filterValue, () => {
56833
57280
  triggerSearchEvent(new Event('filter'));
56834
57281
  });
56835
- const hFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
57282
+ const reFlag = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)(0);
56836
57283
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.height, () => {
56837
- hFlag.value++;
57284
+ reFlag.value++;
56838
57285
  });
56839
57286
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.minHeight, () => {
56840
- hFlag.value++;
57287
+ reFlag.value++;
56841
57288
  });
56842
57289
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(() => props.maxHeight, () => {
56843
- hFlag.value++;
57290
+ reFlag.value++;
56844
57291
  });
56845
- (0,external_commonjs_vue_commonjs2_vue_root_Vue_.watch)(hFlag, () => {
56846
- recalculate();
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
+ });
56847
57309
  });
56848
57310
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onMounted)(() => {
56849
57311
  const {
@@ -56852,7 +57314,9 @@ let crossTreeDragNodeObj = null;
56852
57314
  menuConfig,
56853
57315
  showOverflow,
56854
57316
  lazy,
56855
- loadMethod
57317
+ loadMethod,
57318
+ autoResize,
57319
+ useScrollbar
56856
57320
  } = props;
56857
57321
  const dragOpts = computeDragOpts.value;
56858
57322
  if (!showOverflow) {
@@ -56874,24 +57338,30 @@ let crossTreeDragNodeObj = null;
56874
57338
  if (menuConfig && !VxeUIContextMenu) {
56875
57339
  tree_errLog('vxe.error.reqComp', ['vxe-context-menu']);
56876
57340
  }
56877
- if (props.autoResize) {
57341
+ if (useScrollbar || autoResize) {
56878
57342
  const el = refElem.value;
57343
+ const viewInnerEl = refVirtualBody.value;
56879
57344
  const parentEl = getParentElem();
56880
57345
  const resizeObserver = globalResize.create(() => {
56881
- if (props.autoResize) {
56882
- recalculate();
56883
- }
57346
+ reFlag.value++;
56884
57347
  });
56885
57348
  if (el) {
56886
57349
  resizeObserver.observe(el);
57350
+ if (autoResize) {
57351
+ if (parentEl) {
57352
+ resizeObserver.observe(parentEl);
57353
+ }
57354
+ }
56887
57355
  }
56888
- if (parentEl) {
56889
- resizeObserver.observe(parentEl);
57356
+ if (viewInnerEl) {
57357
+ resizeObserver.observe(viewInnerEl);
56890
57358
  }
56891
57359
  internalData.resizeObserver = resizeObserver;
56892
57360
  }
56893
- recalculate();
56894
- globalEvents.on($xeTree, 'resize', handleGlobalResizeEvent);
57361
+ reFlag.value++;
57362
+ globalEvents.on($xeTree, 'resize', () => {
57363
+ reFlag.value++;
57364
+ });
56895
57365
  });
56896
57366
  (0,external_commonjs_vue_commonjs2_vue_root_Vue_.onBeforeUnmount)(() => {
56897
57367
  const {