Skip to content

Commit a52f7b8

Browse files
committed
mobile example
1 parent 47beef6 commit a52f7b8

File tree

5 files changed

+55
-9
lines changed

5 files changed

+55
-9
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
<md-toolbar color="primary" role="header" aria-label="My app">
1+
<md-toolbar color="primary" role="header" aria-label="Basic sidenav app">
22
<button md-icon-button aria-label="Navigation menu" (click)="snav.toggle()">
33
<md-icon aria-hidden="true">menu</md-icon>
44
</button>
5-
<span class="a11y-demo-sidenav-app-name">My App</span>
5+
<span class="a11y-demo-sidenav-app-name">Basic Sidenav App</span>
66
</md-toolbar>
77

88
<md-sidenav-container class="a11y-demo-sidenav-container">
99
<md-sidenav #snav mode="side">
1010
<md-nav-list>
1111
<a md-list-item routerLink="..">Home</a>
1212
<a md-list-item routerLink="../basic">Basic sidenav example</a>
13-
<a md-list-item routerLink="../mobile">Mobile sidenav example</a>
13+
<a md-list-item routerLink="../mobile">Responsive sidenav example</a>
1414
<a md-list-item routerLink="../dual">Dual sidenavs example</a>
1515
</md-nav-list>
1616
</md-sidenav>
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
<md-toolbar color="primary" role="header" aria-label="Responsive sidenav app"
2+
[class.a11y-demo-sidenav-header-fixed]="mobileQuery.matches">
3+
<button md-icon-button aria-label="Navigation menu" (click)="snav.toggle()">
4+
<md-icon aria-hidden="true">menu</md-icon>
5+
</button>
6+
<span class="a11y-demo-sidenav-app-name">Responsive Sidenav App</span>
7+
</md-toolbar>
8+
9+
<md-sidenav-container
10+
class="a11y-demo-sidenav-container"
11+
[style.marginTop.px]="mobileQuery.matches ? 56 : 0">
12+
<md-sidenav
13+
#snav
14+
[mode]="mobileQuery.matches ? 'over' : 'side'"
15+
[fixedInViewport]="mobileQuery.matches">
16+
<md-nav-list>
17+
<a md-list-item routerLink="..">Home</a>
18+
<a md-list-item routerLink="../basic">Basic sidenav example</a>
19+
<a md-list-item routerLink="../mobile">Responsive sidenav example</a>
20+
<a md-list-item routerLink="../dual">Dual sidenavs example</a>
21+
</md-nav-list>
22+
</md-sidenav>
23+
24+
<md-sidenav-content>
25+
<button md-raised-button aria-label="Close responsive sidenav example" color="primary"
26+
class="a11y-demo-sidenav-close" routerLink="..">
27+
Close example
28+
</button>
29+
</md-sidenav-content>
30+
</md-sidenav-container>
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.a11y-demo-sidenav-header-fixed {
2+
position: fixed;
3+
}
Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,25 @@
1-
import {Component, ViewEncapsulation} from '@angular/core';
1+
import {ChangeDetectorRef, Component, OnDestroy, ViewEncapsulation} from '@angular/core';
22

33

44
@Component({
55
moduleId: module.id,
66
selector: 'mobile-sidenav-a11y',
77
templateUrl: 'mobile-sidenav-a11y.html',
8-
styleUrls: ['shared.css'],
8+
styleUrls: ['shared.css', 'mobile-sidenav-a11y.css'],
99
host: {'class': 'a11y-demo-sidenav-app'},
1010
encapsulation: ViewEncapsulation.None,
1111
})
12-
export class SidenavMobileAccessibilityDemo {}
12+
export class SidenavMobileAccessibilityDemo implements OnDestroy {
13+
mobileQuery = matchMedia('(max-width: 600px)');
14+
15+
_mobileQueryListener: () => void;
16+
17+
constructor(changeDetectorRef: ChangeDetectorRef) {
18+
this._mobileQueryListener = () => changeDetectorRef.detectChanges();
19+
this.mobileQuery.addListener(this._mobileQueryListener);
20+
}
21+
22+
ngOnDestroy(): void {
23+
this.mobileQuery.removeListener(this._mobileQueryListener);
24+
}
25+
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
.a11y-demo-sidenav-app {
2-
display: block;
2+
display: flex;
3+
flex-direction: column;
34
position: absolute;
45
top: 0;
56
bottom: 0;
@@ -8,8 +9,7 @@
89
}
910

1011
.a11y-demo-sidenav-container {
11-
width: 100%;
12-
height: 100%;
12+
flex: 1;
1313
}
1414

1515
.a11y-demo-sidenav-app-name {

0 commit comments

Comments
 (0)