gantt-lib 0.137.0 → 0.138.0

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.
@@ -1,2 +1,2 @@
1
- export { al as CascadeContext, C as CriticalPathOptions, D as DAY_MS, g as DependencyError, L as LinkType, o as ScaleTaskSubtreeAnchor, p as ScaleTaskSubtreeErrorCode, q as ScaleTaskSubtreeExternalPolicy, r as ScaleTaskSubtreeOptions, S as ScaleTaskSubtreeResult, s as ScaleTaskSubtreeWarning, am as ScheduleCommandOptions, an as ScheduleCommandResult, ao as ScheduleDependency, ap as ScheduleTask, aq as ScheduleTaskUpdate, T as Task, ar as TaskDependency, V as ValidationResult, as as addBusinessDays, v as alignToWorkingDay, w as areTasksHierarchicallyRelated, x as buildAdjacencyList, y as buildTaskRangeFromEnd, z as buildTaskRangeFromStart, E as calculateSuccessorDate, F as cascadeByLinks, at as cascadeTaskProgress, H as clampTaskRangeForIncomingFS, I as computeCriticalPath, J as computeLagFromDates, K as computeParentDates, N as computeParentProgress, au as createCascadeContext, O as detectCycles, P as extendCriticalIdsToParents, Q as findParentId, U as getAllDependencyEdges, X as getAllDescendants, Y as getBusinessDayOffset, av as getBusinessDaysCount, Z as getChildren, _ as getDependencyLag, $ as getSuccessorChain, a0 as getTaskDuration, a1 as getTransitiveCascadeChain, a2 as isAncestorTask, a3 as isTaskParent, a4 as moveTaskRange, a5 as moveTaskWithCascade, a6 as normalizeDependencyLag, a7 as normalizePredecessorDates, a8 as normalizeTaskDependencyLags, a9 as normalizeUTCDate, aa as parseDateOnly, ab as recalculateIncomingLags, ac as recalculateProjectSchedule, ad as recalculateTaskFromDependencies, ae as reflowTasksOnModeSwitch, af as removeDependenciesBetweenTasks, ag as resizeTaskWithCascade, ah as scaleTaskSubtreeDuration, ai as shiftBusinessDayOffset, aw as subtractBusinessDays, aj as universalCascade, ak as validateDependencies } from '../../index-DheG4h0O.mjs';
1
+ export { al as CascadeContext, C as CriticalPathOptions, D as DAY_MS, g as DependencyError, L as LinkType, o as ScaleTaskSubtreeAnchor, p as ScaleTaskSubtreeErrorCode, q as ScaleTaskSubtreeExternalPolicy, r as ScaleTaskSubtreeOptions, S as ScaleTaskSubtreeResult, s as ScaleTaskSubtreeWarning, am as ScheduleCommandOptions, an as ScheduleCommandResult, ao as ScheduleDependency, ap as ScheduleTask, aq as ScheduleTaskUpdate, T as Task, ar as TaskDependency, V as ValidationResult, as as addBusinessDays, v as alignToWorkingDay, w as areTasksHierarchicallyRelated, x as buildAdjacencyList, y as buildTaskRangeFromEnd, z as buildTaskRangeFromStart, E as calculateSuccessorDate, F as cascadeByLinks, at as cascadeTaskProgress, H as clampTaskRangeForIncomingFS, I as computeCriticalPath, J as computeLagFromDates, K as computeParentDates, N as computeParentProgress, au as createCascadeContext, O as detectCycles, P as extendCriticalIdsToParents, Q as findParentId, U as getAllDependencyEdges, X as getAllDescendants, Y as getBusinessDayOffset, av as getBusinessDaysCount, Z as getChildren, _ as getDependencyLag, $ as getSuccessorChain, a0 as getTaskDuration, a1 as getTransitiveCascadeChain, a2 as isAncestorTask, a3 as isTaskParent, a4 as moveTaskRange, a5 as moveTaskWithCascade, a6 as normalizeDependencyLag, a7 as normalizePredecessorDates, a8 as normalizeTaskDependencyLags, a9 as normalizeUTCDate, aa as parseDateOnly, ab as recalculateIncomingLags, ac as recalculateProjectSchedule, ad as recalculateTaskFromDependencies, ae as reflowTasksOnModeSwitch, af as removeDependenciesBetweenTasks, ag as resizeTaskWithCascade, ah as scaleTaskSubtreeDuration, ai as shiftBusinessDayOffset, aw as subtractBusinessDays, aj as universalCascade, ak as validateDependencies } from '../../index-C3mZqSTf.mjs';
2
2
  import 'react';
