mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-22 21:48:42 +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 */
|
/* it is very important to keep this interface in sync with ./nav */
|
||||||
import { NavOptions, ViewController } from '../../index';
|
import { NavOptions, ViewController } from '../../index';
|
||||||
|
|
||||||
export interface PublicNavController {
|
export interface PublicNav {
|
||||||
push(component: any, data?: any, opts?: NavOptions): Promise<any>;
|
push(component: any, data?: any, opts?: NavOptions): Promise<any>;
|
||||||
pop(opts?: NavOptions): Promise<any>;
|
pop(opts?: NavOptions): Promise<any>;
|
||||||
setRoot(component: any, data?: any, opts?: NavOptions): Promise<any>;
|
setRoot(component: any, data?: any, opts?: NavOptions): Promise<any>;
|
||||||
@ -16,7 +16,9 @@ export interface PublicNavController {
|
|||||||
|
|
||||||
getActive?(): ViewController;
|
getActive?(): ViewController;
|
||||||
getPrevious?(view?: ViewController): ViewController;
|
getPrevious?(view?: ViewController): ViewController;
|
||||||
canGoBack?(nav: PublicNavController): boolean;
|
canGoBack?(nav: PublicNav): boolean;
|
||||||
canSwipeBack?(): boolean;
|
canSwipeBack?(): boolean;
|
||||||
getFirstView?(): ViewController;
|
getFirstView?(): ViewController;
|
||||||
|
|
||||||
|
element?: HTMLElement;
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,7 @@ import {
|
|||||||
NavController,
|
NavController,
|
||||||
NavOptions,
|
NavOptions,
|
||||||
NavState,
|
NavState,
|
||||||
PublicNavController,
|
PublicNav,
|
||||||
RouterEntries,
|
RouterEntries,
|
||||||
RouterEntry,
|
RouterEntry,
|
||||||
ViewController
|
ViewController
|
||||||
@ -25,7 +25,7 @@ import { assert, isReady } from '../../utils/helpers';
|
|||||||
@Component({
|
@Component({
|
||||||
tag: 'ion-nav',
|
tag: 'ion-nav',
|
||||||
})
|
})
|
||||||
export class Nav implements PublicNavController {
|
export class Nav implements PublicNav {
|
||||||
|
|
||||||
@Element() element: HTMLElement;
|
@Element() element: HTMLElement;
|
||||||
@Event() navInit: EventEmitter;
|
@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';
|
} from './components/modal/modal';
|
||||||
export { ModalController } from './components/modal-controller/modal-controller';
|
export { ModalController } from './components/modal-controller/modal-controller';
|
||||||
export { Nav } from './components/nav/nav';
|
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 { NavController } from './components/nav-controller/nav-controller';
|
||||||
export { Note } from './components/note/note';
|
export { Note } from './components/note/note';
|
||||||
export { Page } from './components/page/page';
|
export { Page } from './components/page/page';
|
||||||
|
@ -86,3 +86,9 @@ export interface Transition extends Animation {
|
|||||||
export interface TransitionBuilder {
|
export interface TransitionBuilder {
|
||||||
(rootTransition: Transition, enteringView: ViewController, leavingView: ViewController, opts: AnimationOptions ): Transition;
|
(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 { STATE_ATTACHED, STATE_DESTROYED, STATE_INITIALIZED, STATE_NEW } from './nav-utils';
|
||||||
|
|
||||||
import { assert } from '../utils/helpers';
|
import { assert } from '../utils/helpers';
|
||||||
|
|
||||||
export class ViewController {
|
export class ViewController implements PublicViewController {
|
||||||
|
|
||||||
id: string;
|
id: string;
|
||||||
data: any;
|
data: any;
|
||||||
|
Reference in New Issue
Block a user