Thanks to visit codestin.com
Credit goes to github.com

Skip to content

feat(dialog): Support async MatDialogConfig.closePredicate #32142

@PowerKiKi

Description

@PowerKiKi

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(),
});

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureThis issue represents a new feature or feature request rather than a bug or bug fixneeds triageThis issue needs to be triaged by the team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions