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.
@@ -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.getUTCDay()) || isHoliday(date, cal);
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
- pendingTaskSelect = _useState3[0],
1173
- setPendingTaskSelect = _useState3[1];
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 !== ViewMode.Month && viewMode !== ViewMode.Quarter) {
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 !== ViewMode.Month && viewMode !== ViewMode.Quarter;
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
- var planEnd = addToDate(startOfDate(task.end, "day"), 1, "day");
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
- var actEnd = addToDate(startOfDate(task.actualEnd, "day"), 1, "day");
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
- var actEnd = addToDate(startOfDate(finalTask.actualEnd, "day"), 1, "day");
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
- var planEnd = addToDate(startOfDate(finalTask.end, "day"), 1, "day");
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
- var actEnd = addToDate(startOfDate(newChangedTask.actualEnd, "day"), 1, "day");
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
- var planEnd = addToDate(startOfDate(newChangedTask.end, "day"), 1, "day");
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, "#00ff00", tasks, "secondary");
4402
- colorPath(primaryPath, "#ff0000", tasks, "primary");
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,