vxe-gantt 3.9.0-beta.0 → 3.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/es/gantt/src/gantt-body.js +4 -4
- package/es/gantt/src/gantt-chart.js +8 -8
- package/es/gantt/src/gantt-view.js +66 -223
- package/es/gantt/src/gantt.js +11 -8
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/gantt/src/gantt-body.js +4 -4
- package/lib/gantt/src/gantt-body.min.js +1 -1
- package/lib/gantt/src/gantt-chart.js +8 -8
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +60 -228
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/gantt.js +9 -9
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/index.umd.js +83 -251
- 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-body.ts +5 -5
- package/packages/gantt/src/gantt-chart.ts +9 -9
- package/packages/gantt/src/gantt-view.ts +71 -240
- package/packages/gantt/src/gantt.ts +14 -10
|
@@ -25,9 +25,9 @@ export default defineVxeComponent({
|
|
|
25
25
|
const $xeGanttView = _vm.$xeGanttView;
|
|
26
26
|
const $xeGantt = _vm.$xeGantt;
|
|
27
27
|
const { reactData, internalData } = $xeGanttView;
|
|
28
|
-
const tableReactData = $xeTable;
|
|
28
|
+
const tableReactData = $xeTable.getReactData();
|
|
29
29
|
const { resizeHeightFlag } = tableReactData;
|
|
30
|
-
const tableInternalData = $xeTable;
|
|
30
|
+
const tableInternalData = $xeTable.getInternalData();
|
|
31
31
|
const { fullAllDataRowIdData, visibleColumn } = tableInternalData;
|
|
32
32
|
const cellOpts = $xeTable.computeCellOpts;
|
|
33
33
|
const rowOpts = $xeTable.computeRowOpts;
|
|
@@ -130,9 +130,9 @@ export default defineVxeComponent({
|
|
|
130
130
|
const { reactData } = $xeGanttView;
|
|
131
131
|
const tableProps = $xeTable;
|
|
132
132
|
const { treeConfig, stripe, highlightHoverRow, editConfig } = tableProps;
|
|
133
|
-
const tableReactData = $xeTable;
|
|
133
|
+
const tableReactData = $xeTable.getReactData();
|
|
134
134
|
const { treeExpandedFlag, selectRadioRow, pendingRowFlag, isRowGroupStatus } = tableReactData;
|
|
135
|
-
const tableInternalData = $xeTable;
|
|
135
|
+
const tableInternalData = $xeTable.getInternalData();
|
|
136
136
|
const { fullAllDataRowIdData, treeExpandedMaps, pendingRowMaps } = tableInternalData;
|
|
137
137
|
const radioOpts = $xeTable.computeRadioOpts;
|
|
138
138
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
@@ -28,9 +28,9 @@ export default defineVxeComponent({
|
|
|
28
28
|
renderTaskBar(h, $xeTable, row, rowid, rowIndex, $rowIndex, _rowIndex, rowChildren, isExpandTree) {
|
|
29
29
|
const _vm = this;
|
|
30
30
|
const $xeGantt = _vm.$xeGantt;
|
|
31
|
-
const tableReactData = $xeTable;
|
|
31
|
+
const tableReactData = $xeTable.getReactData();
|
|
32
32
|
const { resizeHeightFlag, pendingRowFlag } = tableReactData;
|
|
33
|
-
const tableInternalData = $xeTable;
|
|
33
|
+
const tableInternalData = $xeTable.getInternalData();
|
|
34
34
|
const { fullAllDataRowIdData, pendingRowMaps } = tableInternalData;
|
|
35
35
|
const cellOpts = $xeTable.computeCellOpts;
|
|
36
36
|
const rowOpts = $xeTable.computeRowOpts;
|
|
@@ -252,8 +252,8 @@ export default defineVxeComponent({
|
|
|
252
252
|
},
|
|
253
253
|
mousedown(evnt) {
|
|
254
254
|
evnt.stopPropagation();
|
|
255
|
-
if ($xeGantt.
|
|
256
|
-
$xeGantt.
|
|
255
|
+
if ($xeGantt.handleTaskBarModnEvent) {
|
|
256
|
+
$xeGantt.handleTaskBarModnEvent(evnt, childCtParams);
|
|
257
257
|
}
|
|
258
258
|
}
|
|
259
259
|
}
|
|
@@ -384,8 +384,8 @@ export default defineVxeComponent({
|
|
|
384
384
|
$xeGantt.handleTaskBarDblclickEvent(evnt, barParams);
|
|
385
385
|
},
|
|
386
386
|
mousedown(evnt) {
|
|
387
|
-
if ($xeGantt.
|
|
388
|
-
$xeGantt.
|
|
387
|
+
if ($xeGantt.handleTaskBarModnEvent) {
|
|
388
|
+
$xeGantt.handleTaskBarModnEvent(evnt, barParams);
|
|
389
389
|
}
|
|
390
390
|
}
|
|
391
391
|
}
|
|
@@ -398,9 +398,9 @@ export default defineVxeComponent({
|
|
|
398
398
|
const ganttViewReactData = $xeGanttView.reactData;
|
|
399
399
|
const tableProps = $xeTable;
|
|
400
400
|
const { treeConfig } = tableProps;
|
|
401
|
-
const tableReactData = $xeTable;
|
|
401
|
+
const tableReactData = $xeTable.getReactData();
|
|
402
402
|
const { treeExpandedFlag } = tableReactData;
|
|
403
|
-
const tableInternalData = $xeTable;
|
|
403
|
+
const tableInternalData = $xeTable.getInternalData();
|
|
404
404
|
const { fullAllDataRowIdData, treeExpandedMaps } = tableInternalData;
|
|
405
405
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
406
406
|
const { transform } = treeOpts;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineVxeComponent } from '../../ui/src/comp';
|
|
2
|
-
import { VxeUI } from '@vxe-ui/core';
|
|
2
|
+
import { VxeUI, globalMixins } from '@vxe-ui/core';
|
|
3
3
|
import { getDefaultConfig } from '../../ui/src/utils';
|
|
4
4
|
import { setScrollTop, setScrollLeft, removeClass, addClass, hasClass } from '../../ui/src/dom';
|
|
5
5
|
import { getRefElem, getTaskBarLeft, getTaskBarWidth, hasMilestoneTask, getTaskType, hasSubviewTask } from './util';
|
|
@@ -8,8 +8,7 @@ import XEUtils from 'xe-utils';
|
|
|
8
8
|
import GanttViewHeaderComponent from './gantt-header';
|
|
9
9
|
import GanttViewBodyComponent from './gantt-body';
|
|
10
10
|
import GanttViewFooterComponent from './gantt-footer';
|
|
11
|
-
const { getConfig, domUtils,
|
|
12
|
-
const { getThumbOffsetSize, getThumbSize, getScrollFromClick, getScrollFromDrag } = scrollbarUtils;
|
|
11
|
+
const { getConfig, domUtils, globalResize, globalEvents, renderEmptyElement } = VxeUI;
|
|
13
12
|
const { FinishToStart, StartToFinish, StartToStart, FinishToFinish } = VxeGanttDependencyType;
|
|
14
13
|
const sourceType = 'gantt';
|
|
15
14
|
const secondMs = 1000;
|
|
@@ -739,9 +738,9 @@ function handleParseColumn($xeGanttView) {
|
|
|
739
738
|
const startField = $xeGantt.computeStartField;
|
|
740
739
|
const endField = $xeGantt.computeEndField;
|
|
741
740
|
const typeField = $xeGantt.computeTypeField;
|
|
742
|
-
const tableReactData = $xeTable;
|
|
741
|
+
const tableReactData = $xeTable.getReactData();
|
|
743
742
|
const { isRowGroupStatus } = tableReactData;
|
|
744
|
-
const tableInternalData = $xeTable;
|
|
743
|
+
const tableInternalData = $xeTable.getInternalData();
|
|
745
744
|
const { afterFullData, afterTreeFullData, afterGroupFullData } = tableInternalData;
|
|
746
745
|
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
747
746
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
@@ -822,9 +821,9 @@ function handleUpdateData($xeGanttView) {
|
|
|
822
821
|
const startField = $xeGantt.computeStartField;
|
|
823
822
|
const endField = $xeGantt.computeEndField;
|
|
824
823
|
const typeField = $xeGantt.computeTypeField;
|
|
825
|
-
const tableReactData = $xeTable;
|
|
824
|
+
const tableReactData = $xeTable.getReactData();
|
|
826
825
|
const { isRowGroupStatus } = tableReactData;
|
|
827
|
-
const tableInternalData = $xeTable;
|
|
826
|
+
const tableInternalData = $xeTable.getInternalData();
|
|
828
827
|
const { afterFullData, afterTreeFullData, afterGroupFullData } = tableInternalData;
|
|
829
828
|
const aggregateOpts = $xeTable.computeAggregateOpts;
|
|
830
829
|
const treeOpts = $xeTable.computeTreeOpts;
|
|
@@ -1257,7 +1256,7 @@ function updateStyle($xeGanttView) {
|
|
|
1257
1256
|
let tHeaderHeight = 0;
|
|
1258
1257
|
let tFooterHeight = 0;
|
|
1259
1258
|
if ($xeTable) {
|
|
1260
|
-
const tableInternalData = $xeTable;
|
|
1259
|
+
const tableInternalData = $xeTable.getInternalData();
|
|
1261
1260
|
tbHeight = tableInternalData.tBodyHeight;
|
|
1262
1261
|
tHeaderHeight = tableInternalData.tHeaderHeight;
|
|
1263
1262
|
tFooterHeight = tableInternalData.tFooterHeight;
|
|
@@ -1544,7 +1543,7 @@ function updateScrollYSpace($xeGanttView) {
|
|
|
1544
1543
|
let scrollYHeight = 0;
|
|
1545
1544
|
let isScrollYBig = false;
|
|
1546
1545
|
if ($xeTable) {
|
|
1547
|
-
const tableReactData = $xeTable;
|
|
1546
|
+
const tableReactData = $xeTable.getReactData();
|
|
1548
1547
|
ySpaceTop = tableReactData.scrollYTop;
|
|
1549
1548
|
scrollYHeight = tableReactData.scrollYHeight;
|
|
1550
1549
|
isScrollYBig = tableReactData.isScrollYBig;
|
|
@@ -1645,7 +1644,7 @@ function syncTableScrollTop($xeGanttView, scrollTop) {
|
|
|
1645
1644
|
const internalData = $xeGanttView.internalData;
|
|
1646
1645
|
const $xeTable = internalData.xeTable;
|
|
1647
1646
|
if ($xeTable) {
|
|
1648
|
-
const tableInternalData = $xeTable;
|
|
1647
|
+
const tableInternalData = $xeTable.getInternalData();
|
|
1649
1648
|
const { elemStore: tableElemStore } = tableInternalData;
|
|
1650
1649
|
const tableBodyScrollElem = getRefElem(tableElemStore['main-body-scroll']);
|
|
1651
1650
|
if (tableBodyScrollElem) {
|
|
@@ -1655,6 +1654,10 @@ function syncTableScrollTop($xeGanttView, scrollTop) {
|
|
|
1655
1654
|
}
|
|
1656
1655
|
export default defineVxeComponent({
|
|
1657
1656
|
name: 'VxeGanttView',
|
|
1657
|
+
mixins: [
|
|
1658
|
+
globalMixins.vScrollbarMixin,
|
|
1659
|
+
globalMixins.initVScrollbarMixin
|
|
1660
|
+
],
|
|
1658
1661
|
inject: {
|
|
1659
1662
|
$xeGantt: {
|
|
1660
1663
|
default: null
|
|
@@ -1680,7 +1683,13 @@ export default defineVxeComponent({
|
|
|
1680
1683
|
reScrollFlag: 0
|
|
1681
1684
|
};
|
|
1682
1685
|
},
|
|
1683
|
-
computed: Object.assign(Object.assign({}, {}), {
|
|
1686
|
+
computed: Object.assign(Object.assign({}, {}), { computeGanttIsVScrollbar() {
|
|
1687
|
+
const $xeGanttView = this;
|
|
1688
|
+
const $xeGantt = $xeGanttView.$xeGantt;
|
|
1689
|
+
const isVScrollbar = $xeGantt.computeIsVScrollbar;
|
|
1690
|
+
return isVScrollbar;
|
|
1691
|
+
},
|
|
1692
|
+
computeScrollbarXOpts() {
|
|
1684
1693
|
const $xeGanttView = this;
|
|
1685
1694
|
const $xeGantt = $xeGanttView.$xeGantt;
|
|
1686
1695
|
const scrollbarOpts = $xeGantt.computeScrollbarOpts;
|
|
@@ -1926,6 +1935,13 @@ export default defineVxeComponent({
|
|
|
1926
1935
|
//
|
|
1927
1936
|
// Method
|
|
1928
1937
|
//
|
|
1938
|
+
getScrollViewElem() {
|
|
1939
|
+
const $xeGanttView = this;
|
|
1940
|
+
const internalData = $xeGanttView.internalData;
|
|
1941
|
+
const { elemStore } = internalData;
|
|
1942
|
+
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
1943
|
+
return viewEl;
|
|
1944
|
+
},
|
|
1929
1945
|
refreshData() {
|
|
1930
1946
|
const $xeGanttView = this;
|
|
1931
1947
|
const internalData = $xeGanttView.internalData;
|
|
@@ -1947,7 +1963,7 @@ export default defineVxeComponent({
|
|
|
1947
1963
|
const ganttReactData = $xeGantt.reactData;
|
|
1948
1964
|
const $xeTable = internalData.xeTable;
|
|
1949
1965
|
if ($xeTable) {
|
|
1950
|
-
const tableReactData = $xeTable;
|
|
1966
|
+
const tableReactData = $xeTable.getReactData();
|
|
1951
1967
|
const { tableData } = tableReactData;
|
|
1952
1968
|
reactData.tableData = tableData;
|
|
1953
1969
|
if (force) {
|
|
@@ -2241,192 +2257,30 @@ export default defineVxeComponent({
|
|
|
2241
2257
|
handleLazyRecalculate($xeGanttView);
|
|
2242
2258
|
},
|
|
2243
2259
|
// 滚动条
|
|
2244
|
-
|
|
2245
|
-
const $xeGanttView = this;
|
|
2246
|
-
const reactData = $xeGanttView.reactData;
|
|
2247
|
-
const internalData = $xeGanttView.internalData;
|
|
2248
|
-
const { elemStore } = internalData;
|
|
2249
|
-
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
2250
|
-
if (!viewEl) {
|
|
2251
|
-
return;
|
|
2252
|
-
}
|
|
2253
|
-
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
2254
|
-
return;
|
|
2255
|
-
}
|
|
2256
|
-
const trackXEl = $xeGanttView.$refs.refTrackXElem;
|
|
2257
|
-
const xThumbWidth = trackXEl ? getThumbSize(viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth) : 0;
|
|
2258
|
-
const thumbXElem = $xeGanttView.$refs.refThumbXElem;
|
|
2259
|
-
if (thumbXElem) {
|
|
2260
|
-
thumbXElem.style.width = xThumbWidth + 'px';
|
|
2261
|
-
}
|
|
2262
|
-
reactData.xThumbWidth = xThumbWidth;
|
|
2263
|
-
const trackYEl = $xeGanttView.$refs.refTrackYElem;
|
|
2264
|
-
const yThumbHeight = trackYEl ? getThumbSize(viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight) : 0;
|
|
2265
|
-
const thumbYElem = $xeGanttView.$refs.refThumbYElem;
|
|
2266
|
-
if (thumbYElem) {
|
|
2267
|
-
thumbYElem.style.height = yThumbHeight + 'px';
|
|
2268
|
-
}
|
|
2269
|
-
reactData.yThumbHeight = yThumbHeight;
|
|
2270
|
-
},
|
|
2271
|
-
updateThumbOffset() {
|
|
2272
|
-
const $xeGanttView = this;
|
|
2273
|
-
const reactData = $xeGanttView.reactData;
|
|
2274
|
-
const internalData = $xeGanttView.internalData;
|
|
2275
|
-
const { elemStore } = internalData;
|
|
2276
|
-
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
2277
|
-
if (!viewEl) {
|
|
2278
|
-
return;
|
|
2279
|
-
}
|
|
2280
|
-
if (!viewEl.clientHeight || !viewEl.clientHeight) {
|
|
2281
|
-
return;
|
|
2282
|
-
}
|
|
2283
|
-
const { xThumbWidth, yThumbHeight } = reactData;
|
|
2284
|
-
const trackXEl = $xeGanttView.$refs.refTrackXElem;
|
|
2285
|
-
const thumbXElem = $xeGanttView.$refs.refThumbXElem;
|
|
2286
|
-
const xThumbLeft = trackXEl && xThumbWidth ? getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackXEl.clientWidth, xThumbWidth) : 0;
|
|
2287
|
-
internalData.xThumbLeft = xThumbLeft;
|
|
2288
|
-
if (thumbXElem && xThumbWidth) {
|
|
2289
|
-
thumbXElem.style.width = xThumbWidth + 'px';
|
|
2290
|
-
thumbXElem.style.transform = `translateX(${xThumbLeft}px)`;
|
|
2291
|
-
}
|
|
2292
|
-
const trackYEl = $xeGanttView.$refs.refTrackYElem;
|
|
2293
|
-
const thumbYElem = $xeGanttView.$refs.refThumbYElem;
|
|
2294
|
-
const yThumbTop = trackYEl && yThumbHeight ? getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackYEl.clientHeight, yThumbHeight) : 0;
|
|
2295
|
-
internalData.yThumbTop = yThumbTop;
|
|
2296
|
-
if (thumbYElem && yThumbHeight) {
|
|
2297
|
-
thumbYElem.style.height = yThumbHeight + 'px';
|
|
2298
|
-
thumbYElem.style.transform = `translateY(${yThumbTop}px)`;
|
|
2299
|
-
}
|
|
2300
|
-
},
|
|
2301
|
-
clickTrackXEvent(evnt) {
|
|
2302
|
-
const $xeGanttView = this;
|
|
2303
|
-
const reactData = $xeGanttView.reactData;
|
|
2304
|
-
const internalData = $xeGanttView.internalData;
|
|
2305
|
-
const trackEl = evnt.currentTarget;
|
|
2306
|
-
if (trackEl !== evnt.target) {
|
|
2307
|
-
return;
|
|
2308
|
-
}
|
|
2309
|
-
const { elemStore } = internalData;
|
|
2310
|
-
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
2311
|
-
if (!viewEl) {
|
|
2312
|
-
return;
|
|
2313
|
-
}
|
|
2314
|
-
const { xThumbWidth } = reactData;
|
|
2315
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
2316
|
-
viewEl.scrollTo({
|
|
2317
|
-
left: getScrollFromClick(evnt.clientX - trackRect.left, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth),
|
|
2318
|
-
behavior: 'auto'
|
|
2319
|
-
});
|
|
2320
|
-
},
|
|
2321
|
-
clickTrackYEvent(evnt) {
|
|
2322
|
-
const $xeGanttView = this;
|
|
2323
|
-
const reactData = $xeGanttView.reactData;
|
|
2324
|
-
const internalData = $xeGanttView.internalData;
|
|
2325
|
-
const trackEl = evnt.currentTarget;
|
|
2326
|
-
if (trackEl !== evnt.target) {
|
|
2327
|
-
return;
|
|
2328
|
-
}
|
|
2329
|
-
const { elemStore } = internalData;
|
|
2330
|
-
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
2331
|
-
if (!viewEl) {
|
|
2332
|
-
return;
|
|
2333
|
-
}
|
|
2334
|
-
const { yThumbHeight } = reactData;
|
|
2335
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
2336
|
-
viewEl.scrollTo({
|
|
2337
|
-
top: getScrollFromClick(evnt.clientY - trackRect.top, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight),
|
|
2338
|
-
behavior: 'auto'
|
|
2339
|
-
});
|
|
2340
|
-
},
|
|
2341
|
-
pointerdownThumbXEvent(evnt) {
|
|
2342
|
-
const $xeGanttView = this;
|
|
2343
|
-
const reactData = $xeGanttView.reactData;
|
|
2344
|
-
const internalData = $xeGanttView.internalData;
|
|
2345
|
-
const thumbEl = evnt.currentTarget;
|
|
2346
|
-
internalData.isThumbDrag = true;
|
|
2347
|
-
thumbEl.setPointerCapture(evnt.pointerId);
|
|
2348
|
-
const { elemStore } = internalData;
|
|
2349
|
-
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
2350
|
-
if (!viewEl) {
|
|
2351
|
-
return;
|
|
2352
|
-
}
|
|
2353
|
-
const { xThumbWidth } = reactData;
|
|
2354
|
-
const trackEl = thumbEl.parentElement;
|
|
2355
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
2356
|
-
const pointerPosition = evnt.clientX - trackRect.left;
|
|
2357
|
-
// 记录 thumb 的偏移
|
|
2358
|
-
const thumbOffset = getThumbOffsetSize(viewEl.scrollLeft, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
2359
|
-
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
2360
|
-
},
|
|
2361
|
-
pointermoveThumbXEvent(evnt) {
|
|
2362
|
-
const $xeGanttView = this;
|
|
2363
|
-
const reactData = $xeGanttView.reactData;
|
|
2364
|
-
const internalData = $xeGanttView.internalData;
|
|
2365
|
-
const thumbEl = evnt.currentTarget;
|
|
2366
|
-
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
2367
|
-
return;
|
|
2368
|
-
}
|
|
2369
|
-
const { elemStore, isThumbDrag, thumbDragOffset } = internalData;
|
|
2370
|
-
if (isThumbDrag) {
|
|
2371
|
-
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
2372
|
-
if (!viewEl) {
|
|
2373
|
-
return;
|
|
2374
|
-
}
|
|
2375
|
-
const { xThumbWidth } = reactData;
|
|
2376
|
-
const thumbEl = evnt.currentTarget;
|
|
2377
|
-
const trackEl = thumbEl.parentElement;
|
|
2378
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
2379
|
-
// 更新偏移
|
|
2380
|
-
viewEl.scrollLeft = getScrollFromDrag(evnt.clientX - trackRect.left, thumbDragOffset, viewEl.clientWidth, viewEl.scrollWidth, trackEl.clientWidth, xThumbWidth);
|
|
2381
|
-
}
|
|
2382
|
-
},
|
|
2383
|
-
cleatPointerThumbEvent(evnt) {
|
|
2260
|
+
bindScrollbarResize() {
|
|
2384
2261
|
const $xeGanttView = this;
|
|
2385
2262
|
const internalData = $xeGanttView.internalData;
|
|
2386
|
-
const
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
// 记录 thumb 的偏移
|
|
2407
|
-
const thumbOffset = getThumbOffsetSize(viewEl.scrollTop, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
2408
|
-
internalData.thumbDragOffset = pointerPosition - thumbOffset;
|
|
2409
|
-
},
|
|
2410
|
-
pointermoveThumbYEvent(evnt) {
|
|
2411
|
-
const $xeGanttView = this;
|
|
2412
|
-
const reactData = $xeGanttView.reactData;
|
|
2413
|
-
const internalData = $xeGanttView.internalData;
|
|
2414
|
-
const thumbEl = evnt.currentTarget;
|
|
2415
|
-
if (!thumbEl.hasPointerCapture(evnt.pointerId)) {
|
|
2416
|
-
return;
|
|
2417
|
-
}
|
|
2418
|
-
const { elemStore, isThumbDrag, thumbDragOffset } = internalData;
|
|
2419
|
-
if (isThumbDrag) {
|
|
2420
|
-
const viewEl = getRefElem(elemStore['main-body-scroll']);
|
|
2421
|
-
if (!viewEl) {
|
|
2422
|
-
return;
|
|
2263
|
+
const { elemStore, scrollObserver } = internalData;
|
|
2264
|
+
const isVScrollbar = $xeGanttView.$refs.computeIsVScrollbar;
|
|
2265
|
+
if (isVScrollbar) {
|
|
2266
|
+
if (!scrollObserver) {
|
|
2267
|
+
const el = $xeGanttView.$refs.refElem;
|
|
2268
|
+
const viewInnerXEl = getRefElem(elemStore['main-body-xSpace']);
|
|
2269
|
+
const viewInnerYEl = getRefElem(elemStore['main-body-xSpace']);
|
|
2270
|
+
const scrollObserver = globalResize.create(() => {
|
|
2271
|
+
$xeGanttView.reScrollFlag++;
|
|
2272
|
+
});
|
|
2273
|
+
if (el) {
|
|
2274
|
+
scrollObserver.observe(el);
|
|
2275
|
+
}
|
|
2276
|
+
if (viewInnerXEl) {
|
|
2277
|
+
scrollObserver.observe(viewInnerXEl);
|
|
2278
|
+
}
|
|
2279
|
+
if (viewInnerYEl) {
|
|
2280
|
+
scrollObserver.observe(viewInnerYEl);
|
|
2281
|
+
}
|
|
2282
|
+
internalData.scrollObserver = scrollObserver;
|
|
2423
2283
|
}
|
|
2424
|
-
const { yThumbHeight } = reactData;
|
|
2425
|
-
const thumbEl = evnt.currentTarget;
|
|
2426
|
-
const trackEl = thumbEl.parentElement;
|
|
2427
|
-
const trackRect = trackEl.getBoundingClientRect();
|
|
2428
|
-
// 更新偏移
|
|
2429
|
-
viewEl.scrollTop = getScrollFromDrag(evnt.clientY - trackRect.top, thumbDragOffset, viewEl.clientHeight, viewEl.scrollHeight, trackEl.clientHeight, yThumbHeight);
|
|
2430
2284
|
}
|
|
2431
2285
|
},
|
|
2432
2286
|
//
|
|
@@ -2535,11 +2389,10 @@ export default defineVxeComponent({
|
|
|
2535
2389
|
const $xeGantt = $xeGanttView.$xeGantt;
|
|
2536
2390
|
const reactData = $xeGanttView.reactData;
|
|
2537
2391
|
const ganttReactData = $xeGantt.reactData;
|
|
2538
|
-
const ganttProps = $xeGantt;
|
|
2539
2392
|
const { showLeftView } = ganttReactData;
|
|
2540
|
-
const { useScrollbar } = ganttProps;
|
|
2541
2393
|
const { xThumbWidth, yThumbHeight } = reactData;
|
|
2542
2394
|
const scrollbarOpts = $xeGantt.computeScrollbarOpts;
|
|
2395
|
+
const isVScrollbar = $xeGantt.computeIsVScrollbar;
|
|
2543
2396
|
const scrollXAutoHide = $xeGanttView.computeScrollXAutoHide;
|
|
2544
2397
|
const scrollYAutoHide = $xeGanttView.computeScrollYAutoHide;
|
|
2545
2398
|
const scrollXVisible = $xeGanttView.computeScrollXVisible;
|
|
@@ -2550,10 +2403,10 @@ export default defineVxeComponent({
|
|
|
2550
2403
|
return h('div', {
|
|
2551
2404
|
key: 'lvb',
|
|
2552
2405
|
class: ['vxe-gantt--layout-wrapper', `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
2553
|
-
'is--virtual-scrollbar':
|
|
2554
|
-
'ov-padding':
|
|
2555
|
-
'ov-x--auto-hide':
|
|
2556
|
-
'ov-y--auto-hide':
|
|
2406
|
+
'is--virtual-scrollbar': isVScrollbar,
|
|
2407
|
+
'ov-padding': isVScrollbar && scrollbarOpts.padding,
|
|
2408
|
+
'ov-x--auto-hide': isVScrollbar && scrollXAutoHide,
|
|
2409
|
+
'ov-y--auto-hide': isVScrollbar && scrollYAutoHide,
|
|
2557
2410
|
'overflow-y': yThumbHeight,
|
|
2558
2411
|
'overflow-x': xThumbWidth
|
|
2559
2412
|
}]
|
|
@@ -2611,9 +2464,8 @@ export default defineVxeComponent({
|
|
|
2611
2464
|
const $xeGanttView = this;
|
|
2612
2465
|
const $xeGantt = $xeGanttView.$xeGantt;
|
|
2613
2466
|
const reactData = $xeGanttView.reactData;
|
|
2614
|
-
const ganttProps = $xeGantt;
|
|
2615
|
-
const { useScrollbar } = ganttProps;
|
|
2616
2467
|
const { overflowX, overflowY, scrollXLoad, scrollYLoad } = reactData;
|
|
2468
|
+
const isVScrollbar = $xeGantt.computeIsVScrollbar;
|
|
2617
2469
|
const scrollbarXToTop = $xeGantt.computeScrollbarXToTop;
|
|
2618
2470
|
return h('div', {
|
|
2619
2471
|
ref: 'refElem',
|
|
@@ -2626,7 +2478,7 @@ export default defineVxeComponent({
|
|
|
2626
2478
|
}, [
|
|
2627
2479
|
h('div', {
|
|
2628
2480
|
class: 'vxe-gantt-view--render-wrapper'
|
|
2629
|
-
},
|
|
2481
|
+
}, isVScrollbar
|
|
2630
2482
|
? [$xeGanttView.renderVirtualBody(h)]
|
|
2631
2483
|
: (scrollbarXToTop
|
|
2632
2484
|
? [
|
|
@@ -2649,6 +2501,15 @@ export default defineVxeComponent({
|
|
|
2649
2501
|
}
|
|
2650
2502
|
},
|
|
2651
2503
|
watch: {
|
|
2504
|
+
computeGanttIsVScrollbar() {
|
|
2505
|
+
const $xeGanttView = this;
|
|
2506
|
+
$xeGanttView.$nextTick(() => {
|
|
2507
|
+
$xeGanttView.bindScrollbarResize();
|
|
2508
|
+
$xeGanttView.$nextTick(() => {
|
|
2509
|
+
$xeGanttView.reScrollFlag++;
|
|
2510
|
+
});
|
|
2511
|
+
});
|
|
2512
|
+
},
|
|
2652
2513
|
computeScrollbarXToTop() {
|
|
2653
2514
|
const $xeGanttView = this;
|
|
2654
2515
|
$xeGanttView.reScrollFlag++;
|
|
@@ -2685,26 +2546,8 @@ export default defineVxeComponent({
|
|
|
2685
2546
|
},
|
|
2686
2547
|
mounted() {
|
|
2687
2548
|
const $xeGanttView = this;
|
|
2688
|
-
const $xeGantt = $xeGanttView.$xeGantt;
|
|
2689
|
-
const internalData = $xeGanttView.internalData;
|
|
2690
2549
|
$xeGanttView.$nextTick(() => {
|
|
2691
|
-
|
|
2692
|
-
const { useScrollbar } = ganttProps;
|
|
2693
|
-
const { elemStore } = internalData;
|
|
2694
|
-
const el = $xeGanttView.$refs.refElem;
|
|
2695
|
-
if (useScrollbar) {
|
|
2696
|
-
const viewInnerEl = getRefElem(elemStore['main-body-table']);
|
|
2697
|
-
const scrollObserver = globalResize.create(() => {
|
|
2698
|
-
$xeGanttView.reScrollFlag++;
|
|
2699
|
-
});
|
|
2700
|
-
if (el) {
|
|
2701
|
-
scrollObserver.observe(el);
|
|
2702
|
-
}
|
|
2703
|
-
if (viewInnerEl) {
|
|
2704
|
-
scrollObserver.observe(viewInnerEl);
|
|
2705
|
-
}
|
|
2706
|
-
internalData.scrollObserver = scrollObserver;
|
|
2707
|
-
}
|
|
2550
|
+
$xeGanttView.bindScrollbarResize();
|
|
2708
2551
|
});
|
|
2709
2552
|
globalEvents.on($xeGanttView, 'resize', $xeGanttView.handleGlobalResizeEvent);
|
|
2710
2553
|
},
|
package/es/gantt/src/gantt.js
CHANGED
|
@@ -136,7 +136,8 @@ function createReactData() {
|
|
|
136
136
|
export default {
|
|
137
137
|
name: 'VxeGantt',
|
|
138
138
|
mixins: [
|
|
139
|
-
globalMixins.sizeMixin
|
|
139
|
+
globalMixins.sizeMixin,
|
|
140
|
+
globalMixins.vScrollbarMixin
|
|
140
141
|
],
|
|
141
142
|
props: Object.assign(Object.assign({}, tableProps), { columns: Array, pagerConfig: Object, proxyConfig: Object, toolbarConfig: Object, formConfig: Object, zoomConfig: Object, links: Array, layouts: Array, taskConfig: Object, taskViewScaleConfig: Object, taskNowLineConfig: Object, taskViewConfig: Object, taskLinkConfig: Object, taskBarConfig: Object, taskBarMilestoneConfig: Object, taskCriticalPathConfig: Object, taskBarSubviewConfig: Object, taskBarTooltipConfig: Object, taskSplitConfig: Object, taskBarResizeConfig: Object, taskBarResizeTooltipConfig: Object, taskBarMoveConfig: Object, taskBarMoveTooltipConfig: Object, size: {
|
|
142
143
|
type: String,
|
|
@@ -407,8 +408,9 @@ export default {
|
|
|
407
408
|
const $xeGantt = this;
|
|
408
409
|
const props = $xeGantt;
|
|
409
410
|
const reactData = $xeGantt.reactData;
|
|
410
|
-
const { height, maxHeight,
|
|
411
|
+
const { height, maxHeight, taskBarSubviewConfig } = props;
|
|
411
412
|
const { isZMax, tZindex, overflowY, scrollbarWidth } = reactData;
|
|
413
|
+
const isVScrollbar = $xeGantt.computeIsVScrollbar;
|
|
412
414
|
const taskViewOpts = $xeGantt.computeTaskViewOpts;
|
|
413
415
|
const { viewStyle, tableStyle } = taskViewOpts;
|
|
414
416
|
const taskBarOpts = $xeGantt.computeTaskBarOpts;
|
|
@@ -421,7 +423,7 @@ export default {
|
|
|
421
423
|
const barWidth = $xeGantt.computeScrollYWidth;
|
|
422
424
|
const barHeight = $xeGantt.computeScrollXHeight;
|
|
423
425
|
const stys = {
|
|
424
|
-
'--vxe-ui-gantt-scrollbar-width': (overflowY ? (
|
|
426
|
+
'--vxe-ui-gantt-scrollbar-width': (overflowY ? (isVScrollbar ? 'var(--vxe-ui-scrollbar-y-width)' : (scrollbarWidth + 'px')) : '')
|
|
425
427
|
};
|
|
426
428
|
if (cpLineColor) {
|
|
427
429
|
stys['--vxe-ui-gantt-view-bar-critical-path-line-color'] = cpLineColor;
|
|
@@ -1230,7 +1232,7 @@ export default {
|
|
|
1230
1232
|
reactData.formData = formData;
|
|
1231
1233
|
}
|
|
1232
1234
|
if ($xeTable) {
|
|
1233
|
-
const tableInternalData = $xeTable;
|
|
1235
|
+
const tableInternalData = $xeTable.getInternalData();
|
|
1234
1236
|
const { tableFullColumn, fullColumnFieldData } = tableInternalData;
|
|
1235
1237
|
const sortOpts = $xeTable.computeSortOpts;
|
|
1236
1238
|
let defaultSort = sortOpts.defaultSort;
|
|
@@ -2097,7 +2099,7 @@ export default {
|
|
|
2097
2099
|
if ($xeTable) {
|
|
2098
2100
|
const tableProps = $xeTable;
|
|
2099
2101
|
const { highlightCurrentRow } = tableProps;
|
|
2100
|
-
const tableReactData = $xeTable;
|
|
2102
|
+
const tableReactData = $xeTable.getReactData();
|
|
2101
2103
|
const { radioColumn, checkboxColumn } = tableReactData;
|
|
2102
2104
|
const radioOpts = $xeTable.computeRadioOpts;
|
|
2103
2105
|
const checkboxOpts = $xeTable.computeCheckboxOpts;
|
|
@@ -2649,10 +2651,9 @@ export default {
|
|
|
2649
2651
|
},
|
|
2650
2652
|
renderChildLayout(h, layoutKeys) {
|
|
2651
2653
|
const $xeGantt = this;
|
|
2652
|
-
const props = $xeGantt;
|
|
2653
2654
|
const reactData = $xeGantt.reactData;
|
|
2654
|
-
const { useScrollbar } = props;
|
|
2655
2655
|
const { showLeftView, showRightView } = reactData;
|
|
2656
|
+
const isVScrollbar = $xeGantt.computeIsVScrollbar;
|
|
2656
2657
|
const taskSplitOpts = $xeGantt.computeTaskSplitOpts;
|
|
2657
2658
|
const scrollbarXToTop = $xeGantt.computeScrollbarXToTop;
|
|
2658
2659
|
const scrollbarYToLeft = $xeGantt.computeScrollbarYToLeft;
|
|
@@ -2674,7 +2675,7 @@ export default {
|
|
|
2674
2675
|
ref: 'refGanttContainerElem',
|
|
2675
2676
|
key: 'tv',
|
|
2676
2677
|
class: ['vxe-gantt--gantt-container', `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
2677
|
-
'is--virtual-scrollbar':
|
|
2678
|
+
'is--virtual-scrollbar': isVScrollbar,
|
|
2678
2679
|
'show--left': showLeftView,
|
|
2679
2680
|
'hide--left': !showLeftView,
|
|
2680
2681
|
'show--right': showRightView,
|
|
@@ -2804,6 +2805,7 @@ export default {
|
|
|
2804
2805
|
const reactData = $xeGantt.reactData;
|
|
2805
2806
|
const { showLeftView, showRightView, overflowY, overflowX, showSplitAnimat } = reactData;
|
|
2806
2807
|
const vSize = $xeGantt.computeSize;
|
|
2808
|
+
const isVScrollbar = $xeGantt.computeIsVScrollbar;
|
|
2807
2809
|
const wrapperStyle = $xeGantt.computeWrapperStyle;
|
|
2808
2810
|
const isLoading = $xeGantt.computeIsLoading;
|
|
2809
2811
|
const taskSplitOpts = $xeGantt.computeTaskSplitOpts;
|
|
@@ -2814,6 +2816,7 @@ export default {
|
|
|
2814
2816
|
ref: 'refElem',
|
|
2815
2817
|
class: ['vxe-gantt', `border--${tableBorder}`, `sx-pos--${scrollbarXToTop ? 'top' : 'bottom'}`, `sy-pos--${scrollbarYToLeft ? 'left' : 'right'}`, {
|
|
2816
2818
|
[`size--${vSize}`]: vSize,
|
|
2819
|
+
'is--virtual-scrollbar': isVScrollbar,
|
|
2817
2820
|
'is--round': props.round,
|
|
2818
2821
|
'show--animat': taskSplitOpts.animation,
|
|
2819
2822
|
'is--maximize': reactData.isZMax,
|
package/es/ui/index.js
CHANGED
package/es/ui/src/log.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VxeUI } from '@vxe-ui/core';
|
|
2
2
|
const { log } = VxeUI;
|
|
3
|
-
const ganttVersion = `gantt v${"3.9.0-beta.
|
|
3
|
+
const ganttVersion = `gantt v${"3.9.0-beta.2"}`;
|
|
4
4
|
export function createComponentLog(name) {
|
|
5
5
|
const uiVersion = VxeUI.uiVersion ? `ui v${VxeUI.uiVersion}` : '';
|
|
6
6
|
const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
|
|
@@ -39,9 +39,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
39
39
|
var $xeGantt = _vm.$xeGantt;
|
|
40
40
|
var reactData = $xeGanttView.reactData,
|
|
41
41
|
internalData = $xeGanttView.internalData;
|
|
42
|
-
var tableReactData = $xeTable;
|
|
42
|
+
var tableReactData = $xeTable.getReactData();
|
|
43
43
|
var resizeHeightFlag = tableReactData.resizeHeightFlag;
|
|
44
|
-
var tableInternalData = $xeTable;
|
|
44
|
+
var tableInternalData = $xeTable.getInternalData();
|
|
45
45
|
var fullAllDataRowIdData = tableInternalData.fullAllDataRowIdData,
|
|
46
46
|
visibleColumn = tableInternalData.visibleColumn;
|
|
47
47
|
var cellOpts = $xeTable.computeCellOpts;
|
|
@@ -159,12 +159,12 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
159
159
|
stripe = tableProps.stripe,
|
|
160
160
|
highlightHoverRow = tableProps.highlightHoverRow,
|
|
161
161
|
editConfig = tableProps.editConfig;
|
|
162
|
-
var tableReactData = $xeTable;
|
|
162
|
+
var tableReactData = $xeTable.getReactData();
|
|
163
163
|
var treeExpandedFlag = tableReactData.treeExpandedFlag,
|
|
164
164
|
selectRadioRow = tableReactData.selectRadioRow,
|
|
165
165
|
pendingRowFlag = tableReactData.pendingRowFlag,
|
|
166
166
|
isRowGroupStatus = tableReactData.isRowGroupStatus;
|
|
167
|
-
var tableInternalData = $xeTable;
|
|
167
|
+
var tableInternalData = $xeTable.getInternalData();
|
|
168
168
|
var fullAllDataRowIdData = tableInternalData.fullAllDataRowIdData,
|
|
169
169
|
treeExpandedMaps = tableInternalData.treeExpandedMaps,
|
|
170
170
|
pendingRowMaps = tableInternalData.pendingRowMaps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_util=require("./util"),_utils=require("../../ui/src/utils"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttChart=_interopRequireDefault(require("./gantt-chart"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}var sourceType="gantt",viewType="body",_default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewBody",inject:{$xeGantt:{default:null},$xeGanttView:{default:null}},computed:Object.assign({},{}),methods:{renderColumn:function(e,t,r,a,n,o,l,i,c){var s,u=this.$xeGanttView,d=this.$xeGantt,p=u.reactData,w=t.resizeHeightFlag,y=t.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_util=require("./util"),_utils=require("../../ui/src/utils"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttChart=_interopRequireDefault(require("./gantt-chart"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}var sourceType="gantt",viewType="body",_default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttViewBody",inject:{$xeGantt:{default:null},$xeGanttView:{default:null}},computed:Object.assign({},{}),methods:{renderColumn:function(e,t,r,a,n,o,l,i,c){var s,u=this.$xeGanttView,d=this.$xeGantt,p=u.reactData,u=u.internalData,w=t.getReactData().resizeHeightFlag,y=t.getInternalData(),f=y.fullAllDataRowIdData,y=y.visibleColumn,m=t.computeCellOpts,g=t.computeRowOpts,v=t.computeResizableOpts.isAllRowDrag,p=p.headerGroups,u=u.todayDateMaps,h=d.computeTaskViewOpts,x=h.showNowLine,b=d.computeScaleUnit,p=(p[p.length-1]||{}).scaleItem,_=i.field,D=i.dateObj,R=i.startDateObj,T=i.endDateObj,h=h.viewStyle||{},C=h.cellClassName,h=h.cellStyle,u=x&&p?u[p.type]:null,p=f[a]||{},f=w?(0,_util.getCellRestHeight)(p,m,g,t.computeDefaultRowHeight):0,w=[],I=(v&&g.resizable&&(s={$table:t,$grid:null,$gantt:d,seq:-1,rowid:a,row:r,rowIndex:n,$rowIndex:o,_rowIndex:l,column:y[0],columnIndex:0,$columnIndex:0,_columnIndex:0,fixed:"",source:sourceType,type:viewType,isHidden:!1,isEdit:!1,level:-1,visibleData:[],data:[],items:[]},w.push(e("div",{class:"vxe-gantt-view-cell--row-resizable",on:{mousedown:function(e){return t.handleRowResizeMousedownEvent(e,s)},dblclick:function(e){return t.handleRowResizeDblclickEvent(e,s)}}}))),{$gantt:d,source:sourceType,type:viewType,scaleType:b,dateObj:D,startDateObj:R,endDateObj:T,row:r,column:i,$rowIndex:o,rowIndex:n,_rowIndex:l});return e("td",{key:C||h?_:c,class:["vxe-gantt-view--body-column",{"is--now":x&&u===_},(0,_utils.getClass)(C,I)],style:h?Object.assign({},_xeUtils.default.isFunction(h)?h(I):h,{height:"".concat(f,"px")}):{height:"".concat(f,"px")},on:{click:function(e){d.handleTaskCellClickEvent(e,{row:r,column:i})},dblclick:function(e){d.handleTaskCellDblclickEvent(e,{row:r,column:i})},contextmenu:function(e){d.handleTaskBodyContextmenuEvent(e,I)}}},w)},renderRows:function(c,s,e){var u=this,t=u.$xeGanttView,d=u.$xeGantt,t=t.reactData,p=s.treeConfig,w=s.stripe,y=s.highlightHoverRow,f=s.editConfig,r=s.getReactData(),m=r.treeExpandedFlag,g=r.selectRadioRow,v=r.pendingRowFlag,h=r.isRowGroupStatus,r=s.getInternalData(),x=r.fullAllDataRowIdData,b=r.treeExpandedMaps,_=r.pendingRowMaps,D=s.computeRadioOpts,R=s.computeCheckboxOpts,T=s.computeRowOpts,r=s.computeTreeOpts,C=r.transform,I=r.children||r.childrenField,S=d.computeScaleUnit,r=d.computeTaskViewOpts.viewStyle||{},$=r.rowClassName,k=r.rowStyle,A=r.cellClassName,O=r.cellStyle,E=t.tableColumn,B=t.scrollYLoad,G=[];return e.forEach(function(r,a){var n=s.getRowid(r),e=x[n]||{},t={},o=a,l=-1,e=(e&&(o=e.index,l=e._index),!1),i=(f&&(e=s.isInsertByRow(r)),(T.isHover||y)&&(t.mouseenter=function(e){s.triggerHoverEvent(e,{row:r,rowIndex:o})},t.mouseleave=function(){s.clearHoverRow()}),!T.drag||h||p&&!C||(t.dragstart=s.handleRowDragDragstartEvent,t.dragend=s.handleRowDragDragendEvent,t.dragover=s.handleRowDragDragoverEvent),{$gantt:d,source:sourceType,type:viewType,scaleType:S,row:r,rowIndex:o,$rowIndex:a,_rowIndex:l}),e=(G.push(c("tr",{key:$||k||A||O?n:a,class:["vxe-gantt-view--body-row",{"row--stripe":w&&(l+1)%2==0,"is--new":e,"row--radio":D.highlight&&s.eqRow(g,r),"row--checked":R.highlight&&s.isCheckedByCheckboxRow(r),"row--pending":!!v&&!!_[n]},(0,_utils.getClass)($,i)],style:k?_xeUtils.default.isFunction(k)?k(i)||void 0:k:void 0,attrs:{rowid:n},on:t},E.map(function(e,t){return u.renderColumn(c,s,r,n,o,a,l,e,t)}))),!1),i=[];!p||B||C||(i=r[I],e=!!m&&i&&0<i.length&&!!b[n]),e&&G.push.apply(G,_toConsumableArray(u.renderRows(c,s,i)))}),G},renderVN:function(r){var t=this.$xeGantt,e=this.$xeGanttView,a=e.reactData,n=e.internalData.xeTable,o=a.tableData,l=a.tableColumn,i=a.viewCellWidth;return r("div",{ref:"refElem",class:"vxe-gantt-view--body-wrapper"},[r("div",{ref:"refBodyScroll",class:"vxe-gantt-view--body-inner-wrapper",on:{scroll:e.triggerBodyScrollEvent,contextmenu:function(e){t.handleTaskBodyContextmenuEvent(e,{source:sourceType,type:viewType,rowIndex:-1,$rowIndex:-1,_rowIndex:-1})}}},[r("div",{ref:"refBodyXSpace",class:"vxe-body--x-space"}),r("div",{ref:"refBodyYSpace",class:"vxe-body--y-space"}),r("table",{ref:"refBodyTable",class:"vxe-gantt-view--body-table"},[r("colgroup",{},l.map(function(e,t){return r("col",{key:t,style:{width:"".concat(i,"px")}})})),r("tbody",{},n?this.renderRows(r,n,o):[])]),r(_ganttChart.default)])])}},mounted:function(){var e=this,t=e.$xeGanttView.internalData.elemStore,r="main-body-";t["".concat(r,"wrapper")]=e.$refs.refElem,t["".concat(r,"scroll")]=e.$refs.refBodyScroll,t["".concat(r,"table")]=e.$refs.refBodyTable,t["".concat(r,"xSpace")]=e.$refs.refBodyXSpace,t["".concat(r,"ySpace")]=e.$refs.refBodyYSpace},destroyed:function(){var e=this.$xeGanttView.internalData.elemStore,t="main-body-";e["".concat(t,"wrapper")]=null,e["".concat(t,"scroll")]=null,e["".concat(t,"table")]=null,e["".concat(t,"xSpace")]=null,e["".concat(t,"ySpace")]=null},render:function(e){return this.renderVN(e)}});
|