mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-01-14 06:43:25 +08:00
Bugfix
This commit is contained in:
parent
a535fe1679
commit
45c0c5fee0
@ -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 />
|
||||
|
||||
|
@ -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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user