-
Notifications
You must be signed in to change notification settings - Fork 6.8k
Make all components OnPush #5035
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@jelbourn just curious as to why you guys are planning to do this? |
@alexw10 OnPush is a performance setting, so the component gets only rerendered by Angular when its inputs and/or outputs change |
Yeah, it helps limit the cases where change detection runs on a component. |
and #5118 |
@jelbourn since there are so many components needed to be updated, your team should make the releases of Material2 more frequently, should'n you? |
Switches the dialog container to `OnPush` change detection. Relates to angular#5035.
* Switches the progress spinner component to `OnPush` change detection. * Removes a workaround for older Angular 2.x versions where inherited lifecycle hooks weren't being called. * Fixes some wrong terminology in the spinner demo. Relates to angular#5035.
* Switches the snack bar component to `OnPush` change detection. * Removes the `detectChanges` workaround for the choppy animations, because it no longer works with `OnPush`. Properly fixes the initial issue by providing a `void` animation state. Relates to angular#5035.
Switches the grid list component to OnPush change detection. Relates to angular#5035.
Switches the `md-menu` and `md-menu-item` components to `OnPush` change detection. Relates to angular#5035.
Switches the `md-list` and `md-list-item` to `OnPush` change detection. Relates to angular#5035.
* Switches `md-autocomplete` to `OnPush` change detection. * Fixes a newly-introduced test failure. Relates to angular#5035.
* Switches the expansion panel to `OnPush` change detection. * Fixes the open animation not triggering on the body element. Relates to angular#5035.
* Switches `md-slider` to `OnPush` change detection. * Fixes a few properties not reacting to external changes. Relates to angular#5035.
* Switches `md-slider` to `OnPush` change detection. * Fixes a few properties not reacting to external changes. Relates to angular#5035.
Switches `md-tooltip` to `OnPush` change detection. Relates to angular#5035.
Switches the dialog container to `OnPush` change detection. Relates to angular#5035.
Switches the dialog container to `OnPush` change detection. Relates to angular#5035.
Switches the `MdInputContainer` to `OnPush` change detection and sorts out the various change detection-related issues. Relates to #5035.
Switches `md-select` to use `OnPush` change detection and adds a few necessary `markForCheck` calls. Relates to #5035.
* Switches the button toggle component to OnPush change detection. * Fixes an issue where some toggles wouldn't be unselected when moving between toggles. * Relates to #5035.
Switches the dialog container to `OnPush` change detection. Relates to #5035.
* Switches the button toggle component to OnPush change detection. * Fixes an issue where some toggles wouldn't be unselected when moving between toggles. * Relates to #5035.
Switches `md-select` to use `OnPush` change detection and adds a few necessary `markForCheck` calls. Relates to #5035.
Switches the `MdSidenavContainer` to `OnPush` change detection and fixes some changes not being picked up when its sidenav is opened. Relates to #5035.
Switches the `MdInputContainer` to `OnPush` change detection and sorts out the various change detection-related issues. Relates to angular#5035.
Switches the `MdInputContainer` to `OnPush` change detection and sorts out the various change detection-related issues. Relates to angular#5035.
Switches the `MdInputContainer` to `OnPush` change detection and sorts out the various change detection-related issues. Relates to #5035.
Switches the `MdSidenavContainer` to `OnPush` change detection and fixes some changes not being picked up when its sidenav is opened. Relates to #5035.
Switches the `MdInputContainer` to `OnPush` change detection and sorts out the various change detection-related issues. Relates to #5035.
Switches the dialog container to `OnPush` change detection. Relates to #5035.
Switches the `MdSidenavContainer` to `OnPush` change detection and fixes some changes not being picked up when its sidenav is opened. Relates to #5035.
Switches the `MdInputContainer` to `OnPush` change detection and sorts out the various change detection-related issues. Relates to #5035.
Switches the dialog container to `OnPush` change detection. Relates to #5035.
Switches the `MdSidenavContainer` to `OnPush` change detection and fixes some changes not being picked up when its sidenav is opened. Relates to #5035.
* chore(input): switch to OnPush change detection Switches the `MdInputContainer` to `OnPush` change detection and sorts out the various change detection-related issues. Relates to #5035. * chore: linter errors
Switches the dialog container to `OnPush` change detection. Relates to #5035.
Switches the dialog container to `OnPush` change detection. Relates to #5035.
Switches the dialog container to `OnPush` change detection. Relates to #5035.
Switches the dialog container to `OnPush` change detection. Relates to #5035.
Closing since all components have been switched over now. |
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. |
Uh oh!
There was an error while loading. Please reload this page.
MdAutocomplete
MdAnchor
MdButtonToggle
MdOptgroup
MdOption
MdPseudoCheckbox
MdDatepicker
MdDialogContainer
MdExpansionPanelHeader
MdExpansionPanel
MdGridList
MdGridTile
MdGridTileText
MdInputContainer
MdList
MdListItem
MdMenu
MdMenuItem
MdSpinner
MdSelect
MdSlider
SimpleSnackBar
MdSnackBarContainer
MdTabBody
MdTabGroup
MdTabHeader
MdTab
MdTabNavBar
TooltipComponent
MdSidenavContainer
We should make these change incrementally, tackling one high-level component at a time (e.g., "tabs"). This will make it easier to revert in case something goes wrong after the change (and also help prevent a rebasing nightmare).
Couple of things worth noting:
OnPush
to the config. This is the case if the component just has simple inputs and outputs.ControlValueAccessor
needsmarkForCheck
in the forms hooksThe text was updated successfully, but these errors were encountered: