Skip to content
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

feat(snack-bar): inject data and MdSnackBarRef into custom snack-bar component #5383

Merged
merged 2 commits into from
Jul 11, 2017

Conversation

crisbeto
Copy link
Member

  • 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 #5371.

@googlebot googlebot added the cla: yes PR author has agreed to Google's Contributor License Agreement label Jun 27, 2017
@crisbeto crisbeto self-assigned this Jun 27, 2017
@crisbeto crisbeto assigned jelbourn and unassigned crisbeto Jun 27, 2017
Copy link
Member

@jelbourn jelbourn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, can add "merge-ready" after one comment

get instance(): T {
return this._instance;
}
instance: T;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add readonly

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't, because the instance gets assigned by the service right after the component is instantiated. This is why I had to remove the getter in the first place. The issue is that we need the snack bar ref to create the injector and we need the inejctor to create the component. Alternatively, I can make the injection tokens on the custom injector public, but that seems even hackier.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, got it

@crisbeto crisbeto added the action: merge The PR is ready for merge by the caretaker label Jun 28, 2017
@mmalerba mmalerba added pr: needs rebase and removed action: merge The PR is ready for merge by the caretaker labels Jul 7, 2017
@mmalerba
Copy link
Contributor

mmalerba commented Jul 7, 2017

please rebase

…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.
@crisbeto crisbeto added action: merge The PR is ready for merge by the caretaker and removed pr: needs rebase labels Jul 8, 2017
@jelbourn jelbourn merged commit baba6ef into angular:master Jul 11, 2017
amcdnl added a commit to amcdnl/material2 that referenced this pull request Jul 12, 2017
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.
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 6, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
action: merge The PR is ready for merge by the caretaker cla: yes PR author has agreed to Google's Contributor License Agreement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

MdSnackbar with injectable data
4 participants