diff --git a/src/lib/snack-bar/simple-snack-bar.ts b/src/lib/snack-bar/simple-snack-bar.ts index 717850bcfb45..4b247562611d 100644 --- a/src/lib/snack-bar/simple-snack-bar.ts +++ b/src/lib/snack-bar/simple-snack-bar.ts @@ -7,7 +7,8 @@ */ import {Component, ViewEncapsulation, Inject, ChangeDetectionStrategy} from '@angular/core'; -import {MdSnackBarRef, MD_SNACK_BAR_DATA} from './index'; +import {MdSnackBarRef} from './snack-bar-ref'; +import {MD_SNACK_BAR_DATA} from './snack-bar-config'; /** @@ -26,9 +27,14 @@ import {MdSnackBarRef, MD_SNACK_BAR_DATA} from './index'; } }) export class SimpleSnackBar { + /** Data that was injected into the snack bar. */ + data: { message: string, action: string }; + constructor( public snackBarRef: MdSnackBarRef, - @Inject(MD_SNACK_BAR_DATA) public data: { message: string, action: string }) { } + @Inject(MD_SNACK_BAR_DATA) data: any) { + this.data = data; + } /** Dismisses the snack bar. */ dismiss(): void { diff --git a/src/lib/snack-bar/snack-bar-config.ts b/src/lib/snack-bar/snack-bar-config.ts index b5830066991d..11c8046918cd 100644 --- a/src/lib/snack-bar/snack-bar-config.ts +++ b/src/lib/snack-bar/snack-bar-config.ts @@ -6,9 +6,11 @@ * found in the LICENSE file at https://angular.io/license */ -import {ViewContainerRef} from '@angular/core'; +import {ViewContainerRef, InjectionToken} from '@angular/core'; import {AriaLivePoliteness, Direction} from '../core'; +export const MD_SNACK_BAR_DATA = new InjectionToken('MdSnackBarData'); + /** * Configuration used when opening a snack-bar. */ diff --git a/src/lib/snack-bar/snack-bar-ref.ts b/src/lib/snack-bar/snack-bar-ref.ts index 0e248060b076..a56bdc64b381 100644 --- a/src/lib/snack-bar/snack-bar-ref.ts +++ b/src/lib/snack-bar/snack-bar-ref.ts @@ -11,8 +11,6 @@ import {Observable} from 'rxjs/Observable'; import {Subject} from 'rxjs/Subject'; import {MdSnackBarContainer} from './snack-bar-container'; -// TODO(josephperrott): Implement onAction observable. - /** * Reference to a snack bar dispatched from the snack bar service. */ diff --git a/src/lib/snack-bar/snack-bar.ts b/src/lib/snack-bar/snack-bar.ts index 5cdd56e90372..c51a1efcaa65 100644 --- a/src/lib/snack-bar/snack-bar.ts +++ b/src/lib/snack-bar/snack-bar.ts @@ -12,7 +12,6 @@ import { Optional, SkipSelf, Injector, - InjectionToken, } from '@angular/core'; import { ComponentType, @@ -23,10 +22,12 @@ import { LiveAnnouncer, } from '../core'; import {PortalInjector} from '../core/portal/portal-injector'; -import {MdSnackBarConfig, MdSnackBarRef, MdSnackBarContainer, SimpleSnackBar} from './index'; import {extendObject} from '../core/util/object-extend'; +import {MdSnackBarConfig, MD_SNACK_BAR_DATA} from './snack-bar-config'; +import {MdSnackBarRef} from './snack-bar-ref'; +import {MdSnackBarContainer} from './snack-bar-container'; +import {SimpleSnackBar} from './simple-snack-bar'; -export const MD_SNACK_BAR_DATA = new InjectionToken('MdSnackBarData'); /** * Service to dispatch Material Design snack bar messages.