vxe-gantt 4.0.6 → 4.0.7
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/es/gantt/src/gantt-header.js +3 -2
- package/es/gantt/src/gantt-view.js +247 -94
- package/es/gantt/src/gantt.js +8 -8
- package/es/gantt/style.css +5 -1
- package/es/gantt/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-gantt/style.css +5 -1
- package/es/vxe-gantt/style.min.css +1 -1
- package/lib/gantt/src/gantt-header.js +4 -2
- package/lib/gantt/src/gantt-header.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +305 -104
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/gantt.js +6 -6
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/gantt/style/style.css +5 -1
- package/lib/gantt/style/style.min.css +1 -1
- package/lib/index.umd.js +317 -114
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-gantt/style/style.css +5 -1
- package/lib/vxe-gantt/style/style.min.css +1 -1
- package/package.json +3 -3
- package/packages/gantt/src/gantt-header.ts +3 -2
- package/packages/gantt/src/gantt-view.ts +260 -97
- package/packages/gantt/src/gantt.ts +6 -6
- package/styles/components/gantt.scss +6 -1
- package/styles/theme/dark.scss +1 -0
- package/styles/theme/light.scss +1 -0
|
@@ -20,6 +20,7 @@ const {
|
|
|
20
20
|
function createInternalData() {
|
|
21
21
|
return {
|
|
22
22
|
xeTable: null,
|
|
23
|
+
visibleColumn: [],
|
|
23
24
|
startMaps: {},
|
|
24
25
|
endMaps: {},
|
|
25
26
|
chartMaps: {},
|
|
@@ -34,16 +35,9 @@ function createInternalData() {
|
|
|
34
35
|
startIndex: 0,
|
|
35
36
|
endIndex: 0
|
|
36
37
|
},
|
|
37
|
-
//
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
offsetSize: 0,
|
|
41
|
-
visibleSize: 0,
|
|
42
|
-
visibleStartIndex: 0,
|
|
43
|
-
visibleEndIndex: 0,
|
|
44
|
-
startIndex: 0,
|
|
45
|
-
endIndex: 0
|
|
46
|
-
}
|
|
38
|
+
// 最后滚动位置
|
|
39
|
+
lastScrollTop: 0,
|
|
40
|
+
lastScrollLeft: 0
|
|
47
41
|
};
|
|
48
42
|
}
|
|
49
43
|
const maxYHeight = 5e6;
|
|
@@ -88,6 +82,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
88
82
|
scrollbarWidth: 0,
|
|
89
83
|
// 横向滚动条的高度
|
|
90
84
|
scrollbarHeight: 0,
|
|
85
|
+
// 最后滚动时间戳
|
|
86
|
+
lastScrollTime: 0,
|
|
91
87
|
lazScrollLoading: false,
|
|
92
88
|
scrollVMLoading: false,
|
|
93
89
|
scrollYHeight: 0,
|
|
@@ -137,9 +133,14 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
137
133
|
minViewDate,
|
|
138
134
|
maxViewDate
|
|
139
135
|
} = reactData;
|
|
136
|
+
const {
|
|
137
|
+
scrollXStore
|
|
138
|
+
} = internalData;
|
|
140
139
|
const minScale = _xeUtils.default.last(taskScaleList);
|
|
141
140
|
const fullCols = [];
|
|
142
141
|
const groupCols = [];
|
|
142
|
+
scrollXStore.startIndex = 0;
|
|
143
|
+
scrollXStore.endIndex = 1;
|
|
143
144
|
if (minScale && minViewDate && maxViewDate) {
|
|
144
145
|
const minSType = minScale.type;
|
|
145
146
|
const weekScale = taskScaleList.find(item => item.type === 'week');
|
|
@@ -162,37 +163,37 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
162
163
|
const currTime = minViewDate.getTime();
|
|
163
164
|
const diffDayNum = maxViewDate.getTime() - minViewDate.getTime();
|
|
164
165
|
const countSize = Math.max(5, Math.floor(diffDayNum / gapTime) + 1);
|
|
165
|
-
switch (minScale.type) {
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
}
|
|
166
|
+
// switch (minScale.type) {
|
|
167
|
+
// case 'day':
|
|
168
|
+
// case 'date':
|
|
169
|
+
// if (diffDayNum > (1000 * 60 * 60 * 24 * 366 * 3)) {
|
|
170
|
+
// reactData.tableColumn = []
|
|
171
|
+
// reactData.headerGroups = []
|
|
172
|
+
// return
|
|
173
|
+
// }
|
|
174
|
+
// break
|
|
175
|
+
// case 'hour':
|
|
176
|
+
// if (diffDayNum > (1000 * 60 * 60 * 24 * 31 * 3)) {
|
|
177
|
+
// reactData.tableColumn = []
|
|
178
|
+
// reactData.headerGroups = []
|
|
179
|
+
// return
|
|
180
|
+
// }
|
|
181
|
+
// break
|
|
182
|
+
// case 'minute':
|
|
183
|
+
// if (diffDayNum > (1000 * 60 * 60 * 24 * 3)) {
|
|
184
|
+
// reactData.tableColumn = []
|
|
185
|
+
// reactData.headerGroups = []
|
|
186
|
+
// return
|
|
187
|
+
// }
|
|
188
|
+
// break
|
|
189
|
+
// case 'second':
|
|
190
|
+
// if (diffDayNum > (1000 * 60 * 60 * 3)) {
|
|
191
|
+
// reactData.tableColumn = []
|
|
192
|
+
// reactData.headerGroups = []
|
|
193
|
+
// return
|
|
194
|
+
// }
|
|
195
|
+
// break
|
|
196
|
+
// }
|
|
196
197
|
const renderListMaps = {
|
|
197
198
|
year: [],
|
|
198
199
|
quarter: [],
|
|
@@ -392,8 +393,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
392
393
|
internalData.chartMaps = ctMaps;
|
|
393
394
|
}
|
|
394
395
|
}
|
|
395
|
-
|
|
396
|
+
internalData.visibleColumn = fullCols;
|
|
396
397
|
reactData.headerGroups = groupCols;
|
|
398
|
+
updateScrollXStatus();
|
|
399
|
+
handleTableColumn();
|
|
397
400
|
};
|
|
398
401
|
const handleUpdateData = () => {
|
|
399
402
|
const ganttProps = $xeGantt.props;
|
|
@@ -505,11 +508,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
505
508
|
const {
|
|
506
509
|
scrollbarWidth,
|
|
507
510
|
scrollbarHeight,
|
|
508
|
-
|
|
509
|
-
|
|
511
|
+
headerGroups,
|
|
512
|
+
tableColumn
|
|
510
513
|
} = reactData;
|
|
511
514
|
const {
|
|
512
|
-
elemStore
|
|
515
|
+
elemStore,
|
|
516
|
+
visibleColumn
|
|
513
517
|
} = internalData;
|
|
514
518
|
const $xeTable = internalData.xeTable;
|
|
515
519
|
const el = refElem.value;
|
|
@@ -591,37 +595,230 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
591
595
|
yBottomCornerEl.style.display = tFooterHeight ? 'block' : '';
|
|
592
596
|
}
|
|
593
597
|
const colInfoElem = refColInfoElem.value;
|
|
598
|
+
let viewCellWidth = 40;
|
|
594
599
|
if (colInfoElem) {
|
|
595
|
-
|
|
600
|
+
viewCellWidth = colInfoElem.clientWidth || 40;
|
|
596
601
|
}
|
|
597
|
-
let viewTableWidth =
|
|
602
|
+
let viewTableWidth = viewCellWidth * visibleColumn.length;
|
|
598
603
|
if (bodyScrollElem) {
|
|
599
604
|
const viewWidth = bodyScrollElem.clientWidth;
|
|
600
605
|
const remainWidth = viewWidth - viewTableWidth;
|
|
601
606
|
if (remainWidth > 0) {
|
|
602
|
-
|
|
607
|
+
viewCellWidth += Math.floor(remainWidth / visibleColumn.length);
|
|
603
608
|
viewTableWidth = viewWidth;
|
|
604
609
|
}
|
|
605
610
|
}
|
|
611
|
+
reactData.viewCellWidth = viewCellWidth;
|
|
606
612
|
const headerTableElem = (0, _util.getRefElem)(elemStore['main-header-table']);
|
|
607
613
|
const bodyTableElem = (0, _util.getRefElem)(elemStore['main-body-table']);
|
|
614
|
+
const vmTableWidth = viewCellWidth * tableColumn.length;
|
|
608
615
|
if (headerTableElem) {
|
|
609
616
|
headerTableElem.style.width = `${viewTableWidth}px`;
|
|
610
617
|
}
|
|
611
618
|
if (bodyTableElem) {
|
|
612
|
-
bodyTableElem.style.width = `${
|
|
619
|
+
bodyTableElem.style.width = `${vmTableWidth}px`;
|
|
613
620
|
}
|
|
614
621
|
reactData.scrollXWidth = viewTableWidth;
|
|
615
622
|
return updateChart();
|
|
616
623
|
};
|
|
617
|
-
const
|
|
624
|
+
const handleRecalculateStyle = () => {
|
|
625
|
+
const el = refElem.value;
|
|
626
|
+
internalData.rceRunTime = Date.now();
|
|
627
|
+
if (!el || !el.clientWidth) {
|
|
628
|
+
return (0, _vue.nextTick)();
|
|
629
|
+
}
|
|
618
630
|
calcScrollbar();
|
|
619
631
|
updateStyle();
|
|
620
632
|
updateChart();
|
|
633
|
+
return computeScrollLoad();
|
|
634
|
+
};
|
|
635
|
+
const handleLazyRecalculate = () => {
|
|
636
|
+
return new Promise(resolve => {
|
|
637
|
+
const {
|
|
638
|
+
rceTimeout,
|
|
639
|
+
rceRunTime
|
|
640
|
+
} = internalData;
|
|
641
|
+
const $xeTable = internalData.xeTable;
|
|
642
|
+
let refreshDelay = 50;
|
|
643
|
+
if ($xeTable) {
|
|
644
|
+
const {
|
|
645
|
+
computeResizeOpts
|
|
646
|
+
} = $xeTable.getComputeMaps();
|
|
647
|
+
const resizeOpts = computeResizeOpts.value;
|
|
648
|
+
refreshDelay = resizeOpts.refreshDelay || 50;
|
|
649
|
+
}
|
|
650
|
+
if (rceTimeout) {
|
|
651
|
+
clearTimeout(rceTimeout);
|
|
652
|
+
if (rceRunTime && rceRunTime + (refreshDelay - 5) < Date.now()) {
|
|
653
|
+
resolve(handleRecalculateStyle());
|
|
654
|
+
} else {
|
|
655
|
+
(0, _vue.nextTick)(() => {
|
|
656
|
+
resolve();
|
|
657
|
+
});
|
|
658
|
+
}
|
|
659
|
+
} else {
|
|
660
|
+
resolve(handleRecalculateStyle());
|
|
661
|
+
}
|
|
662
|
+
internalData.rceTimeout = setTimeout(() => {
|
|
663
|
+
internalData.rceTimeout = undefined;
|
|
664
|
+
handleRecalculateStyle();
|
|
665
|
+
}, refreshDelay);
|
|
666
|
+
});
|
|
667
|
+
};
|
|
668
|
+
const computeScrollLoad = () => {
|
|
669
|
+
return (0, _vue.nextTick)().then(() => {
|
|
670
|
+
const {
|
|
671
|
+
scrollXLoad
|
|
672
|
+
} = reactData;
|
|
673
|
+
const {
|
|
674
|
+
scrollXStore
|
|
675
|
+
} = internalData;
|
|
676
|
+
// 计算 X 逻辑
|
|
677
|
+
if (scrollXLoad) {
|
|
678
|
+
const {
|
|
679
|
+
toVisibleIndex: toXVisibleIndex,
|
|
680
|
+
visibleSize: visibleXSize
|
|
681
|
+
} = handleVirtualXVisible();
|
|
682
|
+
const offsetXSize = 2;
|
|
683
|
+
scrollXStore.preloadSize = 1;
|
|
684
|
+
scrollXStore.offsetSize = offsetXSize;
|
|
685
|
+
scrollXStore.visibleSize = visibleXSize;
|
|
686
|
+
scrollXStore.endIndex = Math.max(scrollXStore.startIndex + scrollXStore.visibleSize + offsetXSize, scrollXStore.endIndex);
|
|
687
|
+
scrollXStore.visibleStartIndex = Math.max(scrollXStore.startIndex, toXVisibleIndex);
|
|
688
|
+
scrollXStore.visibleEndIndex = Math.min(scrollXStore.endIndex, toXVisibleIndex + visibleXSize);
|
|
689
|
+
updateScrollXData().then(() => {
|
|
690
|
+
loadScrollXData();
|
|
691
|
+
});
|
|
692
|
+
} else {
|
|
693
|
+
updateScrollXSpace();
|
|
694
|
+
}
|
|
695
|
+
});
|
|
696
|
+
};
|
|
697
|
+
const handleVirtualXVisible = () => {
|
|
698
|
+
const {
|
|
699
|
+
viewCellWidth
|
|
700
|
+
} = reactData;
|
|
701
|
+
const {
|
|
702
|
+
elemStore
|
|
703
|
+
} = internalData;
|
|
704
|
+
const bodyScrollElem = (0, _util.getRefElem)(elemStore['main-body-scroll']);
|
|
705
|
+
if (bodyScrollElem) {
|
|
706
|
+
const clientWidth = bodyScrollElem.clientWidth;
|
|
707
|
+
const scrollLeft = bodyScrollElem.scrollLeft;
|
|
708
|
+
const toVisibleIndex = Math.floor(scrollLeft / viewCellWidth) - 1;
|
|
709
|
+
const visibleSize = Math.ceil(clientWidth / viewCellWidth) + 1;
|
|
710
|
+
return {
|
|
711
|
+
toVisibleIndex: Math.max(0, toVisibleIndex),
|
|
712
|
+
visibleSize: Math.max(1, visibleSize)
|
|
713
|
+
};
|
|
714
|
+
}
|
|
715
|
+
return {
|
|
716
|
+
toVisibleIndex: 0,
|
|
717
|
+
visibleSize: 6
|
|
718
|
+
};
|
|
719
|
+
};
|
|
720
|
+
const loadScrollXData = () => {
|
|
721
|
+
const {
|
|
722
|
+
isScrollXBig
|
|
723
|
+
} = reactData;
|
|
724
|
+
const {
|
|
725
|
+
scrollXStore
|
|
726
|
+
} = internalData;
|
|
727
|
+
const {
|
|
728
|
+
preloadSize,
|
|
729
|
+
startIndex,
|
|
730
|
+
endIndex,
|
|
731
|
+
offsetSize
|
|
732
|
+
} = scrollXStore;
|
|
733
|
+
const {
|
|
734
|
+
toVisibleIndex,
|
|
735
|
+
visibleSize
|
|
736
|
+
} = handleVirtualXVisible();
|
|
737
|
+
const offsetItem = {
|
|
738
|
+
startIndex: Math.max(0, isScrollXBig ? toVisibleIndex - 1 : toVisibleIndex - 1 - offsetSize - preloadSize),
|
|
739
|
+
endIndex: isScrollXBig ? toVisibleIndex + visibleSize : toVisibleIndex + visibleSize + offsetSize + preloadSize
|
|
740
|
+
};
|
|
741
|
+
scrollXStore.visibleStartIndex = toVisibleIndex - 1;
|
|
742
|
+
scrollXStore.visibleEndIndex = toVisibleIndex + visibleSize + 1;
|
|
743
|
+
const {
|
|
744
|
+
startIndex: offsetStartIndex,
|
|
745
|
+
endIndex: offsetEndIndex
|
|
746
|
+
} = offsetItem;
|
|
747
|
+
if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
|
|
748
|
+
if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
|
|
749
|
+
scrollXStore.startIndex = offsetStartIndex;
|
|
750
|
+
scrollXStore.endIndex = offsetEndIndex;
|
|
751
|
+
updateScrollXData();
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
};
|
|
755
|
+
const updateScrollXData = () => {
|
|
756
|
+
handleTableColumn();
|
|
757
|
+
updateScrollXSpace();
|
|
621
758
|
return (0, _vue.nextTick)();
|
|
622
759
|
};
|
|
623
|
-
|
|
624
|
-
|
|
760
|
+
const updateScrollXStatus = () => {
|
|
761
|
+
const scrollXLoad = true;
|
|
762
|
+
reactData.scrollXLoad = scrollXLoad;
|
|
763
|
+
return scrollXLoad;
|
|
764
|
+
};
|
|
765
|
+
const handleTableColumn = () => {
|
|
766
|
+
const {
|
|
767
|
+
scrollXLoad
|
|
768
|
+
} = reactData;
|
|
769
|
+
const {
|
|
770
|
+
visibleColumn,
|
|
771
|
+
scrollXStore
|
|
772
|
+
} = internalData;
|
|
773
|
+
const tableColumn = scrollXLoad ? visibleColumn.slice(scrollXStore.startIndex, scrollXStore.endIndex) : visibleColumn.slice(0);
|
|
774
|
+
reactData.tableColumn = tableColumn;
|
|
775
|
+
};
|
|
776
|
+
const updateScrollXSpace = () => {
|
|
777
|
+
const {
|
|
778
|
+
scrollXLoad,
|
|
779
|
+
scrollXWidth,
|
|
780
|
+
viewCellWidth
|
|
781
|
+
} = reactData;
|
|
782
|
+
const {
|
|
783
|
+
elemStore,
|
|
784
|
+
scrollXStore
|
|
785
|
+
} = internalData;
|
|
786
|
+
const bodyTableElem = (0, _util.getRefElem)(elemStore['main-body-table']);
|
|
787
|
+
// const headerTableElem = getRefElem(elemStore['main-header-table'])
|
|
788
|
+
// const footerTableElem = getRefElem(elemStore['main-footer-table'])
|
|
789
|
+
const {
|
|
790
|
+
startIndex
|
|
791
|
+
} = scrollXStore;
|
|
792
|
+
let xSpaceLeft = 0;
|
|
793
|
+
if (scrollXLoad) {
|
|
794
|
+
xSpaceLeft = Math.max(0, startIndex * viewCellWidth);
|
|
795
|
+
}
|
|
796
|
+
// if (headerTableElem) {
|
|
797
|
+
// headerTableElem.style.transform = `translate(${xSpaceLeft}px, 0px)`
|
|
798
|
+
// }
|
|
799
|
+
if (bodyTableElem) {
|
|
800
|
+
bodyTableElem.style.transform = `translate(${xSpaceLeft}px, ${reactData.scrollYTop || 0}px)`;
|
|
801
|
+
}
|
|
802
|
+
// if (footerTableElem) {
|
|
803
|
+
// footerTableElem.style.transform = `translate(${xSpaceLeft}px, 0px)`
|
|
804
|
+
// }
|
|
805
|
+
const layoutList = ['header', 'body', 'footer'];
|
|
806
|
+
layoutList.forEach(layout => {
|
|
807
|
+
const xSpaceElem = (0, _util.getRefElem)(elemStore[`main-${layout}-xSpace`]);
|
|
808
|
+
if (xSpaceElem) {
|
|
809
|
+
xSpaceElem.style.width = scrollXLoad ? `${scrollXWidth}px` : '';
|
|
810
|
+
}
|
|
811
|
+
});
|
|
812
|
+
const scrollXSpaceEl = refScrollXSpaceElem.value;
|
|
813
|
+
if (scrollXSpaceEl) {
|
|
814
|
+
scrollXSpaceEl.style.width = `${scrollXWidth}px`;
|
|
815
|
+
}
|
|
816
|
+
calcScrollbar();
|
|
817
|
+
return (0, _vue.nextTick)();
|
|
818
|
+
};
|
|
819
|
+
const triggerScrollXEvent = () => {
|
|
820
|
+
loadScrollXData();
|
|
821
|
+
};
|
|
625
822
|
const updateScrollYSpace = () => {
|
|
626
823
|
const {
|
|
627
824
|
elemStore
|
|
@@ -699,6 +896,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
699
896
|
};
|
|
700
897
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
701
898
|
const handleScrollEvent = (evnt, isRollY, isRollX, scrollTop, scrollLeft) => {
|
|
899
|
+
if (isRollX) {
|
|
900
|
+
internalData.lastScrollLeft = scrollLeft;
|
|
901
|
+
}
|
|
902
|
+
if (isRollY) {
|
|
903
|
+
internalData.lastScrollTop = scrollTop;
|
|
904
|
+
}
|
|
905
|
+
reactData.lastScrollTime = Date.now();
|
|
702
906
|
checkLastSyncScroll(isRollX, isRollY);
|
|
703
907
|
};
|
|
704
908
|
const ganttViewMethods = {
|
|
@@ -804,11 +1008,16 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
804
1008
|
}
|
|
805
1009
|
},
|
|
806
1010
|
triggerBodyScrollEvent(evnt) {
|
|
1011
|
+
const {
|
|
1012
|
+
scrollXLoad
|
|
1013
|
+
} = reactData;
|
|
807
1014
|
const {
|
|
808
1015
|
elemStore,
|
|
809
1016
|
inVirtualScroll,
|
|
810
1017
|
inHeaderScroll,
|
|
811
|
-
inFooterScroll
|
|
1018
|
+
inFooterScroll,
|
|
1019
|
+
lastScrollLeft,
|
|
1020
|
+
lastScrollTop
|
|
812
1021
|
} = internalData;
|
|
813
1022
|
if (inVirtualScroll) {
|
|
814
1023
|
return;
|
|
@@ -820,40 +1029,46 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
820
1029
|
const headerScrollElem = (0, _util.getRefElem)(elemStore['main-header-scroll']);
|
|
821
1030
|
const xHandleEl = refScrollXHandleElem.value;
|
|
822
1031
|
const yHandleEl = refScrollYHandleElem.value;
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
(0, _dom.
|
|
831
|
-
(
|
|
832
|
-
syncTableScrollTop(currTopNum);
|
|
833
|
-
handleScrollEvent(evnt, isRollY, isRollX, wrapperEl.scrollTop, currLeftNum);
|
|
1032
|
+
const scrollLeft = wrapperEl.scrollLeft;
|
|
1033
|
+
const scrollTop = wrapperEl.scrollTop;
|
|
1034
|
+
const isRollX = scrollLeft !== lastScrollLeft;
|
|
1035
|
+
const isRollY = scrollTop !== lastScrollTop;
|
|
1036
|
+
internalData.inBodyScroll = true;
|
|
1037
|
+
internalData.scrollRenderType = '';
|
|
1038
|
+
if (isRollY) {
|
|
1039
|
+
(0, _dom.setScrollTop)(yHandleEl, scrollTop);
|
|
1040
|
+
syncTableScrollTop(scrollTop);
|
|
834
1041
|
}
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
if (inVirtualScroll) {
|
|
843
|
-
return;
|
|
844
|
-
}
|
|
845
|
-
if (inHeaderScroll || inBodyScroll) {
|
|
846
|
-
return;
|
|
847
|
-
}
|
|
848
|
-
const wrapperEl = evnt.currentTarget;
|
|
849
|
-
if (wrapperEl) {
|
|
850
|
-
const isRollX = true;
|
|
851
|
-
const isRollY = false;
|
|
852
|
-
const currLeftNum = wrapperEl.scrollLeft;
|
|
853
|
-
handleScrollEvent(evnt, isRollY, isRollX, wrapperEl.scrollTop, currLeftNum);
|
|
1042
|
+
if (isRollX) {
|
|
1043
|
+
internalData.inBodyScroll = true;
|
|
1044
|
+
(0, _dom.setScrollLeft)(xHandleEl, scrollLeft);
|
|
1045
|
+
(0, _dom.setScrollLeft)(headerScrollElem, scrollLeft);
|
|
1046
|
+
if (scrollXLoad) {
|
|
1047
|
+
triggerScrollXEvent();
|
|
1048
|
+
}
|
|
854
1049
|
}
|
|
1050
|
+
handleScrollEvent(evnt, isRollY, isRollX, wrapperEl.scrollTop, scrollLeft);
|
|
855
1051
|
},
|
|
1052
|
+
// triggerFooterScrollEvent (evnt) {
|
|
1053
|
+
// const { inVirtualScroll, inHeaderScroll, inBodyScroll } = internalData
|
|
1054
|
+
// if (inVirtualScroll) {
|
|
1055
|
+
// return
|
|
1056
|
+
// }
|
|
1057
|
+
// if (inHeaderScroll || inBodyScroll) {
|
|
1058
|
+
// return
|
|
1059
|
+
// }
|
|
1060
|
+
// const wrapperEl = evnt.currentTarget as HTMLDivElement
|
|
1061
|
+
// if (wrapperEl) {
|
|
1062
|
+
// const isRollX = true
|
|
1063
|
+
// const isRollY = false
|
|
1064
|
+
// const currLeftNum = wrapperEl.scrollLeft
|
|
1065
|
+
// handleScrollEvent(evnt, isRollY, isRollX, wrapperEl.scrollTop, currLeftNum)
|
|
1066
|
+
// }
|
|
1067
|
+
// },
|
|
856
1068
|
triggerVirtualScrollXEvent(evnt) {
|
|
1069
|
+
const {
|
|
1070
|
+
scrollXLoad
|
|
1071
|
+
} = reactData;
|
|
857
1072
|
const {
|
|
858
1073
|
elemStore,
|
|
859
1074
|
inHeaderScroll,
|
|
@@ -872,6 +1087,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
872
1087
|
internalData.inVirtualScroll = true;
|
|
873
1088
|
(0, _dom.setScrollLeft)(headerScrollElem, currLeftNum);
|
|
874
1089
|
(0, _dom.setScrollLeft)(bodyScrollElem, currLeftNum);
|
|
1090
|
+
if (scrollXLoad) {
|
|
1091
|
+
triggerScrollXEvent();
|
|
1092
|
+
}
|
|
875
1093
|
handleScrollEvent(evnt, isRollY, isRollX, wrapperEl.scrollTop, currLeftNum);
|
|
876
1094
|
}
|
|
877
1095
|
},
|
|
@@ -897,28 +1115,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
897
1115
|
}
|
|
898
1116
|
},
|
|
899
1117
|
handleUpdateSXSpace() {
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
const {
|
|
905
|
-
elemStore
|
|
906
|
-
} = internalData;
|
|
907
|
-
const layoutList = ['header', 'body', 'footer'];
|
|
908
|
-
layoutList.forEach(layout => {
|
|
909
|
-
const xSpaceElem = (0, _util.getRefElem)(elemStore[`main-${layout}-xSpace`]);
|
|
910
|
-
if (xSpaceElem) {
|
|
911
|
-
xSpaceElem.style.width = scrollXLoad ? `${scrollXWidth}px` : '';
|
|
912
|
-
}
|
|
913
|
-
});
|
|
914
|
-
const scrollXSpaceEl = refScrollXSpaceElem.value;
|
|
915
|
-
if (scrollXSpaceEl) {
|
|
916
|
-
scrollXSpaceEl.style.width = `${scrollXWidth}px`;
|
|
917
|
-
}
|
|
918
|
-
calcScrollbar();
|
|
919
|
-
return (0, _vue.nextTick)();
|
|
1118
|
+
return updateScrollXSpace();
|
|
1119
|
+
},
|
|
1120
|
+
handleUpdateSYSpace() {
|
|
1121
|
+
return updateScrollYSpace();
|
|
920
1122
|
},
|
|
921
|
-
handleUpdateSYSpace: updateScrollYSpace,
|
|
922
1123
|
handleUpdateSYStatus(sYLoad) {
|
|
923
1124
|
reactData.scrollYLoad = sYLoad;
|
|
924
1125
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_dom=require("../../ui/src/dom"),_core=require("@vxe-ui/core"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttHeader=_interopRequireDefault(require("./gantt-header")),_ganttBody=_interopRequireDefault(require("./gantt-body")),_ganttFooter=_interopRequireDefault(require("./gantt-footer"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let globalEvents=_core.VxeUI.globalEvents;function createInternalData(){return{xeTable:null,startMaps:{},endMaps:{},chartMaps:{},elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},scrollYStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0}}}let maxYHeight=5e6;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",setup(_,W){var e=_xeUtils.default.uniqueId();let s=(0,_vue.inject)("$xeGantt",{}),{computeTaskOpts:$,computeStartField:U,computeEndField:M,computeScrollbarOpts:x,computeScrollbarXToTop:y,computeScrollbarYToLeft:w}=s.getComputeMaps(),i=(0,_vue.ref)(),S=(0,_vue.ref)(),b=(0,_vue.ref)(),o=(0,_vue.ref)(),T=(0,_vue.ref)(),E=(0,_vue.ref)(),n=(0,_vue.ref)(),D=(0,_vue.ref)(),H=(0,_vue.ref)(),R=(0,_vue.ref)(),C=(0,_vue.ref)(),a=(0,_vue.ref)(),d=(0,_vue.ref)(),L=(0,_vue.ref)(),k=(0,_vue.reactive)({scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!0,scrollbarWidth:0,scrollbarHeight:0,lazScrollLoading:!1,scrollVMLoading:!1,scrollYHeight:0,scrollYTop:0,isScrollYBig:!1,scrollXLeft:0,scrollXWidth:0,isScrollXBig:!1,minViewDate:null,maxViewDate:null,tableData:[],tableColumn:[],headerGroups:[],viewCellWidth:20}),q=createInternalData(),X={refElem:i},F={},t={xID:e,props:_,context:W,reactData:k,internalData:q,getRefMaps:()=>X,getComputeMaps:()=>F},V=e=>{var t=$.value.dateFormat;return _xeUtils.default.toStringDate(e,t||null)},l=()=>{var t=s.props.treeConfig,a=q.xeTable;let i=null,o=null;if(a){let l=U.value,r=M.value;var c=a.getComputeMaps().computeTreeOpts,{afterFullData:a,afterTreeFullData:v}=a.internalData,c=c.value,h=c.transform,f=c.children||c.childrenField,p=e=>{var t=_xeUtils.default.get(e,l),e=_xeUtils.default.get(e,r);t&&e&&(t=V(t),(!i||i.getTime()>t.getTime())&&(i=t),t=V(e),!o||o.getTime()<t.getTime())&&(o=t)};t?_xeUtils.default.eachTree(v,p,{children:h?c.mapChildrenField:f}):a.forEach(p)}k.minViewDate=i,k.maxViewDate=o,q.startMaps={},q.endMaps={};{t=s.props.treeConfig,v=s.reactData.taskScaleList;let{minViewDate:d,maxViewDate:e}=k;var g=_xeUtils.default.last(v);let l=[],r=[];if(g&&d&&e){let i=g.type;var m=v.find(e=>"week"===e.type);let n=864e5;switch(g.type){case"hour":n=36e5;break;case"minute":n=6e4;break;case"second":n=1e3}var _=d.getTime(),x=e.getTime()-d.getTime(),y=Math.max(5,Math.floor(x/n)+1);switch(g.type){case"day":case"date":if(948672e5<x)return void(k.tableColumn=[],k.headerGroups=[]);break;case"hour":if(80352e5<x)return void(k.tableColumn=[],k.headerGroups=[]);break;case"minute":if(2592e5<x)return void(k.tableColumn=[],k.headerGroups=[]);break;case"second":if(108e5<x)return void(k.tableColumn=[],k.headerGroups=[])}let o={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},s={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}};var w=(t,l,r)=>{if(i!==t){var l=l[t],a=""+l.field;let e=s[t][a];e||(e=l,s[t][a]=e,o[t].push(e)),e&&(e.children||(e.children=[]),e.children.push(r))}};for(let e=0;e<y;e++){var S=new Date(_+e*n),[b,T,E,D,H,R]=_xeUtils.default.toDateString(S,"yyyy-M-d-H-m-s").split("-"),C=S.getDay(),L=C+1,Y=Math.ceil((S.getMonth()+1)/3),S=_xeUtils.default.getYearWeek(S,m?m.startDay:void 0),C={yy:b,M:T,d:E,H:D,m:H,s:R,q:Y,W:S,E:L,e:C},Y={year:{field:b,title:b,dateObj:C},quarter:{field:b+"_q"+Y,title:""+Y,dateObj:C},month:{field:b+"_"+T,title:T,dateObj:C},week:{field:b+"_W"+S,title:""+S,dateObj:C},day:{field:b+`_${T}_${E}_E`+L,title:""+L,dateObj:C},date:{field:b+`_${T}_`+E,title:E,dateObj:C},hour:{field:b+`_${T}_${E}_`+D,title:D,dateObj:C},minute:{field:b+`_${T}_${E}_${D}_`+H,title:H,dateObj:C},second:{field:b+`_${T}_${E}_${D}_${H}_`+R,title:R,dateObj:C}},S=Y[i];g.level<19&&w("year",Y,S),g.level<17&&w("quarter",Y,S),g.level<14&&w("month",Y,S),g.level<13&&w("week",Y,S),g.level<11&&w("day",Y,S),g.level<12&&w("date",Y,S),g.level<7&&w("hour",Y,S),g.level<5&&w("minute",Y,S),l.push(S)}v.forEach(e=>{var t;e.type===i?r.push({scaleItem:e,columns:l}):((t=o[e.type]||[])&&t.forEach(e=>{e.childCount=e.children?e.children.length:0,e.children=void 0}),r.push({scaleItem:e,columns:t}))});let u=q.xeTable;if(u){let i=U.value,o=M.value;var v=u.getComputeMaps().computeTreeOpts,{afterFullData:h,afterTreeFullData:c}=u.internalData,v=v.value,f=v.transform,a=v.children||v.childrenField;let s={};p=e=>{var t,l=u.getRowid(e),r=_xeUtils.default.get(e,i),a=_xeUtils.default.get(e,o);r&&a&&(r=V(r),a=V(a),t=Math.floor((r.getTime()-d.getTime())/n),a=Math.floor((a.getTime()-r.getTime())/n)+1,s[l]={row:e,rowid:l,oLeftSize:t,oWidthSize:a})};t?_xeUtils.default.eachTree(c,p,{children:f?v.mapChildrenField:a}):h.forEach(p),q.chartMaps=s}}k.tableColumn=l,k.headerGroups=r}},c=()=>{var{scrollXWidth:e,scrollYHeight:t}=k,l=q.elemStore,r=x.value,l=(0,_util.getRefElem)(l["main-body-wrapper"]),a=o.value,i=n.value;l&&(t=t>l.clientHeight,i&&(k.scrollbarWidth=r.width||i.offsetWidth-i.clientWidth||14),k.overflowY=t,i=e>l.clientWidth,a&&(k.scrollbarHeight=r.height||a.offsetHeight-a.clientHeight||14),k.overflowX=i)},Y=()=>{let l=k.viewCellWidth,{elemStore:e,chartMaps:r}=q;var t=(0,_util.getRefElem)(e["main-chart-wrapper"]);return t&&_xeUtils.default.arrayEach(t.children,e=>{var t=e.children[0];t&&(e=(e=e.getAttribute("rowid"))?r[e]:null)&&(t.style.left=l*e.oLeftSize+"px",t.style.width=l*e.oWidthSize+"px")}),(0,_vue.nextTick)()},v=()=>{var{scrollbarWidth:o,scrollbarHeight:s,tableColumn:n,headerGroups:u}=k,d=q.elemStore,c=q.xeTable,v=i.value;if(v&&v.clientHeight){var h=x.value,f=y.value,p=w.value,g=T.value,m=E.value,_=S.value;let e=o;o=s;let t=0,l=0,r=0,a=(c&&(s=c.internalData,t=s.tBodyHeight,l=s.tHeaderHeight,r=s.tFooterHeight),"visible");(p||h.y&&!1===h.y.visible)&&(e=0,a="hidden");c=(0,_util.getRefElem)(d["main-header-scroll"]),s=(c&&(c.style.height=l+"px",c.style.setProperty("--vxe-ui-gantt-view-cell-height",l/u.length+"px")),(0,_util.getRefElem)(d["main-body-scroll"])),p=(s&&(s.style.height=t+"px"),(0,_util.getRefElem)(d["main-footer-scroll"])),h=(p&&(p.style.height=r+"px"),_&&(_.style.height=o+"px",_.style.visibility="visible"),H.value),c=(h&&(h.style.left=f?e+"px":"",h.style.width=v.clientWidth-e+"px"),g&&(g.style.width=f?e+"px":"",g.style.display=f&&o?"block":""),m&&(m.style.width=f?"":e+"px",m.style.display=!f&&o?"block":""),b.value),u=(c&&(c.style.width=e+"px",c.style.height=t+l+r+"px",c.style.visibility=a),D.value),p=(u&&(u.style.height=l+"px",u.style.display=l?"block":""),R.value),_=(p&&(p.style.height=t+"px",p.style.top=l+"px"),C.value),h=(_&&(_.style.height=r+"px",_.style.top=l+t+"px",_.style.display=r?"block":""),L.value);h&&(k.viewCellWidth=h.clientWidth||40);let i=k.viewCellWidth*n.length;s&&0<(g=(v=s.clientWidth)-i)&&(k.viewCellWidth+=Math.floor(g/n.length),i=v);m=(0,_util.getRefElem)(d["main-header-table"]),f=(0,_util.getRefElem)(d["main-body-table"]);return m&&(m.style.width=i+"px"),f&&(f.style.width=i+"px"),k.scrollXWidth=i,Y()}},r=()=>(c(),v(),Y(),(0,_vue.nextTick)());let u=(e,t,l,r,a)=>{var i;i=q.lcsTimeout,k.lazScrollLoading=!0,i&&clearTimeout(i),q.lcsTimeout=setTimeout(()=>{q.lcsRunTime=Date.now(),q.lcsTimeout=void 0,q.intoRunScroll=!1,q.inVirtualScroll=!1,q.inWheelScroll=!1,q.inHeaderScroll=!1,q.inBodyScroll=!1,q.inFooterScroll=!1,k.lazScrollLoading=!1},200)},h=e=>{var t=q.xeTable;t&&(t=t.internalData.elemStore,t=(0,_util.getRefElem)(t["main-body-scroll"]))&&(t.scrollTop=e)};e={handleUpdateStyle:v,handleLazyRecalculate:r,handleUpdateCurrentRow(e){var t,l,r=q.xeTable,a=i.value;r&&a&&(e?(t=r.props.highlightCurrentRow,l=r.getComputeMaps().computeRowOpts,(l.value.isCurrent||t)&&_xeUtils.default.arrayEach(a.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${r.getRowid(e)}"]`),e=>(0,_dom.addClass)(e,"row--current"))):_xeUtils.default.arrayEach(a.querySelectorAll(".vxe-gantt-view--body-row.row--current"),e=>(0,_dom.removeClass)(e,"row--current")))},handleUpdateHoverRow(e){var t=q.xeTable,l=i.value;t&&l&&(e?_xeUtils.default.arrayEach(l.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${t.getRowid(e)}"]`),e=>(0,_dom.addClass)(e,"row--hover")):_xeUtils.default.arrayEach(l.querySelectorAll(".vxe-gantt-view--body-row.row--hover"),e=>(0,_dom.removeClass)(e,"row--hover")))},triggerHeaderScrollEvent(e){var{elemStore:t,inVirtualScroll:l,inBodyScroll:r,inFooterScroll:a}=q;l||r||a||(l=e.currentTarget,r=(0,_util.getRefElem)(t["main-body-scroll"]),a=o.value,r&&l&&(e=l.scrollLeft,q.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,e),(0,_dom.setScrollLeft)(r,e),u(0,0,0,l.scrollTop)))},triggerBodyScrollEvent(e){var t,{elemStore:l,inVirtualScroll:r,inHeaderScroll:a,inFooterScroll:i}=q;r||a||i||(r=e.currentTarget,a=(0,_util.getRefElem)(l["main-header-scroll"]),i=o.value,e=n.value,a&&r&&(l=r.scrollLeft,t=r.scrollTop,q.inBodyScroll=!0,(0,_dom.setScrollLeft)(i,l),(0,_dom.setScrollLeft)(a,l),(0,_dom.setScrollTop)(e,t),h(t),u(0,0,0,r.scrollTop)))},triggerFooterScrollEvent(e){var{inVirtualScroll:t,inHeaderScroll:l,inBodyScroll:r}=q;t||l||r||(t=e.currentTarget)&&(t.scrollLeft,u(0,0,0,t.scrollTop))},triggerVirtualScrollXEvent(e){var{elemStore:t,inHeaderScroll:l,inBodyScroll:r}=q;l||r||(l=e.currentTarget,r=(0,_util.getRefElem)(t["main-header-scroll"]),e=(0,_util.getRefElem)(t["main-body-scroll"]),l&&(t=l.scrollLeft,q.inVirtualScroll=!0,(0,_dom.setScrollLeft)(r,t),(0,_dom.setScrollLeft)(e,t),u(0,0,0,l.scrollTop)))},triggerVirtualScrollYEvent(e){var{elemStore:t,inHeaderScroll:l,inBodyScroll:r}=q;l||r||(l=e.currentTarget,r=(0,_util.getRefElem)(t["main-body-scroll"]),l&&(e=l.scrollTop,q.inVirtualScroll=!0,(0,_dom.setScrollTop)(r,e),h(e),u(0,0,0,0,l.scrollLeft)))},handleUpdateSXSpace(){let{scrollXLoad:t,scrollXWidth:l}=k,r=q.elemStore;["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(r[`main-${e}-xSpace`]);e&&(e.style.width=t?l+"px":"")});var e=a.value;return e&&(e.style.width=l+"px"),c(),(0,_vue.nextTick)()},handleUpdateSYSpace:()=>{var e=q.elemStore,t=q.xeTable,l=(0,_util.getRefElem)(e["main-body-scroll"]),r=(0,_util.getRefElem)(e["main-body-table"]);let a=0,i=0,o=!1,s=(t&&(t=t.reactData,a=t.scrollYTop,i=t.scrollYHeight,o=t.isScrollYBig),i),n=a,u=0;l&&(u=l.clientHeight),o&&(n=l&&r&&l.scrollTop+u>=maxYHeight?maxYHeight-r.clientHeight:(maxYHeight-u)*(a/(i-u)),s=maxYHeight);t=(0,_util.getRefElem)(e["main-chart-wrapper"]),r&&(r.style.transform=`translate(${k.scrollXLeft||0}px, ${n}px)`),t&&(t.style.transform=`translate(${k.scrollXLeft||0}px, ${n}px)`),l=(0,_util.getRefElem)(e["main-body-ySpace"]),l&&(l.style.height=s?s+"px":""),r=d.value;return r&&(r.style.height=s?s+"px":""),k.scrollYTop=n,k.scrollYHeight=i,k.isScrollYBig=o,c(),(0,_vue.nextTick)().then(()=>{v()})},handleUpdateSYStatus(e){k.scrollYLoad=e}};let I=()=>{r()},f=(Object.assign(t,{refreshData(){return l(),r()},updateViewData(){var e=q.xeTable;return e&&(e=e.reactData.tableData,k.tableData=e),(0,_vue.nextTick)()},connectUpdate({$table:e}){return e&&(q.xeTable=e),(0,_vue.nextTick)()}},e),()=>(0,_vue.h)("div",{key:"vsx",ref:S,class:"vxe-gantt-view--scroll-x-virtual"},[(0,_vue.h)("div",{ref:T,class:"vxe-gantt-view--scroll-x-left-corner"}),(0,_vue.h)("div",{ref:H,class:"vxe-gantt-view--scroll-x-wrapper"},[(0,_vue.h)("div",{ref:o,class:"vxe-gantt-view--scroll-x-handle",onScroll:t.triggerVirtualScrollXEvent},[(0,_vue.h)("div",{ref:a,class:"vxe-gantt-view--scroll-x-space"})])]),(0,_vue.h)("div",{ref:E,class:"vxe-gantt-view--scroll-x-right-corner"})])),p=()=>(0,_vue.h)("div",{ref:b,class:"vxe-gantt-view--scroll-y-virtual"},[(0,_vue.h)("div",{ref:D,class:"vxe-gantt-view--scroll-y-top-corner"}),(0,_vue.h)("div",{ref:R,class:"vxe-gantt-view--scroll-y-wrapper"},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--scroll-y-handle",onScroll:t.triggerVirtualScrollYEvent},[(0,_vue.h)("div",{ref:d,class:"vxe-gantt-view--scroll-y-space"})])]),(0,_vue.h)("div",{ref:C,class:"vxe-gantt-view--scroll-y-bottom-corner"})]),g=()=>(0,_vue.h)("div",{class:"vxe-gantt-view--viewport-wrapper"},[(0,_vue.h)(_ganttHeader.default),(0,_vue.h)(_ganttBody.default),(0,_vue.h)(_ganttFooter.default)]),O=()=>{var e=w.value;return(0,_vue.h)("div",{class:"vxe-gantt-view--layout-wrapper"},e?[p(),g()]:[g(),p()])};let m=(0,_vue.ref)(0);return(0,_vue.watch)(()=>k.tableData,()=>{m.value++}),(0,_vue.watch)(()=>k.tableData.length,()=>{m.value++}),(0,_vue.watch)(m,()=>{l()}),(0,_vue.onMounted)(()=>{globalEvents.on(t,"resize",I)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(t,"keydown"),_xeUtils.default.assign(q,createInternalData())}),t.renderVN=()=>{var{overflowX:e,overflowY:t,scrollXLoad:l,scrollYLoad:r}=k,a=y.value;return(0,_vue.h)("div",{ref:i,class:["vxe-gantt-view",{"is--scroll-y":t,"is--scroll-x":e,"is--virtual-x":l,"is--virtual-y":r}]},[(0,_vue.h)("div",{class:"vxe-gantt-view--render-wrapper"},a?[f(),O()]:[O(),f()]),(0,_vue.h)("div",{class:"vxe-gantt-view--render-vars"},[(0,_vue.h)("div",{ref:L,class:"vxe-gantt-view--column-info"})])])},(0,_vue.provide)("$xeGanttView",t),t},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_dom=require("../../ui/src/dom"),_core=require("@vxe-ui/core"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttHeader=_interopRequireDefault(require("./gantt-header")),_ganttBody=_interopRequireDefault(require("./gantt-body")),_ganttFooter=_interopRequireDefault(require("./gantt-footer"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let globalEvents=_core.VxeUI.globalEvents;function createInternalData(){return{xeTable:null,visibleColumn:[],startMaps:{},endMaps:{},chartMaps:{},elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},lastScrollTop:0,lastScrollLeft:0}}let maxYHeight=5e6;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",setup(g,x){var e=_xeUtils.default.uniqueId();let H=(0,_vue.inject)("$xeGantt",{}),{computeTaskOpts:_,computeStartField:C,computeEndField:X,computeScrollbarOpts:S,computeScrollbarXToTop:b,computeScrollbarYToLeft:w}=H.getComputeMaps(),i=(0,_vue.ref)(),T=(0,_vue.ref)(),E=(0,_vue.ref)(),d=(0,_vue.ref)(),D=(0,_vue.ref)(),R=(0,_vue.ref)(),c=(0,_vue.ref)(),I=(0,_vue.ref)(),L=(0,_vue.ref)(),M=(0,_vue.ref)(),V=(0,_vue.ref)(),n=(0,_vue.ref)(),u=(0,_vue.ref)(),Y=(0,_vue.ref)(),U=(0,_vue.reactive)({scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!0,scrollbarWidth:0,scrollbarHeight:0,lastScrollTime:0,lazScrollLoading:!1,scrollVMLoading:!1,scrollYHeight:0,scrollYTop:0,isScrollYBig:!1,scrollXLeft:0,scrollXWidth:0,isScrollXBig:!1,minViewDate:null,maxViewDate:null,tableData:[],tableColumn:[],headerGroups:[],viewCellWidth:20}),W=createInternalData(),y={refElem:i},$={},t={xID:e,props:g,context:x,reactData:U,internalData:W,getRefMaps:()=>y,getComputeMaps:()=>$},k=e=>{var t=_.value.dateFormat;return _xeUtils.default.toStringDate(e,t||null)},l=()=>{var e=H.props.treeConfig,t=W.xeTable;let a=null,i=null;if(t){let l=C.value,r=X.value;var o=t.getComputeMaps().computeTreeOpts,{afterFullData:t,afterTreeFullData:s}=t.internalData,o=o.value,n=o.transform,d=o.children||o.childrenField,c=e=>{var t=_xeUtils.default.get(e,l),e=_xeUtils.default.get(e,r);t&&e&&(t=k(t),(!a||a.getTime()>t.getTime())&&(a=t),t=k(e),!i||i.getTime()<t.getTime())&&(i=t)};e?_xeUtils.default.eachTree(s,c,{children:n?o.mapChildrenField:d}):t.forEach(c)}U.minViewDate=a,U.maxViewDate=i,W.startMaps={},W.endMaps={},(()=>{var e=H.props.treeConfig,t=H.reactData.taskScaleList;let{minViewDate:c,maxViewDate:l}=U;var r=W.scrollXStore,a=_xeUtils.default.last(t);let u=[],v=[];if(r.startIndex=0,r.endIndex=1,a&&c&&l){let i=a.type;var h=t.find(e=>"week"===e.type);let n=864e5;switch(a.type){case"hour":n=36e5;break;case"minute":n=6e4;break;case"second":n=1e3}var f=c.getTime(),r=l.getTime()-c.getTime(),m=Math.max(5,Math.floor(r/n)+1);let o={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},s={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}};var p=(t,l,r)=>{if(i!==t){var l=l[t],a=""+l.field;let e=s[t][a];e||(e=l,s[t][a]=e,o[t].push(e)),e&&(e.children||(e.children=[]),e.children.push(r))}};for(let e=0;e<m;e++){var g=new Date(f+e*n),[x,_,y,S,b,w]=_xeUtils.default.toDateString(g,"yyyy-M-d-H-m-s").split("-"),T=g.getDay(),E=T+1,D=Math.ceil((g.getMonth()+1)/3),g=_xeUtils.default.getYearWeek(g,h?h.startDay:void 0),T={yy:x,M:_,d:y,H:S,m:b,s:w,q:D,W:g,E:E,e:T},D={year:{field:x,title:x,dateObj:T},quarter:{field:x+"_q"+D,title:""+D,dateObj:T},month:{field:x+"_"+_,title:_,dateObj:T},week:{field:x+"_W"+g,title:""+g,dateObj:T},day:{field:x+`_${_}_${y}_E`+E,title:""+E,dateObj:T},date:{field:x+`_${_}_`+y,title:y,dateObj:T},hour:{field:x+`_${_}_${y}_`+S,title:S,dateObj:T},minute:{field:x+`_${_}_${y}_${S}_`+b,title:b,dateObj:T},second:{field:x+`_${_}_${y}_${S}_${b}_`+w,title:w,dateObj:T}},g=D[i];a.level<19&&p("year",D,g),a.level<17&&p("quarter",D,g),a.level<14&&p("month",D,g),a.level<13&&p("week",D,g),a.level<11&&p("day",D,g),a.level<12&&p("date",D,g),a.level<7&&p("hour",D,g),a.level<5&&p("minute",D,g),u.push(g)}t.forEach(e=>{var t;e.type===i?v.push({scaleItem:e,columns:u}):((t=o[e.type]||[])&&t.forEach(e=>{e.childCount=e.children?e.children.length:0,e.children=void 0}),v.push({scaleItem:e,columns:t}))});let d=W.xeTable;if(d){let i=C.value,o=X.value;var r=d.getComputeMaps().computeTreeOpts,{afterFullData:t,afterTreeFullData:R}=d.internalData,r=r.value,I=r.transform,L=r.children||r.childrenField;let s={};var M=e=>{var t,l=d.getRowid(e),r=_xeUtils.default.get(e,i),a=_xeUtils.default.get(e,o);r&&a&&(r=k(r),a=k(a),t=Math.floor((r.getTime()-c.getTime())/n),a=Math.floor((a.getTime()-r.getTime())/n)+1,s[l]={row:e,rowid:l,oLeftSize:t,oWidthSize:a})};e?_xeUtils.default.eachTree(R,M,{children:I?r.mapChildrenField:L}):t.forEach(M),W.chartMaps=s}}W.visibleColumn=u,U.headerGroups=v,O(),B()})()},v=()=>{var{scrollXWidth:e,scrollYHeight:t}=U,l=W.elemStore,r=S.value,l=(0,_util.getRefElem)(l["main-body-wrapper"]),a=d.value,i=c.value;l&&(t=t>l.clientHeight,i&&(U.scrollbarWidth=r.width||i.offsetWidth-i.clientWidth||14),U.overflowY=t,i=e>l.clientWidth,a&&(U.scrollbarHeight=r.height||a.offsetHeight-a.clientHeight||14),U.overflowX=i)},q=()=>{let l=U.viewCellWidth,{elemStore:e,chartMaps:r}=W;var t=(0,_util.getRefElem)(e["main-chart-wrapper"]);return t&&_xeUtils.default.arrayEach(t.children,e=>{var t=e.children[0];t&&(e=(e=e.getAttribute("rowid"))?r[e]:null)&&(t.style.left=l*e.oLeftSize+"px",t.style.width=l*e.oWidthSize+"px")}),(0,_vue.nextTick)()},h=()=>{var{scrollbarWidth:s,scrollbarHeight:n,headerGroups:d,tableColumn:c}=U,{elemStore:u,visibleColumn:v}=W,h=W.xeTable,f=i.value;if(f&&f.clientHeight){var m=S.value,p=b.value,g=w.value,x=D.value,_=R.value,y=T.value;let e=s;s=n;let t=0,l=0,r=0,a=(h&&(n=h.internalData,t=n.tBodyHeight,l=n.tHeaderHeight,r=n.tFooterHeight),"visible");(g||m.y&&!1===m.y.visible)&&(e=0,a="hidden");h=(0,_util.getRefElem)(u["main-header-scroll"]),n=(h&&(h.style.height=l+"px",h.style.setProperty("--vxe-ui-gantt-view-cell-height",l/d.length+"px")),(0,_util.getRefElem)(u["main-body-scroll"])),g=(n&&(n.style.height=t+"px"),(0,_util.getRefElem)(u["main-footer-scroll"])),m=(g&&(g.style.height=r+"px"),y&&(y.style.height=s+"px",y.style.visibility="visible"),L.value),h=(m&&(m.style.left=p?e+"px":"",m.style.width=f.clientWidth-e+"px"),x&&(x.style.width=p?e+"px":"",x.style.display=p&&s?"block":""),_&&(_.style.width=p?"":e+"px",_.style.display=!p&&s?"block":""),E.value),d=(h&&(h.style.width=e+"px",h.style.height=t+l+r+"px",h.style.visibility=a),I.value),g=(d&&(d.style.height=l+"px",d.style.display=l?"block":""),M.value),y=(g&&(g.style.height=t+"px",g.style.top=l+"px"),V.value),m=(y&&(y.style.height=r+"px",y.style.top=l+t+"px",y.style.display=r?"block":""),Y.value);let i=40,o=(i=m?m.clientWidth||40:i)*v.length;n&&0<(x=(f=n.clientWidth)-o)&&(i+=Math.floor(x/v.length),o=f),U.viewCellWidth=i;_=(0,_util.getRefElem)(u["main-header-table"]),p=(0,_util.getRefElem)(u["main-body-table"]),s=i*c.length;return _&&(_.style.width=o+"px"),p&&(p.style.width=s+"px"),U.scrollXWidth=o,q()}},o=()=>{var e=i.value;return W.rceRunTime=Date.now(),(e&&e.clientWidth?(v(),h(),q(),z):(0,_vue.nextTick))()},r=()=>new Promise(e=>{var{rceTimeout:t,rceRunTime:l}=W,r=W.xeTable;let a=50;r&&(r=r.getComputeMaps().computeResizeOpts,r=r.value,a=r.refreshDelay||50),!t||(clearTimeout(t),l&&l+(a-5)<Date.now())?e(o()):(0,_vue.nextTick)(()=>{e()}),W.rceTimeout=setTimeout(()=>{W.rceTimeout=void 0,o()},a)}),z=()=>(0,_vue.nextTick)().then(()=>{var e,t=U.scrollXLoad,l=W.scrollXStore;t?({toVisibleIndex:t,visibleSize:e}=f(),l.preloadSize=1,l.offsetSize=2,l.visibleSize=e,l.endIndex=Math.max(l.startIndex+l.visibleSize+2,l.endIndex),l.visibleStartIndex=Math.max(l.startIndex,t),l.visibleEndIndex=Math.min(l.endIndex,t+e),F().then(()=>{a()})):s()}),f=()=>{var e,t=U.viewCellWidth,l=W.elemStore,l=(0,_util.getRefElem)(l["main-body-scroll"]);return l?(e=l.clientWidth,l=l.scrollLeft,l=Math.floor(l/t)-1,e=Math.ceil(e/t)+1,{toVisibleIndex:Math.max(0,l),visibleSize:Math.max(1,e)}):{toVisibleIndex:0,visibleSize:6}},a=()=>{var e=U.isScrollXBig,t=W.scrollXStore,{preloadSize:l,startIndex:r,endIndex:a,offsetSize:i}=t,{toVisibleIndex:o,visibleSize:s}=f(),e={startIndex:Math.max(0,e?o-1:o-1-i-l),endIndex:e?o+s:o+s+i+l},{startIndex:i,endIndex:l}=(t.visibleStartIndex=o-1,t.visibleEndIndex=o+s+1,e);!(o<=r||a-s-1<=o)||r===i&&a===l||(t.startIndex=i,t.endIndex=l,F())},F=()=>(B(),s(),(0,_vue.nextTick)()),O=()=>U.scrollXLoad=!0,B=()=>{var e=U.scrollXLoad,{visibleColumn:t,scrollXStore:l}=W,e=e?t.slice(l.startIndex,l.endIndex):t.slice(0);U.tableColumn=e},s=()=>{let{scrollXLoad:t,scrollXWidth:l,viewCellWidth:e}=U,{elemStore:r,scrollXStore:a}=W;var i=(0,_util.getRefElem)(r["main-body-table"]),o=a.startIndex;let s=0;t&&(s=Math.max(0,o*e)),i&&(i.style.transform=`translate(${s}px, ${U.scrollYTop||0}px)`);["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(r[`main-${e}-xSpace`]);e&&(e.style.width=t?l+"px":"")});o=n.value;return o&&(o.style.width=l+"px"),v(),(0,_vue.nextTick)()},j=()=>{a()},m=(e,t,l,r,a)=>{l&&(W.lastScrollLeft=a),t&&(W.lastScrollTop=r),U.lastScrollTime=Date.now(),l=W.lcsTimeout,U.lazScrollLoading=!0,l&&clearTimeout(l),W.lcsTimeout=setTimeout(()=>{W.lcsRunTime=Date.now(),W.lcsTimeout=void 0,W.intoRunScroll=!1,W.inVirtualScroll=!1,W.inWheelScroll=!1,W.inHeaderScroll=!1,W.inBodyScroll=!1,W.inFooterScroll=!1,U.lazScrollLoading=!1},200)},G=e=>{var t=W.xeTable;t&&(t=t.internalData.elemStore,t=(0,_util.getRefElem)(t["main-body-scroll"]))&&(t.scrollTop=e)};e={handleUpdateStyle:h,handleLazyRecalculate:r,handleUpdateCurrentRow(e){var t,l,r=W.xeTable,a=i.value;r&&a&&(e?(t=r.props.highlightCurrentRow,l=r.getComputeMaps().computeRowOpts,(l.value.isCurrent||t)&&_xeUtils.default.arrayEach(a.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${r.getRowid(e)}"]`),e=>(0,_dom.addClass)(e,"row--current"))):_xeUtils.default.arrayEach(a.querySelectorAll(".vxe-gantt-view--body-row.row--current"),e=>(0,_dom.removeClass)(e,"row--current")))},handleUpdateHoverRow(e){var t=W.xeTable,l=i.value;t&&l&&(e?_xeUtils.default.arrayEach(l.querySelectorAll(`.vxe-gantt-view--body-row[rowid="${t.getRowid(e)}"]`),e=>(0,_dom.addClass)(e,"row--hover")):_xeUtils.default.arrayEach(l.querySelectorAll(".vxe-gantt-view--body-row.row--hover"),e=>(0,_dom.removeClass)(e,"row--hover")))},triggerHeaderScrollEvent(e){var{elemStore:t,inVirtualScroll:l,inBodyScroll:r,inFooterScroll:a}=W;l||r||a||(l=e.currentTarget,r=(0,_util.getRefElem)(t["main-body-scroll"]),a=d.value,r&&l&&(e=l.scrollLeft,W.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,e),(0,_dom.setScrollLeft)(r,e),m(0,!1,!0,l.scrollTop,e)))},triggerBodyScrollEvent(e){var t,l=U.scrollXLoad,{elemStore:r,inVirtualScroll:a,inHeaderScroll:i,inFooterScroll:o,lastScrollLeft:s,lastScrollTop:n}=W;a||i||o||(a=e.currentTarget,i=(0,_util.getRefElem)(r["main-header-scroll"]),o=d.value,e=c.value,s=(r=a.scrollLeft)!==s,n=(t=a.scrollTop)!==n,W.inBodyScroll=!0,W.scrollRenderType="",n&&((0,_dom.setScrollTop)(e,t),G(t)),s&&(W.inBodyScroll=!0,(0,_dom.setScrollLeft)(o,r),(0,_dom.setScrollLeft)(i,r),l)&&j(),m(0,n,s,a.scrollTop,r))},triggerVirtualScrollXEvent(e){var t=U.scrollXLoad,{elemStore:l,inHeaderScroll:r,inBodyScroll:a}=W;r||a||(r=e.currentTarget,a=(0,_util.getRefElem)(l["main-header-scroll"]),e=(0,_util.getRefElem)(l["main-body-scroll"]),r&&(l=r.scrollLeft,W.inVirtualScroll=!0,(0,_dom.setScrollLeft)(a,l),(0,_dom.setScrollLeft)(e,l),t&&j(),m(0,!1,!0,r.scrollTop,l)))},triggerVirtualScrollYEvent(e){var{elemStore:t,inHeaderScroll:l,inBodyScroll:r}=W;l||r||(l=e.currentTarget,r=(0,_util.getRefElem)(t["main-body-scroll"]),l&&(e=l.scrollTop,W.inVirtualScroll=!0,(0,_dom.setScrollTop)(r,e),G(e),m(0,!0,!1,e,l.scrollLeft)))},handleUpdateSXSpace(){return s()},handleUpdateSYSpace(){return(()=>{var e=W.elemStore,t=W.xeTable,l=(0,_util.getRefElem)(e["main-body-scroll"]),r=(0,_util.getRefElem)(e["main-body-table"]);let a=0,i=0,o=!1,s=(t&&(t=t.reactData,a=t.scrollYTop,i=t.scrollYHeight,o=t.isScrollYBig),i),n=a,d=0;l&&(d=l.clientHeight),o&&(n=l&&r&&l.scrollTop+d>=maxYHeight?maxYHeight-r.clientHeight:(maxYHeight-d)*(a/(i-d)),s=maxYHeight);t=(0,_util.getRefElem)(e["main-chart-wrapper"]),r&&(r.style.transform=`translate(${U.scrollXLeft||0}px, ${n}px)`),t&&(t.style.transform=`translate(${U.scrollXLeft||0}px, ${n}px)`),l=(0,_util.getRefElem)(e["main-body-ySpace"]),l&&(l.style.height=s?s+"px":""),r=u.value;return r&&(r.style.height=s?s+"px":""),U.scrollYTop=n,U.scrollYHeight=i,U.isScrollYBig=o,v(),(0,_vue.nextTick)().then(()=>{h()})})()},handleUpdateSYStatus(e){U.scrollYLoad=e}};let A=()=>{r()},P=(Object.assign(t,{refreshData(){return l(),r()},updateViewData(){var e=W.xeTable;return e&&(e=e.reactData.tableData,U.tableData=e),(0,_vue.nextTick)()},connectUpdate({$table:e}){return e&&(W.xeTable=e),(0,_vue.nextTick)()}},e),()=>(0,_vue.h)("div",{key:"vsx",ref:T,class:"vxe-gantt-view--scroll-x-virtual"},[(0,_vue.h)("div",{ref:D,class:"vxe-gantt-view--scroll-x-left-corner"}),(0,_vue.h)("div",{ref:L,class:"vxe-gantt-view--scroll-x-wrapper"},[(0,_vue.h)("div",{ref:d,class:"vxe-gantt-view--scroll-x-handle",onScroll:t.triggerVirtualScrollXEvent},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--scroll-x-space"})])]),(0,_vue.h)("div",{ref:R,class:"vxe-gantt-view--scroll-x-right-corner"})])),N=()=>(0,_vue.h)("div",{ref:E,class:"vxe-gantt-view--scroll-y-virtual"},[(0,_vue.h)("div",{ref:I,class:"vxe-gantt-view--scroll-y-top-corner"}),(0,_vue.h)("div",{ref:M,class:"vxe-gantt-view--scroll-y-wrapper"},[(0,_vue.h)("div",{ref:c,class:"vxe-gantt-view--scroll-y-handle",onScroll:t.triggerVirtualScrollYEvent},[(0,_vue.h)("div",{ref:u,class:"vxe-gantt-view--scroll-y-space"})])]),(0,_vue.h)("div",{ref:V,class:"vxe-gantt-view--scroll-y-bottom-corner"})]),J=()=>(0,_vue.h)("div",{class:"vxe-gantt-view--viewport-wrapper"},[(0,_vue.h)(_ganttHeader.default),(0,_vue.h)(_ganttBody.default),(0,_vue.h)(_ganttFooter.default)]),K=()=>{var e=w.value;return(0,_vue.h)("div",{class:"vxe-gantt-view--layout-wrapper"},e?[N(),J()]:[J(),N()])};let p=(0,_vue.ref)(0);return(0,_vue.watch)(()=>U.tableData,()=>{p.value++}),(0,_vue.watch)(()=>U.tableData.length,()=>{p.value++}),(0,_vue.watch)(p,()=>{l()}),(0,_vue.onMounted)(()=>{globalEvents.on(t,"resize",A)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(t,"keydown"),_xeUtils.default.assign(W,createInternalData())}),t.renderVN=()=>{var{overflowX:e,overflowY:t,scrollXLoad:l,scrollYLoad:r}=U,a=b.value;return(0,_vue.h)("div",{ref:i,class:["vxe-gantt-view",{"is--scroll-y":t,"is--scroll-x":e,"is--virtual-x":l,"is--virtual-y":r}]},[(0,_vue.h)("div",{class:"vxe-gantt-view--render-wrapper"},a?[P(),K()]:[K(),P()]),(0,_vue.h)("div",{class:"vxe-gantt-view--render-vars"},[(0,_vue.h)("div",{ref:Y,class:"vxe-gantt-view--column-info"})])])},(0,_vue.provide)("$xeGanttView",t),t},render(){return this.renderVN()}});
|
package/lib/gantt/src/gantt.js
CHANGED
|
@@ -830,20 +830,20 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
830
830
|
let tipHeight = 0;
|
|
831
831
|
if (rsNumLeftEl) {
|
|
832
832
|
if (offsetLeft < 0) {
|
|
833
|
+
rsNumLeftEl.style.display = 'none';
|
|
834
|
+
} else {
|
|
833
835
|
rsNumLeftEl.textContent = `${targetTableWidth}px`;
|
|
834
836
|
rsNumLeftEl.style.display = 'block';
|
|
835
837
|
tipHeight = rsNumLeftEl.offsetHeight;
|
|
836
|
-
} else {
|
|
837
|
-
rsNumLeftEl.style.display = 'none';
|
|
838
838
|
}
|
|
839
839
|
}
|
|
840
840
|
if (rsNumRightEl) {
|
|
841
841
|
if (offsetLeft < 0) {
|
|
842
|
-
rsNumRightEl.style.display = 'none';
|
|
843
|
-
} else {
|
|
844
842
|
rsNumRightEl.textContent = `${Math.floor(containerRect.width - targetTableWidth)}px`;
|
|
845
843
|
rsNumRightEl.style.display = 'block';
|
|
846
844
|
tipHeight = rsNumRightEl.offsetHeight;
|
|
845
|
+
} else {
|
|
846
|
+
rsNumRightEl.style.display = 'none';
|
|
847
847
|
}
|
|
848
848
|
}
|
|
849
849
|
const tipTop = evnt.clientY - containerRect.top - tipHeight / 2;
|
|
@@ -2093,9 +2093,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
2093
2093
|
class: 'vxe-gantt--resizable-split-tip-number'
|
|
2094
2094
|
}, [(0, _vue.h)('div', {
|
|
2095
2095
|
class: 'vxe-gantt--resizable-split-number-left'
|
|
2096
|
-
}
|
|
2096
|
+
}), (0, _vue.h)('div', {
|
|
2097
2097
|
class: 'vxe-gantt--resizable-split-number-right'
|
|
2098
|
-
}
|
|
2098
|
+
})])]), (0, _vue.h)('div', {
|
|
2099
2099
|
class: 'vxe-gantt--border-line'
|
|
2100
2100
|
})]));
|
|
2101
2101
|
break;
|