1
1
import { Component , ElementRef , ViewChild , ViewEncapsulation } from '@angular/core' ;
2
+ import { NavigationEnd , Router } from '@angular/router' ;
2
3
3
4
@Component ( {
4
5
moduleId : module . id ,
@@ -16,7 +17,10 @@ export class AccessibilityHome {}
16
17
preserveWhitespaces : false ,
17
18
} )
18
19
export class AccessibilityDemo {
20
+ currentComponent : string = '' ;
21
+
19
22
@ViewChild ( 'maincontent' ) mainContent : ElementRef ;
23
+ @ViewChild ( 'header' ) sectionHeader : ElementRef ;
20
24
21
25
navItems = [
22
26
{ name : 'Home' , route : '.' } ,
@@ -44,8 +48,17 @@ export class AccessibilityDemo {
44
48
{ name : 'Tooltip' , route : 'tooltip' } ,
45
49
] ;
46
50
51
+ constructor ( private router : Router ) {
52
+ router . events . subscribe ( event => {
53
+ let nav = this . navItems . find ( navItem => {
54
+ let fragments = ( event as NavigationEnd ) . url . split ( '/' ) ;
55
+ return fragments [ fragments . length - 1 ] === navItem . route ;
56
+ } ) ;
57
+ this . currentComponent = nav ? nav . name : '' ;
58
+ } ) ;
59
+ }
60
+
47
61
skipNavigation ( ) {
48
- this . mainContent . nativeElement . scrollIntoView ( ) ;
49
- this . mainContent . nativeElement . focus ( ) ;
62
+ ( this . currentComponent ? this . sectionHeader : this . mainContent ) . nativeElement . focus ( ) ;
50
63
}
51
64
}
0 commit comments