Skip to content

Commit 32ad54c

Browse files
committed
refactor: use FocusOriginMonitor to restore focus
1 parent 23bf45d commit 32ad54c

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

src/lib/sidenav/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88

99
import {NgModule} from '@angular/core';
1010
import {CommonModule} from '@angular/common';
11-
import {MdCommonModule} from '../core';
11+
import {MdCommonModule, StyleModule} from '../core';
1212
import {A11yModule} from '../core/a11y/index';
1313
import {OverlayModule} from '../core/overlay/index';
1414
import {MdSidenav, MdSidenavContainer} from './sidenav';
1515

1616

1717
@NgModule({
18-
imports: [CommonModule, MdCommonModule, A11yModule, OverlayModule],
18+
imports: [CommonModule, MdCommonModule, A11yModule, OverlayModule, StyleModule],
1919
exports: [MdSidenavContainer, MdSidenav, MdCommonModule],
2020
declarations: [MdSidenavContainer, MdSidenav],
2121
})

src/lib/sidenav/sidenav.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import {
2424
Inject,
2525
ChangeDetectorRef,
2626
} from '@angular/core';
27-
import {Directionality, coerceBooleanProperty} from '../core';
27+
import {Directionality, coerceBooleanProperty, FocusOriginMonitor} from '../core';
2828
import {FocusTrapFactory, FocusTrap} from '../core/a11y/focus-trap';
2929
import {ESCAPE} from '../core/keyboard/keycodes';
3030
import {first} from '../core/rxjs/index';
@@ -139,6 +139,7 @@ export class MdSidenav implements AfterContentInit, OnDestroy {
139139
*/
140140
constructor(private _elementRef: ElementRef,
141141
private _focusTrapFactory: FocusTrapFactory,
142+
private _focusOriginMonitor: FocusOriginMonitor,
142143
@Optional() @Inject(DOCUMENT) private _doc: any) {
143144
this.onOpen.subscribe(() => {
144145
if (this._doc) {
@@ -161,7 +162,7 @@ export class MdSidenav implements AfterContentInit, OnDestroy {
161162
let activeEl = this._doc && this._doc.activeElement;
162163
if (activeEl && this._elementRef.nativeElement.contains(activeEl)) {
163164
if (this._elementFocusedBeforeSidenavWasOpened instanceof HTMLElement) {
164-
this._elementFocusedBeforeSidenavWasOpened.focus();
165+
this._focusOriginMonitor.focusVia(this._elementFocusedBeforeSidenavWasOpened, 'program');
165166
} else {
166167
this._elementRef.nativeElement.blur();
167168
}

0 commit comments

Comments
 (0)