SchemaUtils
SchemaUtils 是一组用于操作 Schema 的工具函数,提供元素的增删改查、移动、属性更新等操作。
导入
元素操作
insertElement
向 Schema 中插入新元素作为指定元素的子元素。
返回值: InsertElementResult
schema: 插入后的新 Schemaoperation: 插入操作的详细信息elementId: 插入的元素 IDparentId: 父元素 IDindex: 插入的索引位置element: 插入的元素数据
insertAdjacentElement
在指定元素的同级前后插入新元素。
返回值: InsertElementResult (同 insertElement)
removeElement
从 Schema 中删除元素及其所有子元素。
返回值: RemoveElementResult
schema: 删除后的新 Schemaoperation: 删除操作的详细信息elementId: 删除的元素 IDparentId: 父元素 IDindex: 原索引位置element: 删除的元素快照(包含所有子元素)
moveElement
移动元素到新位置。
返回值: MoveElementResult
schema: 移动后的新 Schemaoperation: 移动操作的详细信息elementId: 移动的元素 IDoldParentId: 原父元素 IDoldIndex: 原索引位置newParentId: 新父元素 IDnewIndex: 新索引位置mode: 移动模式
元素查询
getElementById
根据 ID 获取元素。
返回值: 包含 id 和元素属性的对象
getElementsByType
获取所有指定类型的元素。
返回值: 匹配元素的数组
getParents
获取元素的所有父元素链,从直接父元素到根节点。
返回值: 从直接父元素到根节点的元素 ID 数组
属性操作
setElementProps
更新元素的属性。
返回值: SetElementPropsResult
schema: 更新后的新 Schemaoperation: 更新操作的详细信息elementId: 元素 IDprops: 新属性oldProps: 更新前的旧属性
流程图操作
getFlowGraph
获取扩展中的流程图数据。
返回值: 流程图数据
setFlowGraph
设置扩展中的流程图数据。
返回值: 更新后的新 Schema
setEventFlow
设置元素事件对应的流程。
返回值: 更新后的新 Schema
全局变量操作
getGlobalVariables
获取所有全局变量。
返回值: 全局变量数组(返回副本,避免修改原数据)
setGlobalVariables
设置全局变量。
返回值: 更新后的新 Schema
工具方法
combineSchema
组合 elements、layout 等数据生成完整的 Schema。
返回值: 组合后的 Schema
normalizeSchema
规范化 Schema,确保所有字段都有默认值。
返回值: 规范化后的 Schema
