refactor: provide and use light-weight token for button-toggle group #19591
Merged
devversion merged 2 commits intoangular:lightweight-token-optimizationsfrom Jun 17, 2020
Merged
Conversation
ad2ad28 to
ffd2301
Compare
jelbourn
approved these changes
Jun 12, 2020
Contributor
jelbourn
left a comment
There was a problem hiding this comment.
LGTM, just needs rebase
ffd2301 to
1173164
Compare
1173164 to
8b9c2b9
Compare
8b9c2b9 to
3d576cd
Compare
The `MatButtonToggleGroup` component is not always used in applications. e.g. it's an optional part, and standalone button toggles are totally valid. Currently though, we always reference the `MatButtonToggleGroup` component directly as a value, and it will be retained in applications regardless of the usage. We can improve this by providing a light-weight injection token for the button-toggle group that we can then use DI injection to avoid full retention of the class. This obviously was already an issue in View Engine too, but it became significantly worse in Ivy as factories are now directly attached to the component class. Related to: angular#19576.
3d576cd to
ddd3aa9
Compare
|
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
MatButtonToggleGroupcomponent is not always used in applications. e.g.it's an optional part, and standalone button toggles are totally valid.
Currently though, we always reference the
MatButtonToggleGroupcomponentdirectly as a value, and it will be retained in applications regardless
of the usage.
We can improve this by providing a light-weight injection token for
the button-toggle group that we can then use DI injection to avoid
full retention of the class.
This obviously was already an issue in View Engine too, but it became
significantly worse in Ivy as factories are now directly attached to
the component class.
Related to: #19576.