From c0733e694c12dbe993d1a0303f3b623f56fa3b11 Mon Sep 17 00:00:00 2001 From: moklick Date: Thu, 14 Jul 2022 15:46:41 +0200 Subject: [PATCH] refactor(setViewport): use existing x,y,zoom when passed partially #2276 --- src/hooks/useViewportHelper.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/hooks/useViewportHelper.ts b/src/hooks/useViewportHelper.ts index aeaabe61..10e21193 100644 --- a/src/hooks/useViewportHelper.ts +++ b/src/hooks/useViewportHelper.ts @@ -38,12 +38,12 @@ const useViewportHelper = (): ViewportHelperFunctions => { zoomIn: (options) => d3Zoom.scaleBy(getD3Transition(d3Selection, options?.duration), 1.2), zoomOut: (options) => d3Zoom.scaleBy(getD3Transition(d3Selection, options?.duration), 1 / 1.2), zoomTo: (zoomLevel, options) => d3Zoom.scaleTo(getD3Transition(d3Selection, options?.duration), zoomLevel), - getZoom: () => { - const [, , zoom] = store.getState().transform; - return zoom; - }, + getZoom: () => store.getState().transform[2], setViewport: (transform, options) => { - const nextTransform = zoomIdentity.translate(transform.x, transform.y).scale(transform.zoom); + const [x, y, zoom] = store.getState().transform; + const nextTransform = zoomIdentity + .translate(transform.x ?? x, transform.y ?? y) + .scale(transform.zoom ?? zoom); d3Zoom.transform(getD3Transition(d3Selection, options?.duration), nextTransform); }, getViewport: () => {