UNPKG

ui-router

Version:

State-based routing for Javascript

49 lines (42 loc) 1.62 kB
/** @module view */ /** for typedoc */ import {_ViewDeclaration} from "../state/interface"; import {Node} from "../path/node"; /** * The context ref can be anything that has a `name` and a `parent` reference to another IContextRef */ export interface ViewContext { name: string; parent: ViewContext; } /** @hidden */ export interface ActiveUIView { id: number; name: string; fqn: string; config: ViewConfig; // The context in which the ui-view tag was created. creationContext: ViewContext; configUpdated: (config: ViewConfig) => void; } /** * This interface represents a [[ViewDeclaration]] that is bound to a [[Node]]. * * A `ViewConfig` is the runtime definition of a single view. * * During a transition, `ViewConfig`s are created for each [[ViewDeclaration]] defined on each "entering" [[State]]. * Then, the [[ViewService]] finds any matching `ui-view`(s) in the DOM, and supplies the ui-view * with the `ViewConfig`. The `ui-view` then loads itself using the information found in the `ViewConfig`. * * A `ViewConfig` if matched with a `ui-view` by finding all `ui-view`s which were created in the * context named by the `uiViewContextAnchor`, and finding the `ui-view` or child `ui-view` that matches * the `uiViewName` address. */ export interface ViewConfig { /** The normalized view declaration from [[State.views]] */ viewDecl: _ViewDeclaration; /** The node the ViewConfig is bound to */ node: Node; /** Fetches templates, runs dynamic (controller|template)Provider code, lazy loads Components, etc */ load(): Promise<ViewConfig>; loaded: boolean; }