Files
2019-01-14 18:03:44 +01:00

34 lines
796 B
TypeScript

import { Directive, HostListener, Optional } from '@angular/core';
import { NavController } from '../../providers/nav-controller';
import { IonRouterOutlet } from './ion-router-outlet';
@Directive({
selector: 'ion-back-button',
inputs: ['defaultHref']
})
export class IonBackButtonDelegate {
defaultHref: string | undefined | null;
constructor(
@Optional() private routerOutlet: IonRouterOutlet,
private navCtrl: NavController
) {}
/**
* @internal
*/
@HostListener('click', ['$event'])
onClick(ev: Event) {
if (this.routerOutlet && this.routerOutlet.canGoBack()) {
this.routerOutlet.pop();
ev.preventDefault();
} else if (this.defaultHref != null) {
this.navCtrl.navigateBack(this.defaultHref);
ev.preventDefault();
}
}
}