[Dialog] Add a directive to simplify dialog interaction
- Dominant language
- TypeScript
- Stars
- 25k
- Forks
- 6.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 91
Description
#### 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.
Contributor guide
Research direction
Start by reading the proposed implementation in src/lib/dialog/dialog-open-directive.ts and reviewing the two linked usage examples. Compare that approach with the existing dialog APIs and determine the required directive, configuration, template, binding, and documentation scope. Done means an agreed implementation and documented examples, but the issue does not identify tests or a settled design.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100