加载与保存
画布的数据通过 WorkflowDocument 来存储
画布数据
文档数据基本结构:
- nodes
array节点列表, 支持嵌套 - edges
array边列表
节点数据基本结构:
- id:
string节点唯一标识, 必须保证唯一 - meta:
object节点的 ui 配置信息,如自由布局的position信息放这里 - type:
string | number节点类型,会和nodeRegistries中的type对应 - data:
object节点表单数据, 业务可自定义 - blocks:
array节点的分支, 采用block更贴近Gramming, 目前会存子画布的节点 - edges:
array子画布的边数据
边数据基本结构:
- sourceNodeID:
string开始节点 id - targetNodeID:
string目标节点 id - sourcePortID?:
string | number开始端口 id, 缺省则采用开始节点的默认端口 - targetPortID?:
string | number目标端口 id, 缺省则采用目标节点的默认端口
initial-data.ts
加载
- 通过 initialData 加载
- 通过 ref 动态加载
- 动态重载画布所有数据 (会产生 redo/undo/onContentChange )
- 批量添加节点和线条