vxe-pc-ui 3.20.8 → 3.20.10

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 (141) hide show
  1. package/es/card/src/card.js +2 -1
  2. package/es/date-panel/src/date-panel.js +70 -39
  3. package/es/date-panel/style.css +22 -20
  4. package/es/date-panel/style.min.css +1 -1
  5. package/es/drawer/src/drawer.js +1 -0
  6. package/es/icon/style.css +1 -1
  7. package/es/icon-picker/src/icon-picker.js +11 -3
  8. package/es/icon-picker/style.css +9 -3
  9. package/es/icon-picker/style.min.css +1 -1
  10. package/es/layout-aside/src/layout-aside.js +2 -1
  11. package/es/layout-body/src/layout-body.js +2 -1
  12. package/es/layout-container/src/layout-container.js +9 -2
  13. package/es/list/src/list.js +80 -223
  14. package/es/menu/src/menu.js +1 -0
  15. package/es/modal/src/modal.js +1 -0
  16. package/es/scrollbar/src/scrollbar.js +32 -188
  17. package/es/select/src/select.js +273 -8
  18. package/es/select/style.css +44 -0
  19. package/es/select/style.min.css +1 -1
  20. package/es/style.css +1 -1
  21. package/es/style.min.css +1 -1
  22. package/es/tabs/src/tabs.js +2 -1
  23. package/es/tooltip/src/tooltip.js +7 -6
  24. package/es/tooltip/style.css +2 -0
  25. package/es/tooltip/style.min.css +1 -1
  26. package/es/tree/src/tree.js +85 -228
  27. package/es/ui/index.js +1 -1
  28. package/es/ui/src/log.js +1 -1
  29. package/es/vxe-date-panel/style.css +22 -20
  30. package/es/vxe-date-panel/style.min.css +1 -1
  31. package/es/vxe-icon-picker/style.css +9 -3
  32. package/es/vxe-icon-picker/style.min.css +1 -1
  33. package/es/vxe-select/style.css +44 -0
  34. package/es/vxe-select/style.min.css +1 -1
  35. package/es/vxe-tooltip/style.css +2 -0
  36. package/es/vxe-tooltip/style.min.css +1 -1
  37. package/lib/card/src/card.js +1 -1
  38. package/lib/card/src/card.min.js +1 -1
  39. package/lib/date-panel/src/date-panel.js +74 -43
  40. package/lib/date-panel/src/date-panel.min.js +1 -1
  41. package/lib/date-panel/style/style.css +22 -20
  42. package/lib/date-panel/style/style.min.css +1 -1
  43. package/lib/drawer/src/drawer.js +1 -1
  44. package/lib/drawer/src/drawer.min.js +1 -1
  45. package/lib/icon/style/style.css +1 -1
  46. package/lib/icon/style/style.min.css +1 -1
  47. package/lib/icon-picker/src/icon-picker.js +56 -38
  48. package/lib/icon-picker/src/icon-picker.min.js +1 -1
  49. package/lib/icon-picker/style/style.css +9 -3
  50. package/lib/icon-picker/style/style.min.css +1 -1
  51. package/lib/index.umd.js +894 -816
  52. package/lib/index.umd.min.js +1 -1
  53. package/lib/layout-aside/src/layout-aside.js +1 -1
  54. package/lib/layout-aside/src/layout-aside.min.js +1 -1
  55. package/lib/layout-body/src/layout-body.js +1 -1
  56. package/lib/layout-body/src/layout-body.min.js +1 -1
  57. package/lib/layout-container/src/layout-container.js +13 -3
  58. package/lib/layout-container/src/layout-container.min.js +1 -1
  59. package/lib/list/src/list.js +72 -225
  60. package/lib/list/src/list.min.js +1 -1
  61. package/lib/menu/src/menu.js +1 -1
  62. package/lib/menu/src/menu.min.js +1 -1
  63. package/lib/modal/src/modal.js +1 -1
  64. package/lib/modal/src/modal.min.js +1 -1
  65. package/lib/scrollbar/src/scrollbar.js +29 -192
  66. package/lib/scrollbar/src/scrollbar.min.js +1 -1
  67. package/lib/select/src/select.js +322 -69
  68. package/lib/select/src/select.min.js +1 -1
  69. package/lib/select/style/style.css +44 -0
  70. package/lib/select/style/style.min.css +1 -1
  71. package/lib/style.css +1 -1
  72. package/lib/style.min.css +1 -1
  73. package/lib/tabs/src/tabs.js +1 -1
  74. package/lib/tabs/src/tabs.min.js +1 -1
  75. package/lib/tooltip/src/tooltip.js +5 -6
  76. package/lib/tooltip/src/tooltip.min.js +1 -1
  77. package/lib/tooltip/style/style.css +2 -0
  78. package/lib/tooltip/style/style.min.css +1 -1
  79. package/lib/tree/src/tree.js +77 -229
  80. package/lib/tree/src/tree.min.js +1 -1
  81. package/lib/ui/index.js +1 -1
  82. package/lib/ui/index.min.js +1 -1
  83. package/lib/ui/src/log.js +1 -1
  84. package/lib/ui/src/log.min.js +1 -1
  85. package/lib/vxe-date-panel/style/style.css +22 -20
  86. package/lib/vxe-date-panel/style/style.min.css +1 -1
  87. package/lib/vxe-icon-picker/style/style.css +9 -3
  88. package/lib/vxe-icon-picker/style/style.min.css +1 -1
  89. package/lib/vxe-select/style/style.css +44 -0
  90. package/lib/vxe-select/style/style.min.css +1 -1
  91. package/lib/vxe-tooltip/style/style.css +2 -0
  92. package/lib/vxe-tooltip/style/style.min.css +1 -1
  93. package/package.json +2 -2
  94. package/packages/card/src/card.ts +4 -2
  95. package/packages/date-panel/src/date-panel.ts +70 -39
  96. package/packages/drawer/src/drawer.ts +4 -2
  97. package/packages/icon-picker/src/icon-picker.ts +12 -3
  98. package/packages/layout-aside/src/layout-aside.ts +4 -2
  99. package/packages/layout-body/src/layout-body.ts +4 -2
  100. package/packages/layout-container/src/layout-container.ts +13 -3
  101. package/packages/list/src/list.ts +85 -241
  102. package/packages/menu/src/menu.ts +3 -1
  103. package/packages/modal/src/modal.ts +3 -1
  104. package/packages/scrollbar/src/scrollbar.ts +32 -199
  105. package/packages/select/src/select.ts +304 -11
  106. package/packages/tabs/src/tabs.ts +4 -4
  107. package/packages/tooltip/src/tooltip.ts +10 -8
  108. package/packages/tree/src/tree.ts +90 -247
  109. package/styles/components/date-panel.scss +31 -29
  110. package/styles/components/icon-picker.scss +9 -3
  111. package/styles/components/select.scss +77 -0
  112. package/styles/components/tooltip.scss +1 -0
  113. package/types/components/card.d.ts +2 -2
  114. package/types/components/drawer.d.ts +2 -2
  115. package/types/components/gantt-module/gantt-view.d.ts +8 -17
  116. package/types/components/grid.d.ts +3 -2
  117. package/types/components/icon-picker.d.ts +21 -1
  118. package/types/components/layout-aside.d.ts +2 -2
  119. package/types/components/layout-body.d.ts +2 -2
  120. package/types/components/layout-container.d.ts +3 -1
  121. package/types/components/list.d.ts +6 -2
  122. package/types/components/menu.d.ts +2 -2
  123. package/types/components/modal.d.ts +2 -2
  124. package/types/components/scrollbar.d.ts +17 -14
  125. package/types/components/select.d.ts +28 -3
  126. package/types/components/table.d.ts +26 -22
  127. package/types/components/tabs.d.ts +2 -2
  128. package/types/components/tooltip.d.ts +2 -2
  129. package/types/components/tree.d.ts +8 -17
  130. /package/es/icon/{iconfont.1792115554173.ttf → iconfont.1792219842866.ttf} +0 -0
  131. /package/es/icon/{iconfont.1792115554173.woff → iconfont.1792219842866.woff} +0 -0
  132. /package/es/icon/{iconfont.1792115554173.woff2 → iconfont.1792219842866.woff2} +0 -0
  133. /package/es/{iconfont.1792115554173.ttf → iconfont.1792219842866.ttf} +0 -0
  134. /package/es/{iconfont.1792115554173.woff → iconfont.1792219842866.woff} +0 -0
  135. /package/es/{iconfont.1792115554173.woff2 → iconfont.1792219842866.woff2} +0 -0
  136. /package/lib/icon/style/{iconfont.1792115554173.ttf → iconfont.1792219842866.ttf} +0 -0
  137. /package/lib/icon/style/{iconfont.1792115554173.woff → iconfont.1792219842866.woff} +0 -0
  138. /package/lib/icon/style/{iconfont.1792115554173.woff2 → iconfont.1792219842866.woff2} +0 -0
  139. /package/lib/{iconfont.1792115554173.ttf → iconfont.1792219842866.ttf} +0 -0
  140. /package/lib/{iconfont.1792115554173.woff → iconfont.1792219842866.woff} +0 -0
  141. /package/lib/{iconfont.1792115554173.woff2 → iconfont.1792219842866.woff2} +0 -0
