节点 Node
LogicFlow 的内置节点包括
- 矩形(rect)
- 圆形(circle)
- 椭圆(ellipse)
- 菱形(diamond)
- 多边形(polygon)
- 文本(text)
通用属性
数据属性
作为data进行保存,可以通过lf.setNodeData进行修改
| 名称 | 类型 | 是否必须 | 描述 |
| id | String | ✅ | 节点 id |
| type | String | ✅ | 节点类型 |
| x | number | ✅ | 节点中心x轴坐标 |
| y | number | ✅ | 节点中心y轴坐标 |
| text | Object/String | | 节点文本 |
| properties | Object | | 节点自定义属性 |
样式属性
属性取值内部已定义,不作为data进行保存,可通过修改主题、自定义节点方式进行属性值的修改
| 名称 | 类型 | 是否必须 | 描述 |
| width | number | ✅ | 节点宽度 |
| height | number | ✅ | 节点高度 |
| fill | color | ✅ | 节点填充颜色 |
| fillOpacity | number | ✅ | 节点填充颜色透明度 |
| stroke | color | ✅ | 节点边框颜色 |
| strokeOpacity | number | ✅ | 节点边框颜色透明度 |
| strokeWidth | number | ✅ | 节点边框宽度 |
| opacity | number | ✅ | 节点整体透明度 |
| outlineColor | color | ✅ | 外框颜色 |
| hoverOutlineColor | color | ✅ | hover外边框颜色 |
| outlineStrokeDashArray | string | ✅ | 控制用来描外边框的点划线的图案范式, 设置为空是为实线 |
| hoverOutlineStrokeDashArray | string | ✅ | 控制用来描hover外边框的点划线的图案范式, 设置为空是为实线 |
附加属性
不对外输出
| 名称 | 类型 | 是否必须 | 描述 |
| modelType | String | ✅ | 节点图形类型,已内部定义 |
| graphModel | object | ✅ | 图形数据 |
| menu | Object | | 节点菜单 |
| anchorsOffset | Array | | 锚点相对于节点中心坐标的偏移值数组 |
| targetRules | Array | | 节点可以连接的规则 |
| sourceRules | Array | | 节点可以被连接的规则 |
| additionStateData | object | | 设置节点状态的附加数据,例如显示菜单,菜单的位置信息 |
状态属性
编辑过程中使用,不对外输出
| 名称 | 类型 | 是否必须 | 描述 |
| isSelected | boolean | ✅ | 节点是否被选中 |
| isHovered | boolean | ✅ | 节点是否在hover状态 |
| zIndex | number | ✅ | 节点在图中显示优先级,数值大的在上面,类似于css中zIndex的定义 |
| anchors | Array | ✅ | 锚点数组 |
| state | number | ✅ | 节点状态 |
节点状态
- 1:默认
- 2:文本编辑
- 3:展示菜单
- 4:允许连接
- 5:不允连接
通用方法
lf.addNode
创建节点
参数
| 名称 | 类型 | 描述 |
| nodeConfig | NodeConfig | 节点数据 |
返回值
无
用法
lf.getNodeData
获取节点数据
参数
| 名称 | 类型 | 描述 |
| nodeId | string | 节点Id |
返回值
| 名称 | 类型 | 描述 |
| nodeData | NodeData | 节点数据 |
用法
lf.setNodeData
设置节点数据(即将废弃,如果想要修改properties,请使用setProperties。如果想要修改id请使用setNodeId)
参数
| 名称 | 类型 | 描述 |
| nodeAttribute | NodeAttribute | 节点数据 |
返回值
无
用法
lf.deleteNode
删除节点
参数
| 名称 | 类型 | 描述 |
| nodeId | string | 节点Id |
返回值
无
用法
lf.cloneNode
复制节点
参数
| 名称 | 类型 | 描述 |
| nodeId | string | 节点Id |
返回值
| 名称 | 类型 | 描述 |
| nodeData | NodeData | 节点数据 |
用法
lf.focusOn
将节点定位到画布中心
参数
| 名称 | 类型 | 必传 | 默认值 | 描述 |
| id | String | | - | 图形的id |
| coordinate | Object | | - | 图形当前的位置坐标 |
返回值
无
用法
节点属性
不同类型节点自定义的属性,自定义属性都是样式属性,下面不再区分属性类型。属性取值内部已定义,不作为data进行保存,可通过修改主题、自定义节点方式进行属性值的修改。
矩形
| 名称 | 类型 | 是否必须 | 描述 |
| radius | number | ✅ | 矩形圆角 |
圆形
| 名称 | 类型 | 是否必须 | 描述 |
| r | number | ✅ | 圆形半径 |
椭圆
| 名称 | 类型 | 是否必须 | 描述 |
| rx | number | ✅ | 椭圆x轴半径 |
| ry | number | ✅ | 椭圆y轴半径 |
菱形
| 名称 | 类型 | 是否必须 | 描述 |
| rx | number | ✅ | 菱形x轴宽度的1/2 |
| ry | number | ✅ | 菱形y轴高度的1/2 |
多边形
| 名称 | 类型 | 是否必须 | 描述 |
| points | Point[] | ✅ | 多边形端点坐标 |
文本
| 名称 | 类型 | 是否必须 | 描述 |
| fontSize | number | ✅ | 字体大小 |
| fontFamily | string | ✅ | 字体类型 |
| fontWeight | number / string | ✅ | 字体粗细 |