angular / angular/components

(Dialog) Component-less alert and confirm dialogs

Ouverte
#17,048 5 commentaires 21 réactions 0 personnes assignées Voir sur GitHub
area: material/dialog feature needs: discussion P5
Langage dominant
TypeScript
Étoiles
25k
Forks
6.8k
Merge moyen
1 j 8 h
PR mergées (30 j)
91

Description

#### Feature Description

My proposal is to create one or two methods on the `MatDialog` provider/controller to allow component-less alert and confirm dialogs, for example:

// Alert dialog
this.dialog.alert({
title: 'Forbidden',
message: 'The resource you are trying to access is forbidden.',
okButton: 'OK'
})

// Confirm dialog
this.dialog.confirm({
title: 'Server error',
message: 'The server is currently in maintenance.',
confirmButton: 'Retry',
cancelButton: 'Cancel'
})

Alternatively, both `alert` and `confirm` could be on a single method:

this.dialog.alert({
title: 'The title',
message: 'The message',
confirmButton: 'OK', // Optional, only for confirm
dismissButton: 'Dismiss'
}).afterClose().subscribe((result: boolean) => console.log); // True if confirm, false if dismiss.

#### Use Case

Currently, we have to create a component for every dialog, event the simplest dialog. This is painful and useless in most cases. Other alternatives (what I do) is to create a `AlertService` that does it for me. But makes no sense maintain it if it could be a simple feature of `MatDialog`

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par examiner le MatDialog provider/controller existant et le flux actuel de dialogue basé sur des composants. Comparez les APIs alert et confirm proposées, notamment les libellés des boutons et le résultat boolean de fermeture. Le travail est terminé lorsque le comportement component-less et le choix d’API sont définis et implémentés pour les deux issues du dialogue.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
angular, typescript
Domaine
frontend
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
25/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.