UNPKG

ajsfw

Version:
75 lines (74 loc) 4.62 kB
import { IDocumentManager } from "ajsfw/doc"; import { IComponent } from "ajsfw/doc"; import { INavigator } from "ajsfw/navigation"; import { IRouter } from "ajsfw/routing"; import { ITemplateManager } from "ajsfw/templating"; import { IVisualComponent } from "ajsfw/templating"; import { IViewManager } from "../View/IViewManager"; import { IViewComponentManager } from "./IViewComponentManager"; import { IViewComponent } from "./IViewComponent"; import { IParentViewComponent } from "./IParentViewComponent"; import { IViewComponentState } from "./IViewComponentState"; import { IViewComponentStateMethods } from "./IViewComponentStateMethods"; import { IViewComponentProperties } from "./IViewComponentProperties"; import { IViewComponentFilteredState } from "./IViewComponentFilteredState"; import { IFilteredState } from "./IFilteredState"; export declare class ViewComponent<State extends IViewComponentState, ParentViewComponent extends IParentViewComponent> implements IComponent, IViewComponent, IViewComponentStateMethods, IParentViewComponent { protected _componentViewId: number; readonly componentViewId: number; ajs: IViewComponentProperties<State, ParentViewComponent>; constructor(navigator: INavigator, router: IRouter, documentManager: IDocumentManager, templateManager: ITemplateManager, viewManager: IViewManager, viewComponentManager: IViewComponentManager, id: string, componentViewId: number, parentComponent: ParentViewComponent, visualComponent: IVisualComponent, state?: State, parentComponentInitStateNotify?: IViewComponent); configure(...services: any[]): Promise<void>; initialize(): Promise<void>; destroy(): Promise<void>; setState(state: State, stateChangeRootComponent?: IViewComponent): Promise<void>; clearState(render: boolean): void; render(parentElement: HTMLElement, clearStateChangeOnly: boolean, attributes?: NamedNodeMap): HTMLElement; ajsVisualStateTransitionBegin(newElement: Element): void; insertChildComponent(viewComponentName: string, id: string, state: IViewComponentState, placeholder: string, index?: number): void; removeChildComponent(placeholder: string, id: string): void; preventStateChange: boolean; protected _onDefaultState(): State; protected _onConfigure(...params: any[]): Promise<void>; protected _onInitialize(): Promise<void>; protected _onFinalize(): Promise<void>; protected _filterState(state: State): IViewComponentFilteredState; protected _filterStateKey(key: string, value: any): IFilteredState; protected _filterStateArrayItem(key: string, index: number, length: number, state: State): IFilteredState; protected _setPreventStateChange(value: boolean): void; protected _ajsVisualStateTransitionBegin(newElement: Element): Promise<void>; protected _ajsVisualStateTransitionCancel(): void; protected _ajsVisualStateTransitionEnd(): void; private __initialize(); private __destroy(); private __applyTemplateStylesheets(); private __setState(state, stateChangeRootComponent); private __processStateQueue(); private __clearState(render); private __applyState(stateChangeInfo); private __createNewStateKey(key, stateChangeInfo); private __createComponentsArray(key, stateChangeInfo); private __updateExistingStateKey(key, stateChangeInfo); private __updateArrayState(key, stateChangeInfo); private __createViewComponent(id, viewComponentInfo, state); private __render(parentElement, clearStateChangeOnly, attributes?); private __renderTree(sourceNode, targetNode, clearStateChangeOnly, attributes?); private __renderNode(sourceNode, targetNode, attributes?); private __mergeAttributes(targetNode, attributes?); private __processNode(node); private __processText(node); private __linkMouseDown(e); private __processElement(element); private __processAttributes(element); private __attrComponent(toRemove, attr); private __attrIf(toRemove, attr); private __attrDefault(toRemove, attr); private __attrEventHandler(toRemove, attr); private __attrTransitionBeginHanler(toRemove, attr); private __insertChildComponent(viewComponentName, id, state, placeholder, index?); private __removeChildComponent(placeholder, id); private __visualComponentInsertChild(placeholder, componentName, id, index?); private __visualComponentRemoveChild(placeholder, id); private __ajsVisualStateTransitionStart(transitionType); private __childElementExists(parent, child); }