@alilc/lowcode-editor-skeleton
Version:
alibaba lowcode editor skeleton
70 lines (69 loc) • 3.71 kB
TypeScript
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;
}