From 619f4bf3e7f60be8a015dfb2c575602f52f4938a Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Mon, 6 Feb 2023 01:00:54 +0100 Subject: [PATCH] refactor(core): cleanup `useHandle` and set status on actions Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com> --- packages/core/src/composables/useHandle.ts | 6 +----- packages/core/src/store/actions.ts | 6 +++++- packages/core/src/types/store.ts | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/core/src/composables/useHandle.ts b/packages/core/src/composables/useHandle.ts index 54b92842..6efe9081 100644 --- a/packages/core/src/composables/useHandle.ts +++ b/packages/core/src/composables/useHandle.ts @@ -33,7 +33,6 @@ export default function useHandle({ connectionRadius, connectOnClick, connectionClickStartHandle, - connectionStatus, nodesConnectable, defaultEdgeOptions, autoPanOnConnect, @@ -114,8 +113,6 @@ export default function useHandle({ event, ) - connectionStatus.value = null - emits.connectStart({ event, nodeId, handleId, handleType }) function onPointerMove(event: MouseEvent | TouchEvent) { @@ -155,10 +152,9 @@ export default function useHandle({ viewport.value, ) : connectionPosition, + getConnectionStatus(!!prevClosestHandle, result.isValid), ) - connectionStatus.value = getConnectionStatus(!!prevClosestHandle, isValid) - if (!prevClosestHandle) return resetRecentHandle(prevActiveHandle) connection = result.connection diff --git a/packages/core/src/store/actions.ts b/packages/core/src/store/actions.ts index 09d6901b..78c4f78b 100644 --- a/packages/core/src/store/actions.ts +++ b/packages/core/src/store/actions.ts @@ -429,6 +429,8 @@ export function useActions(state: State, getters: ComputedGetters): Actions { state.connectionStartHandle = startHandle } + state.connectionStatus = null + if (position) state.connectionPosition = position state.hooks.connectStart.trigger({ @@ -439,12 +441,14 @@ export function useActions(state: State, getters: ComputedGetters): Actions { }) } - const updateConnection: Actions['updateConnection'] = (position) => { + const updateConnection: Actions['updateConnection'] = (position, status = null) => { state.connectionPosition = position + state.connectionStatus = status } const endConnection: Actions['endConnection'] = (event, isClick) => { state.connectionPosition = { x: NaN, y: NaN } + state.connectionStatus = null if (isClick) { state.connectionClickStartHandle = null diff --git a/packages/core/src/types/store.ts b/packages/core/src/types/store.ts index 8df5b59a..b7e74a6d 100644 --- a/packages/core/src/types/store.ts +++ b/packages/core/src/types/store.ts @@ -248,7 +248,7 @@ export interface Actions extends ViewportFunctions { /** start a connection */ startConnection: (startHandle: StartHandle, position?: XYPosition, event?: MouseEvent | TouchEvent, isClick?: boolean) => void /** update connection position */ - updateConnection: (position: XYPosition) => void + updateConnection: (position: XYPosition, status?: ConnectionStatus | null) => void /** end (or cancel) a connection */ endConnection: (event?: MouseEvent | TouchEvent, isClick?: boolean) => void