forked from alibaba/lowcode-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcommonUI.tsx
More file actions
78 lines (68 loc) · 2.21 KB
/
commonUI.tsx
File metadata and controls
78 lines (68 loc) · 2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import { IPublicApiCommonUI, IPublicModelPluginContext, IPublicTypeContextMenuAction } from '@alilc/lowcode-types';
import {
HelpTip,
IEditor,
Tip as InnerTip,
Title as InnerTitle,
} from '@alilc/lowcode-editor-core';
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 { editorSymbol } from '../symbols';
import { ReactElement } from 'react';
export class CommonUI implements IPublicApiCommonUI {
[editorSymbol]: IEditor;
Balloon = Balloon;
Breadcrumb = Breadcrumb;
Button = Button;
Card = Card;
Checkbox = Checkbox;
DatePicker = DatePicker;
Dialog = Dialog;
Dropdown = Dropdown;
Form = Form;
Icon = Icon;
Input = Input;
Loading = Loading as any;
Message = Message;
Overlay = Overlay;
Pagination = Pagination;
Radio = Radio;
Search = Search;
Select = Select;
SplitButton = SplitButton;
Step = Step;
Switch = Switch;
Tab = Tab;
Table = Table;
Tree = Tree;
TreeSelect = TreeSelect;
Upload = Upload;
Divider = Divider;
ContextMenu: ((props: {
menus: IPublicTypeContextMenuAction[];
children: React.ReactElement[] | React.ReactElement;
}) => ReactElement) & {
create(menus: IPublicTypeContextMenuAction[], event: MouseEvent | React.MouseEvent): void;
};
constructor(editor: IEditor) {
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() {
return InnerTip;
}
get HelpTip() {
return HelpTip;
}
get Title() {
return InnerTitle;
}
}