@logicflow/extension
Version:
LogicFlow Extensions
54 lines (53 loc) • 1.26 kB
TypeScript
import LogicFlow from '@logicflow/core';
type SetType = 'add' | 'reset';
export type MenuItem = {
text?: string;
className?: string;
icon?: boolean;
callback: (element: any) => void;
};
export type MenuConfig = {
nodeMenu?: MenuItem[] | false;
edgeMenu?: MenuItem[] | false;
graphMenu?: MenuItem[] | false;
};
declare class Menu {
lf: LogicFlow;
private __container?;
private __menuDOM?;
private menuTypeMap?;
private __currentData;
static pluginName: string;
constructor({ lf }: {
lf: any;
});
/**
* 初始化设置默认内置菜单栏
*/
private init;
render(lf: LogicFlow, container: HTMLElement): void;
destroy(): void;
private showMenu;
/**
* 设置指定类型元素的菜单
*/
setMenuByType({ type, menu }: {
type: string;
menu: MenuItem[];
}): void;
/**
* 获取 Menu DOM
* @param list 菜单项
* @return 菜单项 DOM
*/
private __getMenuDom;
setMenuConfig(config: MenuConfig): void;
addMenuConfig(config: MenuConfig): void;
/**
* @deprecated
* 复写添加
*/
changeMenuItem(type: SetType, config: MenuConfig): void;
}
export default Menu;
export { Menu };