gantt-task-react-powern 0.4.25 → 0.4.26
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/index.js +99 -48
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +99 -48
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2747,58 +2747,109 @@ var Gantt = function Gantt(_ref) {
|
|
|
2747
2747
|
}
|
|
2748
2748
|
};
|
|
2749
2749
|
|
|
2750
|
+
function topologicalOrderingHelper(taskID, taskMap, sortedTaskList) {
|
|
2751
|
+
if (!taskMap[taskID]) return false;
|
|
2752
|
+
if (taskMap[taskID].finished) return true;
|
|
2753
|
+
if (taskMap[taskID].started) return false;
|
|
2754
|
+
taskMap[taskID].started = true;
|
|
2755
|
+
var task = taskMap[taskID].task;
|
|
2756
|
+
if (task.dependencies) for (var i = 0; i < task.dependencies.length; i++) {
|
|
2757
|
+
var successVal = topologicalOrderingHelper(task.dependencies[i], taskMap, sortedTaskList);
|
|
2758
|
+
if (!successVal) return false;
|
|
2759
|
+
}
|
|
2760
|
+
taskMap[taskID].finished = true;
|
|
2761
|
+
sortedTaskList.push(taskID);
|
|
2762
|
+
return true;
|
|
2763
|
+
}
|
|
2764
|
+
|
|
2750
2765
|
function getCriticalPaths(leafTasks) {
|
|
2751
|
-
var
|
|
2752
|
-
var primaryPath = _ref2[0],
|
|
2753
|
-
secondaryPath = _ref2[1],
|
|
2754
|
-
primaryDuration = _ref2[2],
|
|
2755
|
-
secondaryDuration = _ref2[3];
|
|
2756
|
-
var newPath = criticalPath(leafTask, leafTasks);
|
|
2757
|
-
var newDuration = computeDuration(newPath);
|
|
2758
|
-
if (newDuration <= secondaryDuration) return [primaryPath, secondaryPath, primaryDuration, secondaryDuration];
|
|
2759
|
-
|
|
2760
|
-
if (newDuration > primaryDuration) {
|
|
2761
|
-
var _primaryPath$;
|
|
2762
|
-
|
|
2763
|
-
if (((_primaryPath$ = primaryPath[0]) === null || _primaryPath$ === void 0 ? void 0 : _primaryPath$.id) !== newPath[0].id) return [newPath, primaryPath, newDuration, primaryDuration];else return [newPath, secondaryPath, newDuration, secondaryDuration];
|
|
2764
|
-
} else {
|
|
2765
|
-
var _primaryPath$2;
|
|
2766
|
+
var taskMap = {};
|
|
2766
2767
|
|
|
2767
|
-
|
|
2768
|
+
for (var i = 0; i < leafTasks.length; i++) {
|
|
2769
|
+
taskMap[leafTasks[i].id] = {
|
|
2770
|
+
task: leafTasks[i]
|
|
2771
|
+
};
|
|
2772
|
+
}
|
|
2773
|
+
|
|
2774
|
+
for (var _i = 0; _i < leafTasks.length; _i++) {
|
|
2775
|
+
taskMap[leafTasks[_i].id].dependents = [];
|
|
2776
|
+
}
|
|
2777
|
+
|
|
2778
|
+
for (var _i2 = 0; _i2 < leafTasks.length; _i2++) {
|
|
2779
|
+
var task = leafTasks[_i2];
|
|
2780
|
+
if (task.dependencies) for (var j = 0; j < task.dependencies.length; j++) {
|
|
2781
|
+
taskMap[task.dependencies[j]].dependents.push(task.id);
|
|
2768
2782
|
}
|
|
2769
|
-
}
|
|
2770
|
-
primaryPath = _leafTasks$reduce[0],
|
|
2771
|
-
secondaryPath = _leafTasks$reduce[1];
|
|
2783
|
+
}
|
|
2772
2784
|
|
|
2773
|
-
|
|
2774
|
-
}
|
|
2785
|
+
var sortedTaskList = [];
|
|
2775
2786
|
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2787
|
+
for (var _i3 = 0; _i3 < leafTasks.length; _i3++) {
|
|
2788
|
+
var successVal = topologicalOrderingHelper(leafTasks[_i3].id, taskMap, sortedTaskList);
|
|
2789
|
+
if (!successVal) return [[], []];
|
|
2790
|
+
}
|
|
2779
2791
|
|
|
2780
|
-
|
|
2781
|
-
|
|
2792
|
+
for (var _i4 = sortedTaskList.length - 1; _i4 >= 0; _i4--) {
|
|
2793
|
+
computeCriticalPath(sortedTaskList[_i4], taskMap);
|
|
2794
|
+
}
|
|
2782
2795
|
|
|
2783
|
-
|
|
2784
|
-
|
|
2796
|
+
var primaryLeaf;
|
|
2797
|
+
var primaryDuration = 0;
|
|
2798
|
+
|
|
2799
|
+
for (var _i5 = 0; _i5 < sortedTaskList.length; _i5++) {
|
|
2800
|
+
var newDuration = taskMap[sortedTaskList[_i5]].end - leafTasks[_i5].start.getTime();
|
|
2801
|
+
|
|
2802
|
+
if (primaryDuration < newDuration) {
|
|
2803
|
+
primaryLeaf = sortedTaskList[_i5];
|
|
2804
|
+
primaryDuration = newDuration;
|
|
2805
|
+
}
|
|
2785
2806
|
}
|
|
2786
2807
|
|
|
2787
|
-
|
|
2808
|
+
var primaryPath = [];
|
|
2788
2809
|
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2810
|
+
while (primaryLeaf) {
|
|
2811
|
+
taskMap[primaryLeaf].excluded = true;
|
|
2812
|
+
primaryPath.push(taskMap[primaryLeaf].task);
|
|
2813
|
+
primaryLeaf = taskMap[primaryLeaf].next;
|
|
2814
|
+
}
|
|
2815
|
+
|
|
2816
|
+
var secondaryLeaf;
|
|
2817
|
+
var secondaryDuration = 0;
|
|
2818
|
+
|
|
2819
|
+
for (var _i6 = 0; _i6 < sortedTaskList.length; _i6++) {
|
|
2820
|
+
if (taskMap[sortedTaskList[_i6]].excluded) continue;
|
|
2800
2821
|
|
|
2801
|
-
|
|
2822
|
+
var _newDuration = taskMap[sortedTaskList[_i6]].end - leafTasks[_i6].start.getTime();
|
|
2823
|
+
|
|
2824
|
+
if (secondaryDuration < _newDuration) {
|
|
2825
|
+
secondaryLeaf = sortedTaskList[_i6];
|
|
2826
|
+
secondaryDuration = _newDuration;
|
|
2827
|
+
}
|
|
2828
|
+
}
|
|
2829
|
+
|
|
2830
|
+
var secondaryPath = [];
|
|
2831
|
+
|
|
2832
|
+
while (secondaryLeaf) {
|
|
2833
|
+
secondaryPath.push(taskMap[secondaryLeaf].task);
|
|
2834
|
+
secondaryLeaf = taskMap[secondaryLeaf].next;
|
|
2835
|
+
}
|
|
2836
|
+
|
|
2837
|
+
return [primaryPath, secondaryPath];
|
|
2838
|
+
}
|
|
2839
|
+
|
|
2840
|
+
function computeCriticalPath(taskID, taskMap) {
|
|
2841
|
+
var task = taskMap[taskID].task;
|
|
2842
|
+
var dependents = taskMap[taskID].dependents;
|
|
2843
|
+
taskMap[taskID].end = task.end.getTime();
|
|
2844
|
+
|
|
2845
|
+
for (var j = 0; j < dependents.length; j++) {
|
|
2846
|
+
var newDependentEnd = taskMap[dependents[j]].end;
|
|
2847
|
+
|
|
2848
|
+
if (newDependentEnd > taskMap[taskID].end) {
|
|
2849
|
+
taskMap[taskID].next = dependents[j];
|
|
2850
|
+
taskMap[taskID].end = newDependentEnd;
|
|
2851
|
+
}
|
|
2852
|
+
}
|
|
2802
2853
|
}
|
|
2803
2854
|
|
|
2804
2855
|
function uncolorAll(tasks) {
|
|
@@ -2837,21 +2888,21 @@ var Gantt = function Gantt(_ref) {
|
|
|
2837
2888
|
}
|
|
2838
2889
|
}
|
|
2839
2890
|
|
|
2840
|
-
var _loop = function _loop(
|
|
2841
|
-
var arrows = path[
|
|
2891
|
+
var _loop = function _loop(_i7) {
|
|
2892
|
+
var arrows = path[_i7].criticalPathArrows;
|
|
2842
2893
|
if (!arrows) arrows = [];
|
|
2843
2894
|
var arrow = arrows.find(function (arrow) {
|
|
2844
|
-
return arrow.taskId === path[
|
|
2895
|
+
return arrow.taskId === path[_i7 + 1].id;
|
|
2845
2896
|
});
|
|
2846
2897
|
if (arrow) arrow.arrowColor = color;else arrows.push({
|
|
2847
|
-
taskId: path[
|
|
2898
|
+
taskId: path[_i7 + 1].id,
|
|
2848
2899
|
arrowColor: color
|
|
2849
2900
|
});
|
|
2850
|
-
path[
|
|
2901
|
+
path[_i7].criticalPathArrows = arrows;
|
|
2851
2902
|
};
|
|
2852
2903
|
|
|
2853
|
-
for (var
|
|
2854
|
-
_loop(
|
|
2904
|
+
for (var _i7 = 0; _i7 + 1 < path.length; _i7++) {
|
|
2905
|
+
_loop(_i7);
|
|
2855
2906
|
}
|
|
2856
2907
|
}
|
|
2857
2908
|
|