@randy.tarampi/jsx
Version:
Some common JSX components for www.randytarampi.ca
34 lines (30 loc) • 1.12 kB
JavaScript
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;