detail de l'issue

This commit is contained in:
Cédric OLIVIER
2026-05-22 18:03:06 +02:00
parent 9fbcf805c7
commit f6acfd0e30
8 changed files with 242 additions and 14 deletions
+14 -13
View File
@@ -1,10 +1,11 @@
import { Component, signal } from '@angular/core';
import { Router } from '@angular/router';
type Issue = {
id: number;
title: string;
priority: 'Basse' | 'Moyenne' | 'Haute';
status: 'Ouverte' | 'En cours' | 'Nouvelle';
status: 'draft' | 'todo' | 'done' | 'in-progress';
assignee: string;
};
@@ -15,26 +16,28 @@ type Issue = {
styleUrl: './issues.css',
})
export class Issues {
constructor(private readonly router: Router) {}
protected readonly issues = signal<Issue[]>([
{
id: 1,
title: 'Bug affichage menu mobile',
priority: 'Haute',
status: 'Ouverte',
status: 'in-progress',
assignee: 'Marie',
},
{
id: 2,
title: 'Erreur validation formulaire projet',
priority: 'Moyenne',
status: 'En cours',
status: 'todo',
assignee: 'Nabil',
},
{
id: 3,
title: 'Mise a jour message de bienvenue',
priority: 'Basse',
status: 'Ouverte',
status: 'done',
assignee: 'Sonia',
},
]);
@@ -42,15 +45,13 @@ export class Issues {
private nextId = 4;
protected createIssue(): void {
const newIssue: Issue = {
id: this.nextId,
title: `Nouvelle issue ${this.nextId}`,
priority: 'Moyenne',
status: 'Nouvelle',
assignee: 'A definir',
};
this.issues.update((currentIssues) => [...currentIssues, newIssue]);
this.router.navigate(['/issues/new'], {
queryParams: { draftId: this.nextId },
});
this.nextId += 1;
}
protected openIssue(issueId: number): void {
this.router.navigate(['/issues', issueId]);
}
}