@@ -1,2 +1,2 @@
1
- export { al as CascadeContext, C as CriticalPathOptions, D as DAY_MS, g as DependencyError, L as LinkType, o as ScaleTaskSubtreeAnchor, p as ScaleTaskSubtreeErrorCode, q as ScaleTaskSubtreeExternalPolicy, r as ScaleTaskSubtreeOptions, S as ScaleTaskSubtreeResult, s as ScaleTaskSubtreeWarning, am as ScheduleCommandOptions, an as ScheduleCommandResult, ao as ScheduleDependency, ap as ScheduleTask, aq as ScheduleTaskUpdate, T as Task, ar as TaskDependency, V as ValidationResult, as as addBusinessDays, v as alignToWorkingDay, w as areTasksHierarchicallyRelated, x as buildAdjacencyList, y as buildTaskRangeFromEnd, z as buildTaskRangeFromStart, E as calculateSuccessorDate, F as cascadeByLinks, at as cascadeTaskProgress, H as clampTaskRangeForIncomingFS, I as computeCriticalPath, J as computeLagFromDates, K as computeParentDates, N as computeParentProgress, au as createCascadeContext, O as detectCycles, P as extendCriticalIdsToParents, Q as findParentId, U as getAllDependencyEdges, X as getAllDescendants, Y as getBusinessDayOffset, av as getBusinessDaysCount, Z as getChildren, _ as getDependencyLag, $ as getSuccessorChain, a0 as getTaskDuration, a1 as getTransitiveCascadeChain, a2 as isAncestorTask, a3 as isTaskParent, a4 as moveTaskRange, a5 as moveTaskWithCascade, a6 as normalizeDependencyLag, a7 as normalizePredecessorDates, a8 as normalizeTaskDependencyLags, a9 as normalizeUTCDate, aa as parseDateOnly, ab as recalculateIncomingLags, ac as recalculateProjectSchedule, ad as recalculateTaskFromDependencies, ae as reflowTasksOnModeSwitch, af as removeDependenciesBetweenTasks, ag as resizeTaskWithCascade, ah as scaleTaskSubtreeDuration, ai as shiftBusinessDayOffset, aw as subtractBusinessDays, aj as universalCascade, ak as validateDependencies } from '../../index-DheG4h0O.js';
1
+ export { al as CascadeContext, C as CriticalPathOptions, D as DAY_MS, g as DependencyError, L as LinkType, o as ScaleTaskSubtreeAnchor, p as ScaleTaskSubtreeErrorCode, q as ScaleTaskSubtreeExternalPolicy, r as ScaleTaskSubtreeOptions, S as ScaleTaskSubtreeResult, s as ScaleTaskSubtreeWarning, am as ScheduleCommandOptions, an as ScheduleCommandResult, ao as ScheduleDependency, ap as ScheduleTask, aq as ScheduleTaskUpdate, T as Task, ar as TaskDependency, V as ValidationResult, as as addBusinessDays, v as alignToWorkingDay, w as areTasksHierarchicallyRelated, x as buildAdjacencyList, y as buildTaskRangeFromEnd, z as buildTaskRangeFromStart, E as calculateSuccessorDate, F as cascadeByLinks, at as cascadeTaskProgress, H as clampTaskRangeForIncomingFS, I as computeCriticalPath, J as computeLagFromDates, K as computeParentDates, N as computeParentProgress, au as createCascadeContext, O as detectCycles, P as extendCriticalIdsToParents, Q as findParentId, U as getAllDependencyEdges, X as getAllDescendants, Y as getBusinessDayOffset, av as getBusinessDaysCount, Z as getChildren, _ as getDependencyLag, $ as getSuccessorChain, a0 as getTaskDuration, a1 as getTransitiveCascadeChain, a2 as isAncestorTask, a3 as isTaskParent, a4 as moveTaskRange, a5 as moveTaskWithCascade, a6 as normalizeDependencyLag, a7 as normalizePredecessorDates, a8 as normalizeTaskDependencyLags, a9 as normalizeUTCDate, aa as parseDateOnly, ab as recalculateIncomingLags, ac as recalculateProjectSchedule, ad as recalculateTaskFromDependencies, ae as reflowTasksOnModeSwitch, af as removeDependenciesBetweenTasks, ag as resizeTaskWithCascade, ah as scaleTaskSubtreeDuration, ai as shiftBusinessDayOffset, aw as subtractBusinessDays, aj as universalCascade, ak as validateDependencies } from '../../index-C3mZqSTf.js';
2
2
  import 'react';
