gantt-task-react-powern 0.4.32 → 0.4.34
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/gantt/gantt.d.ts +6 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +171 -175
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +171 -176
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { GanttProps } from "../../types/public-types";
|
|
2
|
+
import { GanttProps, Task } from "../../types/public-types";
|
|
3
3
|
export declare const Gantt: React.FunctionComponent<GanttProps>;
|
|
4
|
+
export declare function topologicalOrderingHelper(taskID: string, taskMap: {}, sortedTaskList: string[]): boolean;
|
|
5
|
+
export declare function getCriticalPaths(leafTasks: Task[]): any[][];
|
|
6
|
+
export declare function computeCriticalPath(taskID: string, taskMap: {}): void;
|
|
7
|
+
export declare function uncolorAll(tasks: Task[]): void;
|
|
8
|
+
export declare function colorPath(path: Task[], color: string, tasks: Task[]): void;
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -2743,181 +2743,6 @@ var Gantt = function Gantt(_ref) {
|
|
|
2743
2743
|
}
|
|
2744
2744
|
};
|
|
2745
2745
|
|
|
2746
|
-
function topologicalOrderingHelper(taskID, taskMap, sortedTaskList) {
|
|
2747
|
-
if (!taskMap[taskID]) return true;
|
|
2748
|
-
if (taskMap[taskID].finished) return true;
|
|
2749
|
-
|
|
2750
|
-
if (taskMap[taskID].started) {
|
|
2751
|
-
console.log("Cycle involving " + taskID);
|
|
2752
|
-
return false;
|
|
2753
|
-
}
|
|
2754
|
-
|
|
2755
|
-
taskMap[taskID].started = true;
|
|
2756
|
-
var task = taskMap[taskID].task;
|
|
2757
|
-
if (task.dependencies) for (var i = 0; i < task.dependencies.length; i++) {
|
|
2758
|
-
var successVal = topologicalOrderingHelper(task.dependencies[i], taskMap, sortedTaskList);
|
|
2759
|
-
if (!successVal) return false;
|
|
2760
|
-
}
|
|
2761
|
-
taskMap[taskID].finished = true;
|
|
2762
|
-
sortedTaskList.push(taskID);
|
|
2763
|
-
return true;
|
|
2764
|
-
}
|
|
2765
|
-
|
|
2766
|
-
function getCriticalPaths(leafTasks) {
|
|
2767
|
-
var taskMap = {};
|
|
2768
|
-
|
|
2769
|
-
for (var i = 0; i < leafTasks.length; i++) {
|
|
2770
|
-
taskMap[leafTasks[i].id] = {
|
|
2771
|
-
task: leafTasks[i]
|
|
2772
|
-
};
|
|
2773
|
-
}
|
|
2774
|
-
|
|
2775
|
-
var sortedTaskList = [];
|
|
2776
|
-
|
|
2777
|
-
for (var _i = 0; _i < leafTasks.length; _i++) {
|
|
2778
|
-
var successVal = topologicalOrderingHelper(leafTasks[_i].id, taskMap, sortedTaskList);
|
|
2779
|
-
if (!successVal) return [[], []];
|
|
2780
|
-
}
|
|
2781
|
-
|
|
2782
|
-
for (var _i2 = 0; _i2 < leafTasks.length; _i2++) {
|
|
2783
|
-
taskMap[leafTasks[_i2].id].dependents = [];
|
|
2784
|
-
}
|
|
2785
|
-
|
|
2786
|
-
for (var _i3 = 0; _i3 < leafTasks.length; _i3++) {
|
|
2787
|
-
var task = leafTasks[_i3];
|
|
2788
|
-
if (task.dependencies) for (var j = 0; j < task.dependencies.length; j++) {
|
|
2789
|
-
var _taskMap$task$depende;
|
|
2790
|
-
|
|
2791
|
-
(_taskMap$task$depende = taskMap[task.dependencies[j]]) === null || _taskMap$task$depende === void 0 ? void 0 : _taskMap$task$depende.dependents.push(task.id);
|
|
2792
|
-
}
|
|
2793
|
-
}
|
|
2794
|
-
|
|
2795
|
-
for (var _i4 = sortedTaskList.length - 1; _i4 >= 0; _i4--) {
|
|
2796
|
-
computeCriticalPath(sortedTaskList[_i4], taskMap);
|
|
2797
|
-
}
|
|
2798
|
-
|
|
2799
|
-
var primaryLeaf;
|
|
2800
|
-
var primaryDuration = 0;
|
|
2801
|
-
|
|
2802
|
-
for (var _i5 = 0; _i5 < sortedTaskList.length; _i5++) {
|
|
2803
|
-
var newDuration = taskMap[sortedTaskList[_i5]].end - taskMap[sortedTaskList[_i5]].task.start.getTime();
|
|
2804
|
-
|
|
2805
|
-
if (primaryDuration < newDuration) {
|
|
2806
|
-
primaryLeaf = sortedTaskList[_i5];
|
|
2807
|
-
primaryDuration = newDuration;
|
|
2808
|
-
}
|
|
2809
|
-
}
|
|
2810
|
-
|
|
2811
|
-
var primaryPath = [];
|
|
2812
|
-
|
|
2813
|
-
while (primaryLeaf !== undefined) {
|
|
2814
|
-
taskMap[primaryLeaf].excluded = true;
|
|
2815
|
-
primaryPath.push(taskMap[primaryLeaf].task);
|
|
2816
|
-
primaryLeaf = taskMap[primaryLeaf].next;
|
|
2817
|
-
}
|
|
2818
|
-
|
|
2819
|
-
var secondaryLeaf;
|
|
2820
|
-
var secondaryDuration = 0;
|
|
2821
|
-
|
|
2822
|
-
for (var _i6 = 0; _i6 < sortedTaskList.length; _i6++) {
|
|
2823
|
-
if (taskMap[sortedTaskList[_i6]].excluded) continue;
|
|
2824
|
-
|
|
2825
|
-
var _newDuration = taskMap[sortedTaskList[_i6]].end - taskMap[sortedTaskList[_i6]].task.start.getTime();
|
|
2826
|
-
|
|
2827
|
-
if (secondaryDuration < _newDuration) {
|
|
2828
|
-
secondaryLeaf = sortedTaskList[_i6];
|
|
2829
|
-
secondaryDuration = _newDuration;
|
|
2830
|
-
}
|
|
2831
|
-
}
|
|
2832
|
-
|
|
2833
|
-
var secondaryPath = [];
|
|
2834
|
-
|
|
2835
|
-
while (secondaryLeaf !== undefined) {
|
|
2836
|
-
secondaryPath.push(taskMap[secondaryLeaf].task);
|
|
2837
|
-
secondaryLeaf = taskMap[secondaryLeaf].next;
|
|
2838
|
-
}
|
|
2839
|
-
|
|
2840
|
-
return [primaryPath, secondaryPath];
|
|
2841
|
-
}
|
|
2842
|
-
|
|
2843
|
-
function computeCriticalPath(taskID, taskMap) {
|
|
2844
|
-
var task = taskMap[taskID].task;
|
|
2845
|
-
var dependents = taskMap[taskID].dependents;
|
|
2846
|
-
taskMap[taskID].end = task.end.getTime();
|
|
2847
|
-
|
|
2848
|
-
for (var j = 0; j < dependents.length; j++) {
|
|
2849
|
-
var newDependentEnd = taskMap[dependents[j]].end;
|
|
2850
|
-
|
|
2851
|
-
if (newDependentEnd > taskMap[taskID].end) {
|
|
2852
|
-
taskMap[taskID].next = dependents[j];
|
|
2853
|
-
taskMap[taskID].end = newDependentEnd;
|
|
2854
|
-
}
|
|
2855
|
-
}
|
|
2856
|
-
}
|
|
2857
|
-
|
|
2858
|
-
function uncolorAll(tasks) {
|
|
2859
|
-
tasks.forEach(function (task) {
|
|
2860
|
-
if (task.styles) delete task.styles.criticalPathColor;
|
|
2861
|
-
delete task.criticalPathArrows;
|
|
2862
|
-
});
|
|
2863
|
-
}
|
|
2864
|
-
|
|
2865
|
-
function colorPath(path, color, tasks) {
|
|
2866
|
-
for (var i = 0; i < path.length; i++) {
|
|
2867
|
-
var longestIDLength = 0;
|
|
2868
|
-
var longestTask = void 0;
|
|
2869
|
-
|
|
2870
|
-
for (var j = 0; j < tasks.length; j++) {
|
|
2871
|
-
if (path[i].id === tasks[j].id) {
|
|
2872
|
-
longestTask = tasks[j];
|
|
2873
|
-
break;
|
|
2874
|
-
}
|
|
2875
|
-
|
|
2876
|
-
if (path[i].id.startsWith(tasks[j].id + ".") && tasks[j].id.length > longestIDLength) {
|
|
2877
|
-
longestIDLength = tasks[j].id.length;
|
|
2878
|
-
longestTask = tasks[j];
|
|
2879
|
-
}
|
|
2880
|
-
}
|
|
2881
|
-
|
|
2882
|
-
if (longestTask) {
|
|
2883
|
-
var _longestTask$styles;
|
|
2884
|
-
|
|
2885
|
-
var _styles = (_longestTask$styles = longestTask.styles) != null ? _longestTask$styles : {};
|
|
2886
|
-
|
|
2887
|
-
_styles.criticalPathColor = color;
|
|
2888
|
-
longestTask.styles = _styles;
|
|
2889
|
-
}
|
|
2890
|
-
}
|
|
2891
|
-
|
|
2892
|
-
var _loop = function _loop(_i7) {
|
|
2893
|
-
var taskFromTasks = void 0;
|
|
2894
|
-
|
|
2895
|
-
for (var _j = 0; _j < tasks.length; _j++) {
|
|
2896
|
-
if (path[_i7].id === tasks[_j].id) {
|
|
2897
|
-
taskFromTasks = tasks[_j];
|
|
2898
|
-
break;
|
|
2899
|
-
}
|
|
2900
|
-
}
|
|
2901
|
-
|
|
2902
|
-
if (taskFromTasks) {
|
|
2903
|
-
var arrows = taskFromTasks.criticalPathArrows;
|
|
2904
|
-
if (!arrows) arrows = [];
|
|
2905
|
-
var arrow = arrows.find(function (arrow) {
|
|
2906
|
-
return arrow.taskId === path[_i7 + 1].id;
|
|
2907
|
-
});
|
|
2908
|
-
if (arrow) arrow.arrowColor = color;else arrows.push({
|
|
2909
|
-
taskId: path[_i7 + 1].id,
|
|
2910
|
-
arrowColor: color
|
|
2911
|
-
});
|
|
2912
|
-
taskFromTasks.criticalPathArrows = arrows;
|
|
2913
|
-
}
|
|
2914
|
-
};
|
|
2915
|
-
|
|
2916
|
-
for (var _i7 = 0; _i7 + 1 < path.length; _i7++) {
|
|
2917
|
-
_loop(_i7);
|
|
2918
|
-
}
|
|
2919
|
-
}
|
|
2920
|
-
|
|
2921
2746
|
var gridProps = {
|
|
2922
2747
|
columnWidth: columnWidth,
|
|
2923
2748
|
svgWidth: svgWidth,
|
|
@@ -3024,6 +2849,177 @@ var Gantt = function Gantt(_ref) {
|
|
|
3024
2849
|
onScroll: handleScrollX
|
|
3025
2850
|
}));
|
|
3026
2851
|
};
|
|
2852
|
+
function topologicalOrderingHelper(taskID, taskMap, sortedTaskList) {
|
|
2853
|
+
if (!taskMap[taskID]) return true;
|
|
2854
|
+
if (taskMap[taskID].finished) return true;
|
|
2855
|
+
|
|
2856
|
+
if (taskMap[taskID].started) {
|
|
2857
|
+
console.log("Cycle involving " + taskID);
|
|
2858
|
+
return false;
|
|
2859
|
+
}
|
|
2860
|
+
|
|
2861
|
+
taskMap[taskID].started = true;
|
|
2862
|
+
var task = taskMap[taskID].task;
|
|
2863
|
+
if (task.dependencies) for (var i = 0; i < task.dependencies.length; i++) {
|
|
2864
|
+
var successVal = topologicalOrderingHelper(task.dependencies[i], taskMap, sortedTaskList);
|
|
2865
|
+
if (!successVal) return false;
|
|
2866
|
+
}
|
|
2867
|
+
taskMap[taskID].finished = true;
|
|
2868
|
+
sortedTaskList.push(taskID);
|
|
2869
|
+
return true;
|
|
2870
|
+
}
|
|
2871
|
+
function getCriticalPaths(leafTasks) {
|
|
2872
|
+
var taskMap = {};
|
|
2873
|
+
|
|
2874
|
+
for (var i = 0; i < leafTasks.length; i++) {
|
|
2875
|
+
taskMap[leafTasks[i].id] = {
|
|
2876
|
+
task: leafTasks[i]
|
|
2877
|
+
};
|
|
2878
|
+
}
|
|
2879
|
+
|
|
2880
|
+
var sortedTaskList = [];
|
|
2881
|
+
|
|
2882
|
+
for (var _i = 0; _i < leafTasks.length; _i++) {
|
|
2883
|
+
var successVal = topologicalOrderingHelper(leafTasks[_i].id, taskMap, sortedTaskList);
|
|
2884
|
+
if (!successVal) return [[], []];
|
|
2885
|
+
}
|
|
2886
|
+
|
|
2887
|
+
for (var _i2 = 0; _i2 < leafTasks.length; _i2++) {
|
|
2888
|
+
taskMap[leafTasks[_i2].id].dependents = [];
|
|
2889
|
+
}
|
|
2890
|
+
|
|
2891
|
+
for (var _i3 = 0; _i3 < leafTasks.length; _i3++) {
|
|
2892
|
+
var task = leafTasks[_i3];
|
|
2893
|
+
if (task.dependencies) for (var j = 0; j < task.dependencies.length; j++) {
|
|
2894
|
+
var _taskMap$task$depende;
|
|
2895
|
+
|
|
2896
|
+
(_taskMap$task$depende = taskMap[task.dependencies[j]]) === null || _taskMap$task$depende === void 0 ? void 0 : _taskMap$task$depende.dependents.push(task.id);
|
|
2897
|
+
}
|
|
2898
|
+
}
|
|
2899
|
+
|
|
2900
|
+
for (var _i4 = sortedTaskList.length - 1; _i4 >= 0; _i4--) {
|
|
2901
|
+
computeCriticalPath(sortedTaskList[_i4], taskMap);
|
|
2902
|
+
}
|
|
2903
|
+
|
|
2904
|
+
var primaryLeaf;
|
|
2905
|
+
var primaryDuration = 0;
|
|
2906
|
+
|
|
2907
|
+
for (var _i5 = 0; _i5 < sortedTaskList.length; _i5++) {
|
|
2908
|
+
var newDuration = taskMap[sortedTaskList[_i5]].end - taskMap[sortedTaskList[_i5]].task.start.getTime();
|
|
2909
|
+
|
|
2910
|
+
if (primaryDuration < newDuration) {
|
|
2911
|
+
primaryLeaf = sortedTaskList[_i5];
|
|
2912
|
+
primaryDuration = newDuration;
|
|
2913
|
+
}
|
|
2914
|
+
}
|
|
2915
|
+
|
|
2916
|
+
var primaryPath = [];
|
|
2917
|
+
|
|
2918
|
+
while (primaryLeaf !== undefined) {
|
|
2919
|
+
taskMap[primaryLeaf].excluded = true;
|
|
2920
|
+
primaryPath.push(taskMap[primaryLeaf].task);
|
|
2921
|
+
primaryLeaf = taskMap[primaryLeaf].next;
|
|
2922
|
+
}
|
|
2923
|
+
|
|
2924
|
+
var secondaryLeaf;
|
|
2925
|
+
var secondaryDuration = 0;
|
|
2926
|
+
|
|
2927
|
+
for (var _i6 = 0; _i6 < sortedTaskList.length; _i6++) {
|
|
2928
|
+
if (taskMap[sortedTaskList[_i6]].excluded) continue;
|
|
2929
|
+
|
|
2930
|
+
var _newDuration = taskMap[sortedTaskList[_i6]].end - taskMap[sortedTaskList[_i6]].task.start.getTime();
|
|
2931
|
+
|
|
2932
|
+
if (secondaryDuration < _newDuration) {
|
|
2933
|
+
secondaryLeaf = sortedTaskList[_i6];
|
|
2934
|
+
secondaryDuration = _newDuration;
|
|
2935
|
+
}
|
|
2936
|
+
}
|
|
2937
|
+
|
|
2938
|
+
var secondaryPath = [];
|
|
2939
|
+
|
|
2940
|
+
while (secondaryLeaf !== undefined) {
|
|
2941
|
+
secondaryPath.push(taskMap[secondaryLeaf].task);
|
|
2942
|
+
secondaryLeaf = taskMap[secondaryLeaf].next;
|
|
2943
|
+
}
|
|
2944
|
+
|
|
2945
|
+
return [primaryPath, secondaryPath];
|
|
2946
|
+
}
|
|
2947
|
+
function computeCriticalPath(taskID, taskMap) {
|
|
2948
|
+
var task = taskMap[taskID].task;
|
|
2949
|
+
var dependents = taskMap[taskID].dependents;
|
|
2950
|
+
taskMap[taskID].end = task.end.getTime();
|
|
2951
|
+
|
|
2952
|
+
for (var j = 0; j < dependents.length; j++) {
|
|
2953
|
+
var newDependentEnd = taskMap[dependents[j]].end;
|
|
2954
|
+
|
|
2955
|
+
if (newDependentEnd > taskMap[taskID].end) {
|
|
2956
|
+
taskMap[taskID].next = dependents[j];
|
|
2957
|
+
taskMap[taskID].end = newDependentEnd;
|
|
2958
|
+
}
|
|
2959
|
+
}
|
|
2960
|
+
}
|
|
2961
|
+
function uncolorAll(tasks) {
|
|
2962
|
+
tasks.forEach(function (task) {
|
|
2963
|
+
if (task.styles) delete task.styles.criticalPathColor;
|
|
2964
|
+
delete task.criticalPathArrows;
|
|
2965
|
+
});
|
|
2966
|
+
}
|
|
2967
|
+
function colorPath(path, color, tasks) {
|
|
2968
|
+
for (var i = 0; i < path.length; i++) {
|
|
2969
|
+
var longestIDLength = 0;
|
|
2970
|
+
var longestTask = void 0;
|
|
2971
|
+
|
|
2972
|
+
for (var j = 0; j < tasks.length; j++) {
|
|
2973
|
+
if (path[i].id === tasks[j].id) {
|
|
2974
|
+
longestTask = tasks[j];
|
|
2975
|
+
break;
|
|
2976
|
+
}
|
|
2977
|
+
|
|
2978
|
+
if (path[i].id.startsWith(tasks[j].id + ".") && tasks[j].id.length > longestIDLength) {
|
|
2979
|
+
longestIDLength = tasks[j].id.length;
|
|
2980
|
+
longestTask = tasks[j];
|
|
2981
|
+
}
|
|
2982
|
+
}
|
|
2983
|
+
|
|
2984
|
+
if (longestTask) {
|
|
2985
|
+
var _longestTask$styles;
|
|
2986
|
+
|
|
2987
|
+
var _styles = (_longestTask$styles = longestTask.styles) != null ? _longestTask$styles : {};
|
|
2988
|
+
|
|
2989
|
+
_styles.criticalPathColor = color;
|
|
2990
|
+
longestTask.styles = _styles;
|
|
2991
|
+
}
|
|
2992
|
+
}
|
|
2993
|
+
|
|
2994
|
+
var _loop = function _loop(_i7) {
|
|
2995
|
+
var taskFromTasks = void 0;
|
|
2996
|
+
|
|
2997
|
+
for (var _j = 0; _j < tasks.length; _j++) {
|
|
2998
|
+
if (path[_i7].id === tasks[_j].id) {
|
|
2999
|
+
taskFromTasks = tasks[_j];
|
|
3000
|
+
break;
|
|
3001
|
+
}
|
|
3002
|
+
}
|
|
3003
|
+
|
|
3004
|
+
if (taskFromTasks) {
|
|
3005
|
+
var arrows = taskFromTasks.criticalPathArrows;
|
|
3006
|
+
if (!arrows) arrows = [];
|
|
3007
|
+
var arrow = arrows.find(function (arrow) {
|
|
3008
|
+
return arrow.taskId === path[_i7 + 1].id;
|
|
3009
|
+
});
|
|
3010
|
+
if (arrow) arrow.arrowColor = color;else arrows.push({
|
|
3011
|
+
taskId: path[_i7 + 1].id,
|
|
3012
|
+
arrowColor: color
|
|
3013
|
+
});
|
|
3014
|
+
taskFromTasks.criticalPathArrows = arrows;
|
|
3015
|
+
}
|
|
3016
|
+
};
|
|
3017
|
+
|
|
3018
|
+
for (var _i7 = 0; _i7 + 1 < path.length; _i7++) {
|
|
3019
|
+
_loop(_i7);
|
|
3020
|
+
}
|
|
3021
|
+
}
|
|
3027
3022
|
|
|
3028
3023
|
exports.Gantt = Gantt;
|
|
3024
|
+
exports.getCriticalPaths = getCriticalPaths;
|
|
3029
3025
|
//# sourceMappingURL=index.js.map
|