UNPKG

cyra-pure

Version:

single page application view engine

59 lines (58 loc) 1.79 kB
import { Action } from './Action'; import { ModelsObject, ActionData, ContextType } from '../types'; export interface BasePage { id: () => string; data: any; models: ModelsObject; context: ContextType; transferedData: any; defineActions?: () => void; prepareForAction?: Function; toPageAppear?: (next: Function) => void; fromPageDisappear?: (next: Function) => void; performAction: (actionID: string, data?: any, index?: number) => void; } /** Class representing a page. */ export declare class Page implements BasePage { data: any; models: ModelsObject; context: ContextType; transferedData: any; copyIndex: number; actions: ActionData; toPageAppear: (next: Function) => void; fromPageDisappear: (next: Function) => void; private entered; private leaved; private inTheActiveState; private containerCache; /** * Create a page. * @constructor */ constructor(); id(): string; title(): string; defineActions(): void; prepareForAction(next: Function, action: Action): void; shouldReload(currentAction: Action): boolean; beforeLeaving(next: Function, cancel: Function, action: Action): void; /** * perform a action. * @param {action} actoin - Action对象. * @param {object} data - The transform data. */ performAction(toPageID: string, data?: any, index?: number): void; /** * reload a page * 把当前页面的所有生命周期函数再执行一遍 */ reload(): void; container: HTMLElement; private updateHash(pageID, index, data); private execute(executeSeq); entering(data: any, index: number): void; leaving(): void; private appearing(next); private disappearing(next); }