From da9cbc6e77e43b65d382a49939be8c51f15cf52c Mon Sep 17 00:00:00 2001 From: braks <78412429+bcakmakoglu@users.noreply.github.com> Date: Thu, 11 May 2023 13:53:50 +0200 Subject: [PATCH] chore(core): cleanup Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com> --- packages/core/src/store/actions.ts | 52 ++++++++++++++++-------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/packages/core/src/store/actions.ts b/packages/core/src/store/actions.ts index 1ec52dfb..326fa15a 100644 --- a/packages/core/src/store/actions.ts +++ b/packages/core/src/store/actions.ts @@ -843,6 +843,32 @@ export function useActions( } } + const $reset: Actions['$reset'] = () => { + const resetState = useState() + + state.edges = [] + state.nodes = [] + + // reset the zoom state + if (state.d3Zoom && state.d3Selection) { + const updatedTransform = zoomIdentity + .translate(resetState.defaultViewport.x ?? 0, resetState.defaultViewport.y ?? 0) + .scale(clamp(resetState.defaultViewport.zoom ?? 1, resetState.minZoom, resetState.maxZoom)) + + const bbox = state.viewportRef!.getBoundingClientRect() + + const extent: CoordinateExtent = [ + [0, 0], + [bbox.width, bbox.height], + ] + + const constrainedTransform = state.d3Zoom.constrain()(updatedTransform, extent, resetState.translateExtent) + state.d3Zoom.transform(state.d3Selection, constrainedTransform) + } + + setState(resetState) + } + return { updateNodePositions, updateNodeDimensions, @@ -888,31 +914,7 @@ export function useActions( toObject, fromObject, updateNodeInternals, - $reset: () => { - const resetState = useState() - - state.edges = [] - state.nodes = [] - - // reset the zoom state - if (state.d3Zoom && state.d3Selection) { - const updatedTransform = zoomIdentity - .translate(resetState.defaultViewport.x ?? 0, resetState.defaultViewport.y ?? 0) - .scale(clamp(resetState.defaultViewport.zoom ?? 1, resetState.minZoom, resetState.maxZoom)) - - const bbox = state.viewportRef!.getBoundingClientRect() - - const extent: CoordinateExtent = [ - [0, 0], - [bbox.width, bbox.height], - ] - - const constrainedTransform = state.d3Zoom.constrain()(updatedTransform, extent, resetState.translateExtent) - state.d3Zoom.transform(state.d3Selection, constrainedTransform) - } - - setState(resetState) - }, + $reset, $destroy: () => {}, } }