mirror of
https://github.com/alibaba/lowcode-engine.git
synced 2025-12-11 18:42:56 +00:00
fix(context-menu): fix context menu component instance changed
This commit is contained in:
parent
a8b9b2b5e1
commit
8f8908c832
@ -8,6 +8,7 @@ import {
|
|||||||
import { Balloon, Breadcrumb, Button, Card, Checkbox, DatePicker, Dialog, Dropdown, Form, Icon, Input, Loading, Message, Overlay, Pagination, Radio, Search, Select, SplitButton, Step, Switch, Tab, Table, Tree, TreeSelect, Upload, Divider } from '@alifd/next';
|
import { Balloon, Breadcrumb, Button, Card, Checkbox, DatePicker, Dialog, Dropdown, Form, Icon, Input, Loading, Message, Overlay, Pagination, Radio, Search, Select, SplitButton, Step, Switch, Tab, Table, Tree, TreeSelect, Upload, Divider } from '@alifd/next';
|
||||||
import { ContextMenu } from '../components/context-menu';
|
import { ContextMenu } from '../components/context-menu';
|
||||||
import { editorSymbol } from '../symbols';
|
import { editorSymbol } from '../symbols';
|
||||||
|
import { ReactElement } from 'react';
|
||||||
|
|
||||||
export class CommonUI implements IPublicApiCommonUI {
|
export class CommonUI implements IPublicApiCommonUI {
|
||||||
[editorSymbol]: IEditor;
|
[editorSymbol]: IEditor;
|
||||||
@ -40,8 +41,27 @@ export class CommonUI implements IPublicApiCommonUI {
|
|||||||
Upload = Upload;
|
Upload = Upload;
|
||||||
Divider = Divider;
|
Divider = Divider;
|
||||||
|
|
||||||
|
ContextMenu: ((props: {
|
||||||
|
menus: IPublicTypeContextMenuAction[];
|
||||||
|
children: React.ReactElement[] | React.ReactElement;
|
||||||
|
}) => ReactElement) & {
|
||||||
|
create(menus: IPublicTypeContextMenuAction[], event: MouseEvent | React.MouseEvent): void;
|
||||||
|
};
|
||||||
|
|
||||||
constructor(editor: IEditor) {
|
constructor(editor: IEditor) {
|
||||||
this[editorSymbol] = editor;
|
this[editorSymbol] = editor;
|
||||||
|
|
||||||
|
const innerContextMenu = (props: any) => {
|
||||||
|
const pluginContext: IPublicModelPluginContext = editor.get('pluginContext') as IPublicModelPluginContext;
|
||||||
|
return <ContextMenu {...props} pluginContext={pluginContext} />;
|
||||||
|
};
|
||||||
|
|
||||||
|
innerContextMenu.create = (menus: IPublicTypeContextMenuAction[], event: MouseEvent) => {
|
||||||
|
const pluginContext: IPublicModelPluginContext = editor.get('pluginContext') as IPublicModelPluginContext;
|
||||||
|
return ContextMenu.create(pluginContext, menus, event);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.ContextMenu = innerContextMenu;
|
||||||
}
|
}
|
||||||
|
|
||||||
get Tip() {
|
get Tip() {
|
||||||
@ -55,19 +75,4 @@ export class CommonUI implements IPublicApiCommonUI {
|
|||||||
get Title() {
|
get Title() {
|
||||||
return InnerTitle;
|
return InnerTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
get ContextMenu() {
|
|
||||||
const editor = this[editorSymbol];
|
|
||||||
const innerContextMenu = (props: any) => {
|
|
||||||
const pluginContext: IPublicModelPluginContext = editor.get('pluginContext') as IPublicModelPluginContext;
|
|
||||||
return <ContextMenu {...props} pluginContext={pluginContext} />;
|
|
||||||
};
|
|
||||||
|
|
||||||
innerContextMenu.create = (menus: IPublicTypeContextMenuAction[], event: MouseEvent) => {
|
|
||||||
const pluginContext: IPublicModelPluginContext = editor.get('pluginContext') as IPublicModelPluginContext;
|
|
||||||
return ContextMenu.create(pluginContext, menus, event);
|
|
||||||
};
|
|
||||||
|
|
||||||
return innerContextMenu;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user