feat(popover): background dismiss, escape dismiss

background dismiss, escape dismiss

closes #6817
This commit is contained in:
Dan Bucholtz
2016-06-09 13:54:46 -05:00
parent 2be96f29b2
commit 1d78f78407

View File

@ -1,5 +1,4 @@
import {Component, ViewChild, ViewContainerRef, ComponentResolver} from '@angular/core';
import {Renderer, ElementRef} from '@angular/core';
import {Component, ComponentResolver, ElementRef, HostListener, Renderer, ViewChild, ViewContainerRef} from '@angular/core';
import {addSelector} from '../../config/bootstrap';
import {Animation} from '../../animations/animation';
@ -7,6 +6,7 @@ import {Transition, TransitionOptions} from '../../transitions/transition';
import {Config} from '../../config/config';
import {NavParams} from '../nav/nav-params';
import {Platform} from '../../platform/platform';
import {Key} from '../../util/key';
import {isPresent, isUndefined, isDefined} from '../../util/util';
import {nativeRaf, CSS} from '../../util/dom';
import {ViewController} from '../nav/view-controller';
@ -204,7 +204,7 @@ class PopoverCmp {
});
}
ionViewDidEnter() {
ngAfterViewInit() {
let activeElement: any = document.activeElement;
if (document.activeElement) {
activeElement.blur();
@ -226,6 +226,13 @@ class PopoverCmp {
this.dismiss('backdrop');
}
}
@HostListener('body:keyup', ['$event'])
private _keyUp(ev: KeyboardEvent) {
if (this.enabled && this._viewCtrl.isLast() && ev.keyCode === Key.ESCAPE ) {
this.bdClick();
}
}
}
export interface PopoverOptions {