diff --git a/packages/core/src/components/nav/nav-interface.ts b/packages/core/src/components/nav/nav-interface.ts index 8e17df1081..a378b8a8b4 100644 --- a/packages/core/src/components/nav/nav-interface.ts +++ b/packages/core/src/components/nav/nav-interface.ts @@ -2,7 +2,7 @@ /* it is very important to keep this interface in sync with ./nav */ import { NavOptions, ViewController } from '../../index'; -export interface PublicNavController { +export interface PublicNav { push(component: any, data?: any, opts?: NavOptions): Promise; pop(opts?: NavOptions): Promise; setRoot(component: any, data?: any, opts?: NavOptions): Promise; @@ -16,7 +16,9 @@ export interface PublicNavController { getActive?(): ViewController; getPrevious?(view?: ViewController): ViewController; - canGoBack?(nav: PublicNavController): boolean; + canGoBack?(nav: PublicNav): boolean; canSwipeBack?(): boolean; getFirstView?(): ViewController; + + element?: HTMLElement; } diff --git a/packages/core/src/components/nav/nav.tsx b/packages/core/src/components/nav/nav.tsx index c448272f5f..608c79ce09 100644 --- a/packages/core/src/components/nav/nav.tsx +++ b/packages/core/src/components/nav/nav.tsx @@ -6,7 +6,7 @@ import { NavController, NavOptions, NavState, - PublicNavController, + PublicNav, RouterEntries, RouterEntry, ViewController @@ -25,7 +25,7 @@ import { assert, isReady } from '../../utils/helpers'; @Component({ tag: 'ion-nav', }) -export class Nav implements PublicNavController { +export class Nav implements PublicNav { @Element() element: HTMLElement; @Event() navInit: EventEmitter; diff --git a/packages/core/src/index.d.ts b/packages/core/src/index.d.ts index 5045c865b2..d99e8beafc 100644 --- a/packages/core/src/index.d.ts +++ b/packages/core/src/index.d.ts @@ -93,7 +93,7 @@ export { } from './components/modal/modal'; export { ModalController } from './components/modal-controller/modal-controller'; export { Nav } from './components/nav/nav'; -export { PublicNavController } from './components/nav/nav-interface'; +export { PublicNav } from './components/nav/nav-interface'; export { NavController } from './components/nav-controller/nav-controller'; export { Note } from './components/note/note'; export { Page } from './components/page/page'; diff --git a/packages/core/src/navigation/nav-interfaces.ts b/packages/core/src/navigation/nav-interfaces.ts index 53e74028dd..4ffb8fbd5a 100644 --- a/packages/core/src/navigation/nav-interfaces.ts +++ b/packages/core/src/navigation/nav-interfaces.ts @@ -86,3 +86,9 @@ export interface Transition extends Animation { export interface TransitionBuilder { (rootTransition: Transition, enteringView: ViewController, leavingView: ViewController, opts: AnimationOptions ): Transition; } + +export interface PublicViewController { + component?: any; + instance?: any; + element?: HTMLElement; +} diff --git a/packages/core/src/navigation/view-controller.ts b/packages/core/src/navigation/view-controller.ts index b8d47c03b8..e0a27dbeb7 100644 --- a/packages/core/src/navigation/view-controller.ts +++ b/packages/core/src/navigation/view-controller.ts @@ -1,9 +1,9 @@ -import { FrameworkDelegate, Nav } from '../index'; +import { FrameworkDelegate, Nav, PublicViewController } from '../index'; import { STATE_ATTACHED, STATE_DESTROYED, STATE_INITIALIZED, STATE_NEW } from './nav-utils'; import { assert } from '../utils/helpers'; -export class ViewController { +export class ViewController implements PublicViewController { id: string; data: any;