From a5ebd480134cb38aa67c4e77e32e44a28bd25c0c Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Thu, 2 Feb 2023 00:40:28 +0100 Subject: [PATCH] fix(core): pass valid connection func params Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com> --- packages/core/src/composables/useHandle.ts | 7 +++++++ packages/core/src/utils/handle.ts | 17 +++++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/packages/core/src/composables/useHandle.ts b/packages/core/src/composables/useHandle.ts index b4a6c90d..7141adc9 100644 --- a/packages/core/src/composables/useHandle.ts +++ b/packages/core/src/composables/useHandle.ts @@ -44,6 +44,7 @@ export default function useHandle({ endConnection, emits, viewport, + edges, } = useVueFlow() function handlePointerDown(event: MouseEvent | TouchEvent) { @@ -134,6 +135,8 @@ export default function useHandle({ isTarget ? 'target' : 'source', validConnectFunc, doc, + edges.value, + findNode, ) updateConnection( @@ -174,6 +177,8 @@ export default function useHandle({ isTarget ? 'target' : 'source', validConnectFunc, doc, + edges.value, + findNode, ) if (isValid) { @@ -236,6 +241,8 @@ export default function useHandle({ connectionClickStartHandle.value.type, validConnectFunc, doc, + edges.value, + findNode, ) const isOwnHandle = connection.source === connection.target diff --git a/packages/core/src/utils/handle.ts b/packages/core/src/utils/handle.ts index e2884376..4af31c19 100644 --- a/packages/core/src/utils/handle.ts +++ b/packages/core/src/utils/handle.ts @@ -1,5 +1,14 @@ import { ConnectionMode } from '~/types' -import type { Connection, GraphNode, HandleType, NodeHandleBounds, ValidConnectionFunc, XYPosition } from '~/types' +import type { + Actions, + Connection, + GraphEdge, + GraphNode, + HandleType, + NodeHandleBounds, + ValidConnectionFunc, + XYPosition, +} from '~/types' export interface ConnectionHandle { id: string | null @@ -71,9 +80,9 @@ export function isValidHandle( fromType: string, isValidConnection: ValidConnectionFunc, doc: Document | ShadowRoot, + edges: GraphEdge[], + findNode: Actions['findNode'], ) { - const { edges, findNode } = useVueFlow() - const isTarget = fromType === 'target' const handleDomNode = doc.querySelector(`.vue-flow__handle[data-id="${handle?.nodeId}-${handle?.id}-${handle?.type}"]`) @@ -108,7 +117,7 @@ export function isValidHandle( if (isValid) { result.isValid = isValidConnection(connection, { - edges: edges.value, + edges, sourceNode: findNode(connection.source)!, targetNode: findNode(connection.target)!, })