refactor(flow): remove separate apply changes function and add them to useNodesState useEdgesState

* immedatiely execute props watcher

Signed-off-by: Braks <78412429+bcakmakoglu@users.noreply.github.com>
This commit is contained in:
Braks
2021-12-20 19:29:52 +01:00
parent 25b64fe3a7
commit 423f6aa78d
3 changed files with 50 additions and 23 deletions
+14 -12
View File
@@ -4,7 +4,7 @@ import { GraphNode, CoordinateExtent, Node } from './node'
import { Connection, ConnectionLineType, ConnectionMode } from './connection'
import { KeyCode, PanOnScrollMode, UseZoomPanHelper } from './zoom'
import { FlowActions, FlowStore } from './store'
import { FlowHooksOn } from './hooks'
import { EdgeChange, FlowHooksOn, NodeChange } from './hooks'
export type FlowElement<N = any, E = any> = GraphNode<N> | GraphEdge<E>
export type FlowElements<N = any, E = any> = FlowElement<N, E>[]
@@ -136,22 +136,24 @@ export interface UseElementsStateOptions extends UseStateOptions {
edges?: Edge[]
nodes?: Node[]
}
export type UseNodesState = {
nodes: GraphNode[]
export type UseNodesState<N = any> = {
nodes: GraphNode<N>[]
applyNodeChanges: <ND = N>(changes: NodeChange[]) => GraphNode<ND>[]
setNodes: FlowActions['setNodes']
addNodes: (nodes: Node[], extent?: CoordinateExtent) => GraphNode[]
addNodes: <NA = N>(nodes: Node<NA>[], extent?: CoordinateExtent) => GraphNode<NA>[]
OnNodesChange: FlowHooksOn['OnNodesChange']
}
export type UseEdgesState = {
export type UseEdgesState<E = any> = {
edges: GraphEdge[]
applyEdgeChanges: <ED = E>(changes: EdgeChange[]) => GraphEdge<ED>[]
setEdges: FlowActions['setEdges']
addEdges: (params: (Edge | Connection)[]) => GraphEdge[]
updateEdge: (oldEdge: GraphEdge, newConnection: Connection) => GraphEdge | false
addEdges: <EA = E>(params: (Edge<EA> | Connection)[]) => GraphEdge<EA>[]
updateEdge: <EU = E>(oldEdge: GraphEdge<EU>, newConnection: Connection) => GraphEdge<EU> | false
OnEdgesChange: FlowHooksOn['OnEdgesChange']
}
export type UseElementsState = UseNodesState & UseEdgesState
export type UseVueFlow = {
export type UseElementsState<N = any, E = N> = UseNodesState<N> & UseEdgesState<E>
export type UseVueFlow<N = any, E = N> = {
id: string
store: FlowStore
} & FlowHooksOn &
ToRefs<FlowStore>
store: FlowStore<N, E>
} & FlowHooksOn<N, E> &
ToRefs<FlowStore<N, E>>