amis-model-design
Version:
amis模型设计器
50 lines (49 loc) • 2.08 kB
TypeScript
import '../index';
import { BaseEventContext, BasicToolbarItem, ContextMenuEventContext, ContextMenuItem, BasePlugin as EditorBasePlugin, EditorManager, EditorNodeType, PluginEvent, ReplaceEventContext } from 'amis-editor';
import { Manager, ManagerOptions } from '../base/Manager';
import React from 'react';
import { DataSourceItem, FieldItem, ModelItem } from '../type';
import { SchemaBuilderInterface } from '../schema-builder/SchemaBuilder';
export declare class BasePlugin extends EditorBasePlugin {
readonly manager: EditorManager;
readonly erManager: Manager;
constructor(manager: EditorManager, options?: ManagerOptions);
afterReplace(event: PluginEvent<ReplaceEventContext>): void;
makeModelFieldPanel(options: {
dsId: string;
id: string;
key: string;
name: string;
dsName: string;
[propName: string]: any;
}, node: EditorNodeType, type: string, field: FieldItem, region?: string): (props: any) => React.JSX.Element;
makeModelPanel(options: {
dsId: string;
id: string;
key: string;
name: string;
dsName: string;
[propName: string]: any;
}, node: EditorNodeType, type: string): (props: any) => React.JSX.Element;
makeAsyncPanel(options: {
dsId: string;
id: string;
key: string;
name: string;
dsName: string;
[propName: string]: any;
}, node: EditorNodeType, type: string, makeRender: (builder: SchemaBuilderInterface) => Promise<any>, headerRender?: (context: {
datasource: DataSourceItem;
model: ModelItem;
}) => JSX.Element): (props: any) => React.JSX.Element;
buildEditorToolbar({ id, info, node }: BaseEventContext, toolbars: Array<BasicToolbarItem>): void;
/**
* 构建当前选中组件的右键菜单
* @param id
* @param schema
* @param region
* @param info
* @param menus
*/
buildEditorContextMenu({ id, schema, region, info, node, selections }: ContextMenuEventContext, menus: Array<ContextMenuItem>): void;
}