gantt-task-react-powern 0.6.28 → 0.6.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/task-list/task-list.d.ts +1 -0
- package/dist/index.js +104 -21
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +104 -21
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
|
@@ -49,5 +49,6 @@ export declare type TaskListProps = {
|
|
|
49
49
|
}>;
|
|
50
50
|
containerWidth?: number;
|
|
51
51
|
innerScrollRef?: React.RefObject<HTMLDivElement>;
|
|
52
|
+
horizontalContainerRef?: React.RefObject<HTMLDivElement>;
|
|
52
53
|
} & EventOption;
|
|
53
54
|
export declare const TaskList: React.FC<TaskListProps>;
|
package/dist/index.js
CHANGED
|
@@ -898,8 +898,26 @@ var TaskList = function TaskList(_ref) {
|
|
|
898
898
|
taskLabelRenderer = _ref.taskLabelRenderer,
|
|
899
899
|
onMultiSelect = _ref.onMultiSelect,
|
|
900
900
|
containerWidth = _ref.containerWidth,
|
|
901
|
-
innerScrollRef = _ref.innerScrollRef
|
|
902
|
-
|
|
901
|
+
innerScrollRef = _ref.innerScrollRef,
|
|
902
|
+
externalHorizontalContainerRef = _ref.horizontalContainerRef;
|
|
903
|
+
var internalHorizontalContainerRef = React.useRef(null);
|
|
904
|
+
var horizontalContainerRef = externalHorizontalContainerRef != null ? externalHorizontalContainerRef : internalHorizontalContainerRef;
|
|
905
|
+
var headerScrollRef = React.useRef(null);
|
|
906
|
+
React.useEffect(function () {
|
|
907
|
+
var rowsEl = horizontalContainerRef.current;
|
|
908
|
+
if (!rowsEl) return;
|
|
909
|
+
|
|
910
|
+
var onScroll = function onScroll() {
|
|
911
|
+
if (headerScrollRef.current) {
|
|
912
|
+
headerScrollRef.current.scrollLeft = rowsEl.scrollLeft;
|
|
913
|
+
}
|
|
914
|
+
};
|
|
915
|
+
|
|
916
|
+
rowsEl.addEventListener("scroll", onScroll);
|
|
917
|
+
return function () {
|
|
918
|
+
return rowsEl.removeEventListener("scroll", onScroll);
|
|
919
|
+
};
|
|
920
|
+
}, [horizontalContainerRef]);
|
|
903
921
|
|
|
904
922
|
var _useState = React.useState([]),
|
|
905
923
|
selectedTasks = _useState[0],
|
|
@@ -1086,9 +1104,14 @@ var TaskList = function TaskList(_ref) {
|
|
|
1086
1104
|
ref: innerScrollRef,
|
|
1087
1105
|
className: styles$4.hideScrollbar,
|
|
1088
1106
|
style: {
|
|
1089
|
-
overflowX: "
|
|
1107
|
+
overflowX: "hidden"
|
|
1090
1108
|
}
|
|
1091
|
-
}, React__default.createElement(
|
|
1109
|
+
}, React__default.createElement("div", {
|
|
1110
|
+
ref: headerScrollRef,
|
|
1111
|
+
style: {
|
|
1112
|
+
overflow: "hidden"
|
|
1113
|
+
}
|
|
1114
|
+
}, React__default.createElement(TaskListHeader, Object.assign({}, headerProps))), React__default.createElement("div", {
|
|
1092
1115
|
ref: horizontalContainerRef,
|
|
1093
1116
|
className: horizontalContainerClass,
|
|
1094
1117
|
style: ganttHeight ? {
|
|
@@ -1356,6 +1379,7 @@ var GridBody = function GridBody(_ref) {
|
|
|
1356
1379
|
});
|
|
1357
1380
|
var rowBackgrounds = [];
|
|
1358
1381
|
var rowLines = [];
|
|
1382
|
+
var rowOverlays = [];
|
|
1359
1383
|
rowLines.push(React__default.createElement("line", {
|
|
1360
1384
|
key: "top-line",
|
|
1361
1385
|
x1: 0,
|
|
@@ -1364,6 +1388,7 @@ var GridBody = function GridBody(_ref) {
|
|
|
1364
1388
|
y2: visibleStartY,
|
|
1365
1389
|
className: styles$5.gridRowLine
|
|
1366
1390
|
}));
|
|
1391
|
+
var showPerRowOffDays = viewMode !== exports.ViewMode.Month && viewMode !== exports.ViewMode.Quarter;
|
|
1367
1392
|
|
|
1368
1393
|
for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {
|
|
1369
1394
|
var vi = _step.value;
|
|
@@ -1388,6 +1413,63 @@ var GridBody = function GridBody(_ref) {
|
|
|
1388
1413
|
y2: y + rowHeight,
|
|
1389
1414
|
className: styles$5.gridRowLine
|
|
1390
1415
|
}));
|
|
1416
|
+
|
|
1417
|
+
if (showPerRowOffDays) {
|
|
1418
|
+
var rowEven = vi.index % 2 === 1;
|
|
1419
|
+
var rowFill = isMilestone ? "#e6e4e4" : scheduleType === "lookAhead" ? "#fff" : rowEven ? "#f5f5f5" : "#fff";
|
|
1420
|
+
rowOverlays.push(React__default.createElement("rect", {
|
|
1421
|
+
key: "row-clean-" + vi.key,
|
|
1422
|
+
x: 0,
|
|
1423
|
+
y: y,
|
|
1424
|
+
width: svgWidth,
|
|
1425
|
+
height: rowHeight,
|
|
1426
|
+
fill: rowFill
|
|
1427
|
+
}));
|
|
1428
|
+
var cal = task.calender;
|
|
1429
|
+
|
|
1430
|
+
if (cal) {
|
|
1431
|
+
for (var _i = 0, _x = 0; _i < dates.length; _i++, _x += columnWidth) {
|
|
1432
|
+
var _dates2;
|
|
1433
|
+
|
|
1434
|
+
var _pEnd = (_dates2 = dates[_i + 1]) != null ? _dates2 : addToDate(dates[_i], 1, "day");
|
|
1435
|
+
|
|
1436
|
+
var _periodMs = _pEnd.getTime() - dates[_i].getTime();
|
|
1437
|
+
|
|
1438
|
+
if (_periodMs <= 0) continue;
|
|
1439
|
+
|
|
1440
|
+
var _cursor = new Date(dates[_i]);
|
|
1441
|
+
|
|
1442
|
+
_cursor.setHours(0, 0, 0, 0);
|
|
1443
|
+
|
|
1444
|
+
while (_cursor.getTime() < _pEnd.getTime()) {
|
|
1445
|
+
if (isOffDay(_cursor, cal)) {
|
|
1446
|
+
var _ds = _cursor.getTime() - dates[_i].getTime();
|
|
1447
|
+
|
|
1448
|
+
var _de = _ds + 86400000;
|
|
1449
|
+
|
|
1450
|
+
var _startFrac = Math.max(0, _ds) / _periodMs;
|
|
1451
|
+
|
|
1452
|
+
var _endFrac = Math.min(_periodMs, _de) / _periodMs;
|
|
1453
|
+
|
|
1454
|
+
var _rw = (_endFrac - _startFrac) * columnWidth;
|
|
1455
|
+
|
|
1456
|
+
if (_rw > 0.5) {
|
|
1457
|
+
rowOverlays.push(React__default.createElement("rect", {
|
|
1458
|
+
key: "row-offday-" + vi.key + "-" + _cursor.getTime(),
|
|
1459
|
+
x: rtl ? _x + columnWidth - (_startFrac * columnWidth + _rw) : _x + _startFrac * columnWidth,
|
|
1460
|
+
y: y,
|
|
1461
|
+
width: _rw,
|
|
1462
|
+
height: rowHeight,
|
|
1463
|
+
fill: weekendColor
|
|
1464
|
+
}));
|
|
1465
|
+
}
|
|
1466
|
+
}
|
|
1467
|
+
|
|
1468
|
+
_cursor.setDate(_cursor.getDate() + 1);
|
|
1469
|
+
}
|
|
1470
|
+
}
|
|
1471
|
+
}
|
|
1472
|
+
}
|
|
1391
1473
|
}
|
|
1392
1474
|
|
|
1393
1475
|
return React__default.createElement("g", {
|
|
@@ -1399,6 +1481,8 @@ var GridBody = function GridBody(_ref) {
|
|
|
1399
1481
|
}, rowLines), React__default.createElement("g", {
|
|
1400
1482
|
className: "offdays"
|
|
1401
1483
|
}, offDayRects), React__default.createElement("g", {
|
|
1484
|
+
className: "rowOverlays"
|
|
1485
|
+
}, rowOverlays), React__default.createElement("g", {
|
|
1402
1486
|
className: "ticks"
|
|
1403
1487
|
}, tickLines), React__default.createElement("g", {
|
|
1404
1488
|
className: "today"
|
|
@@ -3733,8 +3817,6 @@ var HorizontalScroll = function HorizontalScroll(_ref) {
|
|
|
3733
3817
|
};
|
|
3734
3818
|
|
|
3735
3819
|
var Gantt = function Gantt(_ref) {
|
|
3736
|
-
var _tasks$find$calender, _tasks$find;
|
|
3737
|
-
|
|
3738
3820
|
var tasks = _ref.tasks,
|
|
3739
3821
|
_ref$leafTasks = _ref.leafTasks,
|
|
3740
3822
|
leafTasks = _ref$leafTasks === void 0 ? [] : _ref$leafTasks,
|
|
@@ -3825,9 +3907,6 @@ var Gantt = function Gantt(_ref) {
|
|
|
3825
3907
|
projectCalendar = _ref.projectCalendar,
|
|
3826
3908
|
onCalendarError = _ref.onCalendarError,
|
|
3827
3909
|
sliderTime = _ref.sliderTime;
|
|
3828
|
-
var effectiveCalendar = (_tasks$find$calender = (_tasks$find = tasks.find(function (t) {
|
|
3829
|
-
return t.calender;
|
|
3830
|
-
})) === null || _tasks$find === void 0 ? void 0 : _tasks$find.calender) != null ? _tasks$find$calender : projectCalendar;
|
|
3831
3910
|
var wrapperRef = React.useRef(null);
|
|
3832
3911
|
var taskListRef = React.useRef(null);
|
|
3833
3912
|
var isDraggingTable = React.useRef(false);
|
|
@@ -3840,6 +3919,7 @@ var Gantt = function Gantt(_ref) {
|
|
|
3840
3919
|
setTableContainerWidth = _useState[1];
|
|
3841
3920
|
|
|
3842
3921
|
var tableInnerScrollRef = React.useRef(null);
|
|
3922
|
+
var tableHorizontalContainerRef = React.useRef(null);
|
|
3843
3923
|
var tableHScrollRef = React.useRef(null);
|
|
3844
3924
|
|
|
3845
3925
|
var _useState2 = React.useState(0),
|
|
@@ -3875,18 +3955,20 @@ var Gantt = function Gantt(_ref) {
|
|
|
3875
3955
|
setTaskListWidth = _useState5[1];
|
|
3876
3956
|
|
|
3877
3957
|
React.useEffect(function () {
|
|
3878
|
-
if (
|
|
3958
|
+
if (tableHorizontalContainerRef.current) {
|
|
3959
|
+
setTableScrollableWidth(tableHorizontalContainerRef.current.scrollWidth);
|
|
3960
|
+
} else if (tableInnerScrollRef.current) {
|
|
3879
3961
|
setTableScrollableWidth(tableInnerScrollRef.current.scrollWidth);
|
|
3880
3962
|
}
|
|
3881
3963
|
}, [taskListWidth, listCellWidth]);
|
|
3882
3964
|
|
|
3883
3965
|
var handleTableResizeMouseDown = function handleTableResizeMouseDown(e) {
|
|
3884
|
-
var _taskListRef$current$, _taskListRef$current, _tableInnerScrollRef$,
|
|
3966
|
+
var _taskListRef$current$, _taskListRef$current, _ref2, _tableHorizontalConta, _tableHorizontalConta2, _tableInnerScrollRef$, _wrapperRef$current$o, _wrapperRef$current;
|
|
3885
3967
|
|
|
3886
3968
|
isDraggingTable.current = true;
|
|
3887
3969
|
dragStartX.current = e.clientX;
|
|
3888
3970
|
dragStartWidth.current = tableContainerWidth != null ? tableContainerWidth : (_taskListRef$current$ = (_taskListRef$current = taskListRef.current) === null || _taskListRef$current === void 0 ? void 0 : _taskListRef$current.offsetWidth) != null ? _taskListRef$current$ : 0;
|
|
3889
|
-
dragMaxWidth.current = (
|
|
3971
|
+
dragMaxWidth.current = (_ref2 = (_tableHorizontalConta = (_tableHorizontalConta2 = tableHorizontalContainerRef.current) === null || _tableHorizontalConta2 === void 0 ? void 0 : _tableHorizontalConta2.scrollWidth) != null ? _tableHorizontalConta : (_tableInnerScrollRef$ = tableInnerScrollRef.current) === null || _tableInnerScrollRef$ === void 0 ? void 0 : _tableInnerScrollRef$.scrollWidth) != null ? _ref2 : Math.max(100, ((_wrapperRef$current$o = (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.offsetWidth) != null ? _wrapperRef$current$o : Infinity) - 200);
|
|
3890
3972
|
e.preventDefault();
|
|
3891
3973
|
};
|
|
3892
3974
|
|
|
@@ -4004,13 +4086,13 @@ var Gantt = function Gantt(_ref) {
|
|
|
4004
4086
|
}
|
|
4005
4087
|
|
|
4006
4088
|
debounceRef.current = setTimeout(function () {
|
|
4007
|
-
var
|
|
4089
|
+
var _projectCalendar$quar;
|
|
4008
4090
|
|
|
4009
4091
|
var filteredTasks;
|
|
4010
4092
|
filteredTasks = removeHiddenTasks(tasks);
|
|
4011
4093
|
filteredTasks = filteredTasks.sort(sortTasks);
|
|
4012
4094
|
|
|
4013
|
-
var _ganttDateRange2 = ganttDateRange(filteredTasks, viewMode, preStepsCount, (
|
|
4095
|
+
var _ganttDateRange2 = ganttDateRange(filteredTasks, viewMode, preStepsCount, (_projectCalendar$quar = projectCalendar === null || projectCalendar === void 0 ? void 0 : projectCalendar.quarter_start) != null ? _projectCalendar$quar : 0),
|
|
4014
4096
|
startDateRange = _ganttDateRange2[0],
|
|
4015
4097
|
endDateRange = _ganttDateRange2[1];
|
|
4016
4098
|
|
|
@@ -4049,7 +4131,7 @@ var Gantt = function Gantt(_ref) {
|
|
|
4049
4131
|
setBarTasks(convertToBarTasks(filteredTasks, newDates, effectiveColumnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, milestoneBackgroundColor, milestoneBackgroundSelectedColor));
|
|
4050
4132
|
setIsProcessing(false);
|
|
4051
4133
|
}, delayToRender);
|
|
4052
|
-
}, [tasks, viewMode, preStepsCount, rowHeight, barCornerRadius, taskHeight, handleWidth, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, milestoneBackgroundColor, milestoneBackgroundSelectedColor, rtl, shouldNotShowLoadingOverlay, effectiveColumnWidth,
|
|
4134
|
+
}, [tasks, viewMode, preStepsCount, rowHeight, barCornerRadius, taskHeight, handleWidth, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, milestoneBackgroundColor, milestoneBackgroundSelectedColor, rtl, shouldNotShowLoadingOverlay, effectiveColumnWidth, projectCalendar]);
|
|
4053
4135
|
React.useEffect(function () {
|
|
4054
4136
|
return function () {
|
|
4055
4137
|
clearTimeout(debounceRef.current);
|
|
@@ -4321,7 +4403,7 @@ var Gantt = function Gantt(_ref) {
|
|
|
4321
4403
|
rtl: rtl,
|
|
4322
4404
|
visibleStartY: visibleStartY,
|
|
4323
4405
|
visibleEndY: visibleEndY,
|
|
4324
|
-
projectCalendar:
|
|
4406
|
+
projectCalendar: projectCalendar,
|
|
4325
4407
|
viewMode: viewMode
|
|
4326
4408
|
};
|
|
4327
4409
|
var calendarProps = {
|
|
@@ -4333,7 +4415,7 @@ var Gantt = function Gantt(_ref) {
|
|
|
4333
4415
|
fontFamily: fontFamily,
|
|
4334
4416
|
fontSize: fontSize,
|
|
4335
4417
|
rtl: rtl,
|
|
4336
|
-
projectCalendar:
|
|
4418
|
+
projectCalendar: projectCalendar
|
|
4337
4419
|
};
|
|
4338
4420
|
var barProps = {
|
|
4339
4421
|
tasks: barTasks,
|
|
@@ -4360,7 +4442,7 @@ var Gantt = function Gantt(_ref) {
|
|
|
4360
4442
|
onClick: onClick,
|
|
4361
4443
|
onDelete: onDelete,
|
|
4362
4444
|
onCalendarError: onCalendarError,
|
|
4363
|
-
projectCalendar:
|
|
4445
|
+
projectCalendar: projectCalendar,
|
|
4364
4446
|
visibleStartY: visibleStartY,
|
|
4365
4447
|
visibleEndY: visibleEndY,
|
|
4366
4448
|
sliderTime: sliderTime
|
|
@@ -4393,7 +4475,8 @@ var Gantt = function Gantt(_ref) {
|
|
|
4393
4475
|
taskLabelRenderer: taskLabelRenderer,
|
|
4394
4476
|
onMultiSelect: onMultiSelect,
|
|
4395
4477
|
containerWidth: tableContainerWidth != null ? tableContainerWidth : undefined,
|
|
4396
|
-
innerScrollRef: tableInnerScrollRef
|
|
4478
|
+
innerScrollRef: tableInnerScrollRef,
|
|
4479
|
+
horizontalContainerRef: tableHorizontalContainerRef
|
|
4397
4480
|
};
|
|
4398
4481
|
return React__default.createElement("div", {
|
|
4399
4482
|
style: {
|
|
@@ -4489,8 +4572,8 @@ var Gantt = function Gantt(_ref) {
|
|
|
4489
4572
|
flexShrink: 0
|
|
4490
4573
|
},
|
|
4491
4574
|
onScroll: function onScroll(e) {
|
|
4492
|
-
if (
|
|
4493
|
-
|
|
4575
|
+
if (tableHorizontalContainerRef.current) {
|
|
4576
|
+
tableHorizontalContainerRef.current.scrollLeft = e.currentTarget.scrollLeft;
|
|
4494
4577
|
}
|
|
4495
4578
|
}
|
|
4496
4579
|
}, React__default.createElement("div", {
|