summaryrefslogtreecommitdiff
path: root/frontend/src/actions/map.js
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/actions/map.js')
-rw-r--r--frontend/src/actions/map.js134
1 files changed, 67 insertions, 67 deletions
diff --git a/frontend/src/actions/map.js b/frontend/src/actions/map.js
index 82546c00..4ab767f7 100644
--- a/frontend/src/actions/map.js
+++ b/frontend/src/actions/map.js
@@ -1,93 +1,93 @@
import {
- MAP_MAX_SCALE,
- MAP_MIN_SCALE,
- MAP_SCALE_PER_EVENT,
- MAP_SIZE_IN_PIXELS
-} from "../components/app/map/MapConstants";
+ MAP_MAX_SCALE,
+ MAP_MIN_SCALE,
+ MAP_SCALE_PER_EVENT,
+ MAP_SIZE_IN_PIXELS,
+} from '../components/app/map/MapConstants'
-export const SET_MAP_POSITION = "SET_MAP_POSITION";
-export const SET_MAP_DIMENSIONS = "SET_MAP_DIMENSIONS";
-export const SET_MAP_SCALE = "SET_MAP_SCALE";
+export const SET_MAP_POSITION = 'SET_MAP_POSITION'
+export const SET_MAP_DIMENSIONS = 'SET_MAP_DIMENSIONS'
+export const SET_MAP_SCALE = 'SET_MAP_SCALE'
export function setMapPosition(x, y) {
- return {
- type: SET_MAP_POSITION,
- x,
- y
- };
+ return {
+ type: SET_MAP_POSITION,
+ x,
+ y,
+ }
}
export function setMapDimensions(width, height) {
- return {
- type: SET_MAP_DIMENSIONS,
- width,
- height
- };
+ return {
+ type: SET_MAP_DIMENSIONS,
+ width,
+ height,
+ }
}
export function setMapScale(scale) {
- return {
- type: SET_MAP_SCALE,
- scale
- };
+ return {
+ type: SET_MAP_SCALE,
+ scale,
+ }
}
export function zoomInOnCenter(zoomIn) {
- return (dispatch, getState) => {
- const state = getState();
+ return (dispatch, getState) => {
+ const state = getState()
- dispatch(
- zoomInOnPosition(
- zoomIn,
- state.map.dimensions.width / 2,
- state.map.dimensions.height / 2
- )
- );
- };
+ dispatch(
+ zoomInOnPosition(
+ zoomIn,
+ state.map.dimensions.width / 2,
+ state.map.dimensions.height / 2,
+ ),
+ )
+ }
}
export function zoomInOnPosition(zoomIn, x, y) {
- return (dispatch, getState) => {
- const state = getState();
+ return (dispatch, getState) => {
+ const state = getState()
- const centerPoint = {
- x: x / state.map.scale - state.map.position.x / state.map.scale,
- y: y / state.map.scale - state.map.position.y / state.map.scale
- };
- const newScale = zoomIn
- ? state.map.scale * MAP_SCALE_PER_EVENT
- : state.map.scale / MAP_SCALE_PER_EVENT;
- const boundedScale = Math.min(
- Math.max(MAP_MIN_SCALE, newScale),
- MAP_MAX_SCALE
- );
+ const centerPoint = {
+ x: x / state.map.scale - state.map.position.x / state.map.scale,
+ y: y / state.map.scale - state.map.position.y / state.map.scale,
+ }
+ const newScale = zoomIn
+ ? state.map.scale * MAP_SCALE_PER_EVENT
+ : state.map.scale / MAP_SCALE_PER_EVENT
+ const boundedScale = Math.min(
+ Math.max(MAP_MIN_SCALE, newScale),
+ MAP_MAX_SCALE,
+ )
- const newX = -(centerPoint.x - x / boundedScale) * boundedScale;
- const newY = -(centerPoint.y - y / boundedScale) * boundedScale;
+ const newX = -(centerPoint.x - x / boundedScale) * boundedScale
+ const newY = -(centerPoint.y - y / boundedScale) * boundedScale
- dispatch(setMapPositionWithBoundsCheck(newX, newY));
- dispatch(setMapScale(boundedScale));
- };
+ dispatch(setMapPositionWithBoundsCheck(newX, newY))
+ dispatch(setMapScale(boundedScale))
+ }
}
export function setMapPositionWithBoundsCheck(x, y) {
- return (dispatch, getState) => {
- const state = getState();
+ return (dispatch, getState) => {
+ const state = getState()
- const scaledMapSize = MAP_SIZE_IN_PIXELS * state.map.scale;
- const updatedX =
- x > 0
- ? 0
- : x < -scaledMapSize + state.map.dimensions.width
- ? -scaledMapSize + state.map.dimensions.width
- : x;
- const updatedY =
- y > 0
- ? 0
- : y < -scaledMapSize + state.map.dimensions.height
- ? -scaledMapSize + state.map.dimensions.height
- : y;
+ const scaledMapSize = MAP_SIZE_IN_PIXELS * state.map.scale
+ const updatedX =
+ x > 0
+ ? 0
+ : x < -scaledMapSize + state.map.dimensions.width
+ ? -scaledMapSize + state.map.dimensions.width
+ : x
+ const updatedY =
+ y > 0
+ ? 0
+ : y < -scaledMapSize + state.map.dimensions.height
+ ? -scaledMapSize + state.map.dimensions.height
+ : y
- dispatch(setMapPosition(updatedX, updatedY));
- };
+ dispatch(setMapPosition(updatedX, updatedY))
+ }
}