fix(tabs): fix goto root (#16926)

fixes #16917
This commit is contained in:
Manu MA
2019-01-01 17:51:38 +01:00
committed by GitHub
parent cda2573fdd
commit 8ee9205629
3 changed files with 32 additions and 36 deletions

View File

@ -64,6 +64,9 @@ export class IonTabs {
? href ? href
: this.outlet.getLastUrl(tab) || href; : this.outlet.getLastUrl(tab) || href;
return this.navCtrl.navigateBack(url); return this.navCtrl.navigateRoot(url, {
animated: true,
animationDirection: 'back'
});
} }
} }

View File

@ -44,25 +44,20 @@ export class NavController {
navigateForward(url: string | UrlTree | any[], options: NavigationOptions = {}) { navigateForward(url: string | UrlTree | any[], options: NavigationOptions = {}) {
this.setDirection('forward', options.animated, options.animationDirection); this.setDirection('forward', options.animated, options.animationDirection);
if (Array.isArray(url)) { this.navigate(url, options);
return this.router!.navigate(url, options);
} else {
return this.router!.navigateByUrl(url, options);
}
} }
navigateBack(url: string | UrlTree | any[], options: NavigationOptions = {}) { navigateBack(url: string | UrlTree | any[], options: NavigationOptions = {}) {
this.setDirection('back', options.animated, options.animationDirection); this.setDirection('back', options.animated, options.animationDirection);
// extras = { replaceUrl: true, ...extras }; this.navigate(url, options);
if (Array.isArray(url)) {
return this.router!.navigate(url, options);
} else {
return this.router!.navigateByUrl(url, options);
}
} }
navigateRoot(url: string | UrlTree | any[], options: NavigationOptions = {}) { navigateRoot(url: string | UrlTree | any[], options: NavigationOptions = {}) {
this.setDirection('root', options.animated, options.animationDirection); this.setDirection('root', options.animated, options.animationDirection);
this.navigate(url, options);
}
navigate(url: string | UrlTree | any[], options: NavigationOptions) {
if (Array.isArray(url)) { if (Array.isArray(url)) {
return this.router!.navigate(url, options); return this.router!.navigate(url, options);
} else { } else {

View File

@ -139,8 +139,7 @@ async function overlayAnimation(
overlay.animation.destroy(); overlay.animation.destroy();
overlay.animation = undefined; overlay.animation = undefined;
return false; return false;
}
} else {
// Make overlay visible in case it's hidden // Make overlay visible in case it's hidden
baseEl.classList.remove('overlay-hidden'); baseEl.classList.remove('overlay-hidden');
@ -164,7 +163,6 @@ async function overlayAnimation(
overlay.animation = undefined; overlay.animation = undefined;
return hasCompleted; return hasCompleted;
} }
}
export function autoFocus(containerEl: HTMLElement): HTMLElement | undefined { export function autoFocus(containerEl: HTMLElement): HTMLElement | undefined {
const focusableEls = containerEl.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]'); const focusableEls = containerEl.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex="0"]');