Skip to content

Commit 2978624

Browse files
committed
feat(md-snack-bar): Create initial MdSnackBar.
1 parent ac86ddf commit 2978624

23 files changed

+405
-0
lines changed

src/demo-app/demo-app-module.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import {MdCheckboxDemoNestedChecklist, CheckboxDemo} from './checkbox/checkbox-d
2929
import {SelectDemo} from './select/select-demo';
3030
import {SliderDemo} from './slider/slider-demo';
3131
import {SidenavDemo} from './sidenav/sidenav-demo';
32+
import {SnackBarDemo} from './snack-bar/snack-bar-demo';
3233
import {PortalDemo, ScienceJoke} from './portal/portal-demo';
3334
import {MenuDemo} from './menu/menu-demo';
3435
import {TabsDemo} from './tabs/tab-group-demo';
@@ -61,6 +62,7 @@ import {TabsDemo} from './tabs/tab-group-demo';
6162
LiveAnnouncerDemo,
6263
MdCheckboxDemoNestedChecklist,
6364
MenuDemo,
65+
SnackBarDemo,
6466
OverlayDemo,
6567
PortalDemo,
6668
ProgressBarDemo,

src/demo-app/demo-app/demo-app.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
<a md-list-item [routerLink]="['sidenav']">Sidenav</a>
2424
<a md-list-item [routerLink]="['slider']">Slider</a>
2525
<a md-list-item [routerLink]="['slide-toggle']">Slide Toggle</a>
26+
<a md-list-item [routerLink]="['snack-bar']">Snack Bar</a>
2627
<a md-list-item [routerLink]="['tabs']">Tabs</a>
2728
<a md-list-item [routerLink]="['toolbar']">Toolbar</a>
2829
<a md-list-item [routerLink]="['tooltip']">Tooltip</a>

src/demo-app/demo-app/routes.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import {MenuDemo} from '../menu/menu-demo';
2626
import {RippleDemo} from '../ripple/ripple-demo';
2727
import {DialogDemo} from '../dialog/dialog-demo';
2828
import {TooltipDemo} from '../tooltip/tooltip-demo';
29+
import {SnackBarDemo} from '../snack-bar/snack-bar-demo';
2930

3031

3132
export const DEMO_APP_ROUTES: Routes = [
@@ -56,4 +57,5 @@ export const DEMO_APP_ROUTES: Routes = [
5657
{path: 'ripple', component: RippleDemo},
5758
{path: 'dialog', component: DialogDemo},
5859
{path: 'tooltip', component: TooltipDemo},
60+
{path: 'snack-bar', component: SnackBarDemo},
5961
];
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<h1>SnackBar demo</h1>
2+
<div>
3+
<div>Message: <md-input type="text" [(ngModel)]="message"></md-input></div>
4+
<div>
5+
<md-checkbox [(ngModel)]="action">Show button</md-checkbox>
6+
<md-input type="text" class="button-label-input"
7+
placeholder="Button Label"
8+
[disabled]="!action"
9+
[(ngModel)]="actionButtonLabel"></md-input>
10+
</div>
11+
</div>
12+
13+
<button md-raised-button (click)="open()">Open</button>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.button-label-input {
2+
display: inline-block;
3+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import {Component, ViewContainerRef} from '@angular/core';
2+
import {MdSnackBar, MdSnackBarConfig} from '@angular2-material/snack-bar';
3+
4+
@Component({
5+
moduleId: module.id,
6+
selector: 'snack-bar-demo',
7+
templateUrl: 'snack-bar-demo.html',
8+
})
9+
export class SnackBarDemo {
10+
message: string = 'Snack Bar opened.';
11+
actionButtonLabel: string = 'Retry';
12+
action: boolean = false;
13+
14+
constructor(
15+
public snackBar: MdSnackBar,
16+
public viewContainerRef: ViewContainerRef) { }
17+
18+
open() {
19+
let config = new MdSnackBarConfig(this.viewContainerRef);
20+
this.snackBar.open(this.message, this.action && this.actionButtonLabel, config);
21+
}
22+
}
23+
24+
25+
@Component({
26+
moduleId: module.id,
27+
selector: 'demo-snack',
28+
templateUrl: 'snack-bar-demo.html',
29+
styleUrls: ['./snack-bar-demo.css'],
30+
})
31+
export class DemoSnack {}

src/demo-app/system-config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const components = [
2020
'sidenav',
2121
'slider',
2222
'slide-toggle',
23+
'snack-bar',
2324
'button-toggle',
2425
'tabs',
2526
'toolbar',

src/e2e-app/system-config.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const components = [
2020
'sidenav',
2121
'slider',
2222
'slide-toggle',
23+
'snack-bar',
2324
'button-toggle',
2425
'tabs',
2526
'toolbar',

src/lib/all/all.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {MdProgressCircleModule} from '@angular2-material/progress-circle';
1515
import {MdProgressBarModule} from '@angular2-material/progress-bar';
1616
import {MdInputModule} from '@angular2-material/input';
1717
import {MdTabsModule} from '@angular2-material/tabs';
18+
import {MdSnackBarModule} from '@angular2-material/snack-bar';
1819
import {MdToolbarModule} from '@angular2-material/toolbar';
1920
import {MdTooltipModule} from '@angular2-material/tooltip';
2021
import {
@@ -47,6 +48,7 @@ const MATERIAL_MODULES = [
4748
MdSidenavModule,
4849
MdSliderModule,
4950
MdSlideToggleModule,
51+
MdSnackBarModule,
5052
MdTabsModule,
5153
MdToolbarModule,
5254
MdTooltipModule,
@@ -81,6 +83,7 @@ const MATERIAL_MODULES = [
8183
MdRadioModule.forRoot(),
8284
MdSliderModule.forRoot(),
8385
MdSlideToggleModule.forRoot(),
86+
MdSnackBarModule.forRoot(),
8487
MdTooltipModule.forRoot(),
8588
OverlayModule.forRoot(),
8689
],

src/lib/snack-bar/base-snack-bar.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import {MdSnackBarRef} from './snack-bar-ref';
2+
3+
4+
export class BaseSnackBarContent<T> {
5+
/** The instance of the component making up the content of the snack bar. */
6+
snackBarRef: MdSnackBarRef<T>;
7+
8+
/** Dismisses the snack bar. */
9+
dismiss(): void {
10+
this.snackBarRef.dismiss();
11+
}
12+
}

0 commit comments

Comments
 (0)