213 lines
3.2 KiB
Markdown
213 lines
3.2 KiB
Markdown
# Engine and reader share attributes and methods
|
|
|
|
Type: `EditorInterface`
|
|
|
|
Editing engine and reader share attributes and methods
|
|
|
|
## Attributes
|
|
|
|
### `kind`
|
|
|
|
Editor type, editing engine or reader
|
|
|
|
```ts
|
|
readonly kind:'engine' |'view';
|
|
```
|
|
|
|
### `language`
|
|
|
|
Language
|
|
|
|
Type: `LanguageInterface`
|
|
|
|
### `container`
|
|
|
|
Editor node
|
|
|
|
Type: `NodeInterface`
|
|
|
|
### `root`
|
|
|
|
Editor root node, the default is the parent node of the editor node
|
|
|
|
Type: `NodeInterface`
|
|
|
|
### `command`
|
|
|
|
Editor commands
|
|
|
|
Type: `CommandInterface`
|
|
|
|
### `card`
|
|
|
|
Card management, you can create cards, delete, modify, update and other related operations
|
|
|
|
Type: `CardModelInterface`
|
|
|
|
### `plugin`
|
|
|
|
Can manage all instantiated plugin instances
|
|
|
|
Type: `PluginModelInterface`
|
|
|
|
### `node`
|
|
|
|
Node management, including node type judgment, inserting nodes in the DOM tree
|
|
|
|
Type: `NodeModelInterface`
|
|
|
|
### nodeId
|
|
|
|
Node data-id manager
|
|
|
|
```ts
|
|
/**
|
|
* Node id manager
|
|
*/
|
|
nodeId: NodeIdInterface;
|
|
```
|
|
|
|
### `list`
|
|
|
|
List node management
|
|
|
|
Type: `ListModelInterface`
|
|
|
|
### `mark`
|
|
|
|
Style node management
|
|
|
|
Type: `MarkModelInterface`
|
|
|
|
### `inline`
|
|
|
|
In-line node management
|
|
|
|
Type: `InlineModelInterface`
|
|
|
|
### `block`
|
|
|
|
Block-level node management
|
|
|
|
Type: `BlockModelInterface`
|
|
|
|
### `event`
|
|
|
|
Incident management
|
|
|
|
Type: `EventInterface`
|
|
|
|
### `schema`
|
|
|
|
Element structure management
|
|
|
|
Type: `SchemaInterface`
|
|
|
|
### `conversion`
|
|
|
|
Element name conversion rules
|
|
|
|
Type: `ConversionInterface`
|
|
|
|
### `clipboard`
|
|
|
|
Clipboard management
|
|
|
|
Type: `ClipboardInterface`
|
|
|
|
## Method
|
|
|
|
### `on`
|
|
|
|
Event binding
|
|
|
|
```ts
|
|
/**
|
|
* Bind event
|
|
* @param eventType event type
|
|
* @param listener event callback
|
|
* @param rewrite whether to rewrite
|
|
*/
|
|
on(eventType: string, listener: EventListener, rewrite?: boolean): void;
|
|
```
|
|
|
|
### `off`
|
|
|
|
Remove event binding
|
|
|
|
```ts
|
|
/**
|
|
* Remove bound event
|
|
* @param eventType event type
|
|
* @param listener event callback
|
|
*/
|
|
off(eventType: string, listener: EventListener): void;
|
|
```
|
|
|
|
### `trigger`
|
|
|
|
trigger event
|
|
|
|
```ts
|
|
/**
|
|
* trigger event
|
|
* @param eventType event name
|
|
* @param args trigger parameters
|
|
*/
|
|
trigger(eventType: string, ...args: any): any;
|
|
```
|
|
|
|
### `messageSuccess`
|
|
|
|
Show success messages, and print messages on the console by default. You can modify the `messageSuccess` method and use the UI to display `engine.messageSuccess = text => Message.show(text)`
|
|
|
|
This method may be called in the plug-in or the engine to pop up a message
|
|
|
|
```ts
|
|
/**
|
|
* Show success information
|
|
* @param message
|
|
*/
|
|
messageSuccess(message: string): void;
|
|
```
|
|
|
|
### `messageError`
|
|
|
|
Show error message
|
|
|
|
```ts
|
|
/**
|
|
* Display error message
|
|
* @param error error message
|
|
*/
|
|
messageError(error: string): void;
|
|
```
|
|
|
|
### `messageConfirm`
|
|
|
|
A confirmation prompt box pops up, no UI is displayed in the engine by default, and false is always returned. So you need to re-assign a meaningful confirmation prompt box function
|
|
|
|
For example, using the Modal.confirm component of antd
|
|
|
|
```ts
|
|
engine.messageConfirm = (msg: string) => {
|
|
return new Promise<boolean>((resolve, reject) => {
|
|
Modal.confirm({
|
|
content: msg,
|
|
onOk: () => resolve(true),
|
|
onCancel: () => reject(),
|
|
});
|
|
});
|
|
};
|
|
```
|
|
|
|
Method signature
|
|
|
|
```ts
|
|
/**
|
|
* Message confirmation
|
|
* @param message
|
|
*/
|
|
messageConfirm(message: string): Promise<boolean>;
|
|
```
|