Skip to content

[Dialog] Add a directive to simplify dialog interaction #14483

@adammedford

Description

@adammedford

Please describe the feature you would like to request.

A directive that accepts a TemplateRef and a dialog configuration object
When the button this directive is placed on is clicked a dialog containing that Template is created

What is the use-case or motivation for this proposal?

Allows users to interact with dialogs like other components - through their markup bindings. No need to use poorly understood entry components. Dialog templates are part of the component template; input and output bindings are fully accessible (as are pipes.)

The existing programmatic only approach feels like there is a lot of ceremony over creating dialogs - many of which would otherwise be simple components.

Is there anything else we should know?

I've stubbed out what the implementation might look like here. I've used a version of this in production for over a year now. I've also included 2 examples of usage.
https://github.com/adammedford/material2/blob/open-dialog-directive/src/lib/dialog/dialog-open-directive.ts

I will submit a PR if there is interest in this; this version is to just convey what I'm talking about. I didn't want to go through the effort of a full implementation and docs if nobody cares to use it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3An issue that is relevant to core functions, but does not impede progress. Important, but not urgentarea: material/dialogfeatureThis issue represents a new feature or feature request rather than a bug or bug fix

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions