@@ -23,14 +23,14 @@ export class FocusOriginMonitor {
23
23
24
24
/** Register an element to receive focus classes. */
25
25
registerElementForFocusClasses ( element : Element , renderer : Renderer ) {
26
- renderer . listen ( element , 'focus' , ( ) => this . _onFocus ( element , renderer ) ) ;
27
- renderer . listen ( element , 'blur' , ( ) => this . _onBlur ( element , renderer ) ) ;
26
+ element . addEventListener ( 'focus' , ( ) => this . _onFocus ( element , renderer ) , true ) ;
27
+ element . addEventListener ( 'blur' , ( ) => this . _onBlur ( element , renderer ) , true ) ;
28
28
}
29
29
30
30
/** Focuses the element via the specified focus origin. */
31
31
focusVia ( element : Node , renderer : Renderer , origin : FocusOrigin ) {
32
32
this . _setOriginForCurrentEventQueue ( origin ) ;
33
- renderer . invokeElementMethod ( element , ' focus' ) ;
33
+ ( element as HTMLElement ) . focus ( ) ;
34
34
}
35
35
36
36
/** Sets the origin and schedules an async function to clear it at the end of the event queue. */
@@ -41,20 +41,19 @@ export class FocusOriginMonitor {
41
41
42
42
/** Handles focus events on a registered element. */
43
43
private _onFocus ( element : Element , renderer : Renderer ) {
44
- renderer . setElementClass ( element , 'cdk-focused' , true ) ;
45
- renderer . setElementClass ( element , 'cdk-keyboard-focused' , this . _origin == 'keyboard' ) ;
46
- renderer . setElementClass ( element , 'cdk-mouse-focused' , this . _origin == 'mouse' ) ;
47
- renderer . setElementClass ( element , 'cdk-program-focused' ,
48
- ! this . _origin || this . _origin == 'program' ) ;
44
+ element . classList . toggle ( 'cdk-focused' , true ) ;
45
+ element . classList . toggle ( 'cdk-keyboard-focused' , this . _origin == 'keyboard' ) ;
46
+ element . classList . toggle ( 'cdk-mouse-focused' , this . _origin == 'mouse' ) ;
47
+ element . classList . toggle ( 'cdk-program-focused' , ! this . _origin || this . _origin == 'program' ) ;
49
48
this . _origin = null ;
50
49
}
51
50
52
51
/** Handles blur events on a registered element. */
53
52
private _onBlur ( element : Element , renderer : Renderer ) {
54
- renderer . setElementClass ( element , 'cdk-focused' , false ) ;
55
- renderer . setElementClass ( element , 'cdk-keyboard-focused' , false ) ;
56
- renderer . setElementClass ( element , 'cdk-mouse-focused' , false ) ;
57
- renderer . setElementClass ( element , 'cdk-program-focused' , false ) ;
53
+ element . classList . toggle ( 'cdk-focused' , false ) ;
54
+ element . classList . toggle ( 'cdk-keyboard-focused' , false ) ;
55
+ element . classList . toggle ( 'cdk-mouse-focused' , false ) ;
56
+ element . classList . toggle ( 'cdk-program-focused' , false ) ;
58
57
}
59
58
}
60
59
0 commit comments