状态
属性和方法
graph.nodeStateMap
Record<string, Set<string>>
节点状态 Map,key
为状态类型,value
为节点Id
集合
graph.setNodeState(data, type[, isAppend])
Function
设置节点状态
参数
-
data
:object
节点绑定的数据
-
type
:string
状态类型
-
isAppend
:boolean
optional当值为
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
:object
optional可选的配置项,包括三个属性:
priority
,状态优先级,默认为{value: 5}
-
node
optional,节点状态相关的配置,包括两个属性:-
style
optional,设置状态后,应用的样式 -
effect
optional,设置状态后,触发的相关副作用
-
link
同 node
graph.unregisterState(type)
注销状态
内置状态
状态 | 触发时机 | 副作用 |
---|---|---|
active | mouseenter/mouseleave | 节点:高亮相邻边及节点;边:高亮连接的节点 |
selected | click | 无 |
inactive | 无 | 无 |
disable | 无 | 无 |
brush | 框选 | 无 |