UNPKG

armisa-models

Version:
49 lines (42 loc) 1.6 kB
import { MainStateManager } from "../../MainStateManager"; import { IMainStateFactory } from "../../Types"; import { Argument } from "./Argument"; import { SubPagesFactory } from "./SubPagesFactory"; export class SubPageItem { public get any() { return this as any; } public title: string = ''; public mainStateManager: MainStateManager; public id: string; public isDeleted: boolean; #hasChange: boolean; public get hasChange(): boolean { return this.#hasChange; } public get isActiveSubPage(): boolean { return this.subPagesFactory.activeSubPage === this; } constructor( public subPagesFactory: SubPagesFactory, public pageKey: string, public lazyComponent?: React.LazyExoticComponent<React.ComponentType<any>>, public pageComponet?: React.ComponentType<any>, ) { this.id = Math.random().toString() + '-' + new Date().getMilliseconds().toString(); this.mainStateManager = this.subPagesFactory.mainStateFactory.mainStateManager; // this.Component = this.mainStateManager.lazyLoadFactory.get(this.pageKey); this.#hasChange = false; this.isDeleted = false; } public close = () => { this.subPagesFactory.closeThisSubPageItem(this); }; public select = () => { this.subPagesFactory.selectThisSubPageItem(this); }; public argument?: Argument; } export const getSubPageItem = (mainState: IMainStateFactory) => { return mainState.elementsOfForm.subPageItem!; }