@@ -31,14 +31,11 @@ var _createComponentLog = (0, _log.createComponentLog)('tree'),
31
31
  warnLog = _createComponentLog.warnLog,
32
32
  errLog = _createComponentLog.errLog;
33
33
  var menus = _ui.VxeUI.menus,
34
- scrollbarUtils = _ui.VxeUI.scrollbarUtils,
35
34
  getConfig = _ui.VxeUI.getConfig,
36
35
  getI18n = _ui.VxeUI.getI18n,
37
- getIcon = _ui.VxeUI.getIcon;
38
- var getThumbOffsetSize = scrollbarUtils.getThumbOffsetSize,
39
- getThumbSize = scrollbarUtils.getThumbSize,
40
- getScrollFromClick = scrollbarUtils.getScrollFromClick,
41
- getScrollFromDrag = scrollbarUtils.getScrollFromDrag;
36
+ getIcon = _ui.VxeUI.getIcon,
37
+ baseUtils = _ui.VxeUI.baseUtils;
38
+ var getDefVal = baseUtils.getDefVal;
42
39
  var crossTreeDragNodeObj = null;
43
40
  /**
44
41
  * 生成节点的唯一主键
@@ -594,7 +591,7 @@ function createInternalData() {
594
591
  }
595
592
  var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defineVxeComponent)({
596
593
  name: 'VxeTree',
597
- mixins: [_ui.globalMixins.sizeMixin],
594
+ mixins: [_ui.globalMixins.sizeMixin, _ui.globalMixins.vScrollbarMixin, _ui.globalMixins.initVScrollbarMixin],
598
595
  props: {
599
596
  data: Array,
600
597
  autoResize: {
@@ -774,7 +771,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
774
771
  useScrollbar: {
775
772
  type: Boolean,
776
773
  default: function _default() {
777
- return (0, _utils.getDefaultConfig)(getConfig().tree.useScrollbar, getConfig().useScrollbar);
774
+ return getDefVal(getConfig().tree.useScrollbar, getConfig().useScrollbar);
778
775
  }
779
776
  },
780
777
  scrollbarConfig: Object
@@ -792,7 +789,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
792
789
  xID: xID,
793
790
  reactData: reactData,
794
791
  crossTreeDragNodeInfo: _store.crossTreeDragNodeGlobal,
795
- reFlag: 0,
792
+ reLayoutFlag: 0,
793
+ reScrollFlag: 0,
796
794
  dataFlag: 0
797
795
  });
798
796
  },
@@ -969,37 +967,37 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
969
967
  var $xeTree = this;
970
968
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
971
969
  var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
972
- return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarXOpts.height, scrollbarOpts.height), getConfig().scrollbar.height);
970
+ return getDefVal(getDefVal(scrollbarXOpts.height, scrollbarOpts.height), getConfig().scrollbar.height);
973
971
  },
974
972
  computeScrollYWidth: function computeScrollYWidth() {
975
973
  var $xeTree = this;
976
974
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
977
975
  var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
978
- return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.width, scrollbarOpts.width), getConfig().scrollbar.width);
976
+ return getDefVal(getDefVal(scrollbarYOpts.width, scrollbarOpts.width), getConfig().scrollbar.width);
979
977
  },
980
978
  computeScrollXVisible: function computeScrollXVisible() {
981
979
  var $xeTree = this;
982
980
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
983
981
  var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
984
- return (0, _utils.getDefaultConfig)(scrollbarXOpts.visible, scrollbarOpts.visible);
982
+ return getDefVal(scrollbarXOpts.visible, scrollbarOpts.visible);
985
983
  },
986
984
  computeScrollYVisible: function computeScrollYVisible() {
987
985
  var $xeTree = this;
988
986
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
989
987
  var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
990
- return (0, _utils.getDefaultConfig)(scrollbarYOpts.visible, scrollbarOpts.visible);
988
+ return getDefVal(scrollbarYOpts.visible, scrollbarOpts.visible);
991
989
  },
992
990
  computeScrollXAutoHide: function computeScrollXAutoHide() {
993
991
  var $xeTree = this;
994
992
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
995
993
  var scrollbarXOpts = $xeTree.computeScrollbarXOpts;
996
- return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
994
+ return getDefVal(getDefVal(scrollbarXOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
997
995
  },
998
996
  computeScrollYAutoHide: function computeScrollYAutoHide() {
999
997
  var $xeTree = this;
1000
998
  var scrollbarOpts = $xeTree.computeScrollbarOpts;
1001
999
  var scrollbarYOpts = $xeTree.computeScrollbarYOpts;
1002
- return (0, _utils.getDefaultConfig)((0, _utils.getDefaultConfig)(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
1000
+ return getDefVal(getDefVal(scrollbarYOpts.autoHide, scrollbarOpts.autoHide), getConfig().scrollbar.autoHide);
1003
1001
  },
1004
1002
  computeScrollbarWrapperClss: function computeScrollbarWrapperClss() {
1005
1003
  var $xeTree = this;
@@ -1036,6 +1034,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
1036
1034
  $tree: $xeTree
1037
1035
  }, params));
1038
1036
  },
1037
+ getScrollViewElem: function getScrollViewElem() {
1038
+ var $xeTree = this;
1039
+ var viewEl = $xeTree.$refs.refVirtualWrapper;
1040
+ return viewEl || null;
1041
+ },
1039
1042
  getNodeId: function getNodeId(node) {
1040
1043
  var $xeTree = this;
1041
1044
  if (!node) {
@@ -1675,8 +1678,14 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
1675
1678
  },
1676
1679
  updateScrollbar: function updateScrollbar() {
1677
1680
  var $xeTree = this;
1678
- $xeTree.updateThumbSize();
1679
- $xeTree.updateThumbOffset();
1681
+ var isVScrollbar = $xeTree.computeIsVScrollbar;
1682
+ if (isVScrollbar) {
1683
+ return $xeTree.$nextTick().then(function () {
1684
+ $xeTree.updateThumbSize();
1685
+ $xeTree.updateThumbOffset();
1686
+ });
1687
+ }
1688
+ return Promise.resolve();
1680
1689
  },
1681
1690
  /**
1682
1691
  * 重新计算列表
@@ -1702,11 +1711,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
1702
1711
  var parentPaddingSize = (0, _dom.getPaddingTopBottomSize)(parentEl);
1703
1712
  reactData.parentHeight = Math.max(headHeight + footHeight + rowHeight, parentEl.clientHeight - parentPaddingSize - headHeight - footHeight);
1704
1713
  }
1705
- $xeTree.updateScrollbar();
1706
1714
  $xeTree.updateHeight();
1707
1715
  return $xeTree.computeScrollLoad().then(function () {
1708
1716
  $xeTree.updateHeight();
1709
1717
  $xeTree.updateYSpace();
1718
+ $xeTree.updateScrollbar();
1710
1719
  });
1711
1720
  }
1712
1721
  return $xeTree.$nextTick();
@@ -1746,7 +1755,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
1746
1755
  var $xeTree = this;
1747
1756
  var reactData = $xeTree.reactData;
1748
1757
  var internalData = $xeTree.internalData;
1749
- var scrollBodyElem = evnt.target;
1758
+ var scrollBodyElem = evnt.currentTarget;
1750
1759
  var scrollTop = scrollBodyElem.scrollTop;
1751
1760
  var scrollLeft = scrollBodyElem.scrollLeft;
1752
1761
  var isX = scrollLeft !== internalData.lastScrollLeft;
@@ -3539,186 +3548,26 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
3539
3548
  }
3540
3549
  },
3541
3550
  // 滚动条
3542
- updateThumbSize: function updateThumbSize() {
3543
- var $xeTree = this;
3544
- var reactData = $xeTree.reactData;
3545
- var viewEl = $xeTree.$refs.refVirtualWrapper;
3546
- if (!viewEl) {
3547
- return;
3548
- }
3549
- if (!viewEl.clientHeight || !viewEl.clientHeight) {
3550
- return;
3551
- }
3552
- var trackXEl = $xeTree.$refs.refTrackXElem;
3553
- var xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
3554
- var thumbXElem = $xeTree.$refs.refThumbXElem;
3555
- if (thumbXElem) {
3556
- thumbXElem.style.width = xThumbWidth + 'px';
3557
- }
3558
- reactData.xThumbWidth = xThumbWidth;
3559
- var trackYEl = $xeTree.$refs.refTrackYElem;
3560
- var yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
3561
- var thumbYElem = $xeTree.$refs.refThumbYElem;
3562
- if (thumbYElem) {
3563
- thumbYElem.style.height = yThumbHeight + 'px';
3564
- }
3565
- reactData.yThumbHeight = yThumbHeight;
3566
- },
3567
- updateThumbOffset: function updateThumbOffset() {
3568
- var $xeTree = this;
3569
- var reactData = $xeTree.reactData;
3570
- var internalData = $xeTree.internalData;
3571
- var viewEl = $xeTree.$refs.refVirtualWrapper;
3572
- if (!viewEl) {
3573
- return;
3574
- }
3575
- if (!viewEl.clientHeight || !viewEl.clientHeight) {
3576
- return;
3577
- }
3578
- var xThumbWidth = reactData.xThumbWidth,
3579
- yThumbHeight = reactData.yThumbHeight;
3580
- var trackXEl = $xeTree.$refs.refTrackXElem;
3581
- var thumbXElem = $xeTree.$refs.refThumbXElem;
3582
- var xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
3583
- internalData.xThumbLeft = xThumbLeft;
3584
- if (thumbXElem && xThumbWidth) {
3585
- thumbXElem.style.width = xThumbWidth + 'px';
3586
- thumbXElem.style.transform = "translateX(".concat(xThumbLeft, "px)");
3587
- }
3588
- var trackYEl = $xeTree.$refs.refTrackYElem;
3589
- var thumbYElem = $xeTree.$refs.refThumbYElem;
3590
- var yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
3591
- internalData.yThumbTop = yThumbTop;
3592
- if (thumbYElem && yThumbHeight) {
3593
- thumbYElem.style.height = yThumbHeight + 'px';
3594
- thumbYElem.style.transform = "translateY(".concat(yThumbTop, "px)");
3595
- }
3596
- },
3597
- clickTrackXEvent: function clickTrackXEvent(evnt) {
3598
- var $xeTree = this;
3599
- var reactData = $xeTree.reactData;
3600
- var trackEl = evnt.currentTarget;
3601
- if (trackEl !== evnt.target) {
3602
- return;
3603
- }
3604
- var viewEl = $xeTree.$refs.refVirtualWrapper;
3605
- if (!viewEl) {
3606
- return;
3607
- }
3608
- var xThumbWidth = reactData.xThumbWidth;
3609
- var trackRect = trackEl.getBoundingClientRect();
3610
- viewEl.scrollTo({
3611
- left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
3612
- behavior: 'auto'
3613
- });
3614
- },
3615
- clickTrackYEvent: function clickTrackYEvent(evnt) {
3616
- var $xeTree = this;
3617
- var reactData = $xeTree.reactData;
3618
- var trackEl = evnt.currentTarget;
3619
- if (trackEl !== evnt.target) {
3620
- return;
3621
- }
3622
- var viewEl = $xeTree.$refs.refVirtualWrapper;
3623
- if (!viewEl) {
3624
- return;
3625
- }
3626
- var yThumbHeight = reactData.yThumbHeight;
3627
- var trackRect = trackEl.getBoundingClientRect();
3628
- viewEl.scrollTo({
3629
- top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
3630
- behavior: 'auto'
3631
- });
3632
- },
3633
- pointerdownThumbXEvent: function pointerdownThumbXEvent(evnt) {
3634
- var $xeTree = this;
3635
- var reactData = $xeTree.reactData;
3636
- var internalData = $xeTree.internalData;
3637
- var thumbEl = evnt.currentTarget;
3638
- internalData.isThumbDrag = true;
3639
- thumbEl.setPointerCapture(evnt.pointerId);
3640
- var viewEl = $xeTree.$refs.refVirtualWrapper;
3641
- if (!viewEl) {
3642
- return;
3643
- }
3644
- var xThumbWidth = reactData.xThumbWidth;
3645
- var trackEl = thumbEl.parentElement;
3646
- var trackRect = trackEl.getBoundingClientRect();
3647
- var pointerPosition = evnt.clientX - trackRect.left;
3648
- // 记录 thumb 的偏移
3649
- var thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
3650
- internalData.thumbDragOffset = pointerPosition - thumbOffset;
3651
- },
3652
- pointermoveThumbXEvent: function pointermoveThumbXEvent(evnt) {
3653
- var $xeTree = this;
3654
- var reactData = $xeTree.reactData;
3655
- var internalData = $xeTree.internalData;
3656
- var thumbEl = evnt.currentTarget;
3657
- if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
3658
- return;
3659
- }
3660
- var isThumbDrag = internalData.isThumbDrag,
3661
- thumbDragOffset = internalData.thumbDragOffset;
3662
- if (isThumbDrag) {
3663
- var viewEl = $xeTree.$refs.refVirtualWrapper;
3664
- if (!viewEl) {
3665
- return;
3666
- }
3667
- var xThumbWidth = reactData.xThumbWidth;
3668
- var _thumbEl = evnt.currentTarget;
3669
- var trackEl = _thumbEl.parentElement;
3670
- var trackRect = trackEl.getBoundingClientRect();
3671
- // 更新偏移
3672
- viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
3673
- }
3674
- },
3675
- cleatPointerThumbEvent: function cleatPointerThumbEvent(evnt) {
3676
- var $xeTree = this;
3677
- var internalData = $xeTree.internalData;
3678
- var thumbEl = evnt.currentTarget;
3679
- thumbEl.releasePointerCapture(evnt.pointerId);
3680
- internalData.isThumbDrag = false;
3681
- },
3682
- pointerdownThumbYEvent: function pointerdownThumbYEvent(evnt) {
3683
- var $xeTree = this;
3684
- var reactData = $xeTree.reactData;
3685
- var internalData = $xeTree.internalData;
3686
- var thumbEl = evnt.currentTarget;
3687
- internalData.isThumbDrag = true;
3688
- thumbEl.setPointerCapture(evnt.pointerId);
3689
- var viewEl = $xeTree.$refs.refVirtualWrapper;
3690
- if (!viewEl) {
3691
- return;
3692
- }
3693
- var yThumbHeight = reactData.yThumbHeight;
3694
- var trackEl = thumbEl.parentElement;
3695
- var trackRect = trackEl.getBoundingClientRect();
3696
- var pointerPosition = evnt.clientY - trackRect.top;
3697
- // 记录 thumb 的偏移
3698
- var thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
3699
- internalData.thumbDragOffset = pointerPosition - thumbOffset;
3700
- },
3701
- pointermoveThumbYEvent: function pointermoveThumbYEvent(evnt) {
3551
+ bindScrollbarResize: function bindScrollbarResize() {
3702
3552
  var $xeTree = this;
3703
- var reactData = $xeTree.reactData;
3704
3553
  var internalData = $xeTree.internalData;
3705
- var thumbEl = evnt.currentTarget;
3706
- if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
3707
- return;
3708
- }
3709
- var isThumbDrag = internalData.isThumbDrag,
3710
- thumbDragOffset = internalData.thumbDragOffset;
3711
- if (isThumbDrag) {
3712
- var viewEl = $xeTree.$refs.refVirtualWrapper;
3713
- if (!viewEl) {
3714
- return;
3554
+ var isVScrollbar = $xeTree.computeIsVScrollbar;
3555
+ var scrollObserver = internalData.scrollObserver;
3556
+ if (isVScrollbar) {
3557
+ if (!scrollObserver) {
3558
+ var el = $xeTree.$refs.refElem;
3559
+ var viewInnerEl = $xeTree.$refs.refVirtualSpaceElem;
3560
+ var _scrollObserver = _ui.globalResize.create(function () {
3561
+ $xeTree.reScrollFlag++;
3562
+ });
3563
+ if (el) {
3564
+ _scrollObserver.observe(el);
3565
+ }
3566
+ if (viewInnerEl) {
3567
+ _scrollObserver.observe(viewInnerEl);
3568
+ }
3569
+ internalData.scrollObserver = _scrollObserver;
3715
3570
  }
3716
- var yThumbHeight = reactData.yThumbHeight;
3717
- var _thumbEl2 = evnt.currentTarget;
3718
- var trackEl = _thumbEl2.parentElement;
3719
- var trackRect = trackEl.getBoundingClientRect();
3720
- // 更新偏移
3721
- viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
3722
3571
  }
3723
3572
  },
3724
3573
  //
@@ -4055,8 +3904,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4055
3904
  var reactData = $xeTree.reactData;
4056
3905
  var loading = props.loading,
4057
3906
  trigger = props.trigger,
4058
- showLine = props.showLine,
4059
- useScrollbar = props.useScrollbar;
3907
+ showLine = props.showLine;
4060
3908
  var bodyHeight = reactData.bodyHeight,
4061
3909
  topSpaceHeight = reactData.topSpaceHeight,
4062
3910
  treeList = reactData.treeList,
@@ -4064,6 +3912,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4064
3912
  xThumbWidth = reactData.xThumbWidth,
4065
3913
  yThumbHeight = reactData.yThumbHeight;
4066
3914
  var vSize = $xeTree.computeSize;
3915
+ var isVScrollbar = $xeTree.computeIsVScrollbar;
4067
3916
  var radioOpts = $xeTree.computeRadioOpts;
4068
3917
  var checkboxOpts = $xeTree.computeCheckboxOpts;
4069
3918
  var loadingOpts = $xeTree.computeLoadingOpts;
@@ -4090,7 +3939,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4090
3939
  }
4091
3940
  return h('div', {
4092
3941
  ref: 'refElem',
4093
- class: ['vxe-tree', useScrollbar ? "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible') : '', useScrollbar ? "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible') : '', useScrollbar ? "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom') : '', useScrollbar ? "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right') : '', (_ref = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ref, "size--".concat(vSize), vSize), 'show--line', showLine), 'is--virtual-scrollbar', useScrollbar), 'ov-padding', useScrollbar && scrollbarOpts.padding), 'ov-x--auto-hide', useScrollbar && scrollXAutoHide), 'ov-y--auto-hide', useScrollbar && scrollYAutoHide), 'overflow-y', yThumbHeight), 'overflow-x', xThumbWidth), 'checkbox--highlight', checkboxOpts.highlight), 'radio--highlight', radioOpts.highlight), _defineProperty(_defineProperty(_defineProperty(_ref, 'node--hover', isNodeHover), 'node--trigger', trigger === 'node'), 'is--loading', loading))],
3942
+ class: ['vxe-tree', isVScrollbar ? "ov-x--".concat(scrollXVisible === false ? 'hidden' : 'visible') : '', isVScrollbar ? "ov-y--".concat(scrollYVisible === false ? 'hidden' : 'visible') : '', isVScrollbar ? "sx-pos--".concat(scrollbarXToTop ? 'top' : 'bottom') : '', isVScrollbar ? "sy-pos--".concat(scrollbarYToLeft ? 'left' : 'right') : '', (_ref = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_ref, "size--".concat(vSize), vSize), 'show--line', showLine), 'is--virtual-scrollbar', isVScrollbar), 'ov-padding', isVScrollbar && scrollbarOpts.padding), 'ov-x--auto-hide', isVScrollbar && scrollXAutoHide), 'ov-y--auto-hide', isVScrollbar && scrollYAutoHide), 'overflow-y', yThumbHeight), 'overflow-x', xThumbWidth), 'checkbox--highlight', checkboxOpts.highlight), 'radio--highlight', radioOpts.highlight), _defineProperty(_defineProperty(_defineProperty(_ref, 'node--hover', isNodeHover), 'node--trigger', trigger === 'node'), 'is--loading', loading))],
4094
3943
  style: wrapperStyles,
4095
3944
  on: teOns
4096
3945
  }, [headerSlot ? h('div', {
@@ -4106,6 +3955,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4106
3955
  scroll: $xeTree.scrollEvent
4107
3956
  }
4108
3957
  }, [h('div', {
3958
+ ref: 'refVirtualSpaceElem',
4109
3959
  class: 'vxe-tree--y-space',
4110
3960
  style: {
4111
3961
  height: bodyHeight ? "".concat(bodyHeight, "px") : ''
@@ -4125,7 +3975,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4125
3975
  /**
4126
3976
  * 滚动条
4127
3977
  */