@@ -550,6 +550,29 @@ function parseCascadeDateInput(date) {
550
550
  }
551
551
  return normalizeUTCDate(/* @__PURE__ */ new Date(`${date.split("T")[0]}T00:00:00.000Z`));
552
552
  }
553
+ function projectDayDelta(from, to, businessDays, weekendPredicate) {
554
+ if (businessDays && weekendPredicate) {
555
+ return getBusinessDayOffset(from, to, weekendPredicate);
556
+ }
557
+ return Math.round((to.getTime() - from.getTime()) / DAY_MS);
558
+ }
559
+ function shiftTaskActivities(activities, dayDelta, businessDays, weekendPredicate) {
560
+ if (!activities || activities.length === 0 || dayDelta === 0) return void 0;
561
+ const shiftDate = (value) => {
562
+ const base = parseDateOnly(value);
563
+ const shifted = businessDays && weekendPredicate ? shiftBusinessDayOffset(base, dayDelta, weekendPredicate) : new Date(base.getTime() + dayDelta * DAY_MS);
564
+ return typeof value === "string" ? shifted.toISOString().slice(0, 10) : shifted;
565
+ };
566
+ return activities.map((activity) => ({
567
+ ...activity,
568
+ startDate: shiftDate(activity.startDate),
569
+ endDate: shiftDate(activity.endDate)
570
+ }));
571
+ }
572
+ function shiftedActivitiesPatch(activities, dayDelta, businessDays, weekendPredicate) {
573
+ const shifted = shiftTaskActivities(activities, dayDelta, businessDays, weekendPredicate);
574
+ return shifted ? { activities: shifted } : {};
575
+ }
553
576
  function createCascadeContext(allTasks) {
554
577
  const childrenByParentId = /* @__PURE__ */ new Map();
555
578
  const dependentsByPredecessorId = /* @__PURE__ */ new Map();
@@ -625,7 +648,8 @@ function cascadeByLinks(movedTaskId, newStart, newEnd, allTasks, skipChildCascad
625
648
  result.push(normalizeTaskDependencyLags({
626
649
  ...child,
627
650
  startDate: newChildStart.toISOString().split("T")[0],
628
- endDate: newChildEnd.toISOString().split("T")[0]
651
+ endDate: newChildEnd.toISOString().split("T")[0],
652
+ ...shiftedActivitiesPatch(child.activities, Math.round(parentStartDelta / DAY_MS), false)
629
653
  }));
630
654
  queue.push(child.id);
631
655
  }
@@ -769,7 +793,14 @@ function universalCascade(movedTask, newStart, newEnd, allTasks, businessDays =
769
793
  resultMap.set(child.id, normalizeTaskDependencyLags({
770
794
  ...child,
771
795
  startDate: childNewStart.toISOString().split("T")[0],
772
- endDate: childNewEnd.toISOString().split("T")[0]
796
+ endDate: childNewEnd.toISOString().split("T")[0],
797
+ // Дети едут параллельно: вместе с датами строки сдвигаются и её работы.
798
+ ...shiftedActivitiesPatch(
799
+ child.activities,
800
+ projectDayDelta(childOrigStart, childNewStart, businessDays, weekendPredicate),
801
+ businessDays,
802
+ weekendPredicate
803
+ )
773
804
  }));
774
805
  }
775
806
  }
@@ -848,7 +879,13 @@ function universalCascade(movedTask, newStart, newEnd, allTasks, businessDays =
848
879
  resultMap.set(task.id, normalizeTaskDependencyLags({
849
880
  ...task,
850
881
  startDate: succNewStart.toISOString().split("T")[0],
851
- endDate: succNewEnd.toISOString().split("T")[0]
882
+ endDate: succNewEnd.toISOString().split("T")[0],
883
+ ...shiftedActivitiesPatch(
884
+ task.activities,
885
+ projectDayDelta(origStart, succNewStart, businessDays, weekendPredicate),
886
+ businessDays,
887
+ weekendPredicate
888
+ )
852
889
  }));
853
890
  }
854
891
  }