UNPKG

@alilc/lowcode-shell

Version:

Shell Layer for AliLowCodeEngine

101 lines (100 loc) 3.74 kB
import { IDesigner } from '@alilc/lowcode-designer'; import { IPublicTypeAssetsJson } from '@alilc/lowcode-utils'; import { IPublicTypeComponentAction, IPublicTypeComponentMetadata, IPublicApiMaterial, IPublicTypeMetadataTransducer, IPublicModelComponentMeta, IPublicTypeNpmInfo, IPublicModelEditor, IPublicTypeDisposable, IPublicTypeContextMenuAction, IPublicTypeContextMenuItem } from '@alilc/lowcode-types'; import { editorSymbol, designerSymbol } from '../symbols'; import { ComponentType } from 'react'; declare const innerEditorSymbol: unique symbol; export declare class Material implements IPublicApiMaterial { readonly workspaceMode: boolean; private readonly [innerEditorSymbol]; get [editorSymbol](): IPublicModelEditor; get [designerSymbol](): IDesigner; constructor(editor: IPublicModelEditor, workspaceMode?: boolean); /** * 获取组件 map 结构 */ get componentsMap(): { [key: string]: IPublicTypeNpmInfo | ComponentType<any> | object; }; /** * 设置「资产包」结构 * @param assets * @returns */ setAssets(assets: IPublicTypeAssetsJson): Promise<void>; /** * 获取「资产包」结构 * @returns */ getAssets(): IPublicTypeAssetsJson | undefined; /** * 加载增量的「资产包」结构,该增量包会与原有的合并 * @param incrementalAssets * @returns */ loadIncrementalAssets(incrementalAssets: IPublicTypeAssetsJson): Promise<void>; /** * 注册物料元数据管道函数 * @param transducer * @param level * @param id */ registerMetadataTransducer: (transducer: IPublicTypeMetadataTransducer, level?: number, id?: string | undefined) => void; /** * 获取所有物料元数据管道函数 * @returns */ getRegisteredMetadataTransducers(): IPublicTypeMetadataTransducer[]; /** * 获取指定名称的物料元数据 * @param componentName * @returns */ getComponentMeta(componentName: string): IPublicModelComponentMeta | null; /** * create an instance of ComponentMeta by given metadata * @param metadata * @returns */ createComponentMeta(metadata: IPublicTypeComponentMetadata): IPublicModelComponentMeta<import("@alilc/lowcode-types").IPublicModelNode>; /** * test if the given object is a ComponentMeta instance or not * @param obj * @returns */ isComponentMeta(obj: any): obj is import("@alilc/lowcode-designer").ComponentMeta; /** * 获取所有已注册的物料元数据 * @returns */ getComponentMetasMap(): Map<string, IPublicModelComponentMeta>; /** * 在设计器辅助层增加一个扩展 action * @param action */ addBuiltinComponentAction: (action: IPublicTypeComponentAction) => void; /** * 刷新 componentMetasMap,可触发模拟器里的 components 重新构建 */ refreshComponentMetasMap: () => void; /** * 移除设计器辅助层的指定 action * @param name */ removeBuiltinComponentAction(name: string): void; /** * 修改已有的设计器辅助层的指定 action * @param actionName * @param handle */ modifyBuiltinComponentAction(actionName: string, handle: (action: IPublicTypeComponentAction) => void): void; /** * 监听 assets 变化的事件 * @param fn */ onChangeAssets(fn: () => void): IPublicTypeDisposable; addContextMenuOption(option: IPublicTypeContextMenuAction): void; removeContextMenuOption(name: string): void; adjustContextMenuLayout(fn: (actions: IPublicTypeContextMenuItem[]) => IPublicTypeContextMenuItem[]): void; } export {};