Aller au contenu principal

21-5 Récupérer le résultat du modal (nouvelle issue)

  1. 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éenne false 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.ts
    protected async ouvrirCreerIssueModal() {
    const modal = this.modalService.open(IssueCreerModal);
    modal.componentInstance.projetId = this.projetId;

    const result = await modal.result;
    }
  2. Puis, on vérifie que le résultat n'est pas falsy
    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) {

    }
    }
  3. 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.
*/
}
}

Level Up