gantt-task-react-powern 0.6.44 → 0.6.46
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/README.md +3 -0
- package/dist/components/gantt/task-gantt-content.d.ts +6 -0
- package/dist/helpers/bar-helper.d.ts +10 -2
- package/dist/helpers/calendar-helper.d.ts +4 -1
- package/dist/helpers/date-helper.d.ts +5 -0
- package/dist/index.js +113 -91
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +113 -91
- package/dist/index.modern.js.map +1 -1
- package/dist/test/bar-segments.test.d.ts +1 -0
- package/dist/test/calendar-helper.test.d.ts +1 -0
- package/dist/test/hide-actual-before-slider.test.d.ts +1 -0
- package/dist/test/slider-bar-colors.test.d.ts +1 -0
- package/dist/test/task-list-select-all.test.d.ts +1 -0
- package/dist/types/public-types.d.ts +18 -0
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
|
@@ -268,6 +268,9 @@ var getMonday = function getMonday(date) {
|
|
|
268
268
|
var diff = date.getDate() - day + (day === 0 ? -6 : 1);
|
|
269
269
|
return new Date(date.setDate(diff));
|
|
270
270
|
};
|
|
271
|
+
var viewShowsOffDays = function viewShowsOffDays(viewMode) {
|
|
272
|
+
return viewMode !== ViewMode.Month && viewMode !== ViewMode.Quarter;
|
|
273
|
+
};
|
|
271
274
|
|
|
272
275
|
var styles = {"ganttTable":"_3_ygE","ganttTable_Header":"_1nBOt","ganttTable_HeaderSeparator":"_2eZzQ","ganttTable_HeaderResizeHandle":"_ddPJg","ganttTable_HeaderItem":"_WuQ0f","ganttTable_HeaderItemText":"_2X3fk"};
|
|
273
276
|
|
|
@@ -401,7 +404,7 @@ function isHoliday(date, cal) {
|
|
|
401
404
|
}
|
|
402
405
|
function isOffDay(date, cal) {
|
|
403
406
|
if (cal.off_days && cal.off_days.length > 0) {
|
|
404
|
-
return cal.off_days.includes(date.
|
|
407
|
+
return cal.off_days.includes(date.getDay()) || isHoliday(date, cal);
|
|
405
408
|
} else {
|
|
406
409
|
return false;
|
|
407
410
|
}
|
|
@@ -1094,6 +1097,7 @@ var TaskList = function TaskList(_ref) {
|
|
|
1094
1097
|
TaskListTable = _ref.TaskListTable,
|
|
1095
1098
|
taskLabelRenderer = _ref.taskLabelRenderer,
|
|
1096
1099
|
onMultiSelect = _ref.onMultiSelect,
|
|
1100
|
+
onSelectAll = _ref.onSelectAll,
|
|
1097
1101
|
containerWidth = _ref.containerWidth,
|
|
1098
1102
|
containerMaxWidth = _ref.containerMaxWidth,
|
|
1099
1103
|
onContentWidthChange = _ref.onContentWidthChange,
|
|
@@ -1168,9 +1172,13 @@ var TaskList = function TaskList(_ref) {
|
|
|
1168
1172
|
onContentWidthChange === null || onContentWidthChange === void 0 ? void 0 : onContentWidthChange(contentWidth);
|
|
1169
1173
|
}, [contentWidth, onContentWidthChange]);
|
|
1170
1174
|
|
|
1171
|
-
var _useState3 = useState(
|
|
1172
|
-
|
|
1173
|
-
|
|
1175
|
+
var _useState3 = useState(false),
|
|
1176
|
+
selectAllActive = _useState3[0],
|
|
1177
|
+
setSelectAllActive = _useState3[1];
|
|
1178
|
+
|
|
1179
|
+
var _useState4 = useState([]),
|
|
1180
|
+
pendingTaskSelect = _useState4[0],
|
|
1181
|
+
setPendingTaskSelect = _useState4[1];
|
|
1174
1182
|
|
|
1175
1183
|
var prevSelectedTasksRef = useRef([]);
|
|
1176
1184
|
var expandedTasks = useRef(new Set());
|
|
@@ -1279,6 +1287,19 @@ var TaskList = function TaskList(_ref) {
|
|
|
1279
1287
|
setSelectedTasks(newSelectedArray);
|
|
1280
1288
|
}
|
|
1281
1289
|
}, [tasks.length]);
|
|
1290
|
+
useEffect(function () {
|
|
1291
|
+
if (!selectAllActive) return;
|
|
1292
|
+
var selected = new Set(selectedTasks);
|
|
1293
|
+
if (tasks.every(function (task) {
|
|
1294
|
+
return selected.has(task.id);
|
|
1295
|
+
})) return;
|
|
1296
|
+
setPendingTaskSelect(taskIndex.roots.map(function (taskId) {
|
|
1297
|
+
return {
|
|
1298
|
+
taskId: taskId,
|
|
1299
|
+
selected: true
|
|
1300
|
+
};
|
|
1301
|
+
}));
|
|
1302
|
+
}, [tasks, taskIndex, selectAllActive, selectedTasks]);
|
|
1282
1303
|
|
|
1283
1304
|
var getDescendants = function getDescendants(taskId) {
|
|
1284
1305
|
var _taskIndex$childrenOf;
|
|
@@ -1316,6 +1337,11 @@ var TaskList = function TaskList(_ref) {
|
|
|
1316
1337
|
};
|
|
1317
1338
|
|
|
1318
1339
|
var handleTaskSelect = function handleTaskSelect(taskId, selected) {
|
|
1340
|
+
if (!selected && selectAllActive) {
|
|
1341
|
+
setSelectAllActive(false);
|
|
1342
|
+
onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll(false);
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1319
1345
|
setPendingTaskSelect(function (prev) {
|
|
1320
1346
|
return [].concat(prev, [{
|
|
1321
1347
|
taskId: taskId,
|
|
@@ -1325,6 +1351,9 @@ var TaskList = function TaskList(_ref) {
|
|
|
1325
1351
|
};
|
|
1326
1352
|
|
|
1327
1353
|
var handleSelectAll = function handleSelectAll(selected) {
|
|
1354
|
+
setSelectAllActive(selected);
|
|
1355
|
+
onSelectAll === null || onSelectAll === void 0 ? void 0 : onSelectAll(selected);
|
|
1356
|
+
|
|
1328
1357
|
if (selected) {
|
|
1329
1358
|
setPendingTaskSelect(taskIndex.roots.map(function (taskId) {
|
|
1330
1359
|
return {
|
|
@@ -1344,7 +1373,7 @@ var TaskList = function TaskList(_ref) {
|
|
|
1344
1373
|
fontSize: fontSize,
|
|
1345
1374
|
rowWidth: rowWidth,
|
|
1346
1375
|
scheduleType: scheduleType,
|
|
1347
|
-
allSelected: tasks.length > 0 && selectedTasks.length === tasks.length,
|
|
1376
|
+
allSelected: selectAllActive || tasks.length > 0 && selectedTasks.length === tasks.length,
|
|
1348
1377
|
onSelectAll: onMultiSelect ? handleSelectAll : undefined,
|
|
1349
1378
|
columnWidths: columnWidths,
|
|
1350
1379
|
onColumnResize: handleColumnResize
|
|
@@ -1473,7 +1502,7 @@ var GridBody = function GridBody(_ref) {
|
|
|
1473
1502
|
}));
|
|
1474
1503
|
}
|
|
1475
1504
|
|
|
1476
|
-
if (viewMode
|
|
1505
|
+
if (viewShowsOffDays(viewMode)) {
|
|
1477
1506
|
var _dates;
|
|
1478
1507
|
|
|
1479
1508
|
var pEnd = (_dates = dates[i + 1]) != null ? _dates : addToDate(dates[i], 1, "day");
|
|
@@ -1540,7 +1569,7 @@ var GridBody = function GridBody(_ref) {
|
|
|
1540
1569
|
y2: visibleStartY,
|
|
1541
1570
|
className: styles$5.gridRowLine
|
|
1542
1571
|
}));
|
|
1543
|
-
var showPerRowOffDays = viewMode
|
|
1572
|
+
var showPerRowOffDays = viewShowsOffDays(viewMode);
|
|
1544
1573
|
|
|
1545
1574
|
for (var _iterator = _createForOfIteratorHelperLoose(items), _step; !(_step = _iterator()).done;) {
|
|
1546
1575
|
var vi = _step.value;
|
|
@@ -2288,9 +2317,13 @@ var drawPathAndTriangle = function drawPathAndTriangle(taskFrom, taskTo, rowHeig
|
|
|
2288
2317
|
return [path, trianglePoints];
|
|
2289
2318
|
};
|
|
2290
2319
|
|
|
2291
|
-
var convertToBarTasks = function convertToBarTasks(tasks, dates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, milestoneBackgroundColor, milestoneBackgroundSelectedColor) {
|
|
2320
|
+
var convertToBarTasks = function convertToBarTasks(tasks, dates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, milestoneBackgroundColor, milestoneBackgroundSelectedColor, segmentBars) {
|
|
2321
|
+
if (segmentBars === void 0) {
|
|
2322
|
+
segmentBars = true;
|
|
2323
|
+
}
|
|
2324
|
+
|
|
2292
2325
|
var barTasks = tasks.map(function (t, i) {
|
|
2293
|
-
return convertToBarTask(t, i, dates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, milestoneBackgroundColor, milestoneBackgroundSelectedColor);
|
|
2326
|
+
return convertToBarTask(t, i, dates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, milestoneBackgroundColor, milestoneBackgroundSelectedColor, segmentBars);
|
|
2294
2327
|
});
|
|
2295
2328
|
var indexById = new Map();
|
|
2296
2329
|
|
|
@@ -2318,7 +2351,7 @@ var convertToBarTasks = function convertToBarTasks(tasks, dates, columnWidth, ro
|
|
|
2318
2351
|
return barTasks;
|
|
2319
2352
|
};
|
|
2320
2353
|
|
|
2321
|
-
var convertToBarTask = function convertToBarTask(task, index, dates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, milestoneBackgroundColor, milestoneBackgroundSelectedColor) {
|
|
2354
|
+
var convertToBarTask = function convertToBarTask(task, index, dates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, milestoneBackgroundColor, milestoneBackgroundSelectedColor, segmentBars) {
|
|
2322
2355
|
var barTask;
|
|
2323
2356
|
|
|
2324
2357
|
switch (task.type) {
|
|
@@ -2327,18 +2360,18 @@ var convertToBarTask = function convertToBarTask(task, index, dates, columnWidth
|
|
|
2327
2360
|
break;
|
|
2328
2361
|
|
|
2329
2362
|
case "project":
|
|
2330
|
-
barTask = convertToBar(task, index, dates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor);
|
|
2363
|
+
barTask = convertToBar(task, index, dates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, segmentBars);
|
|
2331
2364
|
break;
|
|
2332
2365
|
|
|
2333
2366
|
default:
|
|
2334
|
-
barTask = convertToBar(task, index, dates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor);
|
|
2367
|
+
barTask = convertToBar(task, index, dates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, segmentBars);
|
|
2335
2368
|
break;
|
|
2336
2369
|
}
|
|
2337
2370
|
|
|
2338
2371
|
return barTask;
|
|
2339
2372
|
};
|
|
2340
2373
|
|
|
2341
|
-
var convertToBar = function convertToBar(task, index, dates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor) {
|
|
2374
|
+
var convertToBar = function convertToBar(task, index, dates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, segmentBars) {
|
|
2342
2375
|
var x1;
|
|
2343
2376
|
var x2;
|
|
2344
2377
|
var actualx1;
|
|
@@ -2371,35 +2404,12 @@ var convertToBar = function convertToBar(task, index, dates, columnWidth, rowHei
|
|
|
2371
2404
|
var plannedSegments;
|
|
2372
2405
|
var actualSegments;
|
|
2373
2406
|
|
|
2374
|
-
if (task.calendar && task.start && task.end && task.start.getTime() > 0) {
|
|
2375
|
-
|
|
2376
|
-
var intervals = getWorkingIntervals(task.start, planEnd, task.calendar);
|
|
2377
|
-
var segs = intervals.map(function (iv) {
|
|
2378
|
-
return {
|
|
2379
|
-
x1: taskXCoordinate(iv.start, dates, columnWidth),
|
|
2380
|
-
x2: taskXCoordinate(iv.end, dates, columnWidth)
|
|
2381
|
-
};
|
|
2382
|
-
}).filter(function (s) {
|
|
2383
|
-
return s.x2 > s.x1;
|
|
2384
|
-
});
|
|
2385
|
-
if (segs.length > 0) plannedSegments = segs;
|
|
2407
|
+
if (segmentBars && task.calendar && task.start && task.end && task.start.getTime() > 0) {
|
|
2408
|
+
plannedSegments = getWorkingSegments(task.start, task.end, task.calendar, dates, columnWidth);
|
|
2386
2409
|
}
|
|
2387
2410
|
|
|
2388
|
-
if (task.calendar && task.actualStart && task.actualEnd && task.actualStart.getTime() > 0) {
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
var _intervals = getWorkingIntervals(task.actualStart, actEnd, task.calendar);
|
|
2392
|
-
|
|
2393
|
-
var _segs = _intervals.map(function (iv) {
|
|
2394
|
-
return {
|
|
2395
|
-
x1: taskXCoordinate(iv.start, dates, columnWidth),
|
|
2396
|
-
x2: taskXCoordinate(iv.end, dates, columnWidth)
|
|
2397
|
-
};
|
|
2398
|
-
}).filter(function (s) {
|
|
2399
|
-
return s.x2 > s.x1;
|
|
2400
|
-
});
|
|
2401
|
-
|
|
2402
|
-
if (_segs.length > 0) actualSegments = _segs;
|
|
2411
|
+
if (segmentBars && task.calendar && task.actualStart && task.actualEnd && task.actualStart.getTime() > 0) {
|
|
2412
|
+
actualSegments = getWorkingSegments(task.actualStart, task.actualEnd, task.calendar, dates, columnWidth);
|
|
2403
2413
|
}
|
|
2404
2414
|
|
|
2405
2415
|
var styles = _extends({
|
|
@@ -2432,6 +2442,18 @@ var convertToBar = function convertToBar(task, index, dates, columnWidth, rowHei
|
|
|
2432
2442
|
});
|
|
2433
2443
|
};
|
|
2434
2444
|
|
|
2445
|
+
var getWorkingSegments = function getWorkingSegments(start, end, calendar, dates, columnWidth) {
|
|
2446
|
+
var segs = getWorkingIntervals(start, addToDate(startOfDate(end, "day"), 1, "day"), calendar).map(function (iv) {
|
|
2447
|
+
return {
|
|
2448
|
+
x1: taskXCoordinate(iv.start, dates, columnWidth),
|
|
2449
|
+
x2: taskXCoordinate(iv.end, dates, columnWidth)
|
|
2450
|
+
};
|
|
2451
|
+
}).filter(function (s) {
|
|
2452
|
+
return s.x2 > s.x1;
|
|
2453
|
+
});
|
|
2454
|
+
return segs.length > 0 ? segs : undefined;
|
|
2455
|
+
};
|
|
2456
|
+
|
|
2435
2457
|
var convertToMilestone = function convertToMilestone(task, index, dates, columnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, milestoneBackgroundColor, milestoneBackgroundSelectedColor) {
|
|
2436
2458
|
var x = task.start && task.end ? taskXCoordinate(task.end, dates, columnWidth) : 0;
|
|
2437
2459
|
var y = taskYCoordinate(index, rowHeight, taskHeight);
|
|
@@ -3325,6 +3347,7 @@ var TaskItem = function TaskItem(props) {
|
|
|
3325
3347
|
}, taskItem[1]));
|
|
3326
3348
|
};
|
|
3327
3349
|
|
|
3350
|
+
var HIDDEN_ACTUAL_COLOR = "rgba(0, 0, 0, 0)";
|
|
3328
3351
|
var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
3329
3352
|
var _svg$current;
|
|
3330
3353
|
|
|
@@ -3356,7 +3379,12 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
3356
3379
|
projectCalendar = _ref.projectCalendar,
|
|
3357
3380
|
visibleStartY = _ref.visibleStartY,
|
|
3358
3381
|
visibleEndY = _ref.visibleEndY,
|
|
3359
|
-
sliderTime = _ref.sliderTime
|
|
3382
|
+
sliderTime = _ref.sliderTime,
|
|
3383
|
+
_ref$hideActualBefore = _ref.hideActualBeforeSlider,
|
|
3384
|
+
hideActualBeforeSlider = _ref$hideActualBefore === void 0 ? false : _ref$hideActualBefore,
|
|
3385
|
+
plannedInProgressColor = _ref.plannedInProgressColor,
|
|
3386
|
+
_ref$segmentBars = _ref.segmentBars,
|
|
3387
|
+
segmentBars = _ref$segmentBars === void 0 ? true : _ref$segmentBars;
|
|
3360
3388
|
var point = svg === null || svg === void 0 ? void 0 : (_svg$current = svg.current) === null || _svg$current === void 0 ? void 0 : _svg$current.createSVGPoint();
|
|
3361
3389
|
|
|
3362
3390
|
var _useState = useState(0),
|
|
@@ -3423,17 +3451,7 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
3423
3451
|
finalTask.actualx2 = taskXCoordinate(finalTask.actualEnd, dates, columnWidth);
|
|
3424
3452
|
}
|
|
3425
3453
|
|
|
3426
|
-
|
|
3427
|
-
var actIntervals = getWorkingIntervals(finalTask.actualStart, actEnd, cal);
|
|
3428
|
-
var actSegs = actIntervals.map(function (iv) {
|
|
3429
|
-
return {
|
|
3430
|
-
x1: taskXCoordinate(iv.start, dates, columnWidth),
|
|
3431
|
-
x2: taskXCoordinate(iv.end, dates, columnWidth)
|
|
3432
|
-
};
|
|
3433
|
-
}).filter(function (s) {
|
|
3434
|
-
return s.x2 > s.x1;
|
|
3435
|
-
});
|
|
3436
|
-
finalTask.actualSegments = actSegs.length > 0 ? actSegs : undefined;
|
|
3454
|
+
finalTask.actualSegments = segmentBars ? getWorkingSegments(finalTask.actualStart, finalTask.actualEnd, cal, dates, columnWidth) : undefined;
|
|
3437
3455
|
var offTimeDays = finalTask.calendar ? getOffDays(finalTask.calendar, finalTask.actualStart, finalTask.actualEnd) : [];
|
|
3438
3456
|
var actDays = Math.max(1, Math.round((finalTask.actualEnd.getTime() - finalTask.actualStart.getTime()) / (1000 * 60 * 60 * 24)) - offTimeDays.length);
|
|
3439
3457
|
finalTask.actualDuration = actDays;
|
|
@@ -3459,17 +3477,7 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
3459
3477
|
finalTask.x2 = taskXCoordinate(finalTask.end, dates, columnWidth);
|
|
3460
3478
|
}
|
|
3461
3479
|
|
|
3462
|
-
|
|
3463
|
-
var planIntervals = getWorkingIntervals(finalTask.start, planEnd, cal);
|
|
3464
|
-
var planSegs = planIntervals.map(function (iv) {
|
|
3465
|
-
return {
|
|
3466
|
-
x1: taskXCoordinate(iv.start, dates, columnWidth),
|
|
3467
|
-
x2: taskXCoordinate(iv.end, dates, columnWidth)
|
|
3468
|
-
};
|
|
3469
|
-
}).filter(function (s) {
|
|
3470
|
-
return s.x2 > s.x1;
|
|
3471
|
-
});
|
|
3472
|
-
finalTask.plannedSegments = planSegs.length > 0 ? planSegs : undefined;
|
|
3480
|
+
finalTask.plannedSegments = segmentBars ? getWorkingSegments(finalTask.start, finalTask.end, cal, dates, columnWidth) : undefined;
|
|
3473
3481
|
|
|
3474
3482
|
var _offTimeDays = finalTask.calendar ? getOffDays(finalTask.calendar, finalTask.start, finalTask.end) : [];
|
|
3475
3483
|
|
|
@@ -3561,17 +3569,7 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
3561
3569
|
newChangedTask.actualx2 = taskXCoordinate(newChangedTask.actualEnd, dates, columnWidth);
|
|
3562
3570
|
}
|
|
3563
3571
|
|
|
3564
|
-
|
|
3565
|
-
var actIntervals = getWorkingIntervals(newChangedTask.actualStart, actEnd, cal);
|
|
3566
|
-
var actSegs = actIntervals.map(function (iv) {
|
|
3567
|
-
return {
|
|
3568
|
-
x1: taskXCoordinate(iv.start, dates, columnWidth),
|
|
3569
|
-
x2: taskXCoordinate(iv.end, dates, columnWidth)
|
|
3570
|
-
};
|
|
3571
|
-
}).filter(function (s) {
|
|
3572
|
-
return s.x2 > s.x1;
|
|
3573
|
-
});
|
|
3574
|
-
newChangedTask.actualSegments = actSegs.length > 0 ? actSegs : undefined;
|
|
3572
|
+
newChangedTask.actualSegments = segmentBars ? getWorkingSegments(newChangedTask.actualStart, newChangedTask.actualEnd, cal, dates, columnWidth) : undefined;
|
|
3575
3573
|
var offTimeDays = newChangedTask.calendar ? getOffDays(newChangedTask.calendar, newChangedTask.actualStart, newChangedTask.actualEnd) : [];
|
|
3576
3574
|
var actDays = Math.max(1, Math.round((newChangedTask.actualEnd.getTime() - newChangedTask.actualStart.getTime()) / (1000 * 60 * 60 * 24)) - offTimeDays.length);
|
|
3577
3575
|
newChangedTask.actualDuration = actDays;
|
|
@@ -3609,17 +3607,7 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
3609
3607
|
newChangedTask.x2 = taskXCoordinate(newChangedTask.end, dates, columnWidth);
|
|
3610
3608
|
}
|
|
3611
3609
|
|
|
3612
|
-
|
|
3613
|
-
var planIntervals = getWorkingIntervals(newChangedTask.start, planEnd, cal);
|
|
3614
|
-
var planSegs = planIntervals.map(function (iv) {
|
|
3615
|
-
return {
|
|
3616
|
-
x1: taskXCoordinate(iv.start, dates, columnWidth),
|
|
3617
|
-
x2: taskXCoordinate(iv.end, dates, columnWidth)
|
|
3618
|
-
};
|
|
3619
|
-
}).filter(function (s) {
|
|
3620
|
-
return s.x2 > s.x1;
|
|
3621
|
-
});
|
|
3622
|
-
newChangedTask.plannedSegments = planSegs.length > 0 ? planSegs : undefined;
|
|
3610
|
+
newChangedTask.plannedSegments = segmentBars ? getWorkingSegments(newChangedTask.start, newChangedTask.end, cal, dates, columnWidth) : undefined;
|
|
3623
3611
|
|
|
3624
3612
|
var _offTimeDays2 = newChangedTask.calendar ? getOffDays(newChangedTask.calendar, newChangedTask.start, newChangedTask.end) : [];
|
|
3625
3613
|
|
|
@@ -3696,7 +3684,7 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
3696
3684
|
svg.current.addEventListener("mouseup", handleMouseUp);
|
|
3697
3685
|
setIsMoving(true);
|
|
3698
3686
|
}
|
|
3699
|
-
}, [ganttEvent, xStep, initEventX1Delta, onProgressChange, timeStep, onDateChange, onCalendarError, projectCalendar, svg, isMoving, point, rtl, setFailedTask, setGanttEvent, onBarTasksUpdate, dates, columnWidth]);
|
|
3687
|
+
}, [ganttEvent, xStep, initEventX1Delta, onProgressChange, timeStep, onDateChange, onCalendarError, projectCalendar, svg, isMoving, point, rtl, segmentBars, setFailedTask, setGanttEvent, onBarTasksUpdate, dates, columnWidth]);
|
|
3700
3688
|
|
|
3701
3689
|
var handleBarEventStart = function handleBarEventStart(action, task, event, type) {
|
|
3702
3690
|
try {
|
|
@@ -3851,6 +3839,17 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
3851
3839
|
|
|
3852
3840
|
var lineX = sliderTime !== undefined ? taskXCoordinate(new Date(sliderTime), dates, columnWidth) : null;
|
|
3853
3841
|
var totalHeight = tasks.length * rowHeight;
|
|
3842
|
+
var sliderDate = sliderTime != null ? new Date(sliderTime) : null;
|
|
3843
|
+
|
|
3844
|
+
var isActualBeforeSlider = function isActualBeforeSlider(task) {
|
|
3845
|
+
return hideActualBeforeSlider && !!sliderDate && !!task.actualStart && startOfDate(task.actualStart, "day") > sliderDate;
|
|
3846
|
+
};
|
|
3847
|
+
|
|
3848
|
+
var isInProgressAtSlider = function isInProgressAtSlider(_ref2) {
|
|
3849
|
+
var w = _ref2.inProgressWindow;
|
|
3850
|
+
return !!plannedInProgressColor && !!sliderDate && !!w && startOfDate(w.start, "day") <= sliderDate && (!w.end || addToDate(startOfDate(w.end, "day"), 1, "day") > sliderDate);
|
|
3851
|
+
};
|
|
3852
|
+
|
|
3854
3853
|
return React.createElement("g", {
|
|
3855
3854
|
className: "content"
|
|
3856
3855
|
}, lineX !== null && lineX > 0 && React.createElement("line", {
|
|
@@ -3876,6 +3875,19 @@ var TaskGanttContent = function TaskGanttContent(_ref) {
|
|
|
3876
3875
|
y: 0
|
|
3877
3876
|
});
|
|
3878
3877
|
|
|
3878
|
+
if (isActualBeforeSlider(task)) {
|
|
3879
|
+
task.styles = _extends({}, task.styles, {
|
|
3880
|
+
taskProgressColor: HIDDEN_ACTUAL_COLOR
|
|
3881
|
+
});
|
|
3882
|
+
}
|
|
3883
|
+
|
|
3884
|
+
if (isInProgressAtSlider(task)) {
|
|
3885
|
+
task.styles = _extends({}, task.styles, {
|
|
3886
|
+
backgroundColor: plannedInProgressColor,
|
|
3887
|
+
backgroundSelectedColor: plannedInProgressColor
|
|
3888
|
+
});
|
|
3889
|
+
}
|
|
3890
|
+
|
|
3879
3891
|
if (!task && _task.typeInternal === "milestone") {
|
|
3880
3892
|
return React.createElement("g", {
|
|
3881
3893
|
key: _task.id,
|
|
@@ -4028,6 +4040,8 @@ var HorizontalScroll = function HorizontalScroll(_ref) {
|
|
|
4028
4040
|
};
|
|
4029
4041
|
|
|
4030
4042
|
var GANTT_MIN_WIDTH_RATIO = 0.4;
|
|
4043
|
+
var PRIMARY_PATH_COLOR = "#AA00FF";
|
|
4044
|
+
var SECONDARY_PATH_COLOR = "#ff82e4";
|
|
4031
4045
|
var TABLE_GANTT_DIVIDER_WIDTH = 20;
|
|
4032
4046
|
var Gantt = function Gantt(_ref) {
|
|
4033
4047
|
var _ref3;
|
|
@@ -4115,6 +4129,7 @@ var Gantt = function Gantt(_ref) {
|
|
|
4115
4129
|
onSelect = _ref.onSelect,
|
|
4116
4130
|
onExpanderClick = _ref.onExpanderClick,
|
|
4117
4131
|
onMultiSelect = _ref.onMultiSelect,
|
|
4132
|
+
onSelectAll = _ref.onSelectAll,
|
|
4118
4133
|
taskLabelRenderer = _ref.taskLabelRenderer,
|
|
4119
4134
|
_ref$delayToRender = _ref.delayToRender,
|
|
4120
4135
|
delayToRender = _ref$delayToRender === void 0 ? 500 : _ref$delayToRender,
|
|
@@ -4122,7 +4137,10 @@ var Gantt = function Gantt(_ref) {
|
|
|
4122
4137
|
shouldNotShowLoadingOverlay = _ref$shouldNotShowLoa === void 0 ? true : _ref$shouldNotShowLoa,
|
|
4123
4138
|
projectCalendar = _ref.projectCalendar,
|
|
4124
4139
|
onCalendarError = _ref.onCalendarError,
|
|
4125
|
-
sliderTime = _ref.sliderTime
|
|
4140
|
+
sliderTime = _ref.sliderTime,
|
|
4141
|
+
_ref$hideActualBefore = _ref.hideActualBeforeSlider,
|
|
4142
|
+
hideActualBeforeSlider = _ref$hideActualBefore === void 0 ? false : _ref$hideActualBefore,
|
|
4143
|
+
plannedInProgressColor = _ref.plannedInProgressColor;
|
|
4126
4144
|
var wrapperRef = useRef(null);
|
|
4127
4145
|
var taskListRef = useRef(null);
|
|
4128
4146
|
var isDraggingTable = useRef(false);
|
|
@@ -4398,11 +4416,11 @@ var Gantt = function Gantt(_ref) {
|
|
|
4398
4416
|
uncolorAll(tasks);
|
|
4399
4417
|
|
|
4400
4418
|
if (scheduleType !== "lookAhead") {
|
|
4401
|
-
colorPath(secondaryPath,
|
|
4402
|
-
colorPath(primaryPath,
|
|
4419
|
+
colorPath(secondaryPath, SECONDARY_PATH_COLOR, tasks, "secondary");
|
|
4420
|
+
colorPath(primaryPath, PRIMARY_PATH_COLOR, tasks, "primary");
|
|
4403
4421
|
}
|
|
4404
4422
|
|
|
4405
|
-
setBarTasks(convertToBarTasks(filteredTasks, newDates, effectiveColumnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, milestoneBackgroundColor, milestoneBackgroundSelectedColor));
|
|
4423
|
+
setBarTasks(convertToBarTasks(filteredTasks, newDates, effectiveColumnWidth, rowHeight, taskHeight, barCornerRadius, handleWidth, rtl, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, milestoneBackgroundColor, milestoneBackgroundSelectedColor, viewShowsOffDays(viewMode)));
|
|
4406
4424
|
setIsProcessing(false);
|
|
4407
4425
|
}, delayToRender);
|
|
4408
4426
|
}, [tasks, viewMode, preStepsCount, rowHeight, barCornerRadius, taskHeight, handleWidth, barProgressColor, barProgressSelectedColor, barBackgroundColor, barBackgroundSelectedColor, projectProgressColor, projectProgressSelectedColor, projectBackgroundColor, projectBackgroundSelectedColor, milestoneBackgroundColor, milestoneBackgroundSelectedColor, rtl, shouldNotShowLoadingOverlay, effectiveColumnWidth, projectCalendar]);
|
|
@@ -4757,7 +4775,10 @@ var Gantt = function Gantt(_ref) {
|
|
|
4757
4775
|
projectCalendar: projectCalendar,
|
|
4758
4776
|
visibleStartY: visibleStartY,
|
|
4759
4777
|
visibleEndY: visibleEndY,
|
|
4760
|
-
sliderTime: sliderTime
|
|
4778
|
+
sliderTime: sliderTime,
|
|
4779
|
+
hideActualBeforeSlider: hideActualBeforeSlider,
|
|
4780
|
+
plannedInProgressColor: plannedInProgressColor,
|
|
4781
|
+
segmentBars: viewShowsOffDays(viewMode)
|
|
4761
4782
|
};
|
|
4762
4783
|
var tableTasks = useMemo(function () {
|
|
4763
4784
|
return ganttEvent.changedTask ? barTasks.map(function (t) {
|
|
@@ -4786,6 +4807,7 @@ var Gantt = function Gantt(_ref) {
|
|
|
4786
4807
|
TaskListTable: TaskListTable,
|
|
4787
4808
|
taskLabelRenderer: taskLabelRenderer,
|
|
4788
4809
|
onMultiSelect: onMultiSelect,
|
|
4810
|
+
onSelectAll: onSelectAll,
|
|
4789
4811
|
containerWidth: userResizedRef.current && tableContainerWidth != null ? Math.min(tableContainerWidth, tableCap) : undefined,
|
|
4790
4812
|
containerMaxWidth: tableCap === Infinity ? undefined : tableCap,
|
|
4791
4813
|
onContentWidthChange: setTableContentWidth,
|