ajsfw
Version:
Ajs Framework
43 lines (42 loc) • 2.66 kB
TypeScript
import { IDocumentManager } from "ajsfw/doc";
import { IContainer } from "ajsfw/di";
import { ITemplateManager } from "ajsfw/templating";
import { Notifier } from "ajsfw/events";
import { CtorTyped } from "ajsfw/types";
import { IViewManager } from "../View/IViewManager";
import { IViewComponentManager } from "./IViewComponentManager";
import { IRegisteredViewComponentsCollection } from "./IRegisteredViewComponentsCollection";
import { IViewComponent } from "./IViewComponent";
import { IParentViewComponent } from "./IParentViewComponent";
import { IViewComponentState } from "./IViewComponentState";
import { ViewComponent } from "./ViewComponent";
export declare class ViewComponentManager implements IViewComponentManager {
private __container;
private __documentManager;
private __templateManager;
private __viewManager;
private __components;
readonly components: IRegisteredViewComponentsCollection;
private __componentDependencies;
private __componentInstances;
private __rootViewComponent;
private __navigationNotifier;
readonly navigationNotifier: Notifier<IViewComponentManager>;
constructor(container: IContainer, documentManager: IDocumentManager, templateManager: ITemplateManager, viewManager: IViewManager);
registerComponents(...componentConstructor: CtorTyped<IViewComponent>[]): void;
addComponentDependencies<ConfigParams>(component: CtorTyped<IViewComponent>, ...dependencies: any[]): IViewComponentManager;
createViewComponent(name: string, id: string, parentComponent: IParentViewComponent, state?: IViewComponentState, parentComponentInitStateNotify?: IViewComponent): Promise<IViewComponent>;
removeComponentInstance(component: IViewComponent): void;
getComponentConstructorByName(name: string): CtorTyped<IViewComponent>;
getComponentInstanceByComponentId(componentId: number): IViewComponent;
getChildrenComponentInstances(component: IViewComponent): IViewComponent[];
getComponentInstances(component: typeof ViewComponent, id?: string, userKey?: string): IViewComponent[];
getFirstComponentInstance<T extends IViewComponent>(component: typeof ViewComponent, id?: string, userKey?: string): T;
setRootViewComponent(name: string): Promise<void>;
onNavigate(): void;
private __registerComponent(componentConstructor);
private __isComponentConstructorRegistered(componentConstructor);
private __addComponentDependencies<ConfigParams>(componentCtor, ...dependencies);
private __getComponentDependencies(componentCtor);
private __resolveComponentDependencies(viewComponent);
}