feat(store, flow)!: Add apply changes handlers
* flow will not update changes unless a handler to apply changes is passed * a default handler is available in the useVueFlow composable * removeElements export removed
This commit is contained in:
+2
-2
@@ -136,8 +136,8 @@ export const groupEdgesByZLevel = (edges: GraphEdge[], nodes: GraphNode[]) => {
|
||||
const z = edge.z
|
||||
? edge.z
|
||||
: Math.max(
|
||||
nodes[nodeIds.indexOf(edge.source)].computedPosition.z || 0,
|
||||
nodes[nodeIds.indexOf(edge.target)].computedPosition.z || 0,
|
||||
nodes[nodeIds.indexOf(edge.source)]?.computedPosition.z || 0,
|
||||
nodes[nodeIds.indexOf(edge.target)]?.computedPosition.z || 0,
|
||||
)
|
||||
if (tree[z]) {
|
||||
tree[z].push(edge)
|
||||
|
||||
@@ -68,18 +68,6 @@ export const getOutgoers = (node: GraphNode, elements: Elements) => getConnected
|
||||
|
||||
export const getIncomers = (node: GraphNode, elements: Elements) => getConnectedElements(node, elements, 'source')
|
||||
|
||||
export const removeElements = (elementsToRemove: Elements, elements: Elements) => {
|
||||
const nodeIdsToRemove = elementsToRemove.map((n) => n.id)
|
||||
const shouldRemove = (element: Node | Edge) => {
|
||||
const { target, source } = isEdge(element) ? element : { target: '', source: '' }
|
||||
return nodeIdsToRemove.includes(element.id) || nodeIdsToRemove.includes(target) || nodeIdsToRemove.includes(source)
|
||||
}
|
||||
elements.forEach((element, i) => {
|
||||
if (shouldRemove(element)) elements.splice(i, 1)
|
||||
})
|
||||
return elements.filter((element) => !shouldRemove(element))
|
||||
}
|
||||
|
||||
const getEdgeId = ({ source, sourceHandle, target, targetHandle }: Connection) =>
|
||||
`vueflow__edge-${source}${sourceHandle}-${target}${targetHandle}`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user