Skip to content

Commit eaa71d6

Browse files
committed
Finish up demo
1 parent 6840090 commit eaa71d6

File tree

5 files changed

+50
-30
lines changed

5 files changed

+50
-30
lines changed

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

Lines changed: 29 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,51 +3,58 @@
33
</button>
44

55
<div class="demo-sidenav-area" *ngIf="isLaunched">
6+
<md-toolbar *ngIf="showHeader && !coverHeader">Header</md-toolbar>
67
<md-sidenav-container>
7-
<md-sidenav #start (open)="myinput.focus()" mode="side">
8+
<md-sidenav #start (open)="myinput.focus()" [mode]="mode"
9+
[fixedInViewport]="fixed" [fixedTopGap]="fixedTop" [fixedBottomGap]="fixedBottom">
810
Start Side Sidenav
911
<br>
1012
<button md-button (click)="start.close()">Close</button>
1113
<br>
1214
<button md-button (click)="end.open()">Open End Side</button>
1315
<br>
14-
<button md-button
15-
(click)="start.mode = (start.mode == 'push' ? 'over' : (start.mode == 'over' ? 'side' : 'push'))">Toggle Mode</button>
16+
<button md-button (click)="modeIndex = (modeIndex + 1) % 3">Toggle Mode</button>
1617
<div>Mode: {{start.mode}}</div>
1718
<br>
1819
<input #myinput>
1920
<div class="demo-filler-content" *ngFor="let c of fillerContent">Filler Content</div>
2021
</md-sidenav>
2122

22-
<md-sidenav #end position="end">
23+
<md-sidenav #end position="end"
24+
[fixedInViewport]="fixed" [fixedTopGap]="fixedTop" [fixedBottomGap]="fixedBottom">
2325
End Side Sidenav
2426
<br>
2527
<button md-button (click)="end.close()">Close</button>
2628
<div class="demo-filler-content" *ngFor="let c of fillerContent">Filler Content</div>
2729
</md-sidenav>
2830

2931
<md-sidenav-content>
30-
<div>
31-
<button md-raised-button (click)="isLaunched = false">
32-
Exit Fullscreen Sidenav Demo
33-
</button>
34-
</div>
32+
<md-toolbar *ngIf="showHeader && coverHeader">Header</md-toolbar>
33+
<div class="demo-sidenav-content">
34+
<div>
35+
<button md-raised-button (click)="isLaunched = false">
36+
Exit Fullscreen Sidenav Demo
37+
</button>
38+
</div>
3539

36-
<div>
37-
<h3>Sidenav</h3>
38-
<button md-button (click)="start.toggle()">Toggle Start Side Sidenav</button>
39-
<button md-button (click)="end.toggle()">Toggle End Side Sidenav</button>
40-
<button md-button>Toggle fixed mode</button>
41-
<button md-button>Toggle fixed covers header/footer</button>
42-
</div>
40+
<div>
41+
<h3>Sidenav</h3>
42+
<button md-button (click)="start.toggle()">Toggle Start Side Sidenav</button>
43+
<button md-button (click)="end.toggle()">Toggle End Side Sidenav</button>
44+
<md-checkbox [(ngModel)]="fixed">Fixed mode</md-checkbox>
45+
<md-checkbox [(ngModel)]="coverHeader">Sidenav covers header/footer</md-checkbox>
46+
</div>
4347

44-
<div>
45-
<h3>Header / Footer</h3>
46-
<button md-button>Toggle header</button>
47-
<button md-button>Toggle footer</button>
48-
</div>
48+
<div>
49+
<h3>Header / Footer</h3>
50+
<md-checkbox [(ngModel)]="showHeader">Show header</md-checkbox>
51+
<md-checkbox [(ngModel)]="showFooter">Show footer</md-checkbox>
52+
</div>
4953

50-
<div class="demo-filler-content" *ngFor="let c of fillerContent">Filler Content</div>
54+
<div class="demo-filler-content" *ngFor="let c of fillerContent">Filler Content</div>
55+
</div>
56+
<md-toolbar *ngIf="showFooter && coverHeader">Footer</md-toolbar>
5157
</md-sidenav-content>
5258
</md-sidenav-container>
59+
<md-toolbar *ngIf="showFooter && !coverHeader">Footer</md-toolbar>
5360
</div>

src/demo-app/sidenav/sidenav-demo.scss

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,18 @@
44
bottom: 0;
55
left: 0;
66
right: 0;
7+
display: flex;
8+
flex-direction: column;
9+
10+
.mat-toolbar {
11+
flex: 0;
12+
}
713

814
.mat-sidenav-container {
9-
position: absolute;
10-
top: 0;
11-
bottom: 0;
12-
left: 0;
13-
right: 0;
15+
flex: 1;
1416
}
1517

16-
.mat-sidenav-content {
18+
.demo-sidenav-content {
1719
padding: 32px;
1820
}
1921

src/demo-app/sidenav/sidenav-demo.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,4 +11,12 @@ import {Component, ViewEncapsulation} from '@angular/core';
1111
export class SidenavDemo {
1212
isLaunched = false;
1313
fillerContent = Array(30);
14+
fixed = false;
15+
coverHeader = false;
16+
showHeader = false;
17+
showFooter = false;
18+
modeIndex = 0;
19+
get mode() { return ['side', 'over', 'push'][this.modeIndex]; }
20+
get fixedTop() { return this.fixed && this.showHeader && !this.coverHeader ? 64 : 0; }
21+
get fixedBottom() { return this.fixed && this.showFooter && !this.coverHeader ? 64 : 0; }
1422
}

src/lib/sidenav/drawer.scss

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ $mat-drawer-over-drawer-z-index: 4;
8989
min-width: 5vw;
9090
outline: 0;
9191
box-sizing: border-box;
92-
height: 100%;
9392
overflow-y: auto; // TODO(kara): revisit scrolling behavior for drawers
9493
transform: translate3d(-100%, 0, 0);
9594

@@ -120,3 +119,7 @@ $mat-drawer-over-drawer-z-index: 4;
120119
}
121120
}
122121
}
122+
123+
.mat-sidenav-fixed {
124+
position: fixed;
125+
}

src/lib/sidenav/sidenav.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ export class MdSidenavContent extends MdDrawerContent {
6868
'[class.mat-drawer-over]': 'mode === "over"',
6969
'[class.mat-drawer-push]': 'mode === "push"',
7070
'[class.mat-drawer-side]': 'mode === "side"',
71-
'[class.mat-app-sidenav-fixed]': 'fixedInViewport',
71+
'[class.mat-sidenav-fixed]': 'fixedInViewport',
7272
'[style.top.px]': 'fixedInViewport ? fixedTopGap : null',
7373
'[style.bottom.px]': 'fixedInViewport ? fixedBottomGap : null',
7474
},

0 commit comments

Comments
 (0)