Lien Gantt

This commit is contained in:
2026-05-30 08:41:37 +02:00
parent 16a39ca5e7
commit 97bd9ed100
3 changed files with 52 additions and 5 deletions
@@ -140,15 +140,28 @@ export class MilestoneDetail {
protected get milestoneGanttTasks(): GanttTask[] {
const tasks: GanttTask[] = [];
for (const issue of this.linkedIssues) {
const taskIds = new Set<string>();
const sorted = [...this.linkedIssues].sort((a, b) => {
if (!a.startDate && !b.startDate) return 0;
if (!a.startDate) return 1;
if (!b.startDate) return -1;
return a.startDate.localeCompare(b.startDate);
});
for (const issue of sorted) {
if (!issue.startDate || !issue.endDate) continue;
const deps = issue.dependsOnIds
.map((id) => `issue-${id}`)
.filter((id) => taskIds.has(id))
.join(',');
tasks.push({
id: `issue-${issue.id}`,
name: `#${issue.id} ${issue.name}`,
start: issue.startDate,
end: issue.endDate,
progress: issue.progress,
...(deps ? { dependencies: deps } : {}),
});
taskIds.add(`issue-${issue.id}`);
}
return tasks;
}