UNPKG

@alilc/lowcode-editor-skeleton

Version:

alibaba lowcode editor skeleton

70 lines (69 loc) 3.71 kB
import { IEditor, FocusTracker } from '@alilc/lowcode-editor-core'; import { DockConfig, WidgetConfig, PanelDockConfig, DialogDockConfig, DividerConfig } from './types'; import { Panel } from './widget/panel'; import { WidgetContainer } from './widget/widget-container'; import { Area } from './area'; import { IWidget, Widget } from './widget/widget'; import { PanelDock } from './widget/panel-dock'; import { Dock } from './widget/dock'; import { Stage, StageConfig } from './widget/stage'; import { EditorConfig, PluginClassSet, IPublicTypeWidgetBaseConfig, IPublicTypeSkeletonConfig, IPublicApiSkeleton, IPublicTypeConfigTransducer, IPublicTypePanelConfig } from '@alilc/lowcode-types'; export declare enum SkeletonEvents { PANEL_DOCK_ACTIVE = "skeleton.panel-dock.active", PANEL_DOCK_UNACTIVE = "skeleton.panel-dock.unactive", PANEL_SHOW = "skeleton.panel.show", PANEL_HIDE = "skeleton.panel.hide", WIDGET_SHOW = "skeleton.widget.show", WIDGET_HIDE = "skeleton.widget.hide", WIDGET_DISABLE = "skeleton.widget.disable", WIDGET_ENABLE = "skeleton.widget.enable" } export interface ISkeleton extends Skeleton { } export declare class Skeleton implements Omit<IPublicApiSkeleton, 'showPanel' | 'hidePanel' | 'showWidget' | 'enableWidget' | 'hideWidget' | 'disableWidget' | 'showArea' | 'onShowPanel' | 'onHidePanel' | 'onShowWidget' | 'onHideWidget' | 'remove' | 'hideArea' | 'add' | 'getAreaItems' | 'onDisableWidget' | 'onEnableWidget'> { readonly editor: IEditor; readonly viewName: string; private panels; private configTransducers; private containers; readonly leftArea: Area<DockConfig | PanelDockConfig | DialogDockConfig>; readonly topArea: Area<DockConfig | DividerConfig | PanelDockConfig | DialogDockConfig>; readonly subTopArea: Area<DockConfig | DividerConfig | PanelDockConfig | DialogDockConfig>; readonly toolbar: Area<DockConfig | DividerConfig | PanelDockConfig | DialogDockConfig>; readonly leftFixedArea: Area<IPublicTypePanelConfig, Panel>; readonly leftFloatArea: Area<IPublicTypePanelConfig, Panel>; readonly rightArea: Area<IPublicTypePanelConfig, Panel>; readonly mainArea: Area<WidgetConfig | IPublicTypePanelConfig, Widget | Panel>; readonly bottomArea: Area<IPublicTypePanelConfig, Panel>; readonly stages: Area<StageConfig, Stage>; readonly widgets: IWidget[]; readonly focusTracker: FocusTracker; constructor(editor: IEditor, viewName?: string); /** * setup events * * @memberof Skeleton */ setupEvents(): void; /** * set isFloat status for panel * * @param {*} panel * @memberof Skeleton */ toggleFloatStatus(panel: Panel): void; buildFromConfig(config?: EditorConfig, components?: PluginClassSet): void; private setupPlugins; postEvent(event: SkeletonEvents, ...args: any[]): void; createWidget(config: IPublicTypeWidgetBaseConfig | IWidget): IWidget; getWidget(name: string): IWidget | undefined; createPanel(config: IPublicTypePanelConfig): Panel; getPanel(name: string): Panel | undefined; getStage(name: string): Stage; createStage(config: any): string; createContainer(name: string, handle: (item: any) => any, exclusive?: boolean, checkVisible?: () => boolean, defaultSetCurrent?: boolean): WidgetContainer<any, any>; private parseConfig; registerConfigTransducer(transducer: IPublicTypeConfigTransducer, level?: number, id?: string): void; getRegisteredConfigTransducers(): IPublicTypeConfigTransducer[]; add(config: IPublicTypeSkeletonConfig, extraConfig?: Record<string, any>): IWidget | Widget | Panel | Stage | Dock | PanelDock | undefined; }