4128
- useScrollbar ? h('div', {
3978
+ isVScrollbar ? h('div', {
4129
3979
  class: scrollbarWrapperClss
4130
3980
  }, [scrollXVisible === false ? (0, _ui.renderEmptyElement)($xeTree) : h('div', {
4131
3981
  ref: 'refTrackXElem',
@@ -4249,45 +4099,56 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4249
4099
  },
4250
4100
  height: function height() {
4251
4101
  var $xeTree = this;
4252
- $xeTree.reFlag++;
4102
+ $xeTree.reLayoutFlag++;
4253
4103
  },
4254
4104
  minHeight: function minHeight() {
4255
4105
  var $xeTree = this;
4256
- $xeTree.reFlag++;
4106
+ $xeTree.reLayoutFlag++;
4257
4107
  },
4258
4108
  maxHeight: function maxHeight() {
4259
4109
  var $xeTree = this;
4260
- $xeTree.reFlag++;
4110
+ $xeTree.reLayoutFlag++;
4261
4111
  },
4262
- useScrollbar: function useScrollbar() {
4112
+ computeIsVScrollbar: function computeIsVScrollbar() {
4263
4113
  var $xeTree = this;
4264
- $xeTree.reFlag++;
4114
+ $xeTree.$nextTick(function () {
4115
+ $xeTree.bindScrollbarResize();
4116
+ $xeTree.$nextTick(function () {
4117
+ $xeTree.reLayoutFlag++;
4118
+ });
4119
+ });
4265
4120
  },
4266
4121
  computeScrollYWidth: function computeScrollYWidth() {
4267
4122
  var $xeTree = this;
4268
- $xeTree.reFlag++;
4123
+ $xeTree.reLayoutFlag++;
4269
4124
  },
4270
4125
  computeScrollXHeight: function computeScrollXHeight() {
4271
4126
  var $xeTree = this;
4272
- $xeTree.reFlag++;
4127
+ $xeTree.reLayoutFlag++;
4273
4128
  },
4274
4129
  computeScrollXVisible: function computeScrollXVisible() {
4275
4130
  var $xeTree = this;
4276
4131
  $xeTree.$nextTick(function () {
4277
- $xeTree.reFlag++;
4132
+ $xeTree.reLayoutFlag++;
4278
4133
  });
4279
4134
  },
4280
4135
  computeScrollYVisible: function computeScrollYVisible() {
4281
4136
  var $xeTree = this;
4282
4137
  $xeTree.$nextTick(function () {
4283
- $xeTree.reFlag++;
4138
+ $xeTree.reLayoutFlag++;
4284
4139
  });
4285
4140
  },
4286
- reFlag: function reFlag() {
4141
+ reLayoutFlag: function reLayoutFlag() {
4287
4142
  var $xeTree = this;
4288
4143
  $xeTree.recalculate().then(function () {
4289
4144
  $xeTree.recalculate();
4290
4145
  });
4146
+ },
4147
+ reScrollFlag: function reScrollFlag() {
4148
+ var $xeTree = this;
4149
+ $xeTree.updateScrollbar().then(function () {
4150
+ $xeTree.updateScrollbar();
4151
+ });
4291
4152
  }
4292
4153
  },
4293
4154
  created: function created() {
@@ -4308,8 +4169,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4308
4169
  showOverflow = props.showOverflow,
4309
4170
  lazy = props.lazy,
4310
4171
  loadMethod = props.loadMethod,
4311
- autoResize = props.autoResize,
4312
- useScrollbar = props.useScrollbar;
4172
+ autoResize = props.autoResize;
4313
4173
  var dragOpts = $xeTree.computeDragOpts;
4314
4174
  if (!showOverflow) {
4315
4175
  errLog('vxe.error.errProp', ['show-overflow=false', 'show-overflow=true']);
@@ -4330,25 +4190,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4330
4190
  if (menuConfig && !VxeUIContextMenu) {
4331
4191
  errLog('vxe.error.reqComp', ['vxe-context-menu']);
4332
4192
  }
4333
- var el = $xeTree.$refs.refElem;
4334
- if (useScrollbar) {
4335
- var viewInnerEl = $xeTree.$refs.refVirtualBody;
4336
- var scrollObserver = _ui.globalResize.create(function () {
4337
- $xeTree.updateScrollbar();
4338
- });
4339
- if (el) {
4340
- scrollObserver.observe(el);
4341
- }
4342
- if (viewInnerEl) {
4343
- scrollObserver.observe(viewInnerEl);
4344
- }
4345
- internalData.scrollObserver = scrollObserver;
4346
- }
4347
4193
  if (autoResize) {
4194
+ var el = $xeTree.$refs.refElem;
4348
4195
  var parentEl = $xeTree.getParentElem();
4349
4196
  var resizeObserver = _ui.globalResize.create(function () {
4350
4197
  if (props.autoResize) {
4351
- $xeTree.reFlag++;
4198
+ $xeTree.reLayoutFlag++;
4352
4199
  }
4353
4200
  });
4354
4201
  if (el) {
@@ -4359,9 +4206,10 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
4359
4206
  }
4360
4207
  internalData.resizeObserver = resizeObserver;
4361
4208
  }
4362
- $xeTree.reFlag++;
4209
+ $xeTree.reLayoutFlag++;
4210
+ $xeTree.bindScrollbarResize();
4363
4211
  _ui.globalEvents.on($xeTree, 'resize', function () {
4364
- $xeTree.reFlag++;
4212
+ $xeTree.reLayoutFlag++;
4365
4213
  });
4366
4214
  },
4367
4215
  beforeDestroy: function beforeDestroy() {