Skip to content

Commit dfd3d71

Browse files
tinayuangaokara
authored andcommitted
demo(slide-toggle): add accessibility demo page for slide toggle (#6349)
1 parent 054ea4d commit dfd3d71

File tree

5 files changed

+53
-0
lines changed

5 files changed

+53
-0
lines changed

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {IconAccessibilityDemo} from './icon/icon-a11y';
1717
import {InputAccessibilityDemo} from './input/input-a11y';
1818
import {ProgressSpinnerAccessibilityDemo} from './progress-spinner/progress-spinner-a11y';
1919
import {SliderAccessibilityDemo} from './slider/slider-a11y';
20+
import {SlideToggleAccessibilityDemo} from './slide-toggle/slide-toggle-a11y';
2021
import {SnackBarAccessibilityDemo} from './snack-bar/snack-bar-a11y';
2122
import {SelectAccessibilityDemo} from './select/select-a11y';
2223

@@ -54,6 +55,7 @@ export class AccessibilityRoutingModule {}
5455
ProgressSpinnerAccessibilityDemo,
5556
RadioAccessibilityDemo,
5657
SliderAccessibilityDemo,
58+
SlideToggleAccessibilityDemo,
5759
SnackBarAccessibilityDemo,
5860
SelectAccessibilityDemo,
5961
]

src/demo-app/a11y/a11y.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export class AccessibilityDemo {
2929
{name: 'Progress spinner', route: 'progress-spinner'},
3030
{name: 'Radio buttons', route: 'radio'},
3131
{name: 'Slider', route: 'slider'},
32+
{name: 'Slide toggle', route: 'slide-toggle'},
3233
{name: 'Snack bar', route: 'snack-bar'},
3334
{name: 'Select', route: 'select'},
3435
];

src/demo-app/a11y/routes.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {IconAccessibilityDemo} from './icon/icon-a11y';
1212
import {InputAccessibilityDemo} from './input/input-a11y';
1313
import {ProgressSpinnerAccessibilityDemo} from './progress-spinner/progress-spinner-a11y';
1414
import {SliderAccessibilityDemo} from './slider/slider-a11y';
15+
import {SlideToggleAccessibilityDemo} from './slide-toggle/slide-toggle-a11y';
1516
import {SnackBarAccessibilityDemo} from './snack-bar/snack-bar-a11y';
1617
import {SelectAccessibilityDemo} from './select/select-a11y';
1718

@@ -29,6 +30,7 @@ export const ACCESSIBILITY_DEMO_ROUTES: Routes = [
2930
{path: 'progress-spinner', component: ProgressSpinnerAccessibilityDemo},
3031
{path: 'radio', component: RadioAccessibilityDemo},
3132
{path: 'slider', component: SliderAccessibilityDemo},
33+
{path: 'slide-toggle', component: SlideToggleAccessibilityDemo},
3234
{path: 'snack-bar', component: SnackBarAccessibilityDemo},
3335
{path: 'select', component: SelectAccessibilityDemo},
3436
];
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<section>
2+
<h2>Receive email update</h2>
3+
<p>Showing a toggle to manage whether receive email update.</p>
4+
<md-slide-toggle color="primary" [(ngModel)]="emailToggle">
5+
Receive email update
6+
</md-slide-toggle>
7+
</section>
8+
9+
<section>
10+
<h2>Music</h2>
11+
<p>Showing a disabled toggle to control music on/off status.</p>
12+
<md-slide-toggle color="accent" [disabled]="true" [(ngModel)]="musicToggle">
13+
Music {{musicToggle ? 'on' : 'off'}} (disabled)
14+
</md-slide-toggle>
15+
</section>
16+
17+
<section>
18+
<h2>Terms and conditions</h2>
19+
<p>Showing a required toggle to accept terms and conditions in a form.</p>
20+
<form #form="ngForm" (ngSubmit)="onFormSubmit()" ngNativeValidate>
21+
<md-slide-toggle name="termsToggle" required ngModel>
22+
I agree to terms and conditions
23+
</md-slide-toggle>
24+
<p>
25+
<button md-raised-button type="submit">Submit</button>
26+
</p>
27+
</form>
28+
</section>
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import {Component} from '@angular/core';
2+
import {MdSnackBar} from '@angular/material';
3+
4+
5+
@Component({
6+
moduleId: module.id,
7+
selector: 'slide-toggle-a11y',
8+
templateUrl: 'slide-toggle-a11y.html'
9+
})
10+
export class SlideToggleAccessibilityDemo {
11+
emailToggle: boolean = true;
12+
termsToggle: boolean = false;
13+
musicToggle: boolean = false;
14+
15+
constructor(private snackBar: MdSnackBar) {}
16+
17+
onFormSubmit() {
18+
this.snackBar.open('Terms and condistions accepted!', '', {duration: 2000});
19+
}
20+
}

0 commit comments

Comments
 (0)