UNPKG

@randy.tarampi/jsx

Version:

Some common JSX components for www.randytarampi.ca

34 lines (30 loc) 1.12 kB
import { createAction } from "redux-actions"; import selectors from "../../../data/selectors"; export var INSTANTIATE_GOOGLE_MAP = "INSTANTIATE_GOOGLE_MAP"; export var instantiateGoogleMapCreator = (getGoogleMap, id) => (dispatch, getState) => { var state = getState(); var googleMap = getGoogleMap(); var googleMapState = selectors.getMap(state, id); var payload = { id, vendor: "google" }; if (googleMapState && googleMapState.size) { payload = Object.assign(googleMapState.toJS(), payload); var googleMapStateObject = googleMapState.toJS(); if (googleMap) { if (googleMapStateObject.center) { googleMap.panTo(googleMapStateObject.center); if (googleMapStateObject.zoom) { googleMap.setZoom(googleMapStateObject.zoom); } } else if (googleMapStateObject.bounds) { googleMap.panToBounds(googleMapStateObject.bounds); } } } dispatch(instantiateGoogleMap(payload)); return Promise.resolve(payload); }; export var instantiateGoogleMap = createAction(INSTANTIATE_GOOGLE_MAP); export default instantiateGoogleMapCreator;