状态
属性和方法
graph.nodeStateMap
Record<string, Set<string>>
节点状态 Map,key为状态类型,value为节点Id集合
graph.setNodeState(data, type[, isAppend])
Function
设置节点状态
参数
-
data:object节点绑定的数据
-
type:string状态类型
-
isAppend:booleanoptional当值为
boolean时,为添加/移除状态当值为
undefined时,将根据此时节点的状态 Map,即nodeStateMap,自动判断添加/移除状态。例如此时节点状态为active,isAppend === undefined将移除active
当修改状态时,将经过以下步骤:
- 根据传入参数,修改
nodeStateMap; - 根据修改后的
nodeStateMap及当前注册的样式组,应用样式; - 执行当前类型注册的相关副作用
graph.linkStateMap
Record<string, Set<string>>
边状态 Map,同nodeStateMap
graph.setLinkState(data, type[, isAppend])
Function
设置边状态,同setNodeState
graph.registerState(type[,options])
Function
注册状态
参数
-
type:string状态类型
-
options:objectoptional可选的配置项,包括三个属性:
priority,状态优先级,默认为{value: 5}-
nodeoptional,节点状态相关的配置,包括两个属性:-
styleoptional,设置状态后,应用的样式 -
effectoptional,设置状态后,触发的相关副作用
-
link同 node
graph.unregisterState(type)
注销状态
内置状态
| 状态 | 触发时机 | 副作用 |
|---|---|---|
| active | mouseenter/mouseleave | 节点:高亮相邻边及节点;边:高亮连接的节点 |
| selected | click | 无 |
| inactive | 无 | 无 |
| disable | 无 | 无 |
| brush | 框选 | 无 |