refactor(flow): export useNodesState and useEdgesState separately from useVueFlow

* bind vueFlow instance to currentInstance when useVueFlow is called multiple times in a single setup call

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 63bf3b3a26
commit 39501d0bb0
7 changed files with 159 additions and 142 deletions
+12 -11
View File
@@ -126,31 +126,32 @@ export type FlowOptions<N = any, E = N> = FlowProps<N, E>
type UseStateOptions = {
applyDefault?: boolean
}
export type UseNodesState = {
nodes: GraphNode[]
setNodes: FlowActions['setNodes']
addNodes: (nodes: Node[], extent?: CoordinateExtent) => GraphNode[]
OnNodesChange: FlowHooksOn['OnNodesChange']
}
export interface UseNodesStateOptions extends UseStateOptions {
nodes?: Node[]
}
export interface UseEdgesStateOptions extends UseStateOptions {
edges?: Edge[]
}
export type UseEdgeState = {
export interface UseElementsStateOptions extends UseStateOptions {
edges?: Edge[]
nodes?: Node[]
}
export type UseNodesState = {
nodes: GraphNode[]
setNodes: FlowActions['setNodes']
addNodes: (nodes: Node[], extent?: CoordinateExtent) => GraphNode[]
OnNodesChange: FlowHooksOn['OnNodesChange']
}
export type UseEdgesState = {
edges: GraphEdge[]
setEdges: FlowActions['setEdges']
addEdges: (params: (Edge | Connection)[]) => GraphEdge[]
updateEdge: (oldEdge: GraphEdge, newConnection: Connection) => GraphEdge | false
OnEdgesChange: FlowHooksOn['OnEdgesChange']
}
export type UseElementsState = UseNodesState & UseEdgesState
export type UseVueFlow = {
id: string
store: FlowStore
useNodesState: (nodes?: Node[], applyDefault?: boolean) => UseNodesState
useEdgesState: (edges?: Edge[], applyDefault?: boolean) => UseEdgeState
applyNodeChanges: (changes: NodeChange[]) => void
applyEdgeChanges: (changes: EdgeChange[]) => void
} & FlowHooksOn &
ToRefs<FlowStore>