UNPKG

xframelib

Version:

积累的前端开发基础库,来源于项目和服务于项目。

143 lines (142 loc) 3.98 kB
import { LayoutContainerEnum, IWidgetConfig } from '../../model/Layout'; import { Ref } from 'vue'; /** * 布局对象定义 */ export interface ILayoutContainer { topContainer: Ref<HTMLElement | undefined>; centerBackContainer: Ref<HTMLElement | undefined>; centerMainContainer: Ref<HTMLElement | undefined>; centerFrontContainer: Ref<HTMLElement | undefined>; bottomContainer: Ref<HTMLElement | undefined>; leftContainer: Ref<HTMLElement | undefined>; rightContainer: Ref<HTMLElement | undefined>; } export declare class LayoutManager { private layoutState; private layoutMap; private preConditionMap; private widgetsLoadedSet; /** * WidgetConfig字典 */ private widgetConfigDiction; private _LayoutID; private _mapItemRefs?; constructor(layoutState: ILayoutContainer, layoutID: string, allWidgetConfig?: Array<IWidgetConfig>, mapRefs?: Map<string, any>); /** * 所属的Layout布局对象ID * @returns */ getLayoutID(): string | undefined; /** * 获得widget配置参数,字典对象 * @returns */ getWidgetConfigMap(): Map<string, IWidgetConfig>; /** * 预先加载Widget组件 */ preloadWidgets(): void; /** * 加载组件和子组件 * @param widgetItem 组件对象 */ loadWidget(widgetItem: IWidgetConfig | string): any; private loadOtherDependenceWidgets; private _loadWidget; /** * 检查是否存在依赖其的组件 * @param widgetID * @returns */ hasDependentWidgets(widgetID: string): boolean; /** * 卸载组件 * @param widgetItem * @returns */ unloadWidget(widgetID: string): void; /** * 查询某一组件是否被加载 * @param widgetID 组件ID * @returns */ isWidgetLoaded(widgetID: string): boolean; /** * 中心两DIV * 左右分屏 * @param restore */ splitTwoContainer(restore?: boolean): void; /** * 获取到对应容器 * @param enumContainer * @returns */ getLayoutContainer(enumContainer: LayoutContainerEnum): HTMLElement | undefined; /** * 改变容器可见性 * @param enumContainer * @param isVisible */ changeContainerVisible(enumContainer: LayoutContainerEnum, isVisible?: boolean): void; /** * 改变组件的可见性 * @param enumContainer * @param isVisible */ changeWidgetVisible(widgetID: string, isVisible?: boolean): void; /** * 获取Widget组件是否可见 * @param widgetID * @returns */ isWidgetVisible(widgetID: string): boolean; /** * 根据ID,获取已经加载的Widget组件对象 * @param widgetID * @returns */ getWidgetComponent(widgetID: string): any; /** * 获取组件记录 * @param widgetID 组件ID * @returns */ getWigetItem(widgetID: string): IWidgetConfig | undefined; /** * 根据分组名,获取组件列表 * @param group 分组名 * @returns */ getGroupWigetItems(group: string): IWidgetConfig[]; /** * 获取容器里的组件集合 * @param enumContainer * @returns */ getContainerComponents(enumContainer: LayoutContainerEnum): Ref<Map<string, any>>; /** * 获取已经加载组件ID列表 * @returns ID列表数组 */ getWidgetLoadedIDList(): string[]; /** * 卸载所有已加载的组件 * @param excludeIDs 排除ID列表 */ unloadAllWidgets(excludeIDs?: string[]): void; /** * 批量卸载一批Widget组件 * @param idList 组件ID列表 */ unloadWidgets(idList: string[]): void; /** * 通过widgetid 获得LayoutManager * @param widgetID * @param allWidgetConfig * @returns */ static getLayoutManager(widgetID: string, allWidgetConfig: Array<IWidgetConfig>): LayoutManager | undefined; }