基础插件
@skynote/plugins-basic 提供基础节点及通用交互。Editor已经装配常用基础能力,小地图需要按需装入。
使用手册
默认装配与可选插件
| 插件 | Editor默认装配 | 用途 |
|---|---|---|
BasicNodesPlugin | 是 | 注册六类基础节点与堆叠布局 |
BranchConnectorsPlugin | 是 | 布局分支线与样式覆盖 |
SelectionPlugin | 是 | 点选、框选和移动 |
SelectionOutlinePlugin | 是 | 选区与控制柄显示 |
TransformPlugin | 是 | 节点缩放与旋转 |
ViewportNavigationPlugin | 是 | 平移、缩放和导航快捷键 |
EditingShortcutsPlugin | 是 | 编辑快捷键 |
ClipboardPlugin | 是 | 结构化复制、剪切与粘贴 |
ConnectorToolPlugin | 是 | 创建连线与空白落点通知 |
ConnectorEditPlugin | 是 | 连线端点与路径编辑 |
TextEditPlugin | 是 | 文字编辑、格式状态和命令 |
MinimapPlugin | 否 | 小地图几何快照、映射及导航 |
MinimapPlugin需要通过构造参数plugins提供实例,安装后再启用。完整构造方式及主动调用接口见基础交互API、小地图API。
直接使用Core时,可以选择所需插件;例如只注册BasicNodesPlugin会得到节点类型,不会自动得到选择、文字编辑或视口导航。反过来,只安装交互却不注册对应节点类型,也不能创建该类型内容。
安装、注册与卸载
各插件实现SkyNotePlugin。通过Editor构造参数或Core的use安装,由引擎统一卸载。相同id是替换语义,应用不要为“补装一次”重复创建与默认插件相同的私有状态。
通用交互不依赖浏览器DOM,宿主负责输入桥接、覆盖层和UI。自己创建的订阅及异步任务仍需在宿主或插件生命周期内释放。
节点子路径包括 /sticky、/free-text、/shapes、/image;通用交互可从 /interactions 导入。
基础节点公开类型
以下类由BasicNodesPlugin统一注册,也从包根入口导出。它们实现NodeTypeDefinition,不是Vue组件;一般无需直接调用compose、hitTest或创建函数,由引擎统一调度,扩展协议见节点定义。
| 类 | nodeType | 创建选项类型 / 入口 |
|---|---|---|
StickyNodeType | sticky | StickyCreateOptions |
FreeTextNodeType | free-text | FreeTextCreateOptions |
ShapeNodeType | shape | ShapeCreateOptions |
FrameNodeType | frame | FrameCreateOptions |
GroupNodeType | group | 通过Editor.groupNodes从已有节点创建组合,不提供空组合创建选项 |
ImageNodeType | image | ImageCreateOptions;本地文件优先走Editor.insertImage的资产任务 |
创建参数、默认尺寸与示例见基础节点手册。公共位置、宽高、父容器与样式使用创建请求的顶层字段,不把这些字段混入节点options。
小地图的显示与输入接入见小地图指南,完整方法及类型见小地图API。包根入口和上文列出的子路径为导入边界,其他src路径不作为宿主接入契约。