This commit is contained in:
Jeremy Funk 2023-03-23 22:54:58 +01:00
parent a535fe1679
commit 45c0c5fee0
2 changed files with 47 additions and 47 deletions

View File

@ -174,24 +174,24 @@
compact
section DB Clean
Clean: 12:00:00 , 10m
Clean: 12:30:00 , 12m
Clean: 13:00:00 , 8m
Clean: 13:30:00 , 9m
Clean: 14:00:00 , 13m
Clean: 14:30:00 , 10m
Clean: 15:00:00 , 11m
Clean: 12:00:00, 10m
Clean: 12:30:00, 12m
Clean: 13:00:00, 8m
Clean: 13:30:00, 9m
Clean: 14:00:00, 13m
Clean: 14:30:00, 10m
Clean: 15:00:00, 11m
section Sessions
A: 12:00:00 , 63m
B: 12:30:00 , 12m
C: 13:05:00 , 12m
D: 13:06:00 , 33m
E: 13:15:00 , 55m
F: 13:20:00 , 12m
G: 13:32:00 , 18m
H: 13:50:00 , 20m
I: 14:10:00 , 10m
A: 12:00:00, 63m
B: 12:30:00, 12m
C: 13:05:00, 12m
D: 13:06:00, 33m
E: 13:15:00, 55m
F: 13:20:00, 12m
G: 13:32:00, 18m
H: 13:50:00, 20m
I: 14:10:00, 10m
</pre>
<hr />

View File

@ -24,6 +24,37 @@ export const setConf = function () {
log.debug('Something is calling, setConf, remove the call');
};
/**
* For this issue:
* https://github.com/mermaid-js/mermaid/issues/1618
*
* Finds the number of intersections between tasks that happen at any point in time.
* Used to figure out how many rows are needed to display the tasks when the compact
* flag is set to true.
*
* @param tasks
* @param orderOffset
*/
const getMaxIntersections = (tasks, orderOffset) => {
let timeline = [...tasks].map(() => -1);
let sorted = [...tasks].sort((a, b) => a.startTime - b.startTime || a.order - b.order);
let maxIntersections = 0;
for (const element of sorted) {
for (let j = 0; j < timeline.length; j++) {
if (element.startTime >= timeline[j]) {
timeline[j] = element.endTime;
element.order = j + orderOffset;
if (j > maxIntersections) {
maxIntersections = j;
}
break;
}
}
}
return maxIntersections;
};
let w;
export const draw = function (text, id, version, diagObj) {
const conf = getConfig().gantt;
@ -704,37 +735,6 @@ export const draw = function (text, id, version, diagObj) {
}
return result;
}
/**
* For this issue:
* https://github.com/mermaid-js/mermaid/issues/1618
*
* Finds the number of intersections between tasks that happen at any point in time.
* Used to figure out how many rows are needed to display the tasks when the compact
* flag is set to true.
*
* @param tasks
* @param orderOffset
*/
const getMaxIntersections = (tasks, orderOffset) => {
let timeline = [...tasks].map(() => -1);
let sorted = [...tasks].sort((a, b) => a.startTime - b.startTime || a.order - b.order);
let maxIntersections = 0;
for (const element of sorted) {
for (let j = 0; j < timeline.length; j++) {
if (element.startTime >= timeline[j]) {
timeline[j] = element.endTime;
element.order = j + orderOffset;
if (j > maxIntersections) {
maxIntersections = j;
}
break;
}
}
}
return maxIntersections;
};
};
export default {