UNPKG

@randy.tarampi/jsx

Version:

Some common JSX components for www.randytarampi.ca

56 lines (45 loc) 1.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = exports.ConnectedPostMarker = exports.connectPostMarker = void 0; var _js = require("@randy.tarampi/js"); var _propTypes = _interopRequireDefault(require("prop-types")); var _reactRedux = require("react-redux"); var _actions = require("../actions"); var _postMarker = require("../components/postMarker"); var _selectors = _interopRequireDefault(require("../data/selectors")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var connectPostMarker = (0, _reactRedux.connect)(function (state, ownProps) { var post = ownProps.post; var postMarkerId = (0, _postMarker.buildPostMarkerId)(post); var controlState = _selectors["default"].getControlStateForId(state, postMarkerId); return { isVisible: controlState ? controlState.get("visible") : false }; }, function (dispatch, ownProps) { var getGoogleMap = ownProps.getGoogleMap, mapId = ownProps.mapId, post = ownProps.post; var postMarkerId = (0, _postMarker.buildPostMarkerId)(post); return { setMapCenter: function setMapCenter(newCenter) { return dispatch((0, _actions.setGoogleMapCenterCreator)(getGoogleMap, mapId, newCenter)); }, onVisibilityToggle: function onVisibilityToggle(shouldBeVisible) { return dispatch((0, _actions.setControlStateCreator)(postMarkerId, { visible: !!shouldBeVisible })); } }; }); exports.connectPostMarker = connectPostMarker; var ConnectedPostMarker = connectPostMarker(_postMarker.PostMarkerComponent); exports.ConnectedPostMarker = ConnectedPostMarker; ConnectedPostMarker.propTypes = { getGoogleMap: _propTypes["default"].func.isRequired, post: _propTypes["default"].oneOfType(_js.POST_ENTITIES.map(_propTypes["default"].instanceOf)).isRequired, mapId: _propTypes["default"].string.isRequired }; var _default = ConnectedPostMarker; exports["default"] = _default;