From 67ceb9ba9029bba556586862b46058dad5373c61 Mon Sep 17 00:00:00 2001 From: crisbeto Date: Tue, 31 Jan 2017 21:18:58 +0100 Subject: [PATCH] fix: use cross-browser keydown handler --- src/lib/dialog/dialog-container.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/lib/dialog/dialog-container.ts b/src/lib/dialog/dialog-container.ts index 7b3fccce2db2..e7e3837f2e54 100644 --- a/src/lib/dialog/dialog-container.ts +++ b/src/lib/dialog/dialog-container.ts @@ -14,6 +14,7 @@ import { EventEmitter, } from '@angular/core'; import {BasePortalHost, ComponentPortal, PortalHostDirective, TemplatePortal} from '../core'; +import {ESCAPE} from '../core/keyboard/keycodes'; import {MdDialogConfig} from './dialog-config'; import {MdDialogContentAlreadyAttachedError} from './dialog-errors'; import {FocusTrap} from '../core/a11y/focus-trap'; @@ -46,7 +47,7 @@ export type MdDialogContainerAnimationState = 'void' | 'enter' | 'exit' | 'exit- host: { 'class': 'md-dialog-container', '[attr.role]': 'dialogConfig?.role', - '(keydown.escape)': '_handleEscapeKey()', + '(keydown)': '_handleKeydown($event)', '[@slideDialog]': '_state', '(@slideDialog.done)': '_onAnimationDone($event)', }, @@ -122,8 +123,8 @@ export class MdDialogContainer extends BasePortalHost implements OnDestroy { * Handles the user pressing the Escape key. * @docs-private */ - _handleEscapeKey() { - if (!this.dialogConfig.disableClose) { + _handleKeydown(event: KeyboardEvent) { + if (!this.dialogConfig.disableClose && event.keyCode === ESCAPE) { this._exit(); } }