# HG changeset patch # User Thomas Junk # Date 1549900158 -3600 # Node ID d0498088894f131fe21ae678a4f95799c1f778f0 # Parent 9212b3d60f2a2db0a6689940ea6700007e6c1540 map_store: extracted moveMap, etd moveToBoundingBox, refactored moveToExtent diff -r 9212b3d60f2a -r d0498088894f client/src/store/map.js --- a/client/src/store/map.js Mon Feb 11 16:33:19 2019 +0100 +++ b/client/src/store/map.js Mon Feb 11 16:49:18 2019 +0100 @@ -51,6 +51,14 @@ CUTTOOL: "Cut Tool" }; +const moveMap = ({ view, extent, zoom, preventZoomOut }) => { + const currentZoom = view.getZoom(); + view.fit(extent, { + maxZoom: preventZoomOut ? Math.max(zoom, currentZoom) : zoom, + duration: 700 + }); +}; + // initial state const init = () => { return { @@ -500,15 +508,16 @@ cutTool: (state, cutTool) => { state.cutTool = cutTool; }, + moveToBoundingBox: (state, { boundingBox, zoom, preventZoomOut }) => { + const extent = transformExtent(boundingBox, "EPSG:4326", "EPSG:3857"); + let view = state.openLayersMap.getView(); + moveMap({ view, extent, zoom, preventZoomOut }); + }, moveToExtent: (state, { feature, zoom, preventZoomOut }) => { const boundingBox = bbox(feature.geometry); const extent = transformExtent(boundingBox, "EPSG:4326", "EPSG:3857"); let view = state.openLayersMap.getView(); - const currentZoom = view.getZoom(); - view.fit(extent, { - maxZoom: preventZoomOut ? Math.max(zoom, currentZoom) : zoom, - duration: 700 - }); + moveMap({ view, extent, zoom, preventZoomOut }); }, moveMap: (state, { coordinates, zoom, preventZoomOut }) => { let view = state.openLayersMap.getView();