类型:EditorInterface
编辑引擎和阅读器共有属性和方法
kind
编辑器类型,编辑引擎或者阅读器
readonly kind: 'engine' | 'view';
language
语言
类型:LanguageInterface
container
编辑器节点
类型:NodeInterface
scrollNode
滚动条节点
类型:NodeInterface | null
root
编辑器根节点,默认为编辑器节点的父节点
类型:NodeInterface
command
编辑器命令
类型:CommandInterface
request
数据请求与上传
类型:RequestInterface
card
卡片管理,可以创建卡片、删除、修改、更新等相关操作
类型:CardModelInterface
plugin
可以管理所有已实例化的插件实例
类型:PluginModelInterface
node
节点管理,包括节点类型判断,在 DOM 树中插入节点
类型:NodeModelInterface
节点 data-id 管理器
/*** 节点id管理器*/nodeId: NodeIdInterface;
list
列表节点管理
类型:ListModelInterface
mark
样式节点管理
类型:MarkModelInterface
inline
行内节点管理
类型:InlineModelInterface
block
块级节点管理
类型:BlockModelInterface
event
事件管理
类型:EventInterface
schema
元素结构管理
类型:SchemaInterface
conversion
元素名称转换规则
类型:ConversionInterface
clipboard
剪贴板管理
类型:ClipboardInterface
setScrollNode
设置滚动节点
/*** 设置滚动节点* @param node 节点*/setScrollNode(node: HTMLElement): void;
getSelectionData
获取选中区域的的数据 html 和 文本
/*** 获取选中区域的的数据 html 和 文本* @param range 光标范围*/getSelectionData(range?: RangeInterface,): Record<'html' | 'text', string> | undefined;
destroy
销毁编辑器
/*** 销毁编辑器*/destroy(): void;
on
事件绑定
/*** 绑定事件* @param eventType 事件类型* @param listener 事件回调* @param rewrite 是否重写*/on(eventType: string, listener: EventListener, rewrite?: boolean): void;
off
移除事件绑定
/*** 移除绑定事件* @param eventType 事件类型* @param listener 事件回调*/off(eventType: string, listener: EventListener): void;
trigger
触发事件
/*** 触发事件* @param eventType 事件名称* @param args 触发参数*/trigger(eventType: string, ...args: any): any;
messageSuccess
显示成功类的消息,默认在控制台打印消息。可以修改messageSuccess
方法,使用 UI 显示 engine.messageSuccess = text => Message.show(text)
在插件内部或引擎内部都可能会调用此方法弹出讯息
/*** 显示成功的信息* @param message 信息*/messageSuccess(type: string, message: string, ...args: any[]): void;
messageError
显示错误消息
/*** 显示错误信息* @param error 错误信息*/messageError(type: string, message: string, ...args: any[]): void;
messageConfirm
弹出一个确认提示框,引擎内默认没有 UI 显示,并且始终返回 false。所以需要重新赋值一个有意义的确认提示框功能
例如,使用 antd 的 Modal.confirm 组件
engine.messageConfirm = (type: string, message: string, ...args: any[]) => {return new Promise<boolean>((resolve, reject) => {Modal.confirm({content: message,onOk: () => resolve(true),onCancel: () => reject(),});});};
方法签名
/*** 消息确认* @param message 消息*/messageConfirm(type: string, message: string, ...args: any[]): Promise<boolean>;