-
Notifications
You must be signed in to change notification settings - Fork 6.8k
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
chore(tabs): switch to OnPush change detection #5631
Conversation
src/lib/tabs/tab-group.ts
Outdated
|
||
ngAfterContentInit() { | ||
this._subscribeToTabLabels(); | ||
this._tabsSubscription = this._tabs.changes.subscribe(() => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a comment explaining why this is needed?
src/lib/tabs/tab-group.ts
Outdated
@@ -165,6 +200,16 @@ export class MdTabGroup { | |||
return event; | |||
} | |||
|
|||
private _subscribeToTabLabels() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add comment for why this is needed?
Addressed the feedback @jelbourn. |
Switches all of the tab-related components to OnPush change detection and sorts out the issues that come from the changes. Relates to angular#5035.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
commit da1d1ca Author: mmalerba <[email protected]> Date: Tue Jul 11 10:19:41 2017 -0700 fix(datepicker): use 3 rows to display months of year (consistent with internal mocks) (angular#5427) fixes angular#5202 commit ed2ece9 Author: Kristiyan Kostadinov <[email protected]> Date: Tue Jul 11 19:18:41 2017 +0200 chore(tabs): switch to OnPush change detection (angular#5631) Switches all of the tab-related components to OnPush change detection and sorts out the issues that come from the changes. Relates to angular#5035. commit 70117ff Author: Kristiyan Kostadinov <[email protected]> Date: Tue Jul 11 19:16:00 2017 +0200 chore(selection): switch option and pseudo checkbox to OnPush change detection (angular#5585) * Switches the MdPseudoCheckbox, MdOption and MdOptgroup to OnPush change detection. * Fixes a few cases in MdOption where the UI state wasn't being updated properly. Relates to angular#5035. commit bcf4826 Author: Paul Gschwendtner <[email protected]> Date: Tue Jul 11 19:09:02 2017 +0200 fix(checkbox, radio): setting id to null causes invalid id for input (angular#5398) * In some situations, developers will change the `id` of a component dynamically. At some point if they set the `[id]` to `null` the input id will look like the following: `null-input`. * If developers are setting the `id` using a binding then the DOM Id for the host component won't be set at all (because the @input is triggered instead of the DOM property) Fixes angular#5394 commit 738b6be Author: Amit Portnoy <[email protected]> Date: Tue Jul 11 20:02:55 2017 +0300 fix(tabs): add module dependency on MdCommonModule (angular#5304) MdTabsModule **implicitly** depended on MdCommonModule Specifically, for rtl animations. see http://plnkr.co/edit/fBLGThvy7C0G666p56xn?p=preview. commit f3f9f43 Author: Paul Gschwendtner <[email protected]> Date: Tue Jul 11 18:56:51 2017 +0200 tests(slide-toggle): separate form tests for slide-toggle (angular#5629) * Separates the tests with and without the form modules. This is important to ensure that the slide-toggle works properly without and with forms. commit baba6ef Author: Kristiyan Kostadinov <[email protected]> Date: Tue Jul 11 18:30:40 2017 +0200 feat(snack-bar): inject data and MdSnackBarRef into custom snack-bar component (angular#5383) * feat(snack-bar): inject data and MdSnackBarRef into custom snack-bar component * Injects the `MdSnackBarRef` into custom snack bar instances. * Adds the option to inject arbitrary data into a snack bar. * Turns the `DialogInjector` into a `PortalInjector` to allow it to be used elsewhere (e.g. the snack-bar). * Minor tweaks to the `SimpleSnackBar` to get it to use the new DI tokens instead of assigning data directly to the component instance. Fixes angular#5371. commit 8c13325 Author: Jeremy Elbourn <[email protected]> Date: Tue Jul 11 09:25:54 2017 -0700 fix(bidi): make `dir` and `changes` readonly (angular#5645) commit 72148c0 Author: Kristiyan Kostadinov <[email protected]> Date: Tue Jul 11 18:24:05 2017 +0200 feat(typography): allow typography config to be passed via mat-core (angular#5625) Allows for the typography config to be specified optionally through the `mat-core` mixin, avoiding some of the extra bloat that comes from overriding the typography after a theme is defined. Fixes angular#5589. commit 5bc97ec Author: Kristiyan Kostadinov <[email protected]> Date: Tue Jul 11 18:21:55 2017 +0200 fix(list): subheader margin being overwritten by typography (angular#5652) Fixes the `.mat-subheader` margin being overwritten by the `.mat-typography` due to lower specificity. Fixes angular#5639. commit 9022a7a Author: Rafael Santana <[email protected]> Date: Tue Jul 11 13:19:34 2017 -0300 fix(pseudo-checkbox): fix spell check (pallete -> palette) (angular#5661) commit 2295877 Author: Michael Prentice <[email protected]> Date: Mon Jul 10 19:43:42 2017 -0400 chore(examples): missing table module exports (angular#5663) material.angular.io build was throwing missing module errors `CdkTableModule` and `MdTableModule` need to be exported Relates to angular#5608 commit 4f8f6bd Author: Jeremy Elbourn <[email protected]> Date: Mon Jul 10 12:48:10 2017 -0700 chore: use existing screenshot firebase key commit a1a7dcb Author: Paul Gschwendtner <[email protected]> Date: Sat Jun 10 11:16:03 2017 +0200 build: fix deploying of screenshot functions * Updates the dashboard and screenshot deploy script to exit the process immediately if the Firebase token is not set. * Fixes that the error message of the dashboard still shows the old name of the token variable * Renames the screenshot variables to follow the dashboard environment variables * Explicitly specifies the project that will be uploaded in the screenshot deploy script (same as for dashboard) commit 5e961cb Author: robindijkhof <[email protected]> Date: Tue Jul 11 00:24:26 2017 +0200 test(sidenav): add e2e tests (angular#5463) commit 46d0b6f Author: Will Howell <[email protected]> Date: Mon Jul 10 15:18:47 2017 -0400 docs(dialog): example of how to inject MdDialogRef (angular#5311) commit 1f97945 Author: Paul Gschwendtner <[email protected]> Date: Mon Jul 10 20:38:45 2017 +0200 build: fix stylelint deprecation warning (angular#5618) * Fixes the stylelint deprecation warning * Fixes that stylelint lints the compiled bundles from `dist/` folders of the `dashboard` or `screenshot` app * Updates the package-lock with [email protected] commit dabcd53 Author: Paul Gschwendtner <[email protected]> Date: Mon Jul 10 20:38:09 2017 +0200 build: separate deploy jobs in deploy build stage (angular#5621) Currently every deployment runs in a single Travis job concurrently. This messes up the logs and it's also hard to see what actually runs at all. The different deployment jobs should run concurrently in the deploy build stage. commit 145ca8e Author: Paul Gschwendtner <[email protected]> Date: Mon Jul 10 20:37:41 2017 +0200 docs(getting-started): include cdk in systemjs config (angular#5626) * The getting started guide includes a brief section for the SystemJS configuration of a project using Angular Material. This extra section now also needs to include the CDK package. Fixes angular#5624 commit 557b31b Author: Kristiyan Kostadinov <[email protected]> Date: Mon Jul 10 19:04:25 2017 +0200 chore: fix linting errors (angular#5617) As a result of c09e8a7, a few linting errors got introduced.
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. |
Switches all of the tab-related components to OnPush change detection and sorts out the issues that come from the changes.
Relates to #5035.
Note: I'm not a fan of having to subscribe to changes in the tab labels just so we can trigger change detection, but if we want something more practical, we'll have to restructure the tabs so they don't have to reach into other components.