vxe-gantt 3.0.6 → 3.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 +5 -3
- package/es/gantt/src/gantt-view.js +253 -142
- package/es/gantt/src/gantt.js +9 -9
- 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 -3
- package/lib/gantt/src/gantt-header.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +273 -146
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/gantt.js +8 -8
- 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 +290 -160
- 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 +5 -3
- package/packages/gantt/src/gantt-view.ts +276 -155
- package/packages/gantt/src/gantt.ts +7 -7
- package/styles/components/gantt.scss +6 -1
- package/styles/theme/dark.scss +1 -0
- package/styles/theme/light.scss +1 -0
package/lib/index.umd.js
CHANGED
|
@@ -7643,7 +7643,7 @@ var core_ = __webpack_require__(4345);
|
|
|
7643
7643
|
;// CONCATENATED MODULE: ./packages/ui/src/log.ts
|
|
7644
7644
|
|
|
7645
7645
|
var log = core_.VxeUI.log;
|
|
7646
|
-
var version = "gantt v".concat("3.0.
|
|
7646
|
+
var version = "gantt v".concat("3.0.7");
|
|
7647
7647
|
var warnLog = log.create('warn', version);
|
|
7648
7648
|
var errLog = log.create('error', version);
|
|
7649
7649
|
;// CONCATENATED MODULE: ./packages/ui/index.ts
|
|
@@ -7653,7 +7653,7 @@ var errLog = log.create('error', version);
|
|
|
7653
7653
|
var setConfig = core_.VxeUI.setConfig,
|
|
7654
7654
|
setIcon = core_.VxeUI.setIcon,
|
|
7655
7655
|
checkVersion = core_.VxeUI.checkVersion;
|
|
7656
|
-
core_.VxeUI.ganttVersion = "3.0.
|
|
7656
|
+
core_.VxeUI.ganttVersion = "3.0.7";
|
|
7657
7657
|
setConfig({
|
|
7658
7658
|
gantt: {
|
|
7659
7659
|
// size: null,
|
|
@@ -8447,9 +8447,10 @@ var getI18n = core_.VxeUI.getI18n;
|
|
|
8447
8447
|
var $xeGantt = _vm.$xeGantt;
|
|
8448
8448
|
var $xeGanttView = _vm.$xeGanttView;
|
|
8449
8449
|
var reactData = $xeGanttView.reactData;
|
|
8450
|
-
var
|
|
8451
|
-
|
|
8450
|
+
var internalData = $xeGanttView.internalData;
|
|
8451
|
+
var headerGroups = reactData.headerGroups,
|
|
8452
8452
|
viewCellWidth = reactData.viewCellWidth;
|
|
8453
|
+
var visibleColumn = internalData.visibleColumn;
|
|
8453
8454
|
return h('div', {
|
|
8454
8455
|
ref: 'refElem',
|
|
8455
8456
|
class: 'vxe-gantt-view--header-wrapper'
|
|
@@ -8465,7 +8466,7 @@ var getI18n = core_.VxeUI.getI18n;
|
|
|
8465
8466
|
}), h('table', {
|
|
8466
8467
|
ref: 'refHeaderTable',
|
|
8467
8468
|
class: 'vxe-gantt-view--header-table'
|
|
8468
|
-
}, [h('colgroup', {},
|
|
8469
|
+
}, [h('colgroup', {}, visibleColumn.map(function (column, cIndex) {
|
|
8469
8470
|
return h('col', {
|
|
8470
8471
|
key: cIndex,
|
|
8471
8472
|
style: {
|
|
@@ -9052,10 +9053,13 @@ var renderEmptyElement = core_.VxeUI.renderEmptyElement;
|
|
|
9052
9053
|
|
|
9053
9054
|
|
|
9054
9055
|
|
|
9056
|
+
|
|
9057
|
+
|
|
9055
9058
|
var globalEvents = core_.VxeUI.globalEvents;
|
|
9056
9059
|
function createInternalData() {
|
|
9057
9060
|
return {
|
|
9058
9061
|
xeTable: null,
|
|
9062
|
+
visibleColumn: [],
|
|
9059
9063
|
startMaps: {},
|
|
9060
9064
|
endMaps: {},
|
|
9061
9065
|
chartMaps: {},
|
|
@@ -9070,16 +9074,9 @@ function createInternalData() {
|
|
|
9070
9074
|
startIndex: 0,
|
|
9071
9075
|
endIndex: 0
|
|
9072
9076
|
},
|
|
9073
|
-
//
|
|
9074
|
-
|
|
9075
|
-
|
|
9076
|
-
offsetSize: 0,
|
|
9077
|
-
visibleSize: 0,
|
|
9078
|
-
visibleStartIndex: 0,
|
|
9079
|
-
visibleEndIndex: 0,
|
|
9080
|
-
startIndex: 0,
|
|
9081
|
-
endIndex: 0
|
|
9082
|
-
}
|
|
9077
|
+
// 最后滚动位置
|
|
9078
|
+
lastScrollTop: 0,
|
|
9079
|
+
lastScrollLeft: 0
|
|
9083
9080
|
};
|
|
9084
9081
|
}
|
|
9085
9082
|
var maxYHeight = 5e6;
|
|
@@ -9100,9 +9097,12 @@ function handleParseColumn($xeGanttView) {
|
|
|
9100
9097
|
var taskScaleList = ganttReactData.taskScaleList;
|
|
9101
9098
|
var minViewDate = reactData.minViewDate,
|
|
9102
9099
|
maxViewDate = reactData.maxViewDate;
|
|
9100
|
+
var scrollXStore = internalData.scrollXStore;
|
|
9103
9101
|
var minScale = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().last(taskScaleList);
|
|
9104
9102
|
var fullCols = [];
|
|
9105
9103
|
var groupCols = [];
|
|
9104
|
+
scrollXStore.startIndex = 0;
|
|
9105
|
+
scrollXStore.endIndex = 1;
|
|
9106
9106
|
if (minScale && minViewDate && maxViewDate) {
|
|
9107
9107
|
var minSType = minScale.type;
|
|
9108
9108
|
var weekScale = taskScaleList.find(function (item) {
|
|
@@ -9127,37 +9127,37 @@ function handleParseColumn($xeGanttView) {
|
|
|
9127
9127
|
var currTime = minViewDate.getTime();
|
|
9128
9128
|
var diffDayNum = maxViewDate.getTime() - minViewDate.getTime();
|
|
9129
9129
|
var countSize = Math.max(5, Math.floor(diffDayNum / gapTime) + 1);
|
|
9130
|
-
switch (minScale.type) {
|
|
9131
|
-
|
|
9132
|
-
|
|
9133
|
-
|
|
9134
|
-
|
|
9135
|
-
|
|
9136
|
-
|
|
9137
|
-
|
|
9138
|
-
|
|
9139
|
-
|
|
9140
|
-
|
|
9141
|
-
|
|
9142
|
-
|
|
9143
|
-
|
|
9144
|
-
|
|
9145
|
-
|
|
9146
|
-
|
|
9147
|
-
|
|
9148
|
-
|
|
9149
|
-
|
|
9150
|
-
|
|
9151
|
-
|
|
9152
|
-
|
|
9153
|
-
|
|
9154
|
-
|
|
9155
|
-
|
|
9156
|
-
|
|
9157
|
-
|
|
9158
|
-
|
|
9159
|
-
|
|
9160
|
-
}
|
|
9130
|
+
// switch (minScale.type) {
|
|
9131
|
+
// case 'day':
|
|
9132
|
+
// case 'date':
|
|
9133
|
+
// if (diffDayNum > (1000 * 60 * 60 * 24 * 366 * 3)) {
|
|
9134
|
+
// reactData.tableColumn = []
|
|
9135
|
+
// reactData.headerGroups = []
|
|
9136
|
+
// return
|
|
9137
|
+
// }
|
|
9138
|
+
// break
|
|
9139
|
+
// case 'hour':
|
|
9140
|
+
// if (diffDayNum > (1000 * 60 * 60 * 24 * 31 * 3)) {
|
|
9141
|
+
// reactData.tableColumn = []
|
|
9142
|
+
// reactData.headerGroups = []
|
|
9143
|
+
// return
|
|
9144
|
+
// }
|
|
9145
|
+
// break
|
|
9146
|
+
// case 'minute':
|
|
9147
|
+
// if (diffDayNum > (1000 * 60 * 60 * 24 * 3)) {
|
|
9148
|
+
// reactData.tableColumn = []
|
|
9149
|
+
// reactData.headerGroups = []
|
|
9150
|
+
// return
|
|
9151
|
+
// }
|
|
9152
|
+
// break
|
|
9153
|
+
// case 'second':
|
|
9154
|
+
// if (diffDayNum > (1000 * 60 * 60 * 3)) {
|
|
9155
|
+
// reactData.tableColumn = []
|
|
9156
|
+
// reactData.headerGroups = []
|
|
9157
|
+
// return
|
|
9158
|
+
// }
|
|
9159
|
+
// break
|
|
9160
|
+
// }
|
|
9161
9161
|
var renderListMaps = {
|
|
9162
9162
|
year: [],
|
|
9163
9163
|
quarter: [],
|
|
@@ -9357,8 +9357,10 @@ function handleParseColumn($xeGanttView) {
|
|
|
9357
9357
|
internalData.chartMaps = ctMaps;
|
|
9358
9358
|
}
|
|
9359
9359
|
}
|
|
9360
|
-
|
|
9360
|
+
internalData.visibleColumn = fullCols;
|
|
9361
9361
|
reactData.headerGroups = groupCols;
|
|
9362
|
+
updateScrollXStatus($xeGanttView);
|
|
9363
|
+
handleTableColumn($xeGanttView);
|
|
9362
9364
|
}
|
|
9363
9365
|
function handleUpdateData($xeGanttView) {
|
|
9364
9366
|
var $xeGantt = $xeGanttView.$xeGantt;
|
|
@@ -9463,9 +9465,10 @@ function updateStyle($xeGanttView) {
|
|
|
9463
9465
|
var internalData = $xeGanttView.internalData;
|
|
9464
9466
|
var scrollbarWidth = reactData.scrollbarWidth,
|
|
9465
9467
|
scrollbarHeight = reactData.scrollbarHeight,
|
|
9466
|
-
|
|
9467
|
-
|
|
9468
|
-
var elemStore = internalData.elemStore
|
|
9468
|
+
headerGroups = reactData.headerGroups,
|
|
9469
|
+
tableColumn = reactData.tableColumn;
|
|
9470
|
+
var elemStore = internalData.elemStore,
|
|
9471
|
+
visibleColumn = internalData.visibleColumn;
|
|
9469
9472
|
var $xeTable = internalData.xeTable;
|
|
9470
9473
|
var el = $xeGanttView.$refs.refElem;
|
|
9471
9474
|
if (!el || !el.clientHeight) {
|
|
@@ -9546,82 +9549,210 @@ function updateStyle($xeGanttView) {
|
|
|
9546
9549
|
yBottomCornerEl.style.display = tFooterHeight ? 'block' : '';
|
|
9547
9550
|
}
|
|
9548
9551
|
var colInfoElem = $xeGanttView.$refs.refColInfoElem;
|
|
9552
|
+
var viewCellWidth = 40;
|
|
9549
9553
|
if (colInfoElem) {
|
|
9550
|
-
|
|
9554
|
+
viewCellWidth = colInfoElem.clientWidth || 40;
|
|
9551
9555
|
}
|
|
9552
|
-
var viewTableWidth =
|
|
9556
|
+
var viewTableWidth = viewCellWidth * visibleColumn.length;
|
|
9553
9557
|
if (bodyScrollElem) {
|
|
9554
9558
|
var viewWidth = bodyScrollElem.clientWidth;
|
|
9555
9559
|
var remainWidth = viewWidth - viewTableWidth;
|
|
9556
9560
|
if (remainWidth > 0) {
|
|
9557
|
-
|
|
9561
|
+
viewCellWidth += Math.floor(remainWidth / visibleColumn.length);
|
|
9558
9562
|
viewTableWidth = viewWidth;
|
|
9559
9563
|
}
|
|
9560
9564
|
}
|
|
9565
|
+
reactData.viewCellWidth = viewCellWidth;
|
|
9561
9566
|
var headerTableElem = getRefElem(elemStore['main-header-table']);
|
|
9562
9567
|
var bodyTableElem = getRefElem(elemStore['main-body-table']);
|
|
9568
|
+
var vmTableWidth = viewCellWidth * tableColumn.length;
|
|
9563
9569
|
if (headerTableElem) {
|
|
9564
9570
|
headerTableElem.style.width = "".concat(viewTableWidth, "px");
|
|
9565
9571
|
}
|
|
9566
9572
|
if (bodyTableElem) {
|
|
9567
|
-
bodyTableElem.style.width = "".concat(
|
|
9573
|
+
bodyTableElem.style.width = "".concat(vmTableWidth, "px");
|
|
9568
9574
|
}
|
|
9569
9575
|
reactData.scrollXWidth = viewTableWidth;
|
|
9570
9576
|
return updateChart($xeGanttView);
|
|
9571
9577
|
}
|
|
9572
|
-
function
|
|
9578
|
+
function handleRecalculateStyle($xeGanttView) {
|
|
9579
|
+
var internalData = $xeGanttView.internalData;
|
|
9580
|
+
var el = $xeGanttView.$refs.refElem;
|
|
9581
|
+
internalData.rceRunTime = Date.now();
|
|
9582
|
+
if (!el || !el.clientWidth) {
|
|
9583
|
+
return $xeGanttView.$nextTick();
|
|
9584
|
+
}
|
|
9573
9585
|
calcScrollbar($xeGanttView);
|
|
9574
9586
|
updateStyle($xeGanttView);
|
|
9575
9587
|
updateChart($xeGanttView);
|
|
9588
|
+
return computeScrollLoad($xeGanttView);
|
|
9589
|
+
}
|
|
9590
|
+
function _handleLazyRecalculate($xeGanttView) {
|
|
9591
|
+
var internalData = $xeGanttView.internalData;
|
|
9592
|
+
return new Promise(function (resolve) {
|
|
9593
|
+
var rceTimeout = internalData.rceTimeout,
|
|
9594
|
+
rceRunTime = internalData.rceRunTime;
|
|
9595
|
+
var $xeTable = internalData.xeTable;
|
|
9596
|
+
var refreshDelay = 50;
|
|
9597
|
+
if ($xeTable) {
|
|
9598
|
+
var resizeOpts = $xeTable.computeResizeOpts;
|
|
9599
|
+
refreshDelay = resizeOpts.refreshDelay || 50;
|
|
9600
|
+
}
|
|
9601
|
+
if (rceTimeout) {
|
|
9602
|
+
clearTimeout(rceTimeout);
|
|
9603
|
+
if (rceRunTime && rceRunTime + (refreshDelay - 5) < Date.now()) {
|
|
9604
|
+
resolve(handleRecalculateStyle($xeGanttView));
|
|
9605
|
+
} else {
|
|
9606
|
+
$xeGanttView.$nextTick(function () {
|
|
9607
|
+
resolve();
|
|
9608
|
+
});
|
|
9609
|
+
}
|
|
9610
|
+
} else {
|
|
9611
|
+
resolve(handleRecalculateStyle($xeGanttView));
|
|
9612
|
+
}
|
|
9613
|
+
internalData.rceTimeout = setTimeout(function () {
|
|
9614
|
+
internalData.rceTimeout = undefined;
|
|
9615
|
+
handleRecalculateStyle($xeGanttView);
|
|
9616
|
+
}, refreshDelay);
|
|
9617
|
+
});
|
|
9618
|
+
}
|
|
9619
|
+
function computeScrollLoad($xeGanttView) {
|
|
9620
|
+
var reactData = $xeGanttView.reactData;
|
|
9621
|
+
var internalData = $xeGanttView.internalData;
|
|
9622
|
+
return $xeGanttView.$nextTick().then(function () {
|
|
9623
|
+
var scrollXLoad = reactData.scrollXLoad;
|
|
9624
|
+
var scrollXStore = internalData.scrollXStore;
|
|
9625
|
+
// 计算 X 逻辑
|
|
9626
|
+
if (scrollXLoad) {
|
|
9627
|
+
var _handleVirtualXVisibl = handleVirtualXVisible($xeGanttView),
|
|
9628
|
+
toXVisibleIndex = _handleVirtualXVisibl.toVisibleIndex,
|
|
9629
|
+
visibleXSize = _handleVirtualXVisibl.visibleSize;
|
|
9630
|
+
var offsetXSize = 2;
|
|
9631
|
+
scrollXStore.preloadSize = 1;
|
|
9632
|
+
scrollXStore.offsetSize = offsetXSize;
|
|
9633
|
+
scrollXStore.visibleSize = visibleXSize;
|
|
9634
|
+
scrollXStore.endIndex = Math.max(scrollXStore.startIndex + scrollXStore.visibleSize + offsetXSize, scrollXStore.endIndex);
|
|
9635
|
+
scrollXStore.visibleStartIndex = Math.max(scrollXStore.startIndex, toXVisibleIndex);
|
|
9636
|
+
scrollXStore.visibleEndIndex = Math.min(scrollXStore.endIndex, toXVisibleIndex + visibleXSize);
|
|
9637
|
+
updateScrollXData($xeGanttView).then(function () {
|
|
9638
|
+
loadScrollXData($xeGanttView);
|
|
9639
|
+
});
|
|
9640
|
+
} else {
|
|
9641
|
+
updateScrollXSpace($xeGanttView);
|
|
9642
|
+
}
|
|
9643
|
+
});
|
|
9644
|
+
}
|
|
9645
|
+
function handleVirtualXVisible($xeGanttView) {
|
|
9646
|
+
var reactData = $xeGanttView.reactData;
|
|
9647
|
+
var internalData = $xeGanttView.internalData;
|
|
9648
|
+
var viewCellWidth = reactData.viewCellWidth;
|
|
9649
|
+
var elemStore = internalData.elemStore;
|
|
9650
|
+
var bodyScrollElem = getRefElem(elemStore['main-body-scroll']);
|
|
9651
|
+
if (bodyScrollElem) {
|
|
9652
|
+
var clientWidth = bodyScrollElem.clientWidth;
|
|
9653
|
+
var scrollLeft = bodyScrollElem.scrollLeft;
|
|
9654
|
+
var toVisibleIndex = Math.floor(scrollLeft / viewCellWidth) - 1;
|
|
9655
|
+
var visibleSize = Math.ceil(clientWidth / viewCellWidth) + 1;
|
|
9656
|
+
return {
|
|
9657
|
+
toVisibleIndex: Math.max(0, toVisibleIndex),
|
|
9658
|
+
visibleSize: Math.max(1, visibleSize)
|
|
9659
|
+
};
|
|
9660
|
+
}
|
|
9661
|
+
return {
|
|
9662
|
+
toVisibleIndex: 0,
|
|
9663
|
+
visibleSize: 6
|
|
9664
|
+
};
|
|
9665
|
+
}
|
|
9666
|
+
function loadScrollXData($xeGanttView) {
|
|
9667
|
+
var reactData = $xeGanttView.reactData;
|
|
9668
|
+
var internalData = $xeGanttView.internalData;
|
|
9669
|
+
var isScrollXBig = reactData.isScrollXBig;
|
|
9670
|
+
var scrollXStore = internalData.scrollXStore;
|
|
9671
|
+
var preloadSize = scrollXStore.preloadSize,
|
|
9672
|
+
startIndex = scrollXStore.startIndex,
|
|
9673
|
+
endIndex = scrollXStore.endIndex,
|
|
9674
|
+
offsetSize = scrollXStore.offsetSize;
|
|
9675
|
+
var _handleVirtualXVisibl2 = handleVirtualXVisible($xeGanttView),
|
|
9676
|
+
toVisibleIndex = _handleVirtualXVisibl2.toVisibleIndex,
|
|
9677
|
+
visibleSize = _handleVirtualXVisibl2.visibleSize;
|
|
9678
|
+
var offsetItem = {
|
|
9679
|
+
startIndex: Math.max(0, isScrollXBig ? toVisibleIndex - 1 : toVisibleIndex - 1 - offsetSize - preloadSize),
|
|
9680
|
+
endIndex: isScrollXBig ? toVisibleIndex + visibleSize : toVisibleIndex + visibleSize + offsetSize + preloadSize
|
|
9681
|
+
};
|
|
9682
|
+
scrollXStore.visibleStartIndex = toVisibleIndex - 1;
|
|
9683
|
+
scrollXStore.visibleEndIndex = toVisibleIndex + visibleSize + 1;
|
|
9684
|
+
var offsetStartIndex = offsetItem.startIndex,
|
|
9685
|
+
offsetEndIndex = offsetItem.endIndex;
|
|
9686
|
+
if (toVisibleIndex <= startIndex || toVisibleIndex >= endIndex - visibleSize - 1) {
|
|
9687
|
+
if (startIndex !== offsetStartIndex || endIndex !== offsetEndIndex) {
|
|
9688
|
+
scrollXStore.startIndex = offsetStartIndex;
|
|
9689
|
+
scrollXStore.endIndex = offsetEndIndex;
|
|
9690
|
+
updateScrollXData($xeGanttView);
|
|
9691
|
+
}
|
|
9692
|
+
}
|
|
9693
|
+
}
|
|
9694
|
+
function updateScrollXData($xeGanttView) {
|
|
9695
|
+
handleTableColumn($xeGanttView);
|
|
9696
|
+
updateScrollXSpace($xeGanttView);
|
|
9576
9697
|
return $xeGanttView.$nextTick();
|
|
9577
9698
|
}
|
|
9578
|
-
|
|
9579
|
-
|
|
9580
|
-
|
|
9581
|
-
|
|
9582
|
-
|
|
9583
|
-
|
|
9584
|
-
|
|
9585
|
-
|
|
9586
|
-
|
|
9587
|
-
|
|
9588
|
-
|
|
9589
|
-
|
|
9590
|
-
|
|
9591
|
-
|
|
9592
|
-
|
|
9593
|
-
|
|
9594
|
-
|
|
9595
|
-
|
|
9596
|
-
|
|
9597
|
-
|
|
9598
|
-
|
|
9599
|
-
|
|
9600
|
-
|
|
9601
|
-
|
|
9602
|
-
//
|
|
9603
|
-
//
|
|
9604
|
-
|
|
9605
|
-
|
|
9606
|
-
|
|
9607
|
-
|
|
9608
|
-
|
|
9609
|
-
//
|
|
9610
|
-
//
|
|
9611
|
-
//
|
|
9612
|
-
|
|
9613
|
-
|
|
9614
|
-
|
|
9615
|
-
//
|
|
9616
|
-
//
|
|
9617
|
-
//
|
|
9618
|
-
|
|
9619
|
-
|
|
9620
|
-
|
|
9621
|
-
|
|
9622
|
-
|
|
9623
|
-
|
|
9624
|
-
|
|
9699
|
+
function updateScrollXStatus($xeGanttView) {
|
|
9700
|
+
var reactData = $xeGanttView.reactData;
|
|
9701
|
+
var scrollXLoad = true;
|
|
9702
|
+
reactData.scrollXLoad = scrollXLoad;
|
|
9703
|
+
return scrollXLoad;
|
|
9704
|
+
}
|
|
9705
|
+
function handleTableColumn($xeGanttView) {
|
|
9706
|
+
var reactData = $xeGanttView.reactData;
|
|
9707
|
+
var internalData = $xeGanttView.internalData;
|
|
9708
|
+
var scrollXLoad = reactData.scrollXLoad;
|
|
9709
|
+
var visibleColumn = internalData.visibleColumn,
|
|
9710
|
+
scrollXStore = internalData.scrollXStore;
|
|
9711
|
+
var tableColumn = scrollXLoad ? visibleColumn.slice(scrollXStore.startIndex, scrollXStore.endIndex) : visibleColumn.slice(0);
|
|
9712
|
+
reactData.tableColumn = tableColumn;
|
|
9713
|
+
}
|
|
9714
|
+
function updateScrollXSpace($xeGanttView) {
|
|
9715
|
+
var reactData = $xeGanttView.reactData;
|
|
9716
|
+
var internalData = $xeGanttView.internalData;
|
|
9717
|
+
var scrollXLoad = reactData.scrollXLoad,
|
|
9718
|
+
scrollXWidth = reactData.scrollXWidth,
|
|
9719
|
+
viewCellWidth = reactData.viewCellWidth;
|
|
9720
|
+
var elemStore = internalData.elemStore,
|
|
9721
|
+
scrollXStore = internalData.scrollXStore;
|
|
9722
|
+
var bodyTableElem = getRefElem(elemStore['main-body-table']);
|
|
9723
|
+
// const headerTableElem = getRefElem(elemStore['main-header-table'])
|
|
9724
|
+
// const footerTableElem = getRefElem(elemStore['main-footer-table'])
|
|
9725
|
+
var startIndex = scrollXStore.startIndex;
|
|
9726
|
+
var xSpaceLeft = 0;
|
|
9727
|
+
if (scrollXLoad) {
|
|
9728
|
+
xSpaceLeft = Math.max(0, startIndex * viewCellWidth);
|
|
9729
|
+
}
|
|
9730
|
+
// if (headerTableElem) {
|
|
9731
|
+
// headerTableElem.style.transform = `translate(${xSpaceLeft}px, 0px)`
|
|
9732
|
+
// }
|
|
9733
|
+
if (bodyTableElem) {
|
|
9734
|
+
bodyTableElem.style.transform = "translate(".concat(xSpaceLeft, "px, ").concat(reactData.scrollYTop || 0, "px)");
|
|
9735
|
+
}
|
|
9736
|
+
// if (footerTableElem) {
|
|
9737
|
+
// footerTableElem.style.transform = `translate(${xSpaceLeft}px, 0px)`
|
|
9738
|
+
// }
|
|
9739
|
+
var layoutList = ['header', 'body', 'footer'];
|
|
9740
|
+
layoutList.forEach(function (layout) {
|
|
9741
|
+
var xSpaceElem = getRefElem(elemStore["main-".concat(layout, "-xSpace")]);
|
|
9742
|
+
if (xSpaceElem) {
|
|
9743
|
+
xSpaceElem.style.width = scrollXLoad ? "".concat(scrollXWidth, "px") : '';
|
|
9744
|
+
}
|
|
9745
|
+
});
|
|
9746
|
+
var scrollXSpaceEl = $xeGanttView.$refs.refScrollXSpaceElem;
|
|
9747
|
+
if (scrollXSpaceEl) {
|
|
9748
|
+
scrollXSpaceEl.style.width = "".concat(scrollXWidth, "px");
|
|
9749
|
+
}
|
|
9750
|
+
calcScrollbar($xeGanttView);
|
|
9751
|
+
return $xeGanttView.$nextTick();
|
|
9752
|
+
}
|
|
9753
|
+
function triggerScrollXEvent($xeGanttView) {
|
|
9754
|
+
loadScrollXData($xeGanttView);
|
|
9755
|
+
}
|
|
9625
9756
|
function updateScrollYSpace($xeGanttView) {
|
|
9626
9757
|
var reactData = $xeGanttView.reactData;
|
|
9627
9758
|
var internalData = $xeGanttView.internalData;
|
|
@@ -9750,6 +9881,8 @@ function syncTableScrollTop($xeGanttView, scrollTop) {
|
|
|
9750
9881
|
scrollbarWidth: 0,
|
|
9751
9882
|
// 横向滚动条的高度
|
|
9752
9883
|
scrollbarHeight: 0,
|
|
9884
|
+
// 最后滚动时间戳
|
|
9885
|
+
lastScrollTime: 0,
|
|
9753
9886
|
lazScrollLoading: false,
|
|
9754
9887
|
scrollVMLoading: false,
|
|
9755
9888
|
scrollYHeight: 0,
|
|
@@ -9878,11 +10011,15 @@ function syncTableScrollTop($xeGanttView, scrollTop) {
|
|
|
9878
10011
|
},
|
|
9879
10012
|
triggerBodyScrollEvent: function triggerBodyScrollEvent(evnt) {
|
|
9880
10013
|
var $xeGanttView = this;
|
|
10014
|
+
var reactData = $xeGanttView.reactData;
|
|
9881
10015
|
var internalData = $xeGanttView.internalData;
|
|
10016
|
+
var scrollXLoad = reactData.scrollXLoad;
|
|
9882
10017
|
var elemStore = internalData.elemStore,
|
|
9883
10018
|
inVirtualScroll = internalData.inVirtualScroll,
|
|
9884
10019
|
inHeaderScroll = internalData.inHeaderScroll,
|
|
9885
|
-
inFooterScroll = internalData.inFooterScroll
|
|
10020
|
+
inFooterScroll = internalData.inFooterScroll,
|
|
10021
|
+
lastScrollLeft = internalData.lastScrollLeft,
|
|
10022
|
+
lastScrollTop = internalData.lastScrollTop;
|
|
9886
10023
|
if (inVirtualScroll) {
|
|
9887
10024
|
return;
|
|
9888
10025
|
}
|
|
@@ -9893,42 +10030,49 @@ function syncTableScrollTop($xeGanttView, scrollTop) {
|
|
|
9893
10030
|
var headerScrollElem = getRefElem(elemStore['main-header-scroll']);
|
|
9894
10031
|
var xHandleEl = $xeGanttView.$refs.refScrollXHandleElem;
|
|
9895
10032
|
var yHandleEl = $xeGanttView.$refs.refScrollYHandleElem;
|
|
9896
|
-
|
|
9897
|
-
|
|
9898
|
-
|
|
9899
|
-
|
|
9900
|
-
|
|
10033
|
+
var scrollLeft = wrapperEl.scrollLeft;
|
|
10034
|
+
var scrollTop = wrapperEl.scrollTop;
|
|
10035
|
+
var isRollX = scrollLeft !== lastScrollLeft;
|
|
10036
|
+
var isRollY = scrollTop !== lastScrollTop;
|
|
10037
|
+
internalData.inBodyScroll = true;
|
|
10038
|
+
internalData.scrollRenderType = '';
|
|
10039
|
+
if (isRollY) {
|
|
10040
|
+
setScrollTop(yHandleEl, scrollTop);
|
|
10041
|
+
syncTableScrollTop($xeGanttView, scrollTop);
|
|
10042
|
+
}
|
|
10043
|
+
if (isRollX) {
|
|
9901
10044
|
internalData.inBodyScroll = true;
|
|
9902
|
-
setScrollLeft(xHandleEl,
|
|
9903
|
-
setScrollLeft(headerScrollElem,
|
|
9904
|
-
|
|
9905
|
-
|
|
9906
|
-
|
|
9907
|
-
}
|
|
9908
|
-
},
|
|
9909
|
-
triggerFooterScrollEvent: function triggerFooterScrollEvent(evnt) {
|
|
9910
|
-
var $xeGanttView = this;
|
|
9911
|
-
var internalData = $xeGanttView.internalData;
|
|
9912
|
-
var inVirtualScroll = internalData.inVirtualScroll,
|
|
9913
|
-
inHeaderScroll = internalData.inHeaderScroll,
|
|
9914
|
-
inBodyScroll = internalData.inBodyScroll;
|
|
9915
|
-
if (inVirtualScroll) {
|
|
9916
|
-
return;
|
|
9917
|
-
}
|
|
9918
|
-
if (inHeaderScroll || inBodyScroll) {
|
|
9919
|
-
return;
|
|
9920
|
-
}
|
|
9921
|
-
var wrapperEl = evnt.currentTarget;
|
|
9922
|
-
if (wrapperEl) {
|
|
9923
|
-
var isRollX = true;
|
|
9924
|
-
var isRollY = false;
|
|
9925
|
-
var currLeftNum = wrapperEl.scrollLeft;
|
|
9926
|
-
handleScrollEvent($xeGanttView, evnt, isRollY, isRollX, wrapperEl.scrollTop, currLeftNum);
|
|
10045
|
+
setScrollLeft(xHandleEl, scrollLeft);
|
|
10046
|
+
setScrollLeft(headerScrollElem, scrollLeft);
|
|
10047
|
+
if (scrollXLoad) {
|
|
10048
|
+
triggerScrollXEvent($xeGanttView);
|
|
10049
|
+
}
|
|
9927
10050
|
}
|
|
9928
|
-
|
|
10051
|
+
handleScrollEvent($xeGanttView, evnt, isRollY, isRollX, wrapperEl.scrollTop, scrollLeft);
|
|
10052
|
+
},
|
|
10053
|
+
// triggerFooterScrollEvent (evnt: Event) {
|
|
10054
|
+
// const $xeGanttView = this
|
|
10055
|
+
// const internalData = $xeGanttView.internalData
|
|
10056
|
+
// const { inVirtualScroll, inHeaderScroll, inBodyScroll } = internalData
|
|
10057
|
+
// if (inVirtualScroll) {
|
|
10058
|
+
// return
|
|
10059
|
+
// }
|
|
10060
|
+
// if (inHeaderScroll || inBodyScroll) {
|
|
10061
|
+
// return
|
|
10062
|
+
// }
|
|
10063
|
+
// const wrapperEl = evnt.currentTarget as HTMLDivElement
|
|
10064
|
+
// if (wrapperEl) {
|
|
10065
|
+
// const isRollX = true
|
|
10066
|
+
// const isRollY = false
|
|
10067
|
+
// const currLeftNum = wrapperEl.scrollLeft
|
|
10068
|
+
// handleScrollEvent($xeGanttView, evnt, isRollY, isRollX, wrapperEl.scrollTop, currLeftNum)
|
|
10069
|
+
// }
|
|
10070
|
+
// },
|
|
9929
10071
|
triggerVirtualScrollXEvent: function triggerVirtualScrollXEvent(evnt) {
|
|
9930
10072
|
var $xeGanttView = this;
|
|
10073
|
+
var reactData = $xeGanttView.reactData;
|
|
9931
10074
|
var internalData = $xeGanttView.internalData;
|
|
10075
|
+
var scrollXLoad = reactData.scrollXLoad;
|
|
9932
10076
|
var elemStore = internalData.elemStore,
|
|
9933
10077
|
inHeaderScroll = internalData.inHeaderScroll,
|
|
9934
10078
|
inBodyScroll = internalData.inBodyScroll;
|
|
@@ -9945,6 +10089,9 @@ function syncTableScrollTop($xeGanttView, scrollTop) {
|
|
|
9945
10089
|
internalData.inVirtualScroll = true;
|
|
9946
10090
|
setScrollLeft(headerScrollElem, currLeftNum);
|
|
9947
10091
|
setScrollLeft(bodyScrollElem, currLeftNum);
|
|
10092
|
+
if (scrollXLoad) {
|
|
10093
|
+
triggerScrollXEvent($xeGanttView);
|
|
10094
|
+
}
|
|
9948
10095
|
handleScrollEvent($xeGanttView, evnt, isRollY, isRollX, wrapperEl.scrollTop, currLeftNum);
|
|
9949
10096
|
}
|
|
9950
10097
|
},
|
|
@@ -9971,24 +10118,7 @@ function syncTableScrollTop($xeGanttView, scrollTop) {
|
|
|
9971
10118
|
},
|
|
9972
10119
|
handleUpdateSXSpace: function handleUpdateSXSpace() {
|
|
9973
10120
|
var $xeGanttView = this;
|
|
9974
|
-
|
|
9975
|
-
var internalData = $xeGanttView.internalData;
|
|
9976
|
-
var scrollXLoad = reactData.scrollXLoad,
|
|
9977
|
-
scrollXWidth = reactData.scrollXWidth;
|
|
9978
|
-
var elemStore = internalData.elemStore;
|
|
9979
|
-
var layoutList = ['header', 'body', 'footer'];
|
|
9980
|
-
layoutList.forEach(function (layout) {
|
|
9981
|
-
var xSpaceElem = getRefElem(elemStore["main-".concat(layout, "-xSpace")]);
|
|
9982
|
-
if (xSpaceElem) {
|
|
9983
|
-
xSpaceElem.style.width = scrollXLoad ? "".concat(scrollXWidth, "px") : '';
|
|
9984
|
-
}
|
|
9985
|
-
});
|
|
9986
|
-
var scrollXSpaceEl = $xeGanttView.$refs.refScrollXSpaceElem;
|
|
9987
|
-
if (scrollXSpaceEl) {
|
|
9988
|
-
scrollXSpaceEl.style.width = "".concat(scrollXWidth, "px");
|
|
9989
|
-
}
|
|
9990
|
-
calcScrollbar($xeGanttView);
|
|
9991
|
-
return $xeGanttView.$nextTick();
|
|
10121
|
+
return updateScrollXSpace($xeGanttView);
|
|
9992
10122
|
},
|
|
9993
10123
|
handleUpdateSYSpace: function handleUpdateSYSpace() {
|
|
9994
10124
|
var $xeGanttView = this;
|
|
@@ -10629,8 +10759,8 @@ function gantt_createInternalData() {
|
|
|
10629
10759
|
type: 'month',
|
|
10630
10760
|
level: viewTypeLevelMaps.month
|
|
10631
10761
|
}, {
|
|
10632
|
-
type: '
|
|
10633
|
-
level: viewTypeLevelMaps.
|
|
10762
|
+
type: 'date',
|
|
10763
|
+
level: viewTypeLevelMaps.date
|
|
10634
10764
|
});
|
|
10635
10765
|
}
|
|
10636
10766
|
reactData.taskScaleList = external_root_XEUtils_commonjs_xe_utils_commonjs2_xe_utils_amd_xe_utils_default().orderBy(scaleConfs, {
|
|
@@ -10929,20 +11059,20 @@ function gantt_createInternalData() {
|
|
|
10929
11059
|
var tipHeight = 0;
|
|
10930
11060
|
if (rsNumLeftEl) {
|
|
10931
11061
|
if (offsetLeft < 0) {
|
|
11062
|
+
rsNumLeftEl.style.display = 'none';
|
|
11063
|
+
} else {
|
|
10932
11064
|
rsNumLeftEl.textContent = "".concat(targetTableWidth, "px");
|
|
10933
11065
|
rsNumLeftEl.style.display = 'block';
|
|
10934
11066
|
tipHeight = rsNumLeftEl.offsetHeight;
|
|
10935
|
-
} else {
|
|
10936
|
-
rsNumLeftEl.style.display = 'none';
|
|
10937
11067
|
}
|
|
10938
11068
|
}
|
|
10939
11069
|
if (rsNumRightEl) {
|
|
10940
11070
|
if (offsetLeft < 0) {
|
|
10941
|
-
rsNumRightEl.style.display = 'none';
|
|
10942
|
-
} else {
|
|
10943
11071
|
rsNumRightEl.textContent = "".concat(Math.floor(containerRect.width - targetTableWidth), "px");
|
|
10944
11072
|
rsNumRightEl.style.display = 'block';
|
|
10945
11073
|
tipHeight = rsNumRightEl.offsetHeight;
|
|
11074
|
+
} else {
|
|
11075
|
+
rsNumRightEl.style.display = 'none';
|
|
10946
11076
|
}
|
|
10947
11077
|
}
|
|
10948
11078
|
var tipTop = evnt.clientY - containerRect.top - tipHeight / 2;
|
|
@@ -12234,9 +12364,9 @@ function gantt_createInternalData() {
|
|
|
12234
12364
|
class: 'vxe-gantt--resizable-split-tip-number'
|
|
12235
12365
|
}, [h('div', {
|
|
12236
12366
|
class: 'vxe-gantt--resizable-split-number-left'
|
|
12237
|
-
}
|
|
12367
|
+
}), h('div', {
|
|
12238
12368
|
class: 'vxe-gantt--resizable-split-number-right'
|
|
12239
|
-
}
|
|
12369
|
+
})])]), h('div', {
|
|
12240
12370
|
class: 'vxe-gantt--border-line'
|
|
12241
12371
|
})]));
|
|
12242
12372
|
break;
|