21-5 Récupérer le résultat du modal (nouvelle issue)
- Premièrement, on attend le résultat de la fenêtre modale à partir de la composante ayant ouvert la fenêtre (
issues-liste
). Le résultat sera soit une valeur booléennefalse
si la fenêtre a été fermée manuellement ou encore l'issue nouvellement créée si la fenêtre a été fermée après la création réussie de l'issue.src/app/features/issues/components/issues-liste.tsprotected async ouvrirCreerIssueModal() {
const modal = this.modalService.open(IssueCreerModal);
modal.componentInstance.projetId = this.projetId;
const result = await modal.result;
} - Puis, on vérifie que le résultat n'est pas
falsy
src/app/features/issues/components/issues-liste.tsprotected async ouvrirCreerIssueModal() {
const modal = this.modalService.open(IssueCreerModal);
modal.componentInstance.projetId = this.projetId;
const result = await modal.result;
if(result) {
}
} - Ensuite, on converti le résultat en
Issue
et on peut traiter le résultat. Par exemple, en temps normal, on pourrait l'ajouter au tableau d'issues, mais cette portion n'est pas implémentée.
src/app/features/issues/components/issues-liste.ts
protected async ouvrirCreerIssueModal() {
const modal = this.modalService.open(IssueCreerModal);
modal.componentInstance.projetId = this.projetId;
const result = await modal.result;
if(result) {
const issue = result as Issue;
/*
On traiterait le résultat ensuite.
Par exemple, en temps normal on pourrait l'ajouter
au tableau d'issues, mais cette portion n'est pas
implémentée.
*/
}
}