diff --git a/packages/core/src/components/app/app.tsx b/packages/core/src/components/app/app.tsx index f0f759b402..0d8e838e84 100644 --- a/packages/core/src/components/app/app.tsx +++ b/packages/core/src/components/app/app.tsx @@ -104,7 +104,7 @@ export class App { export function findTopNavs(nav: NavContainer): NavContainer[] { let containers: NavContainer[] = []; - const childNavs = nav.getActiveChildNavs(); + const childNavs = nav.getChildNavs(); if (!childNavs || !childNavs.length) { containers.push(nav); } else { diff --git a/packages/core/src/components/nav/nav-interfaces.ts b/packages/core/src/components/nav/nav-interfaces.ts index 24f4b301b6..3b048761cc 100644 --- a/packages/core/src/components/nav/nav-interfaces.ts +++ b/packages/core/src/components/nav/nav-interfaces.ts @@ -22,11 +22,12 @@ export interface PublicNav { removeView(viewController: PublicViewController, opts?: NavOptions): Promise; setPages(componentDataPairs: any[], opts?: NavOptions): Promise; - getActive?(): PublicViewController; - getPrevious?(view?: PublicViewController): PublicViewController; - canGoBack?(): boolean; - canSwipeBack?(): boolean; - getFirstView?(): PublicViewController; + getActive(): PublicViewController; + getPrevious(view?: PublicViewController): PublicViewController; + canGoBack(): boolean; + canSwipeBack(): boolean; + getFirstView(): PublicViewController; + getChildNavs(): PublicNav[]; element?: HTMLElement; } @@ -35,7 +36,7 @@ export interface NavContainer { id?: number; name?: string; parent?: Nav; - getActiveChildNavs?(): NavContainer[]; + getChildNavs?(): NavContainer[]; getAllChildNavs?(): NavContainer[]; getType?(): string; getSecondaryIdentifier?(): string; diff --git a/packages/core/src/components/nav/nav.tsx b/packages/core/src/components/nav/nav.tsx index d17e8b0e2b..a261fce85b 100644 --- a/packages/core/src/components/nav/nav.tsx +++ b/packages/core/src/components/nav/nav.tsx @@ -6,6 +6,7 @@ import { ComponentDataPair, Config, FrameworkDelegate, + NavContainer, NavOptions, NavResult, NavState, @@ -60,7 +61,7 @@ const queueMap = new Map(); tag: 'ion-nav', styleUrl: 'nav.scss' }) -export class Nav implements PublicNav { +export class Nav implements PublicNav, NavContainer { @Element() element: HTMLElement; @Event() navInit: EventEmitter; @@ -217,6 +218,11 @@ export class Nav implements PublicNav { return this.routes; } + @Method() + getChildNavs(): PublicNav[] { + return this.childNavs || []; + } + render() { return ; } diff --git a/packages/core/src/components/nav/readme.md b/packages/core/src/components/nav/readme.md index b133c0449e..9cae47d43e 100644 --- a/packages/core/src/components/nav/readme.md +++ b/packages/core/src/components/nav/readme.md @@ -58,6 +58,9 @@ any #### getActive() +#### getChildNavs() + + #### getFirstView()