vxe-gantt 4.9.0-beta.0 → 4.9.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.esm.js +68 -202
- package/es/gantt/src/gantt-chart.js +4 -4
- package/es/gantt/src/gantt-view.js +50 -190
- package/es/gantt/src/gantt.js +12 -6
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/gantt/src/gantt-chart.js +4 -4
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +65 -234
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/gantt.js +13 -8
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/index.umd.js +84 -248
- package/lib/index.umd.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/gantt/src/gantt-chart.ts +4 -4
- package/packages/gantt/src/gantt-view.ts +66 -205
- package/packages/gantt/src/gantt.ts +12 -6
package/dist/all.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { VxeUI } from '@vxe-ui/core';
|
|
1
|
+
import { VxeUI, useFns as useFns$1 } from '@vxe-ui/core';
|
|
2
2
|
export { VxeUI } from '@vxe-ui/core';
|
|
3
3
|
import { defineComponent, inject, ref, onMounted, onUnmounted, h, reactive, computed, watch, nextTick, onBeforeUnmount, provide } from 'vue';
|
|
4
4
|
import XEUtils from 'xe-utils';
|
|
@@ -6,7 +6,7 @@ import DomZIndex from 'dom-zindex';
|
|
|
6
6
|
import { VxeTable } from 'vxe-table';
|
|
7
7
|
|
|
8
8
|
const { setConfig: setConfig$1, setIcon } = VxeUI;
|
|
9
|
-
VxeUI.ganttVersion = "4.9.0-beta.
|
|
9
|
+
VxeUI.ganttVersion = "4.9.0-beta.2";
|
|
10
10
|
const ymdFormat = 'yyyy-MM-dd';
|
|
11
11
|
const ymdhmsFormat = 'yyyy-MM-dd HH:mm:ss';
|
|
12
12
|
setConfig$1({
|
|
@@ -130,7 +130,7 @@ setIcon({
|
|
|
130
130
|
});
|
|
131
131
|
|
|
132
132
|
const { log } = VxeUI;
|
|
133
|
-
const ganttVersion = `gantt v${"4.9.0-beta.
|
|
133
|
+
const ganttVersion = `gantt v${"4.9.0-beta.2"}`;
|
|
134
134
|
function createComponentLog(name) {
|
|
135
135
|
const uiVersion = VxeUI.uiVersion ? `ui v${VxeUI.uiVersion}` : '';
|
|
136
136
|
const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
|
|
@@ -885,8 +885,8 @@ var GanttViewChartComponent = defineVxeComponent({
|
|
|
885
885
|
},
|
|
886
886
|
onMousedown(evnt) {
|
|
887
887
|
evnt.stopPropagation();
|
|
888
|
-
if ($xeGantt.
|
|
889
|
-
$xeGantt.
|
|
888
|
+
if ($xeGantt.handleTaskBarModnEvent) {
|
|
889
|
+
$xeGantt.handleTaskBarModnEvent(evnt, childCtParams);
|
|
890
890
|
}
|
|
891
891
|
}
|
|
892
892
|
}, [
|
|
@@ -990,8 +990,8 @@ var GanttViewChartComponent = defineVxeComponent({
|
|
|
990
990
|
$xeGantt.handleTaskBarDblclickEvent(evnt, barParams);
|
|
991
991
|
},
|
|
992
992
|
onMousedown(evnt) {
|
|
993
|
-
if ($xeGantt.
|
|
994
|
-
$xeGantt.
|
|
993
|
+
if ($xeGantt.handleTaskBarModnEvent) {
|
|
994
|
+
$xeGantt.handleTaskBarModnEvent(evnt, barParams);
|
|
995
995
|
}
|
|
996
996
|
}
|
|
997
997
|
}, cbVNs)
|
|
@@ -1400,8 +1400,7 @@ var GanttViewFooterComponent = defineVxeComponent({
|
|
|
1400
1400
|
}
|
|
1401
1401
|
});
|
|
1402
1402
|
|
|
1403
|
-
const { getConfig: getConfig$1, domUtils,
|
|
1404
|
-
const { getThumbOffsetSize, getThumbSize, getScrollFromClick, getScrollFromDrag } = scrollbarUtils;
|
|
1403
|
+
const { getConfig: getConfig$1, domUtils, globalResize, globalEvents: globalEvents$1, renderEmptyElement: renderEmptyElement$1 } = VxeUI;
|
|
1405
1404
|
const { FinishToStart, StartToFinish, StartToStart, FinishToFinish } = VxeGanttDependencyType;
|
|
1406
1405
|
const sourceType = 'gantt';
|
|
1407
1406
|
const secondMs = 1000;
|
|
@@ -1486,12 +1485,8 @@ var GanttViewComponent = defineVxeComponent({
|
|
|
1486
1485
|
const ganttProps = $xeGantt.props;
|
|
1487
1486
|
const ganttReactData = $xeGantt.reactData;
|
|
1488
1487
|
const ganttInternalData = $xeGantt.internalData;
|
|
1489
|
-
const { computeDateFormat, computeTaskBarOpts, computeTaskViewOpts, computeStartField, computeEndField, computeTypeField, computeScrollbarOpts, computeScaleUnit, computeWeekScale, computeMinScale, computeTaskNowLineOpts, computeScaleStep } = $xeGantt.getComputeMaps();
|
|
1488
|
+
const { computeDateFormat, computeTaskBarOpts, computeTaskViewOpts, computeStartField, computeEndField, computeTypeField, computeScrollbarOpts, computeScaleUnit, computeWeekScale, computeMinScale, computeTaskNowLineOpts, computeScaleStep, computeIsVScrollbar } = $xeGantt.getComputeMaps();
|
|
1490
1489
|
const refElem = ref();
|
|
1491
|
-
const refTrackXElem = ref();
|
|
1492
|
-
const refTrackYElem = ref();
|
|
1493
|
-
const refThumbXElem = ref();
|
|
1494
|
-
const refThumbYElem = ref();
|
|
1495
1490
|
const refScrollXVirtualElem = ref();
|
|
1496
1491
|
const refScrollYVirtualElem = ref();
|
|
1497
1492
|
const refScrollXHandleElem = ref();
|
|
@@ -1512,6 +1507,10 @@ var GanttViewComponent = defineVxeComponent({
|
|
|
1512
1507
|
refScrollXHandleElem,
|
|
1513
1508
|
refScrollYHandleElem
|
|
1514
1509
|
};
|
|
1510
|
+
const computeGanttIsVScrollbar = computed(() => {
|
|
1511
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
1512
|
+
return isVScrollbar;
|
|
1513
|
+
});
|
|
1515
1514
|
const computeScrollbarXOpts = computed(() => {
|
|
1516
1515
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
1517
1516
|
return scrollbarOpts.x ? Object.assign({}, scrollbarOpts.x, scrollbarOpts.xConfig) : (scrollbarOpts.xConfig || {});
|
|
@@ -1741,6 +1740,7 @@ var GanttViewComponent = defineVxeComponent({
|
|
|
1741
1740
|
getRefMaps: () => refMaps,
|
|
1742
1741
|
getComputeMaps: () => computeMaps
|
|
1743
1742
|
};
|
|
1743
|
+
const { refTrackXElem, refTrackYElem, refThumbXElem, refThumbYElem, updateThumbSize, updateThumbOffset, clickTrackXEvent, clickTrackYEvent, pointerdownThumbXEvent, pointermoveThumbXEvent, cleatPointerThumbEvent, pointerdownThumbYEvent, pointermoveThumbYEvent } = useFns$1.useInitVScrollbar($xeGanttView);
|
|
1744
1744
|
const parseStringDate = (dateValue) => {
|
|
1745
1745
|
const dateFormat = computeDateFormat.value;
|
|
1746
1746
|
return XEUtils.toStringDate(dateValue, dateFormat);
|
|
@@ -3332,6 +3332,11 @@ var GanttViewComponent = defineVxeComponent({
|
|
|
3332
3332
|
$xeGantt.dispatchEvent('scroll', evntParams, evnt);
|
|
3333
3333
|
};
|
|
3334
3334
|
const ganttViewMethods = {
|
|
3335
|
+
getScrollViewElem() {
|
|
3336
|
+
const { elemStore } = internalData;
|
|
3337
|
+
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
3338
|
+
return viewEl;
|
|
3339
|
+
},
|
|
3335
3340
|
refreshData() {
|
|
3336
3341
|
handleUpdateData();
|
|
3337
3342
|
handleRecalculateStyle();
|
|
@@ -3543,166 +3548,28 @@ var GanttViewComponent = defineVxeComponent({
|
|
|
3543
3548
|
const handleGlobalResizeEvent = () => {
|
|
3544
3549
|
handleLazyRecalculate();
|
|
3545
3550
|
};
|
|
3546
|
-
const
|
|
3547
|
-
const { elemStore } = internalData;
|
|
3548
|
-
const
|
|
3549
|
-
if (
|
|
3550
|
-
|
|
3551
|
-
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3557
|
-
|
|
3558
|
-
|
|
3559
|
-
|
|
3560
|
-
|
|
3561
|
-
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
}
|
|
3568
|
-
reactData.yThumbHeight = yThumbHeight;
|
|
3569
|
-
};
|
|
3570
|
-
const updateThumbOffset = () => {
|
|
3571
|
-
const { elemStore } = internalData;
|
|
3572
|
-
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
3573
|
-
if (!viewEl) {
|
|
3574
|
-
return;
|
|
3575
|
-
}
|
|
3576
|
-
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
3577
|
-
return;
|
|
3578
|
-
}
|
|
3579
|
-
const { xThumbWidth, yThumbHeight } = reactData;
|
|
3580
|
-
const trackXEl = refTrackXElem.value;
|
|
3581
|
-
const thumbXElem = refThumbXElem.value;
|
|
3582
|
-
const 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(${xThumbLeft}px)`;
|
|
3587
|
-
}
|
|
3588
|
-
const trackYEl = refTrackYElem.value;
|
|
3589
|
-
const thumbYElem = refThumbYElem.value;
|
|
3590
|
-
const 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(${yThumbTop}px)`;
|
|
3595
|
-
}
|
|
3596
|
-
};
|
|
3597
|
-
const clickTrackXEvent = (evnt) => {
|
|
3598
|
-
const trackEl = evnt.currentTarget;
|
|
3599
|
-
if (trackEl !== evnt.target) {
|
|
3600
|
-
return;
|
|
3601
|
-
}
|
|
3602
|
-
const { elemStore } = internalData;
|
|
3603
|
-
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
3604
|
-
if (!viewEl) {
|
|
3605
|
-
return;
|
|
3606
|
-
}
|
|
3607
|
-
const { xThumbWidth } = reactData;
|
|
3608
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
3609
|
-
viewEl.scrollTo({
|
|
3610
|
-
left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
|
|
3611
|
-
behavior: 'auto'
|
|
3612
|
-
});
|
|
3613
|
-
};
|
|
3614
|
-
const clickTrackYEvent = (evnt) => {
|
|
3615
|
-
const trackEl = evnt.currentTarget;
|
|
3616
|
-
if (trackEl !== evnt.target) {
|
|
3617
|
-
return;
|
|
3618
|
-
}
|
|
3619
|
-
const { elemStore } = internalData;
|
|
3620
|
-
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
3621
|
-
if (!viewEl) {
|
|
3622
|
-
return;
|
|
3623
|
-
}
|
|
3624
|
-
const { yThumbHeight } = reactData;
|
|
3625
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
3626
|
-
viewEl.scrollTo({
|
|
3627
|
-
top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
|
|
3628
|
-
behavior: 'auto'
|
|
3629
|
-
});
|
|
3630
|
-
};
|
|
3631
|
-
const pointerdownThumbXEvent = (evnt) => {
|
|
3632
|
-
const thumbEl = evnt.currentTarget;
|
|
3633
|
-
internalData.isThumbDrag = true;
|
|
3634
|
-
thumbEl.setPointerCapture(evnt.pointerId);
|
|
3635
|
-
const { elemStore } = internalData;
|
|
3636
|
-
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
3637
|
-
if (!viewEl) {
|
|
3638
|
-
return;
|
|
3639
|
-
}
|
|
3640
|
-
const { xThumbWidth } = reactData;
|
|
3641
|
-
const trackEl = thumbEl.parentElement;
|
|
3642
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
3643
|
-
const pointerPosition = evnt.clientX - trackRect.left;
|
|
3644
|
-
// 记录 thumb 的偏移
|
|
3645
|
-
const thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
3646
|
-
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
3647
|
-
};
|
|
3648
|
-
const pointermoveThumbXEvent = (evnt) => {
|
|
3649
|
-
const thumbEl = evnt.currentTarget;
|
|
3650
|
-
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
3651
|
-
return;
|
|
3652
|
-
}
|
|
3653
|
-
const { elemStore, isThumbDrag, thumbDragOffset } = internalData;
|
|
3654
|
-
if (isThumbDrag) {
|
|
3655
|
-
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
3656
|
-
if (!viewEl) {
|
|
3657
|
-
return;
|
|
3658
|
-
}
|
|
3659
|
-
const { xThumbWidth } = reactData;
|
|
3660
|
-
const thumbEl = evnt.currentTarget;
|
|
3661
|
-
const trackEl = thumbEl.parentElement;
|
|
3662
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
3663
|
-
// 更新偏移
|
|
3664
|
-
viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
3665
|
-
}
|
|
3666
|
-
};
|
|
3667
|
-
const cleatPointerThumbEvent = (evnt) => {
|
|
3668
|
-
const thumbEl = evnt.currentTarget;
|
|
3669
|
-
thumbEl.releasePointerCapture(evnt.pointerId);
|
|
3670
|
-
internalData.isThumbDrag = false;
|
|
3671
|
-
};
|
|
3672
|
-
const pointerdownThumbYEvent = (evnt) => {
|
|
3673
|
-
const thumbEl = evnt.currentTarget;
|
|
3674
|
-
internalData.isThumbDrag = true;
|
|
3675
|
-
thumbEl.setPointerCapture(evnt.pointerId);
|
|
3676
|
-
const { elemStore } = internalData;
|
|
3677
|
-
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
3678
|
-
if (!viewEl) {
|
|
3679
|
-
return;
|
|
3680
|
-
}
|
|
3681
|
-
const { yThumbHeight } = reactData;
|
|
3682
|
-
const trackEl = thumbEl.parentElement;
|
|
3683
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
3684
|
-
const pointerPosition = evnt.clientY - trackRect.top;
|
|
3685
|
-
// 记录 thumb 的偏移
|
|
3686
|
-
const thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
3687
|
-
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
3688
|
-
};
|
|
3689
|
-
const pointermoveThumbYEvent = (evnt) => {
|
|
3690
|
-
const thumbEl = evnt.currentTarget;
|
|
3691
|
-
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
3692
|
-
return;
|
|
3693
|
-
}
|
|
3694
|
-
const { elemStore, isThumbDrag, thumbDragOffset } = internalData;
|
|
3695
|
-
if (isThumbDrag) {
|
|
3696
|
-
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
3697
|
-
if (!viewEl) {
|
|
3698
|
-
return;
|
|
3551
|
+
const bindScrollbarResize = () => {
|
|
3552
|
+
const { elemStore, scrollObserver } = internalData;
|
|
3553
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
3554
|
+
if (isVScrollbar) {
|
|
3555
|
+
if (!scrollObserver) {
|
|
3556
|
+
const el = refElem.value;
|
|
3557
|
+
const viewInnerXEl = getRefElem(elemStore['main-body-xSpace']);
|
|
3558
|
+
const viewInnerYEl = getRefElem(elemStore['main-body-xSpace']);
|
|
3559
|
+
const scrollObserver = globalResize.create(() => {
|
|
3560
|
+
reScrollFlag.value++;
|
|
3561
|
+
});
|
|
3562
|
+
if (el) {
|
|
3563
|
+
scrollObserver.observe(el);
|
|
3564
|
+
}
|
|
3565
|
+
if (viewInnerXEl) {
|
|
3566
|
+
scrollObserver.observe(viewInnerXEl);
|
|
3567
|
+
}
|
|
3568
|
+
if (viewInnerYEl) {
|
|
3569
|
+
scrollObserver.observe(viewInnerYEl);
|
|
3570
|
+
}
|
|
3571
|
+
internalData.scrollObserver = scrollObserver;
|
|
3699
3572
|
}
|
|
3700
|
-
const { yThumbHeight } = reactData;
|
|
3701
|
-
const thumbEl = evnt.currentTarget;
|
|
3702
|
-
const trackEl = thumbEl.parentElement;
|
|
3703
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
3704
|
-
// 更新偏移
|
|
3705
|
-
viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
3706
3573
|
}
|
|
3707
3574
|
};
|
|
3708
3575
|
Object.assign($xeGanttView, ganttViewMethods, ganttViewPrivateMethods);
|
|
@@ -3801,8 +3668,8 @@ var GanttViewComponent = defineVxeComponent({
|
|
|
3801
3668
|
};
|
|
3802
3669
|
const renderVirtualBody = () => {
|
|
3803
3670
|
const { showLeftView } = ganttReactData;
|
|
3804
|
-
const { useScrollbar } = ganttProps;
|
|
3805
3671
|
const { xThumbWidth, yThumbHeight } = reactData;
|
|
3672
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
3806
3673
|
const scrollbarOpts = computeScrollbarOpts.value;
|
|
3807
3674
|
const scrollXAutoHide = computeScrollXAutoHide.value;
|
|
3808
3675
|
const scrollYAutoHide = computeScrollYAutoHide.value;
|
|
@@ -3814,10 +3681,10 @@ var GanttViewComponent = defineVxeComponent({
|
|
|
3814
3681
|
return h('div', {
|
|
3815
3682
|
key: 'lvb',
|
|
3816
3683
|
class: ['vxe-gantt--layout-wrapper', `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
3817
|
-
'is--virtual-scrollbar':
|
|
3818
|
-
'ov-padding':
|
|
3819
|
-
'ov-x--auto-hide':
|
|
3820
|
-
'ov-y--auto-hide':
|
|
3684
|
+
'is--virtual-scrollbar': isVScrollbar,
|
|
3685
|
+
'ov-padding': isVScrollbar && scrollbarOpts.padding,
|
|
3686
|
+
'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
|
|
3687
|
+
'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
|
|
3821
3688
|
'overflow-y': yThumbHeight,
|
|
3822
3689
|
'overflow-x': xThumbWidth
|
|
3823
3690
|
}]
|
|
@@ -3864,8 +3731,8 @@ var GanttViewComponent = defineVxeComponent({
|
|
|
3864
3731
|
]);
|
|
3865
3732
|
};
|
|
3866
3733
|
const renderVN = () => {
|
|
3867
|
-
const { useScrollbar } = ganttProps;
|
|
3868
3734
|
const { overflowX, overflowY, scrollXLoad, scrollYLoad } = reactData;
|
|
3735
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
3869
3736
|
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
3870
3737
|
return h('div', {
|
|
3871
3738
|
ref: refElem,
|
|
@@ -3878,7 +3745,7 @@ var GanttViewComponent = defineVxeComponent({
|
|
|
3878
3745
|
}, [
|
|
3879
3746
|
h('div', {
|
|
3880
3747
|
class: 'vxe-gantt-view--render-wrapper'
|
|
3881
|
-
},
|
|
3748
|
+
}, isVScrollbar
|
|
3882
3749
|
? [renderVirtualBody()]
|
|
3883
3750
|
: (scrollbarXToTop
|
|
3884
3751
|
? [
|
|
@@ -3900,6 +3767,14 @@ var GanttViewComponent = defineVxeComponent({
|
|
|
3900
3767
|
]);
|
|
3901
3768
|
};
|
|
3902
3769
|
const reScrollFlag = ref(0);
|
|
3770
|
+
watch(computeGanttIsVScrollbar, () => {
|
|
3771
|
+
nextTick(() => {
|
|
3772
|
+
bindScrollbarResize();
|
|
3773
|
+
nextTick(() => {
|
|
3774
|
+
reScrollFlag.value++;
|
|
3775
|
+
});
|
|
3776
|
+
});
|
|
3777
|
+
});
|
|
3903
3778
|
watch(computeScrollbarXToTop, () => {
|
|
3904
3779
|
reScrollFlag.value++;
|
|
3905
3780
|
});
|
|
@@ -3928,22 +3803,7 @@ var GanttViewComponent = defineVxeComponent({
|
|
|
3928
3803
|
});
|
|
3929
3804
|
onMounted(() => {
|
|
3930
3805
|
nextTick(() => {
|
|
3931
|
-
|
|
3932
|
-
const { elemStore } = internalData;
|
|
3933
|
-
const el = refElem.value;
|
|
3934
|
-
if (useScrollbar) {
|
|
3935
|
-
const viewInnerEl = getRefElem(elemStore['main-body-table']);
|
|
3936
|
-
const scrollObserver = globalResize.create(() => {
|
|
3937
|
-
reScrollFlag.value++;
|
|
3938
|
-
});
|
|
3939
|
-
if (el) {
|
|
3940
|
-
scrollObserver.observe(el);
|
|
3941
|
-
}
|
|
3942
|
-
if (viewInnerEl) {
|
|
3943
|
-
scrollObserver.observe(viewInnerEl);
|
|
3944
|
-
}
|
|
3945
|
-
internalData.scrollObserver = scrollObserver;
|
|
3946
|
-
}
|
|
3806
|
+
bindScrollbarResize();
|
|
3947
3807
|
});
|
|
3948
3808
|
globalEvents$1.on($xeGanttView, 'resize', handleGlobalResizeEvent);
|
|
3949
3809
|
});
|
|
@@ -4080,6 +3940,7 @@ var VxeGanttComponent = defineVxeComponent({
|
|
|
4080
3940
|
const VxeUITooltipComponent = VxeUI.getComponent('VxeTooltip');
|
|
4081
3941
|
const scrollDefaultConf = Object.assign({}, getConfig().scrollbar);
|
|
4082
3942
|
const { computeSize } = useFns.useSize(props);
|
|
3943
|
+
const { computeIsVScrollbar } = useFns.useVScrollbar(props);
|
|
4083
3944
|
const reactData = reactive(createReactData());
|
|
4084
3945
|
const internalData = createInternalData();
|
|
4085
3946
|
const refElem = ref();
|
|
@@ -4284,8 +4145,9 @@ var VxeGanttComponent = defineVxeComponent({
|
|
|
4284
4145
|
return taskBarOpts.showCriticalPath;
|
|
4285
4146
|
});
|
|
4286
4147
|
const computeWrapperStyle = computed(() => {
|
|
4287
|
-
const { height, maxHeight,
|
|
4148
|
+
const { height, maxHeight, taskBarSubviewConfig } = props;
|
|
4288
4149
|
const { isZMax, tZindex, overflowY, scrollbarWidth } = reactData;
|
|
4150
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
4289
4151
|
const taskViewOpts = computeTaskViewOpts.value;
|
|
4290
4152
|
const { viewStyle, tableStyle } = taskViewOpts;
|
|
4291
4153
|
const taskBarOpts = computeTaskBarOpts.value;
|
|
@@ -4298,7 +4160,7 @@ var VxeGanttComponent = defineVxeComponent({
|
|
|
4298
4160
|
const barWidth = computeScrollYWidth.value;
|
|
4299
4161
|
const barHeight = computeScrollXHeight.value;
|
|
4300
4162
|
const stys = {
|
|
4301
|
-
'--vxe-ui-gantt-scrollbar-width': (overflowY ? (
|
|
4163
|
+
'--vxe-ui-gantt-scrollbar-width': (overflowY ? (isVScrollbar ? 'var(--vxe-ui-scrollbar-y-width)' : (scrollbarWidth + 'px')) : '')
|
|
4302
4164
|
};
|
|
4303
4165
|
if (cpLineColor) {
|
|
4304
4166
|
stys['--vxe-ui-gantt-view-bar-critical-path-line-color'] = cpLineColor;
|
|
@@ -4491,6 +4353,8 @@ var VxeGanttComponent = defineVxeComponent({
|
|
|
4491
4353
|
refPopupContainerElem
|
|
4492
4354
|
};
|
|
4493
4355
|
const computeMaps = {
|
|
4356
|
+
computeSize,
|
|
4357
|
+
computeIsVScrollbar,
|
|
4494
4358
|
computeProxyOpts,
|
|
4495
4359
|
computePagerOpts,
|
|
4496
4360
|
computeFormOpts,
|
|
@@ -6397,8 +6261,8 @@ var VxeGanttComponent = defineVxeComponent({
|
|
|
6397
6261
|
]);
|
|
6398
6262
|
};
|
|
6399
6263
|
const renderChildLayout = (layoutKeys) => {
|
|
6400
|
-
const { useScrollbar } = props;
|
|
6401
6264
|
const { showLeftView, showRightView } = reactData;
|
|
6265
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
6402
6266
|
const taskSplitOpts = computeTaskSplitOpts.value;
|
|
6403
6267
|
const scrollbarXToTop = computeScrollbarXToTop.value;
|
|
6404
6268
|
const scrollbarYToLeft = computeScrollbarYToLeft.value;
|
|
@@ -6422,9 +6286,9 @@ var VxeGanttComponent = defineVxeComponent({
|
|
|
6422
6286
|
ref: refGanttContainerElem,
|
|
6423
6287
|
key: 'tv',
|
|
6424
6288
|
class: ['vxe-gantt--gantt-container', `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
6425
|
-
'is--virtual-scrollbar':
|
|
6426
|
-
'ov-x--auto-hide':
|
|
6427
|
-
'ov-y--auto-hide':
|
|
6289
|
+
'is--virtual-scrollbar': isVScrollbar,
|
|
6290
|
+
'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
|
|
6291
|
+
'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
|
|
6428
6292
|
'show--left': showLeftView,
|
|
6429
6293
|
'hide--left': !showLeftView,
|
|
6430
6294
|
'show--right': showRightView,
|
|
@@ -6544,6 +6408,7 @@ var VxeGanttComponent = defineVxeComponent({
|
|
|
6544
6408
|
const renderVN = () => {
|
|
6545
6409
|
const { showLeftView, showRightView, overflowY, overflowX, showSplitAnimat } = reactData;
|
|
6546
6410
|
const vSize = computeSize.value;
|
|
6411
|
+
const isVScrollbar = computeIsVScrollbar.value;
|
|
6547
6412
|
const wrapperStyle = computeWrapperStyle.value;
|
|
6548
6413
|
const isLoading = computeIsLoading.value;
|
|
6549
6414
|
const taskSplitOpts = computeTaskSplitOpts.value;
|
|
@@ -6554,6 +6419,7 @@ var VxeGanttComponent = defineVxeComponent({
|
|
|
6554
6419
|
ref: refElem,
|
|
6555
6420
|
class: ['vxe-gantt', `border--${tableBorder}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
6556
6421
|
[`size--${vSize}`]: vSize,
|
|
6422
|
+
'is--virtual-scrollbar': isVScrollbar,
|
|
6557
6423
|
'is--round': props.round,
|
|
6558
6424
|
'show--animat': taskSplitOpts.animation,
|
|
6559
6425
|
'is--maximize': reactData.isZMax,
|
|
@@ -236,8 +236,8 @@ export default defineVxeComponent({
|
|
|
236
236
|
},
|
|
237
237
|
onMousedown(evnt) {
|
|
238
238
|
evnt.stopPropagation();
|
|
239
|
-
if ($xeGantt.
|
|
240
|
-
$xeGantt.
|
|
239
|
+
if ($xeGantt.handleTaskBarModnEvent) {
|
|
240
|
+
$xeGantt.handleTaskBarModnEvent(evnt, childCtParams);
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
243
|
}, [
|
|
@@ -341,8 +341,8 @@ export default defineVxeComponent({
|
|
|
341
341
|
$xeGantt.handleTaskBarDblclickEvent(evnt, barParams);
|
|
342
342
|
},
|
|
343
343
|
onMousedown(evnt) {
|
|
344
|
-
if ($xeGantt.
|
|
345
|
-
$xeGantt.
|
|
344
|
+
if ($xeGantt.handleTaskBarModnEvent) {
|
|
345
|
+
$xeGantt.handleTaskBarModnEvent(evnt, barParams);
|
|
346
346
|
}
|
|
347
347
|
}
|
|
348
348
|
}, cbVNs)
|