-
Couldn't load subscription status.
- Fork 6.8k
Description
Feature Description
For a long time we wanted to be able to cancel dialog closure, in #14292. It was solved via a new option, closePredicate, in #14292. But that new option does not support async code. And so we cannot, for example, ask user for the confirmation to close the dialog (via a second dialog), nor do XHR to verify things on server-side.
This kind of use case was already mentioned by @teolag in #14292 (comment), but that specific part of the message was left unanswered. And @Nakira had to come up with a custom solution to solve this in #14292 (comment)
Use Case
I want the dialog closure to wait until I know whether it can be closed. Possibly via asking the user that he is OK to lose all the data he just input in the dialog, like so:
this.matDialog.open(MyDialogComponent, {
closePredicate: async () => await askUserIfReallySure(),
});