Skip to content

Commit d3d9f73

Browse files
committed
feat(md-snack-bar): Create initial MdSnackBar.
1 parent 6cade28 commit d3d9f73

21 files changed

+405
-1
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="Snack bar action 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/lib/module.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import {MdIconModule} from './icon/index';
2323
import {MdProgressCircleModule} from './progress-circle/index';
2424
import {MdProgressBarModule} from './progress-bar/index';
2525
import {MdInputModule} from './input/index';
26+
import {MdSnackBarModule} from '@angular2-material/snack-bar';
2627
import {MdTabsModule} from './tabs/index';
2728
import {MdToolbarModule} from './toolbar/index';
2829
import {MdTooltipModule} from './tooltip/index';
@@ -49,6 +50,7 @@ const MATERIAL_MODULES = [
4950
MdSidenavModule,
5051
MdSliderModule,
5152
MdSlideToggleModule,
53+
MdSnackBarModule,
5254
MdTabsModule,
5355
MdToolbarModule,
5456
MdTooltipModule,
@@ -83,6 +85,7 @@ const MATERIAL_MODULES = [
8385
MdRadioModule.forRoot(),
8486
MdSliderModule.forRoot(),
8587
MdSlideToggleModule.forRoot(),
88+
MdSnackBarModule.forRoot(),
8689
MdTooltipModule.forRoot(),
8790
OverlayModule.forRoot(),
8891
],

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+
}

src/lib/snack-bar/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export * from './snack-bar';

src/lib/snack-bar/package.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"name": "@angular2-material/snack-bar",
3+
"version": "2.0.0-alpha.8-2",
4+
"description": "Angular 2 Material snack bar",
5+
"main": "./snack-bar.umd.js",
6+
"module": "./index.js",
7+
"typings": "./index.d.ts",
8+
"repository": {
9+
"type": "git",
10+
"url": "https://github.com/angular/material2.git"
11+
},
12+
"keywords": [
13+
"angular",
14+
"material",
15+
"material design",
16+
"components",
17+
"snackbar",
18+
"toast",
19+
"notification"
20+
],
21+
"license": "MIT",
22+
"bugs": {
23+
"url": "https://github.com/angular/material2/issues"
24+
},
25+
"homepage": "https://github.com/angular/material2#readme",
26+
"peerDependencies": {
27+
"@angular2-material/core": "2.0.0-alpha.8-2"
28+
}
29+
}

0 commit comments

Comments
 (0)