update: Flow instance provides update node internals func

* Rename onLoadParams to FlowInstance
* Pass update node internals to instance
This commit is contained in:
Braks
2021-10-22 12:39:55 +02:00
parent cd32f14a5a
commit babcbd0e1f
23 changed files with 149 additions and 46 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
import { Connection, Edge, Elements, EmitFunc, FlowHooks, FlowTransform, Node, OnConnectStartParams, OnLoadParams } from '~/types'
import { Connection, Edge, Elements, EmitFunc, FlowHooks, FlowTransform, Node, OnConnectStartParams, FlowInstance } from '~/types'
import { Hooks } from '~/context'
// flow event hooks
@@ -22,7 +22,7 @@ const hooks = (): FlowHooks => {
}>(),
connectStop: createEventHook<MouseEvent>(),
connectEnd: createEventHook<MouseEvent>(),
load: createEventHook<OnLoadParams>(),
load: createEventHook<FlowInstance>(),
move: createEventHook<FlowTransform | undefined>(),
moveStart: createEventHook<FlowTransform | undefined>(),
moveEnd: createEventHook<FlowTransform | undefined>(),
+4 -8
View File
@@ -1,14 +1,10 @@
import { ElementId, UpdateNodeInternals } from '~/types'
import useStore from '~/composables/useStore'
import { ElementId, FlowStore, UpdateNodeInternals } from '~/types'
export default (): UpdateNodeInternals => {
const store = useStore()
return (id: ElementId) => {
export default (store: FlowStore): UpdateNodeInternals =>
(id: ElementId) => {
const nodeElement: HTMLDivElement | null = document.querySelector(`.vue-flow__node[data-id="${id}"]`)
if (nodeElement) {
store.updateNodeDimensions([{ id, nodeElement, forceUpdate: true }])
store.updateNodeDimensions({ id, nodeElement, forceUpdate: true })
}
}
}