mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-20 12:29:55 +08:00
chore(packaging): implement interfaces for Nav, ViewController
This commit is contained in:
@ -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<any>;
|
||||
pop(opts?: NavOptions): Promise<any>;
|
||||
setRoot(component: any, data?: any, opts?: NavOptions): Promise<any>;
|
||||
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
2
packages/core/src/index.d.ts
vendored
2
packages/core/src/index.d.ts
vendored
@ -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';
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
Reference in New Issue
Block a user