@blaze-cms/plugin-google-maps-fe 0.138.0-core-styles.0 → 0.138.0-core-styles.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.138.0-core-styles.2](https://github.com/thebyte9/blaze/compare/v0.138.0-core-styles.1...v0.138.0-core-styles.2) (2023-12-19)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * map marker click not opening markers ([#4164](https://github.com/thebyte9/blaze/issues/4164)) ([4f8fe05](https://github.com/thebyte9/blaze/commit/4f8fe055c0897cb2afca5aa81211fc972b03bdeb))
12
+
13
+
14
+
15
+
16
+
6
17
  # [0.138.0-core-styles.0](https://github.com/thebyte9/blaze/compare/v0.137.1...v0.138.0-core-styles.0) (2023-12-12)
7
18
 
8
19
  **Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
@@ -25,6 +25,7 @@ require("core-js/modules/web.dom-collections.for-each.js");
25
25
  require("core-js/modules/es.array.concat.js");
26
26
  var _react = _interopRequireWildcard(require("react"));
27
27
  var _propTypes = _interopRequireDefault(require("prop-types"));
28
+ var _client = require("@apollo/client");
28
29
  var _router = require("next/router");
29
30
  var _reactPageBuilder = require("@blaze-cms/react-page-builder");
30
31
  var _customHooks = require("@blaze-react/utils/lib/customHooks");
@@ -62,6 +63,7 @@ var GoogleMaps = function GoogleMaps(_ref2) {
62
63
  _useInView2 = (0, _slicedToArray2["default"])(_useInView, 2),
63
64
  isIntersecting = _useInView2[0],
64
65
  mapRef = _useInView2[1];
66
+ var client = (0, _client.useApolloClient)();
65
67
  var _useState = (0, _react.useState)(),
66
68
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
67
69
  map = _useState2[0],
@@ -118,7 +120,7 @@ var GoogleMaps = function GoogleMaps(_ref2) {
118
120
  // eslint-disable-next-line react-hooks/exhaustive-deps
119
121
  }, []);
120
122
  if (map && (0, _typeof2["default"])(onMount) === "function") onMount(map, onMountProps);
121
- if (isIntersecting) (0, _helpers.addZoomListener)(map, router, mapShapes, imageData);
123
+ if (isIntersecting) (0, _helpers.addZoomListener)(map, router, mapShapes, imageData, client);
122
124
  return /*#__PURE__*/_react["default"].createElement(_GoogleMapsHtml["default"], {
123
125
  mapRef: mapRef
124
126
  });
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleMaps.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_router","_reactPageBuilder","_customHooks","_lodash","_helpers","_constants","_GoogleMapsHtml","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof3","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","shouldNotUpdate","props","nextProps","_ref","functions","funcs","nextFuncs","noPropChange","isEqual","omit","noFuncChange","length","every","fn","toString","GoogleMaps","_ref2","type","name","modifier","elementTitle","imageData","onMount","onMountProps","parent","mapShapes","centerCoordinates","otherProps","_objectWithoutProperties2","router","useRouter","_useInView","useInView","IN_VIEW_CONFIG","_useInView2","_slicedToArray2","isIntersecting","mapRef","_useState","useState","_useState2","map","setMap","useEffect","options","setMapOptions","onLoad","initialMap","window","google","maps","Map","current","_centerCoordinates","_centerCoordinates$","lat","latitude","lng","longitude","setCenter","bounds","LatLngBounds","forEach","_ref3","extend","LatLng","fitBounds","script","document","createElement","SCRIPT","src","concat","GOOGLE_MAPS_SCRIPT","process","env","GOOGLE_MAPS_API_KEY","head","append","addEventListener","LOAD","removeEventListener","setOptions","enableGeolocation","shouldActivateGeolocation","navigator","geolocation","getCurrentPosition","position","center","coords","_typeof2","addZoomListener","propTypes","PropTypes","array","string","func","object","defaultProps","_default","React","memo","withTitle","exports"],"sources":["../../src/GoogleMaps/GoogleMaps.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { withTitle } from '@blaze-cms/react-page-builder';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { functions, isEqual, omit } from 'lodash';\nimport { setMapOptions, addZoomListener } from './helpers';\nimport { GOOGLE_MAPS_SCRIPT, LOAD, SCRIPT, IN_VIEW_CONFIG } from '../constants';\nimport GoogleMapsHtml from './GoogleMapsHtml';\n\nconst shouldNotUpdate = (props, nextProps) => {\n const [funcs, nextFuncs] = [functions(props), functions(nextProps)];\n const noPropChange = isEqual(omit(props, funcs), omit(nextProps, nextFuncs));\n const noFuncChange =\n funcs.length === nextFuncs.length &&\n funcs.every(fn => props[fn].toString() === nextProps[fn].toString());\n return noPropChange && noFuncChange;\n};\n\nconst GoogleMaps = ({\n type,\n name,\n modifier,\n elementTitle,\n imageData,\n onMount,\n onMountProps,\n parent,\n mapShapes,\n centerCoordinates,\n ...otherProps\n}) => {\n const router = useRouter();\n const [isIntersecting, mapRef] = useInView(IN_VIEW_CONFIG);\n const [map, setMap] = useState();\n\n useEffect(() => {\n const options = setMapOptions(otherProps);\n const onLoad = () => {\n const initialMap = new window.google.maps.Map(mapRef.current, options);\n if (centerCoordinates.length === 1) {\n const [{ latitude: lat, longitude: lng }] = centerCoordinates;\n initialMap.setCenter({ lat, lng });\n } else {\n const bounds = new window.google.maps.LatLngBounds();\n centerCoordinates.forEach(({ latitude, longitude }) => {\n bounds.extend(new window.google.maps.LatLng(latitude, longitude));\n });\n initialMap.fitBounds(bounds);\n }\n setMap(initialMap);\n };\n\n if (!window.google) {\n const script = document.createElement(SCRIPT);\n script.src = `${GOOGLE_MAPS_SCRIPT}${process.env.GOOGLE_MAPS_API_KEY}`;\n document.head.append(script);\n script.addEventListener(LOAD, onLoad);\n return () => script.removeEventListener(LOAD, onLoad);\n }\n\n onLoad();\n\n if (map) {\n map.setOptions(options);\n const { enableGeolocation } = otherProps;\n const shouldActivateGeolocation = enableGeolocation && navigator.geolocation;\n if (shouldActivateGeolocation) {\n navigator.geolocation.getCurrentPosition(\n position => {\n const center = {\n lat: position.coords.latitude,\n lng: position.coords.longitude\n };\n\n map.setCenter(center);\n },\n () => {}\n );\n }\n }\n\n return () => {};\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (map && typeof onMount === `function`) onMount(map, onMountProps);\n if (isIntersecting) addZoomListener(map, router, mapShapes, imageData);\n\n return <GoogleMapsHtml mapRef={mapRef} />;\n};\n\nGoogleMaps.propTypes = {\n mapShapes: PropTypes.array,\n imageData: PropTypes.array,\n type: PropTypes.string,\n name: PropTypes.string,\n modifier: PropTypes.string,\n elementTitle: PropTypes.string,\n onMount: PropTypes.func,\n onMountProps: PropTypes.object,\n parent: PropTypes.object,\n centerCoordinates: PropTypes.array\n};\n\nGoogleMaps.defaultProps = {\n mapShapes: [],\n imageData: [],\n centerCoordinates: [],\n type: '',\n name: '',\n modifier: '',\n elementTitle: '',\n onMount: null,\n onMountProps: null,\n parent: {}\n};\n\nexport default React.memo(withTitle(GoogleMaps), shouldNotUpdate);\n"],"mappings":"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"}
1
+ {"version":3,"file":"GoogleMaps.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_client","_router","_reactPageBuilder","_customHooks","_lodash","_helpers","_constants","_GoogleMapsHtml","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof3","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","shouldNotUpdate","props","nextProps","_ref","functions","funcs","nextFuncs","noPropChange","isEqual","omit","noFuncChange","length","every","fn","toString","GoogleMaps","_ref2","type","name","modifier","elementTitle","imageData","onMount","onMountProps","parent","mapShapes","centerCoordinates","otherProps","_objectWithoutProperties2","router","useRouter","_useInView","useInView","IN_VIEW_CONFIG","_useInView2","_slicedToArray2","isIntersecting","mapRef","client","useApolloClient","_useState","useState","_useState2","map","setMap","useEffect","options","setMapOptions","onLoad","initialMap","window","google","maps","Map","current","_centerCoordinates","_centerCoordinates$","lat","latitude","lng","longitude","setCenter","bounds","LatLngBounds","forEach","_ref3","extend","LatLng","fitBounds","script","document","createElement","SCRIPT","src","concat","GOOGLE_MAPS_SCRIPT","process","env","GOOGLE_MAPS_API_KEY","head","append","addEventListener","LOAD","removeEventListener","setOptions","enableGeolocation","shouldActivateGeolocation","navigator","geolocation","getCurrentPosition","position","center","coords","_typeof2","addZoomListener","propTypes","PropTypes","array","string","func","object","defaultProps","_default","React","memo","withTitle","exports"],"sources":["../../src/GoogleMaps/GoogleMaps.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { useRouter } from 'next/router';\nimport { withTitle } from '@blaze-cms/react-page-builder';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { functions, isEqual, omit } from 'lodash';\nimport { setMapOptions, addZoomListener } from './helpers';\nimport { GOOGLE_MAPS_SCRIPT, LOAD, SCRIPT, IN_VIEW_CONFIG } from '../constants';\nimport GoogleMapsHtml from './GoogleMapsHtml';\n\nconst shouldNotUpdate = (props, nextProps) => {\n const [funcs, nextFuncs] = [functions(props), functions(nextProps)];\n const noPropChange = isEqual(omit(props, funcs), omit(nextProps, nextFuncs));\n const noFuncChange =\n funcs.length === nextFuncs.length &&\n funcs.every(fn => props[fn].toString() === nextProps[fn].toString());\n return noPropChange && noFuncChange;\n};\n\nconst GoogleMaps = ({\n type,\n name,\n modifier,\n elementTitle,\n imageData,\n onMount,\n onMountProps,\n parent,\n mapShapes,\n centerCoordinates,\n ...otherProps\n}) => {\n const router = useRouter();\n const [isIntersecting, mapRef] = useInView(IN_VIEW_CONFIG);\n const client = useApolloClient();\n const [map, setMap] = useState();\n\n useEffect(() => {\n const options = setMapOptions(otherProps);\n const onLoad = () => {\n const initialMap = new window.google.maps.Map(mapRef.current, options);\n if (centerCoordinates.length === 1) {\n const [{ latitude: lat, longitude: lng }] = centerCoordinates;\n initialMap.setCenter({ lat, lng });\n } else {\n const bounds = new window.google.maps.LatLngBounds();\n centerCoordinates.forEach(({ latitude, longitude }) => {\n bounds.extend(new window.google.maps.LatLng(latitude, longitude));\n });\n initialMap.fitBounds(bounds);\n }\n setMap(initialMap);\n };\n\n if (!window.google) {\n const script = document.createElement(SCRIPT);\n script.src = `${GOOGLE_MAPS_SCRIPT}${process.env.GOOGLE_MAPS_API_KEY}`;\n document.head.append(script);\n script.addEventListener(LOAD, onLoad);\n return () => script.removeEventListener(LOAD, onLoad);\n }\n\n onLoad();\n\n if (map) {\n map.setOptions(options);\n const { enableGeolocation } = otherProps;\n const shouldActivateGeolocation = enableGeolocation && navigator.geolocation;\n if (shouldActivateGeolocation) {\n navigator.geolocation.getCurrentPosition(\n position => {\n const center = {\n lat: position.coords.latitude,\n lng: position.coords.longitude\n };\n\n map.setCenter(center);\n },\n () => {}\n );\n }\n }\n\n return () => {};\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (map && typeof onMount === `function`) onMount(map, onMountProps);\n if (isIntersecting) addZoomListener(map, router, mapShapes, imageData, client);\n\n return <GoogleMapsHtml mapRef={mapRef} />;\n};\n\nGoogleMaps.propTypes = {\n mapShapes: PropTypes.array,\n imageData: PropTypes.array,\n type: PropTypes.string,\n name: PropTypes.string,\n modifier: PropTypes.string,\n elementTitle: PropTypes.string,\n onMount: PropTypes.func,\n onMountProps: PropTypes.object,\n parent: PropTypes.object,\n centerCoordinates: PropTypes.array\n};\n\nGoogleMaps.defaultProps = {\n mapShapes: [],\n imageData: [],\n centerCoordinates: [],\n type: '',\n name: '',\n modifier: '',\n elementTitle: '',\n onMount: null,\n onMountProps: null,\n parent: {}\n};\n\nexport default React.memo(withTitle(GoogleMaps), shouldNotUpdate);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleMapsRender.js","names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_client","_reactPageBuilder","_hooks","_helpers","_GoogleMaps","_GoogleMapsHtml","_excluded","defaultQuery","getAction","GoogleMapsRender","_ref","shapeConfigs","entityGroups","id","otherProps","_objectWithoutProperties2","defaultZoom","_buildQuery","buildQuery","query","_useQuery","useQuery","skip","data","loading","error","mapShapes","buildMapShapes","imageIds","getImageIds","_useGetImages","useGetImages","_useGetImages$data","_useGetImages$data2","imageData","getFiles","imagesLoading","imagesError","createElement","centerCoordinates","getCenterCoordinates","shouldDisplayMap","isNumber","length","_extends2","key","slug","propTypes","PropTypes","array","string","centerLatitude","number","centerLongitude","defaultProps","_default","exports"],"sources":["../../src/GoogleMaps/GoogleMapsRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isNumber from 'lodash.isnumber';\nimport { useQuery } from '@apollo/client';\nimport { getAction } from '@blaze-cms/react-page-builder';\nimport { useGetImages } from './hooks';\nimport { buildQuery, getImageIds, getCenterCoordinates, buildMapShapes } from './helpers';\nimport GoogleMaps from './GoogleMaps';\nimport GoogleMapsHtml from './GoogleMapsHtml';\n\nconst defaultQuery = getAction('getPublishedPages', 'id');\n\nconst GoogleMapsRender = ({ shapeConfigs, entityGroups, id, ...otherProps }) => {\n const { defaultZoom } = otherProps;\n const { query } = buildQuery(shapeConfigs);\n const { data, loading, error } = useQuery(query || defaultQuery, {\n skip: !query\n });\n const mapShapes = buildMapShapes(shapeConfigs, data);\n const imageIds = getImageIds(mapShapes);\n const {\n data: { getFiles: imageData } = {},\n loading: imagesLoading,\n error: imagesError\n } = useGetImages(imageIds);\n if (loading || imagesLoading) return <GoogleMapsHtml />;\n if (error || imagesError) return null;\n\n const centerCoordinates = getCenterCoordinates(mapShapes, otherProps);\n const shouldDisplayMap = isNumber(defaultZoom) && !!centerCoordinates.length;\n\n if (!shouldDisplayMap) return null;\n\n return (\n <GoogleMaps\n key={otherProps.slug}\n centerCoordinates={centerCoordinates}\n mapShapes={mapShapes}\n imageData={imageData}\n {...otherProps}\n />\n );\n};\n\nGoogleMapsRender.propTypes = {\n entityGroups: PropTypes.array,\n id: PropTypes.string,\n shapeConfigs: PropTypes.array,\n centerLatitude: PropTypes.number,\n centerLongitude: PropTypes.number,\n defaultZoom: PropTypes.number\n};\n\nGoogleMapsRender.defaultProps = {\n entityGroups: [],\n shapeConfigs: [],\n id: '',\n centerLatitude: null,\n centerLongitude: null,\n defaultZoom: null\n};\n\nexport default GoogleMapsRender;\n"],"mappings":"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"}
1
+ {"version":3,"file":"GoogleMapsRender.js","names":["_react","_interopRequireDefault","require","_propTypes","_lodash","_client","_reactPageBuilder","_hooks","_helpers","_GoogleMaps","_GoogleMapsHtml","_excluded","defaultQuery","getAction","GoogleMapsRender","_ref","shapeConfigs","entityGroups","id","otherProps","_objectWithoutProperties2","defaultZoom","_buildQuery","buildQuery","query","_useQuery","useQuery","skip","data","loading","error","mapShapes","buildMapShapes","imageIds","getImageIds","_useGetImages","useGetImages","_useGetImages$data","_useGetImages$data2","imageData","getFiles","imagesLoading","imagesError","createElement","centerCoordinates","getCenterCoordinates","shouldDisplayMap","isNumber","length","_extends2","key","slug","propTypes","PropTypes","array","string","centerLatitude","number","centerLongitude","defaultProps","_default","exports"],"sources":["../../src/GoogleMaps/GoogleMapsRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isNumber from 'lodash.isnumber';\nimport { useQuery } from '@apollo/client';\nimport { getAction } from '@blaze-cms/react-page-builder';\nimport { useGetImages } from './hooks';\nimport { buildQuery, getImageIds, getCenterCoordinates, buildMapShapes } from './helpers';\nimport GoogleMaps from './GoogleMaps';\nimport GoogleMapsHtml from './GoogleMapsHtml';\n\nconst defaultQuery = getAction('getPublishedPages', 'id');\n\nconst GoogleMapsRender = ({ shapeConfigs, entityGroups, id, ...otherProps }) => {\n const { defaultZoom } = otherProps;\n const { query } = buildQuery(shapeConfigs);\n const { data, loading, error } = useQuery(query || defaultQuery, {\n skip: !query\n });\n\n const mapShapes = buildMapShapes(shapeConfigs, data);\n const imageIds = getImageIds(mapShapes);\n const {\n data: { getFiles: imageData } = {},\n loading: imagesLoading,\n error: imagesError\n } = useGetImages(imageIds);\n if (loading || imagesLoading) return <GoogleMapsHtml />;\n if (error || imagesError) return null;\n\n const centerCoordinates = getCenterCoordinates(mapShapes, otherProps);\n const shouldDisplayMap = isNumber(defaultZoom) && !!centerCoordinates.length;\n\n if (!shouldDisplayMap) return null;\n\n return (\n <GoogleMaps\n key={otherProps.slug}\n centerCoordinates={centerCoordinates}\n mapShapes={mapShapes}\n imageData={imageData}\n {...otherProps}\n />\n );\n};\n\nGoogleMapsRender.propTypes = {\n entityGroups: PropTypes.array,\n id: PropTypes.string,\n shapeConfigs: PropTypes.array,\n centerLatitude: PropTypes.number,\n centerLongitude: PropTypes.number,\n defaultZoom: PropTypes.number\n};\n\nGoogleMapsRender.defaultProps = {\n entityGroups: [],\n shapeConfigs: [],\n id: '',\n centerLatitude: null,\n centerLongitude: null,\n defaultZoom: null\n};\n\nexport default GoogleMapsRender;\n"],"mappings":"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"}
@@ -8,11 +8,11 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports["default"] = void 0;
9
9
  var _constants = require("../../constants");
10
10
  var _setShapes = _interopRequireDefault(require("./set-shapes"));
11
- var addZoomListener = function addZoomListener(map, router, shapes, imageData) {
11
+ var addZoomListener = function addZoomListener(map, router, shapes, imageData, client) {
12
12
  if (!map) return;
13
13
  (0, _setShapes["default"])(map, router, shapes, imageData);
14
14
  map.addListener(_constants.ZOOM_CHANGED, function () {
15
- return (0, _setShapes["default"])(map, router, shapes, imageData);
15
+ return (0, _setShapes["default"])(map, router, shapes, imageData, client);
16
16
  });
17
17
  };
18
18
  var _default = addZoomListener;
@@ -1 +1 @@
1
- {"version":3,"file":"add-zoom-listener.js","names":["_constants","require","_setShapes","_interopRequireDefault","addZoomListener","map","router","shapes","imageData","setShapes","addListener","ZOOM_CHANGED","_default","exports"],"sources":["../../../src/GoogleMaps/helpers/add-zoom-listener.js"],"sourcesContent":["import { ZOOM_CHANGED } from '../../constants';\nimport setShapes from './set-shapes';\n\nconst addZoomListener = (map, router, shapes, imageData) => {\n if (!map) return;\n setShapes(map, router, shapes, imageData);\n map.addListener(ZOOM_CHANGED, () => setShapes(map, router, shapes, imageData));\n};\n\nexport default addZoomListener;\n"],"mappings":";;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAMG,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,GAAG,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,EAAK;EAC1D,IAAI,CAACH,GAAG,EAAE;EACV,IAAAI,qBAAS,EAACJ,GAAG,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,CAAC;EACzCH,GAAG,CAACK,WAAW,CAACC,uBAAY,EAAE;IAAA,OAAM,IAAAF,qBAAS,EAACJ,GAAG,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,CAAC;EAAA,EAAC;AAChF,CAAC;AAAC,IAAAI,QAAA,GAEaR,eAAe;AAAAS,OAAA,cAAAD,QAAA"}
1
+ {"version":3,"file":"add-zoom-listener.js","names":["_constants","require","_setShapes","_interopRequireDefault","addZoomListener","map","router","shapes","imageData","client","setShapes","addListener","ZOOM_CHANGED","_default","exports"],"sources":["../../../src/GoogleMaps/helpers/add-zoom-listener.js"],"sourcesContent":["import { ZOOM_CHANGED } from '../../constants';\nimport setShapes from './set-shapes';\n\nconst addZoomListener = (map, router, shapes, imageData, client) => {\n if (!map) return;\n setShapes(map, router, shapes, imageData);\n map.addListener(ZOOM_CHANGED, () => setShapes(map, router, shapes, imageData, client));\n};\n\nexport default addZoomListener;\n"],"mappings":";;;;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAMG,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,GAAG,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAK;EAClE,IAAI,CAACJ,GAAG,EAAE;EACV,IAAAK,qBAAS,EAACL,GAAG,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,CAAC;EACzCH,GAAG,CAACM,WAAW,CAACC,uBAAY,EAAE;IAAA,OAAM,IAAAF,qBAAS,EAACL,GAAG,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,EAAEC,MAAM,CAAC;EAAA,EAAC;AACxF,CAAC;AAAC,IAAAI,QAAA,GAEaT,eAAe;AAAAU,OAAA,cAAAD,QAAA"}
@@ -33,6 +33,7 @@ var _react = _interopRequireDefault(require("react"));
33
33
  var _lodash = _interopRequireDefault(require("lodash.isnumber"));
34
34
  var _server = _interopRequireDefault(require("react-dom/server"));
35
35
  var _nextjsComponents = require("@blaze-cms/nextjs-components");
36
+ var _client = require("@apollo/client");
36
37
  var _reactPageBuilder = require("@blaze-cms/react-page-builder");
37
38
  var _getPath = _interopRequireDefault(require("./get-path"));
38
39
  var _constants = require("../../constants");
@@ -57,7 +58,7 @@ var closeInfoWindows = function closeInfoWindows() {
57
58
  infoWindowArray.length = 0;
58
59
  }
59
60
  };
60
- var addShapeListeners = function addShapeListeners(map, router, shape, imageData, shapeInstance) {
61
+ var addShapeListeners = function addShapeListeners(map, router, shape, imageData, shapeInstance, client) {
61
62
  var _shape$enableInfoPane = shape.enableInfoPane,
62
63
  enableInfoPane = _shape$enableInfoPane === void 0 ? false : _shape$enableInfoPane,
63
64
  _shape$dataSummaries = shape.dataSummaries,
@@ -77,7 +78,7 @@ var addShapeListeners = function addShapeListeners(map, router, shape, imageData
77
78
  closeInfoWindows();
78
79
  _context.t0 = _server["default"];
79
80
  _context.next = 4;
80
- return infoWindowContent(imageData, dataSummaries, url, shapeData);
81
+ return infoWindowContent(imageData, dataSummaries, url, shapeData, client);
81
82
  case 4:
82
83
  _context.t1 = _context.sent;
83
84
  content = _context.t0.renderToString.call(_context.t0, _context.t1);
@@ -140,7 +141,7 @@ var getIconUrl = function getIconUrl(imageId, imageData) {
140
141
  return image.url;
141
142
  };
142
143
  var infoWindowContent = /*#__PURE__*/function () {
143
- var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(imageData, dataSummaries, url, shapeData) {
144
+ var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(imageData, dataSummaries, url, shapeData, client) {
144
145
  var summariesWithContent, _ref5, imageId, image, shouldShowImage, getImageElement;
145
146
  return _regenerator["default"].wrap(function _callee3$(_context3) {
146
147
  while (1) switch (_context3.prev = _context3.next) {
@@ -167,12 +168,14 @@ var infoWindowContent = /*#__PURE__*/function () {
167
168
  return _context2.abrupt("return", null);
168
169
  case 9:
169
170
  getDataSummaryComponent = function getDataSummaryComponent() {
170
- var component = /*#__PURE__*/_react["default"].createElement(SummaryComponent, {
171
+ var component = /*#__PURE__*/_react["default"].createElement(_client.ApolloProvider, {
172
+ client: client
173
+ }, /*#__PURE__*/_react["default"].createElement(SummaryComponent, {
171
174
  key: type,
172
175
  modifier: modifier,
173
176
  elementTitle: elementTitle,
174
177
  summaryPropsWithContent: summaryPropsWithContent
175
- });
178
+ }));
176
179
  if (isTypeHeading && url) return /*#__PURE__*/_react["default"].createElement(_nextjsComponents.Link, {
177
180
  href: url
178
181
  }, component);
@@ -185,7 +188,7 @@ var infoWindowContent = /*#__PURE__*/function () {
185
188
  }
186
189
  }, _callee2);
187
190
  }));
188
- return function (_x6) {
191
+ return function (_x7) {
189
192
  return _ref4.apply(this, arguments);
190
193
  };
191
194
  }()));
@@ -217,7 +220,7 @@ var infoWindowContent = /*#__PURE__*/function () {
217
220
  }
218
221
  }, _callee3);
219
222
  }));
220
- return function infoWindowContent(_x2, _x3, _x4, _x5) {
223
+ return function infoWindowContent(_x2, _x3, _x4, _x5, _x6) {
221
224
  return _ref3.apply(this, arguments);
222
225
  };
223
226
  }();
@@ -253,7 +256,7 @@ function getIcon(imageData, shape) {
253
256
  };
254
257
  return svgMarker;
255
258
  }
256
- var setMarker = function setMarker(map, router, shape, imageData) {
259
+ var setMarker = function setMarker(map, router, shape, imageData, client) {
257
260
  var _shape$label = shape.label,
258
261
  label = _shape$label === void 0 ? '' : _shape$label,
259
262
  latitude = shape.latitude,
@@ -269,7 +272,7 @@ var setMarker = function setMarker(map, router, shape, imageData) {
269
272
  icon: svgMarker,
270
273
  title: label || ''
271
274
  });
272
- addShapeListeners(map, router, shape, imageData, marker);
275
+ addShapeListeners(map, router, shape, imageData, marker, client);
273
276
  shapesArray.push(marker);
274
277
  marker.setMap(map);
275
278
  }
@@ -337,7 +340,7 @@ var setCircle = function setCircle(map, router, shape, imageData) {
337
340
  circle.setMap(map);
338
341
  }
339
342
  };
340
- var setShapes = function setShapes(map, router, shapes, imageData) {
343
+ var setShapes = function setShapes(map, router, shapes, imageData, client) {
341
344
  var mapZoom = map.getZoom();
342
345
  clearShapes();
343
346
  shapes.forEach(function (shape) {
@@ -348,7 +351,7 @@ var setShapes = function setShapes(map, router, shapes, imageData) {
348
351
  switch (type) {
349
352
  case _constants.MARKER:
350
353
  {
351
- setMarker(map, router, shape, imageData);
354
+ setMarker(map, router, shape, imageData, client);
352
355
  break;
353
356
  }
354
357
  case _constants.POLYLINE:
@@ -1 +1 @@
1
- {"version":3,"file":"set-shapes.js","names":["_react","_interopRequireDefault","require","_lodash","_server","_nextjsComponents","_reactPageBuilder","_getPath","_constants","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","shapesArray","infoWindowArray","clearShapes","shape","setMap","closeInfoWindows","infoWindow","close","addShapeListeners","map","router","imageData","shapeInstance","_shape$enableInfoPane","enableInfoPane","_shape$dataSummaries","dataSummaries","url","shapeData","window","google","maps","InfoWindow","content","addListener","CLICK","_ref","_asyncToGenerator2","_regenerator","mark","_callee","event","wrap","_callee$","_context","prev","next","t0","ReactDOMServer","infoWindowContent","t1","sent","renderToString","call","setContent","setPosition","latLng","open","stop","_x","setStyleOptions","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","styleSettings","reduce","acc","key","settingValue","shouldValueBeNumber","includes","COLOR","hasValuePassedCondition","isNumber","areRectangleBoundsNumbers","bounds","every","bound","isPositionCorrect","lat","lng","getIconUrl","imageId","image","find","_ref2","id","_ref3","_callee3","summariesWithContent","_ref5","shouldShowImage","getImageElement","_callee3$","_context3","Promise","all","_ref4","_callee2","dataSummary","elementTitle","type","propsToDisplay","otherProps","isTypeHeading","summaryPropsWithContent","modifier","SummaryComponent","getDataSummaryComponent","_callee2$","_context2","_objectWithoutProperties2","HEADING_LARGE","buildPropsToDisplayWithContent","getClassModifiers","LIST","summaryComponents","render","preload","abrupt","component","createElement","Link","href","_x6","_ref6","imageUrl","data","imageElement","className","src","alt","altText","Fragment","_x2","_x3","_x4","_x5","getIcon","_shape$markerWidth","markerWidth","_shape$markerHeight","markerHeight","svgPath","iconUrl","icon","scaledSize","Size","svgMarker","path","DEFAULT_CUSTOM_MARKER_PATH","rotation","scale","setMarker","_shape$label","label","latitude","longitude","marker","Marker","position","title","setPolyline","paths","getPath","polyline","Polyline","geodesic","setPolygon","unParsedPaths","polygon","Polygon","setRectangle","northBound","southBound","eastBound","westBound","rectangle","Rectangle","north","south","east","west","setCircle","radius","circle","Circle","center","setShapes","shapes","mapZoom","getZoom","minZoom","maxZoom","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE","_default","exports"],"sources":["../../../src/GoogleMaps/helpers/set-shapes.js"],"sourcesContent":["import React from 'react';\nimport isNumber from 'lodash.isnumber';\nimport ReactDOMServer from 'react-dom/server';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport {\n buildPropsToDisplayWithContent,\n summaryComponents,\n getClassModifiers\n} from '@blaze-cms/react-page-builder';\nimport getPath from './get-path';\nimport {\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n COLOR,\n CLICK,\n HEADING_LARGE,\n LIST,\n DEFAULT_CUSTOM_MARKER_PATH\n} from '../../constants';\n\nconst shapesArray = [];\nconst infoWindowArray = [];\n\nconst clearShapes = () => {\n if (shapesArray.length) {\n shapesArray.forEach(shape => shape.setMap(null));\n shapesArray.length = 0;\n }\n};\n\nconst closeInfoWindows = () => {\n if (infoWindowArray.length) {\n infoWindowArray.forEach(infoWindow => infoWindow.close());\n infoWindowArray.length = 0;\n }\n};\n\nconst addShapeListeners = (map, router, shape, imageData, shapeInstance) => {\n const { enableInfoPane = false, dataSummaries = [], url, shapeData } = shape;\n\n if (enableInfoPane) {\n const infoWindow = new window.google.maps.InfoWindow({\n content: ''\n });\n\n shapeInstance.addListener(CLICK, async event => {\n closeInfoWindows();\n const content = ReactDOMServer.renderToString(\n await infoWindowContent(imageData, dataSummaries, url, shapeData)\n );\n infoWindow.setContent(content);\n infoWindow.setPosition(event.latLng);\n infoWindow.open(map, shapeInstance);\n infoWindowArray.push(infoWindow);\n });\n } else if (url) {\n shapeInstance.addListener(CLICK, () => {\n router.push(url);\n });\n }\n};\n\nconst setStyleOptions = shape => {\n const { strokeColor, strokeOpacity, strokeWeight, fillColor, fillOpacity } = shape;\n const styleSettings = { strokeColor, fillColor, strokeOpacity, strokeWeight, fillOpacity };\n\n return {\n ...Object.keys(styleSettings).reduce((acc, key) => {\n const settingValue = styleSettings[key];\n const shouldValueBeNumber = !key.includes(COLOR);\n const hasValuePassedCondition = shouldValueBeNumber ? isNumber(settingValue) : settingValue;\n if (hasValuePassedCondition) acc[key] = settingValue;\n return acc;\n }, {})\n };\n};\n\nconst areRectangleBoundsNumbers = bounds => bounds.every(bound => isNumber(bound));\n\nconst isPositionCorrect = (lat, lng) => isNumber(lat) && isNumber(lng);\n\nconst getIconUrl = (imageId, imageData) => {\n if (!imageId) return '';\n const image = imageData.find(({ id }) => id === imageId);\n if (!image || !image.url) return '';\n\n return image.url;\n};\n\nconst infoWindowContent = async (imageData, dataSummaries, url, shapeData) => {\n const summariesWithContent = await Promise.all(\n dataSummaries.map(async dataSummary => {\n const { elementTitle, type, propsToDisplay, ...otherProps } = dataSummary;\n const isTypeHeading = type === HEADING_LARGE;\n const summaryPropsWithContent = buildPropsToDisplayWithContent(shapeData, propsToDisplay);\n const modifier = getClassModifiers(LIST, otherProps);\n const SummaryComponent = summaryComponents[type];\n await SummaryComponent.render.preload(); // preload dynamic nextjs component\n\n if (!summaryPropsWithContent.length) return null;\n\n const getDataSummaryComponent = () => {\n const component = (\n <SummaryComponent\n key={type}\n modifier={modifier}\n elementTitle={elementTitle}\n summaryPropsWithContent={summaryPropsWithContent}\n />\n );\n\n if (isTypeHeading && url) return <Link href={url}>{component}</Link>;\n\n return component;\n };\n\n return getDataSummaryComponent();\n })\n );\n const { imageId } = shapeData || {};\n const image = imageData.find(({ id }) => id === imageId);\n const shouldShowImage = image && image.url;\n\n const getImageElement = () => {\n const { url: imageUrl, data } = image;\n const imageElement = (\n <img className=\"info__window\" src={imageUrl} alt={data && data.altText ? data.altText : ''} />\n );\n\n if (url) return <Link href={url}>{imageElement}</Link>;\n\n return imageElement;\n };\n\n return (\n <>\n {shouldShowImage && getImageElement()}\n {summariesWithContent}\n </>\n );\n};\n\nfunction getIcon(imageData, shape) {\n const {\n imageId,\n markerWidth = 50,\n markerHeight = 50,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n svgPath\n } = shape;\n const iconUrl = getIconUrl(imageId, imageData);\n\n const icon = iconUrl\n ? {\n url: iconUrl,\n scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)\n }\n : null;\n\n if (icon) return icon;\n\n if (!svgPath && !fillColor && !strokeColor) return {}; // any can be true for custom marker\n\n const svgMarker = {\n path: svgPath || DEFAULT_CUSTOM_MARKER_PATH,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n rotation: 0,\n scale: 2\n };\n return svgMarker;\n}\n\nconst setMarker = (map, router, shape, imageData) => {\n const { label = '', latitude, longitude } = shape;\n\n if (isPositionCorrect(latitude, longitude)) {\n const svgMarker = getIcon(imageData, shape);\n\n const marker = new window.google.maps.Marker({\n position: { lat: latitude, lng: longitude },\n map,\n icon: svgMarker,\n title: label || ''\n });\n\n addShapeListeners(map, router, shape, imageData, marker);\n\n shapesArray.push(marker);\n\n marker.setMap(map);\n }\n};\n\nconst setPolyline = (map, router, shape, imageData) => {\n const { paths } = shape;\n const path = getPath(paths);\n\n if (path.length) {\n const polyline = new window.google.maps.Polyline({\n path,\n geodesic: true,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polyline);\n\n shapesArray.push(polyline);\n\n polyline.setMap(map);\n }\n};\n\nconst setPolygon = (map, router, shape, imageData) => {\n const { paths: unParsedPaths } = shape;\n const paths = getPath(unParsedPaths);\n\n if (paths.length) {\n const polygon = new window.google.maps.Polygon({\n paths,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polygon);\n\n shapesArray.push(polygon);\n\n polygon.setMap(map);\n }\n};\n\nconst setRectangle = (map, router, shape, imageData) => {\n const { northBound, southBound, eastBound, westBound } = shape;\n if (areRectangleBoundsNumbers([northBound, southBound, eastBound, westBound])) {\n const rectangle = new window.google.maps.Rectangle({\n ...setStyleOptions(shape),\n map,\n bounds: {\n north: northBound,\n south: southBound,\n east: eastBound,\n west: westBound\n }\n });\n\n addShapeListeners(map, router, shape, imageData, rectangle);\n\n shapesArray.push(rectangle);\n\n rectangle.setMap(map);\n }\n};\n\nconst setCircle = (map, router, shape, imageData) => {\n const { latitude, longitude, radius } = shape;\n if (isPositionCorrect(latitude, longitude) && isNumber(radius)) {\n const circle = new window.google.maps.Circle({\n ...setStyleOptions(shape),\n map,\n center: { lat: latitude, lng: longitude },\n radius\n });\n\n addShapeListeners(map, router, shape, imageData, circle);\n\n shapesArray.push(circle);\n\n circle.setMap(map);\n }\n};\n\nconst setShapes = (map, router, shapes, imageData) => {\n const mapZoom = map.getZoom();\n clearShapes();\n\n shapes.forEach(shape => {\n const { type, minZoom, maxZoom } = shape;\n\n if (mapZoom >= minZoom && mapZoom <= maxZoom) {\n switch (type) {\n case MARKER: {\n setMarker(map, router, shape, imageData);\n break;\n }\n case POLYLINE: {\n setPolyline(map, router, shape, imageData);\n break;\n }\n case POLYGON: {\n setPolygon(map, router, shape, imageData);\n break;\n }\n case RECTANGLE: {\n setRectangle(map, router, shape, imageData);\n break;\n }\n case CIRCLE: {\n setCircle(map, router, shape, imageData);\n break;\n }\n default:\n break;\n }\n }\n });\n};\n\nexport default setShapes;\n"],"mappings":"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"}
1
+ {"version":3,"file":"set-shapes.js","names":["_react","_interopRequireDefault","require","_lodash","_server","_nextjsComponents","_client","_reactPageBuilder","_getPath","_constants","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","shapesArray","infoWindowArray","clearShapes","shape","setMap","closeInfoWindows","infoWindow","close","addShapeListeners","map","router","imageData","shapeInstance","client","_shape$enableInfoPane","enableInfoPane","_shape$dataSummaries","dataSummaries","url","shapeData","window","google","maps","InfoWindow","content","addListener","CLICK","_ref","_asyncToGenerator2","_regenerator","mark","_callee","event","wrap","_callee$","_context","prev","next","t0","ReactDOMServer","infoWindowContent","t1","sent","renderToString","call","setContent","setPosition","latLng","open","stop","_x","setStyleOptions","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","styleSettings","reduce","acc","key","settingValue","shouldValueBeNumber","includes","COLOR","hasValuePassedCondition","isNumber","areRectangleBoundsNumbers","bounds","every","bound","isPositionCorrect","lat","lng","getIconUrl","imageId","image","find","_ref2","id","_ref3","_callee3","summariesWithContent","_ref5","shouldShowImage","getImageElement","_callee3$","_context3","Promise","all","_ref4","_callee2","dataSummary","elementTitle","type","propsToDisplay","otherProps","isTypeHeading","summaryPropsWithContent","modifier","SummaryComponent","getDataSummaryComponent","_callee2$","_context2","_objectWithoutProperties2","HEADING_LARGE","buildPropsToDisplayWithContent","getClassModifiers","LIST","summaryComponents","render","preload","abrupt","component","createElement","ApolloProvider","Link","href","_x7","_ref6","imageUrl","data","imageElement","className","src","alt","altText","Fragment","_x2","_x3","_x4","_x5","_x6","getIcon","_shape$markerWidth","markerWidth","_shape$markerHeight","markerHeight","svgPath","iconUrl","icon","scaledSize","Size","svgMarker","path","DEFAULT_CUSTOM_MARKER_PATH","rotation","scale","setMarker","_shape$label","label","latitude","longitude","marker","Marker","position","title","setPolyline","paths","getPath","polyline","Polyline","geodesic","setPolygon","unParsedPaths","polygon","Polygon","setRectangle","northBound","southBound","eastBound","westBound","rectangle","Rectangle","north","south","east","west","setCircle","radius","circle","Circle","center","setShapes","shapes","mapZoom","getZoom","minZoom","maxZoom","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE","_default","exports"],"sources":["../../../src/GoogleMaps/helpers/set-shapes.js"],"sourcesContent":["import React from 'react';\nimport isNumber from 'lodash.isnumber';\nimport ReactDOMServer from 'react-dom/server';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport { ApolloProvider } from '@apollo/client';\nimport {\n buildPropsToDisplayWithContent,\n summaryComponents,\n getClassModifiers\n} from '@blaze-cms/react-page-builder';\nimport getPath from './get-path';\nimport {\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n COLOR,\n CLICK,\n HEADING_LARGE,\n LIST,\n DEFAULT_CUSTOM_MARKER_PATH\n} from '../../constants';\n\nconst shapesArray = [];\nconst infoWindowArray = [];\n\nconst clearShapes = () => {\n if (shapesArray.length) {\n shapesArray.forEach(shape => shape.setMap(null));\n shapesArray.length = 0;\n }\n};\n\nconst closeInfoWindows = () => {\n if (infoWindowArray.length) {\n infoWindowArray.forEach(infoWindow => infoWindow.close());\n infoWindowArray.length = 0;\n }\n};\n\nconst addShapeListeners = (map, router, shape, imageData, shapeInstance, client) => {\n const { enableInfoPane = false, dataSummaries = [], url, shapeData } = shape;\n\n if (enableInfoPane) {\n const infoWindow = new window.google.maps.InfoWindow({\n content: ''\n });\n\n shapeInstance.addListener(CLICK, async event => {\n closeInfoWindows();\n const content = ReactDOMServer.renderToString(\n await infoWindowContent(imageData, dataSummaries, url, shapeData, client)\n );\n infoWindow.setContent(content);\n infoWindow.setPosition(event.latLng);\n infoWindow.open(map, shapeInstance);\n infoWindowArray.push(infoWindow);\n });\n } else if (url) {\n shapeInstance.addListener(CLICK, () => {\n router.push(url);\n });\n }\n};\n\nconst setStyleOptions = shape => {\n const { strokeColor, strokeOpacity, strokeWeight, fillColor, fillOpacity } = shape;\n const styleSettings = { strokeColor, fillColor, strokeOpacity, strokeWeight, fillOpacity };\n\n return {\n ...Object.keys(styleSettings).reduce((acc, key) => {\n const settingValue = styleSettings[key];\n const shouldValueBeNumber = !key.includes(COLOR);\n const hasValuePassedCondition = shouldValueBeNumber ? isNumber(settingValue) : settingValue;\n if (hasValuePassedCondition) acc[key] = settingValue;\n return acc;\n }, {})\n };\n};\n\nconst areRectangleBoundsNumbers = bounds => bounds.every(bound => isNumber(bound));\n\nconst isPositionCorrect = (lat, lng) => isNumber(lat) && isNumber(lng);\n\nconst getIconUrl = (imageId, imageData) => {\n if (!imageId) return '';\n const image = imageData.find(({ id }) => id === imageId);\n if (!image || !image.url) return '';\n\n return image.url;\n};\n\nconst infoWindowContent = async (imageData, dataSummaries, url, shapeData, client) => {\n const summariesWithContent = await Promise.all(\n dataSummaries.map(async dataSummary => {\n const { elementTitle, type, propsToDisplay, ...otherProps } = dataSummary;\n const isTypeHeading = type === HEADING_LARGE;\n const summaryPropsWithContent = buildPropsToDisplayWithContent(shapeData, propsToDisplay);\n const modifier = getClassModifiers(LIST, otherProps);\n const SummaryComponent = summaryComponents[type];\n await SummaryComponent.render.preload(); // preload dynamic nextjs component\n\n if (!summaryPropsWithContent.length) return null;\n\n const getDataSummaryComponent = () => {\n const component = (\n <ApolloProvider client={client}>\n <SummaryComponent\n key={type}\n modifier={modifier}\n elementTitle={elementTitle}\n summaryPropsWithContent={summaryPropsWithContent}\n />\n </ApolloProvider>\n );\n\n if (isTypeHeading && url) return <Link href={url}>{component}</Link>;\n\n return component;\n };\n\n return getDataSummaryComponent();\n })\n );\n const { imageId } = shapeData || {};\n const image = imageData.find(({ id }) => id === imageId);\n const shouldShowImage = image && image.url;\n\n const getImageElement = () => {\n const { url: imageUrl, data } = image;\n const imageElement = (\n <img className=\"info__window\" src={imageUrl} alt={data && data.altText ? data.altText : ''} />\n );\n\n if (url) return <Link href={url}>{imageElement}</Link>;\n\n return imageElement;\n };\n\n return (\n <>\n {shouldShowImage && getImageElement()}\n {summariesWithContent}\n </>\n );\n};\n\nfunction getIcon(imageData, shape) {\n const {\n imageId,\n markerWidth = 50,\n markerHeight = 50,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n svgPath\n } = shape;\n const iconUrl = getIconUrl(imageId, imageData);\n\n const icon = iconUrl\n ? {\n url: iconUrl,\n scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)\n }\n : null;\n\n if (icon) return icon;\n\n if (!svgPath && !fillColor && !strokeColor) return {}; // any can be true for custom marker\n\n const svgMarker = {\n path: svgPath || DEFAULT_CUSTOM_MARKER_PATH,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n rotation: 0,\n scale: 2\n };\n return svgMarker;\n}\n\nconst setMarker = (map, router, shape, imageData, client) => {\n const { label = '', latitude, longitude } = shape;\n\n if (isPositionCorrect(latitude, longitude)) {\n const svgMarker = getIcon(imageData, shape);\n\n const marker = new window.google.maps.Marker({\n position: { lat: latitude, lng: longitude },\n map,\n icon: svgMarker,\n title: label || ''\n });\n\n addShapeListeners(map, router, shape, imageData, marker, client);\n\n shapesArray.push(marker);\n\n marker.setMap(map);\n }\n};\n\nconst setPolyline = (map, router, shape, imageData) => {\n const { paths } = shape;\n const path = getPath(paths);\n\n if (path.length) {\n const polyline = new window.google.maps.Polyline({\n path,\n geodesic: true,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polyline);\n\n shapesArray.push(polyline);\n\n polyline.setMap(map);\n }\n};\n\nconst setPolygon = (map, router, shape, imageData) => {\n const { paths: unParsedPaths } = shape;\n const paths = getPath(unParsedPaths);\n\n if (paths.length) {\n const polygon = new window.google.maps.Polygon({\n paths,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polygon);\n\n shapesArray.push(polygon);\n\n polygon.setMap(map);\n }\n};\n\nconst setRectangle = (map, router, shape, imageData) => {\n const { northBound, southBound, eastBound, westBound } = shape;\n if (areRectangleBoundsNumbers([northBound, southBound, eastBound, westBound])) {\n const rectangle = new window.google.maps.Rectangle({\n ...setStyleOptions(shape),\n map,\n bounds: {\n north: northBound,\n south: southBound,\n east: eastBound,\n west: westBound\n }\n });\n\n addShapeListeners(map, router, shape, imageData, rectangle);\n\n shapesArray.push(rectangle);\n\n rectangle.setMap(map);\n }\n};\n\nconst setCircle = (map, router, shape, imageData) => {\n const { latitude, longitude, radius } = shape;\n if (isPositionCorrect(latitude, longitude) && isNumber(radius)) {\n const circle = new window.google.maps.Circle({\n ...setStyleOptions(shape),\n map,\n center: { lat: latitude, lng: longitude },\n radius\n });\n\n addShapeListeners(map, router, shape, imageData, circle);\n\n shapesArray.push(circle);\n\n circle.setMap(map);\n }\n};\n\nconst setShapes = (map, router, shapes, imageData, client) => {\n const mapZoom = map.getZoom();\n clearShapes();\n\n shapes.forEach(shape => {\n const { type, minZoom, maxZoom } = shape;\n\n if (mapZoom >= minZoom && mapZoom <= maxZoom) {\n switch (type) {\n case MARKER: {\n setMarker(map, router, shape, imageData, client);\n break;\n }\n case POLYLINE: {\n setPolyline(map, router, shape, imageData);\n break;\n }\n case POLYGON: {\n setPolygon(map, router, shape, imageData);\n break;\n }\n case RECTANGLE: {\n setRectangle(map, router, shape, imageData);\n break;\n }\n case CIRCLE: {\n setCircle(map, router, shape, imageData);\n break;\n }\n default:\n break;\n }\n }\n });\n};\n\nexport default setShapes;\n"],"mappings":"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"}
@@ -2,6 +2,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
2
2
  const _excluded = ["type", "name", "modifier", "elementTitle", "imageData", "onMount", "onMountProps", "parent", "mapShapes", "centerCoordinates"];
3
3
  import React, { useEffect, useState } from 'react';
4
4
  import PropTypes from 'prop-types';
5
+ import { useApolloClient } from '@apollo/client';
5
6
  import { useRouter } from 'next/router';
6
7
  import { withTitle } from '@blaze-cms/react-page-builder';
7
8
  import { useInView } from '@blaze-react/utils/lib/customHooks';
@@ -31,6 +32,7 @@ const GoogleMaps = _ref => {
31
32
  otherProps = _objectWithoutProperties(_ref, _excluded);
32
33
  const router = useRouter();
33
34
  const [isIntersecting, mapRef] = useInView(IN_VIEW_CONFIG);
35
+ const client = useApolloClient();
34
36
  const [map, setMap] = useState();
35
37
  useEffect(() => {
36
38
  const options = setMapOptions(otherProps);
@@ -85,7 +87,7 @@ const GoogleMaps = _ref => {
85
87
  // eslint-disable-next-line react-hooks/exhaustive-deps
86
88
  }, []);
87
89
  if (map && typeof onMount === `function`) onMount(map, onMountProps);
88
- if (isIntersecting) addZoomListener(map, router, mapShapes, imageData);
90
+ if (isIntersecting) addZoomListener(map, router, mapShapes, imageData, client);
89
91
  return /*#__PURE__*/React.createElement(GoogleMapsHtml, {
90
92
  mapRef: mapRef
91
93
  });
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleMaps.js","names":["React","useEffect","useState","PropTypes","useRouter","withTitle","useInView","functions","isEqual","omit","setMapOptions","addZoomListener","GOOGLE_MAPS_SCRIPT","LOAD","SCRIPT","IN_VIEW_CONFIG","GoogleMapsHtml","shouldNotUpdate","props","nextProps","funcs","nextFuncs","noPropChange","noFuncChange","length","every","fn","toString","GoogleMaps","_ref","type","name","modifier","elementTitle","imageData","onMount","onMountProps","parent","mapShapes","centerCoordinates","otherProps","_objectWithoutProperties","_excluded","router","isIntersecting","mapRef","map","setMap","options","onLoad","initialMap","window","google","maps","Map","current","latitude","lat","longitude","lng","setCenter","bounds","LatLngBounds","forEach","extend","LatLng","fitBounds","script","document","createElement","src","process","env","GOOGLE_MAPS_API_KEY","head","append","addEventListener","removeEventListener","setOptions","enableGeolocation","shouldActivateGeolocation","navigator","geolocation","getCurrentPosition","position","center","coords","propTypes","array","string","func","object","defaultProps","memo"],"sources":["../../src/GoogleMaps/GoogleMaps.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { withTitle } from '@blaze-cms/react-page-builder';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { functions, isEqual, omit } from 'lodash';\nimport { setMapOptions, addZoomListener } from './helpers';\nimport { GOOGLE_MAPS_SCRIPT, LOAD, SCRIPT, IN_VIEW_CONFIG } from '../constants';\nimport GoogleMapsHtml from './GoogleMapsHtml';\n\nconst shouldNotUpdate = (props, nextProps) => {\n const [funcs, nextFuncs] = [functions(props), functions(nextProps)];\n const noPropChange = isEqual(omit(props, funcs), omit(nextProps, nextFuncs));\n const noFuncChange =\n funcs.length === nextFuncs.length &&\n funcs.every(fn => props[fn].toString() === nextProps[fn].toString());\n return noPropChange && noFuncChange;\n};\n\nconst GoogleMaps = ({\n type,\n name,\n modifier,\n elementTitle,\n imageData,\n onMount,\n onMountProps,\n parent,\n mapShapes,\n centerCoordinates,\n ...otherProps\n}) => {\n const router = useRouter();\n const [isIntersecting, mapRef] = useInView(IN_VIEW_CONFIG);\n const [map, setMap] = useState();\n\n useEffect(() => {\n const options = setMapOptions(otherProps);\n const onLoad = () => {\n const initialMap = new window.google.maps.Map(mapRef.current, options);\n if (centerCoordinates.length === 1) {\n const [{ latitude: lat, longitude: lng }] = centerCoordinates;\n initialMap.setCenter({ lat, lng });\n } else {\n const bounds = new window.google.maps.LatLngBounds();\n centerCoordinates.forEach(({ latitude, longitude }) => {\n bounds.extend(new window.google.maps.LatLng(latitude, longitude));\n });\n initialMap.fitBounds(bounds);\n }\n setMap(initialMap);\n };\n\n if (!window.google) {\n const script = document.createElement(SCRIPT);\n script.src = `${GOOGLE_MAPS_SCRIPT}${process.env.GOOGLE_MAPS_API_KEY}`;\n document.head.append(script);\n script.addEventListener(LOAD, onLoad);\n return () => script.removeEventListener(LOAD, onLoad);\n }\n\n onLoad();\n\n if (map) {\n map.setOptions(options);\n const { enableGeolocation } = otherProps;\n const shouldActivateGeolocation = enableGeolocation && navigator.geolocation;\n if (shouldActivateGeolocation) {\n navigator.geolocation.getCurrentPosition(\n position => {\n const center = {\n lat: position.coords.latitude,\n lng: position.coords.longitude\n };\n\n map.setCenter(center);\n },\n () => {}\n );\n }\n }\n\n return () => {};\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (map && typeof onMount === `function`) onMount(map, onMountProps);\n if (isIntersecting) addZoomListener(map, router, mapShapes, imageData);\n\n return <GoogleMapsHtml mapRef={mapRef} />;\n};\n\nGoogleMaps.propTypes = {\n mapShapes: PropTypes.array,\n imageData: PropTypes.array,\n type: PropTypes.string,\n name: PropTypes.string,\n modifier: PropTypes.string,\n elementTitle: PropTypes.string,\n onMount: PropTypes.func,\n onMountProps: PropTypes.object,\n parent: PropTypes.object,\n centerCoordinates: PropTypes.array\n};\n\nGoogleMaps.defaultProps = {\n mapShapes: [],\n imageData: [],\n centerCoordinates: [],\n type: '',\n name: '',\n modifier: '',\n elementTitle: '',\n onMount: null,\n onMountProps: null,\n parent: {}\n};\n\nexport default React.memo(withTitle(GoogleMaps), shouldNotUpdate);\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAClD,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,SAAS,QAAQ,+BAA+B;AACzD,SAASC,SAAS,QAAQ,oCAAoC;AAC9D,SAASC,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAQ,QAAQ;AACjD,SAASC,aAAa,EAAEC,eAAe,QAAQ,WAAW;AAC1D,SAASC,kBAAkB,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,QAAQ,cAAc;AAC/E,OAAOC,cAAc,MAAM,kBAAkB;AAE7C,MAAMC,eAAe,GAAGA,CAACC,KAAK,EAAEC,SAAS,KAAK;EAC5C,MAAM,CAACC,KAAK,EAAEC,SAAS,CAAC,GAAG,CAACd,SAAS,CAACW,KAAK,CAAC,EAAEX,SAAS,CAACY,SAAS,CAAC,CAAC;EACnE,MAAMG,YAAY,GAAGd,OAAO,CAACC,IAAI,CAACS,KAAK,EAAEE,KAAK,CAAC,EAAEX,IAAI,CAACU,SAAS,EAAEE,SAAS,CAAC,CAAC;EAC5E,MAAME,YAAY,GAChBH,KAAK,CAACI,MAAM,KAAKH,SAAS,CAACG,MAAM,IACjCJ,KAAK,CAACK,KAAK,CAACC,EAAE,IAAIR,KAAK,CAACQ,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,KAAKR,SAAS,CAACO,EAAE,CAAC,CAACC,QAAQ,CAAC,CAAC,CAAC;EACtE,OAAOL,YAAY,IAAIC,YAAY;AACrC,CAAC;AAED,MAAMK,UAAU,GAAGC,IAAA,IAYb;EAAA,IAZc;MAClBC,IAAI;MACJC,IAAI;MACJC,QAAQ;MACRC,YAAY;MACZC,SAAS;MACTC,OAAO;MACPC,YAAY;MACZC,MAAM;MACNC,SAAS;MACTC;IAEF,CAAC,GAAAV,IAAA;IADIW,UAAU,GAAAC,wBAAA,CAAAZ,IAAA,EAAAa,SAAA;EAEb,MAAMC,MAAM,GAAGvC,SAAS,CAAC,CAAC;EAC1B,MAAM,CAACwC,cAAc,EAAEC,MAAM,CAAC,GAAGvC,SAAS,CAACS,cAAc,CAAC;EAC1D,MAAM,CAAC+B,GAAG,EAAEC,MAAM,CAAC,GAAG7C,QAAQ,CAAC,CAAC;EAEhCD,SAAS,CAAC,MAAM;IACd,MAAM+C,OAAO,GAAGtC,aAAa,CAAC8B,UAAU,CAAC;IACzC,MAAMS,MAAM,GAAGA,CAAA,KAAM;MACnB,MAAMC,UAAU,GAAG,IAAIC,MAAM,CAACC,MAAM,CAACC,IAAI,CAACC,GAAG,CAACT,MAAM,CAACU,OAAO,EAAEP,OAAO,CAAC;MACtE,IAAIT,iBAAiB,CAACf,MAAM,KAAK,CAAC,EAAE;QAClC,MAAM,CAAC;UAAEgC,QAAQ,EAAEC,GAAG;UAAEC,SAAS,EAAEC;QAAI,CAAC,CAAC,GAAGpB,iBAAiB;QAC7DW,UAAU,CAACU,SAAS,CAAC;UAAEH,GAAG;UAAEE;QAAI,CAAC,CAAC;MACpC,CAAC,MAAM;QACL,MAAME,MAAM,GAAG,IAAIV,MAAM,CAACC,MAAM,CAACC,IAAI,CAACS,YAAY,CAAC,CAAC;QACpDvB,iBAAiB,CAACwB,OAAO,CAAC,CAAC;UAAEP,QAAQ;UAAEE;QAAU,CAAC,KAAK;UACrDG,MAAM,CAACG,MAAM,CAAC,IAAIb,MAAM,CAACC,MAAM,CAACC,IAAI,CAACY,MAAM,CAACT,QAAQ,EAAEE,SAAS,CAAC,CAAC;QACnE,CAAC,CAAC;QACFR,UAAU,CAACgB,SAAS,CAACL,MAAM,CAAC;MAC9B;MACAd,MAAM,CAACG,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,CAACC,MAAM,CAACC,MAAM,EAAE;MAClB,MAAMe,MAAM,GAAGC,QAAQ,CAACC,aAAa,CAACvD,MAAM,CAAC;MAC7CqD,MAAM,CAACG,GAAG,GAAI,GAAE1D,kBAAmB,GAAE2D,OAAO,CAACC,GAAG,CAACC,mBAAoB,EAAC;MACtEL,QAAQ,CAACM,IAAI,CAACC,MAAM,CAACR,MAAM,CAAC;MAC5BA,MAAM,CAACS,gBAAgB,CAAC/D,IAAI,EAAEoC,MAAM,CAAC;MACrC,OAAO,MAAMkB,MAAM,CAACU,mBAAmB,CAAChE,IAAI,EAAEoC,MAAM,CAAC;IACvD;IAEAA,MAAM,CAAC,CAAC;IAER,IAAIH,GAAG,EAAE;MACPA,GAAG,CAACgC,UAAU,CAAC9B,OAAO,CAAC;MACvB,MAAM;QAAE+B;MAAkB,CAAC,GAAGvC,UAAU;MACxC,MAAMwC,yBAAyB,GAAGD,iBAAiB,IAAIE,SAAS,CAACC,WAAW;MAC5E,IAAIF,yBAAyB,EAAE;QAC7BC,SAAS,CAACC,WAAW,CAACC,kBAAkB,CACtCC,QAAQ,IAAI;UACV,MAAMC,MAAM,GAAG;YACb5B,GAAG,EAAE2B,QAAQ,CAACE,MAAM,CAAC9B,QAAQ;YAC7BG,GAAG,EAAEyB,QAAQ,CAACE,MAAM,CAAC5B;UACvB,CAAC;UAEDZ,GAAG,CAACc,SAAS,CAACyB,MAAM,CAAC;QACvB,CAAC,EACD,MAAM,CAAC,CACT,CAAC;MACH;IACF;IAEA,OAAO,MAAM,CAAC,CAAC;IACf;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,IAAIvC,GAAG,IAAI,OAAOX,OAAO,KAAM,UAAS,EAAEA,OAAO,CAACW,GAAG,EAAEV,YAAY,CAAC;EACpE,IAAIQ,cAAc,EAAEjC,eAAe,CAACmC,GAAG,EAAEH,MAAM,EAAEL,SAAS,EAAEJ,SAAS,CAAC;EAEtE,oBAAOlC,KAAA,CAAAqE,aAAA,CAACrD,cAAc;IAAC6B,MAAM,EAAEA;EAAO,CAAE,CAAC;AAC3C,CAAC;AAEDjB,UAAU,CAAC2D,SAAS,GAAG;EACrBjD,SAAS,EAAEnC,SAAS,CAACqF,KAAK;EAC1BtD,SAAS,EAAE/B,SAAS,CAACqF,KAAK;EAC1B1D,IAAI,EAAE3B,SAAS,CAACsF,MAAM;EACtB1D,IAAI,EAAE5B,SAAS,CAACsF,MAAM;EACtBzD,QAAQ,EAAE7B,SAAS,CAACsF,MAAM;EAC1BxD,YAAY,EAAE9B,SAAS,CAACsF,MAAM;EAC9BtD,OAAO,EAAEhC,SAAS,CAACuF,IAAI;EACvBtD,YAAY,EAAEjC,SAAS,CAACwF,MAAM;EAC9BtD,MAAM,EAAElC,SAAS,CAACwF,MAAM;EACxBpD,iBAAiB,EAAEpC,SAAS,CAACqF;AAC/B,CAAC;AAED5D,UAAU,CAACgE,YAAY,GAAG;EACxBtD,SAAS,EAAE,EAAE;EACbJ,SAAS,EAAE,EAAE;EACbK,iBAAiB,EAAE,EAAE;EACrBT,IAAI,EAAE,EAAE;EACRC,IAAI,EAAE,EAAE;EACRC,QAAQ,EAAE,EAAE;EACZC,YAAY,EAAE,EAAE;EAChBE,OAAO,EAAE,IAAI;EACbC,YAAY,EAAE,IAAI;EAClBC,MAAM,EAAE,CAAC;AACX,CAAC;AAED,eAAerC,KAAK,CAAC6F,IAAI,CAACxF,SAAS,CAACuB,UAAU,CAAC,EAAEX,eAAe,CAAC"}
1
+ {"version":3,"file":"GoogleMaps.js","names":["React","useEffect","useState","PropTypes","useApolloClient","useRouter","withTitle","useInView","functions","isEqual","omit","setMapOptions","addZoomListener","GOOGLE_MAPS_SCRIPT","LOAD","SCRIPT","IN_VIEW_CONFIG","GoogleMapsHtml","shouldNotUpdate","props","nextProps","funcs","nextFuncs","noPropChange","noFuncChange","length","every","fn","toString","GoogleMaps","_ref","type","name","modifier","elementTitle","imageData","onMount","onMountProps","parent","mapShapes","centerCoordinates","otherProps","_objectWithoutProperties","_excluded","router","isIntersecting","mapRef","client","map","setMap","options","onLoad","initialMap","window","google","maps","Map","current","latitude","lat","longitude","lng","setCenter","bounds","LatLngBounds","forEach","extend","LatLng","fitBounds","script","document","createElement","src","process","env","GOOGLE_MAPS_API_KEY","head","append","addEventListener","removeEventListener","setOptions","enableGeolocation","shouldActivateGeolocation","navigator","geolocation","getCurrentPosition","position","center","coords","propTypes","array","string","func","object","defaultProps","memo"],"sources":["../../src/GoogleMaps/GoogleMaps.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useApolloClient } from '@apollo/client';\nimport { useRouter } from 'next/router';\nimport { withTitle } from '@blaze-cms/react-page-builder';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { functions, isEqual, omit } from 'lodash';\nimport { setMapOptions, addZoomListener } from './helpers';\nimport { GOOGLE_MAPS_SCRIPT, LOAD, SCRIPT, IN_VIEW_CONFIG } from '../constants';\nimport GoogleMapsHtml from './GoogleMapsHtml';\n\nconst shouldNotUpdate = (props, nextProps) => {\n const [funcs, nextFuncs] = [functions(props), functions(nextProps)];\n const noPropChange = isEqual(omit(props, funcs), omit(nextProps, nextFuncs));\n const noFuncChange =\n funcs.length === nextFuncs.length &&\n funcs.every(fn => props[fn].toString() === nextProps[fn].toString());\n return noPropChange && noFuncChange;\n};\n\nconst GoogleMaps = ({\n type,\n name,\n modifier,\n elementTitle,\n imageData,\n onMount,\n onMountProps,\n parent,\n mapShapes,\n centerCoordinates,\n ...otherProps\n}) => {\n const router = useRouter();\n const [isIntersecting, mapRef] = useInView(IN_VIEW_CONFIG);\n const client = useApolloClient();\n const [map, setMap] = useState();\n\n useEffect(() => {\n const options = setMapOptions(otherProps);\n const onLoad = () => {\n const initialMap = new window.google.maps.Map(mapRef.current, options);\n if (centerCoordinates.length === 1) {\n const [{ latitude: lat, longitude: lng }] = centerCoordinates;\n initialMap.setCenter({ lat, lng });\n } else {\n const bounds = new window.google.maps.LatLngBounds();\n centerCoordinates.forEach(({ latitude, longitude }) => {\n bounds.extend(new window.google.maps.LatLng(latitude, longitude));\n });\n initialMap.fitBounds(bounds);\n }\n setMap(initialMap);\n };\n\n if (!window.google) {\n const script = document.createElement(SCRIPT);\n script.src = `${GOOGLE_MAPS_SCRIPT}${process.env.GOOGLE_MAPS_API_KEY}`;\n document.head.append(script);\n script.addEventListener(LOAD, onLoad);\n return () => script.removeEventListener(LOAD, onLoad);\n }\n\n onLoad();\n\n if (map) {\n map.setOptions(options);\n const { enableGeolocation } = otherProps;\n const shouldActivateGeolocation = enableGeolocation && navigator.geolocation;\n if (shouldActivateGeolocation) {\n navigator.geolocation.getCurrentPosition(\n position => {\n const center = {\n lat: position.coords.latitude,\n lng: position.coords.longitude\n };\n\n map.setCenter(center);\n },\n () => {}\n );\n }\n }\n\n return () => {};\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (map && typeof onMount === `function`) onMount(map, onMountProps);\n if (isIntersecting) addZoomListener(map, router, mapShapes, imageData, client);\n\n return <GoogleMapsHtml mapRef={mapRef} />;\n};\n\nGoogleMaps.propTypes = {\n mapShapes: PropTypes.array,\n imageData: PropTypes.array,\n type: PropTypes.string,\n name: PropTypes.string,\n modifier: PropTypes.string,\n elementTitle: PropTypes.string,\n onMount: PropTypes.func,\n onMountProps: PropTypes.object,\n parent: PropTypes.object,\n centerCoordinates: PropTypes.array\n};\n\nGoogleMaps.defaultProps = {\n mapShapes: [],\n imageData: [],\n centerCoordinates: [],\n type: '',\n name: '',\n modifier: '',\n elementTitle: '',\n onMount: null,\n onMountProps: null,\n parent: {}\n};\n\nexport default React.memo(withTitle(GoogleMaps), shouldNotUpdate);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GoogleMapsRender.js","names":["React","PropTypes","isNumber","useQuery","getAction","useGetImages","buildQuery","getImageIds","getCenterCoordinates","buildMapShapes","GoogleMaps","GoogleMapsHtml","defaultQuery","GoogleMapsRender","_ref","shapeConfigs","entityGroups","id","otherProps","_objectWithoutProperties","_excluded","defaultZoom","query","data","loading","error","skip","mapShapes","imageIds","getFiles","imageData","imagesLoading","imagesError","createElement","centerCoordinates","shouldDisplayMap","length","_extends","key","slug","propTypes","array","string","centerLatitude","number","centerLongitude","defaultProps"],"sources":["../../src/GoogleMaps/GoogleMapsRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isNumber from 'lodash.isnumber';\nimport { useQuery } from '@apollo/client';\nimport { getAction } from '@blaze-cms/react-page-builder';\nimport { useGetImages } from './hooks';\nimport { buildQuery, getImageIds, getCenterCoordinates, buildMapShapes } from './helpers';\nimport GoogleMaps from './GoogleMaps';\nimport GoogleMapsHtml from './GoogleMapsHtml';\n\nconst defaultQuery = getAction('getPublishedPages', 'id');\n\nconst GoogleMapsRender = ({ shapeConfigs, entityGroups, id, ...otherProps }) => {\n const { defaultZoom } = otherProps;\n const { query } = buildQuery(shapeConfigs);\n const { data, loading, error } = useQuery(query || defaultQuery, {\n skip: !query\n });\n const mapShapes = buildMapShapes(shapeConfigs, data);\n const imageIds = getImageIds(mapShapes);\n const {\n data: { getFiles: imageData } = {},\n loading: imagesLoading,\n error: imagesError\n } = useGetImages(imageIds);\n if (loading || imagesLoading) return <GoogleMapsHtml />;\n if (error || imagesError) return null;\n\n const centerCoordinates = getCenterCoordinates(mapShapes, otherProps);\n const shouldDisplayMap = isNumber(defaultZoom) && !!centerCoordinates.length;\n\n if (!shouldDisplayMap) return null;\n\n return (\n <GoogleMaps\n key={otherProps.slug}\n centerCoordinates={centerCoordinates}\n mapShapes={mapShapes}\n imageData={imageData}\n {...otherProps}\n />\n );\n};\n\nGoogleMapsRender.propTypes = {\n entityGroups: PropTypes.array,\n id: PropTypes.string,\n shapeConfigs: PropTypes.array,\n centerLatitude: PropTypes.number,\n centerLongitude: PropTypes.number,\n defaultZoom: PropTypes.number\n};\n\nGoogleMapsRender.defaultProps = {\n entityGroups: [],\n shapeConfigs: [],\n id: '',\n centerLatitude: null,\n centerLongitude: null,\n defaultZoom: null\n};\n\nexport default GoogleMapsRender;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,SAAS,QAAQ,+BAA+B;AACzD,SAASC,YAAY,QAAQ,SAAS;AACtC,SAASC,UAAU,EAAEC,WAAW,EAAEC,oBAAoB,EAAEC,cAAc,QAAQ,WAAW;AACzF,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,cAAc,MAAM,kBAAkB;AAE7C,MAAMC,YAAY,GAAGR,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC;AAEzD,MAAMS,gBAAgB,GAAGC,IAAA,IAAuD;EAAA,IAAtD;MAAEC,YAAY;MAAEC,YAAY;MAAEC;IAAkB,CAAC,GAAAH,IAAA;IAAZI,UAAU,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EACvE,MAAM;IAAEC;EAAY,CAAC,GAAGH,UAAU;EAClC,MAAM;IAAEI;EAAM,CAAC,GAAGhB,UAAU,CAACS,YAAY,CAAC;EAC1C,MAAM;IAAEQ,IAAI;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGtB,QAAQ,CAACmB,KAAK,IAAIV,YAAY,EAAE;IAC/Dc,IAAI,EAAE,CAACJ;EACT,CAAC,CAAC;EACF,MAAMK,SAAS,GAAGlB,cAAc,CAACM,YAAY,EAAEQ,IAAI,CAAC;EACpD,MAAMK,QAAQ,GAAGrB,WAAW,CAACoB,SAAS,CAAC;EACvC,MAAM;IACJJ,IAAI,EAAE;MAAEM,QAAQ,EAAEC;IAAU,CAAC,GAAG,CAAC,CAAC;IAClCN,OAAO,EAAEO,aAAa;IACtBN,KAAK,EAAEO;EACT,CAAC,GAAG3B,YAAY,CAACuB,QAAQ,CAAC;EAC1B,IAAIJ,OAAO,IAAIO,aAAa,EAAE,oBAAO/B,KAAA,CAAAiC,aAAA,CAACtB,cAAc,MAAE,CAAC;EACvD,IAAIc,KAAK,IAAIO,WAAW,EAAE,OAAO,IAAI;EAErC,MAAME,iBAAiB,GAAG1B,oBAAoB,CAACmB,SAAS,EAAET,UAAU,CAAC;EACrE,MAAMiB,gBAAgB,GAAGjC,QAAQ,CAACmB,WAAW,CAAC,IAAI,CAAC,CAACa,iBAAiB,CAACE,MAAM;EAE5E,IAAI,CAACD,gBAAgB,EAAE,OAAO,IAAI;EAElC,oBACEnC,KAAA,CAAAiC,aAAA,CAACvB,UAAU,EAAA2B,QAAA;IACTC,GAAG,EAAEpB,UAAU,CAACqB,IAAK;IACrBL,iBAAiB,EAAEA,iBAAkB;IACrCP,SAAS,EAAEA,SAAU;IACrBG,SAAS,EAAEA;EAAU,GACjBZ,UAAU,CACf,CAAC;AAEN,CAAC;AAEDL,gBAAgB,CAAC2B,SAAS,GAAG;EAC3BxB,YAAY,EAAEf,SAAS,CAACwC,KAAK;EAC7BxB,EAAE,EAAEhB,SAAS,CAACyC,MAAM;EACpB3B,YAAY,EAAEd,SAAS,CAACwC,KAAK;EAC7BE,cAAc,EAAE1C,SAAS,CAAC2C,MAAM;EAChCC,eAAe,EAAE5C,SAAS,CAAC2C,MAAM;EACjCvB,WAAW,EAAEpB,SAAS,CAAC2C;AACzB,CAAC;AAED/B,gBAAgB,CAACiC,YAAY,GAAG;EAC9B9B,YAAY,EAAE,EAAE;EAChBD,YAAY,EAAE,EAAE;EAChBE,EAAE,EAAE,EAAE;EACN0B,cAAc,EAAE,IAAI;EACpBE,eAAe,EAAE,IAAI;EACrBxB,WAAW,EAAE;AACf,CAAC;AAED,eAAeR,gBAAgB"}
1
+ {"version":3,"file":"GoogleMapsRender.js","names":["React","PropTypes","isNumber","useQuery","getAction","useGetImages","buildQuery","getImageIds","getCenterCoordinates","buildMapShapes","GoogleMaps","GoogleMapsHtml","defaultQuery","GoogleMapsRender","_ref","shapeConfigs","entityGroups","id","otherProps","_objectWithoutProperties","_excluded","defaultZoom","query","data","loading","error","skip","mapShapes","imageIds","getFiles","imageData","imagesLoading","imagesError","createElement","centerCoordinates","shouldDisplayMap","length","_extends","key","slug","propTypes","array","string","centerLatitude","number","centerLongitude","defaultProps"],"sources":["../../src/GoogleMaps/GoogleMapsRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isNumber from 'lodash.isnumber';\nimport { useQuery } from '@apollo/client';\nimport { getAction } from '@blaze-cms/react-page-builder';\nimport { useGetImages } from './hooks';\nimport { buildQuery, getImageIds, getCenterCoordinates, buildMapShapes } from './helpers';\nimport GoogleMaps from './GoogleMaps';\nimport GoogleMapsHtml from './GoogleMapsHtml';\n\nconst defaultQuery = getAction('getPublishedPages', 'id');\n\nconst GoogleMapsRender = ({ shapeConfigs, entityGroups, id, ...otherProps }) => {\n const { defaultZoom } = otherProps;\n const { query } = buildQuery(shapeConfigs);\n const { data, loading, error } = useQuery(query || defaultQuery, {\n skip: !query\n });\n\n const mapShapes = buildMapShapes(shapeConfigs, data);\n const imageIds = getImageIds(mapShapes);\n const {\n data: { getFiles: imageData } = {},\n loading: imagesLoading,\n error: imagesError\n } = useGetImages(imageIds);\n if (loading || imagesLoading) return <GoogleMapsHtml />;\n if (error || imagesError) return null;\n\n const centerCoordinates = getCenterCoordinates(mapShapes, otherProps);\n const shouldDisplayMap = isNumber(defaultZoom) && !!centerCoordinates.length;\n\n if (!shouldDisplayMap) return null;\n\n return (\n <GoogleMaps\n key={otherProps.slug}\n centerCoordinates={centerCoordinates}\n mapShapes={mapShapes}\n imageData={imageData}\n {...otherProps}\n />\n );\n};\n\nGoogleMapsRender.propTypes = {\n entityGroups: PropTypes.array,\n id: PropTypes.string,\n shapeConfigs: PropTypes.array,\n centerLatitude: PropTypes.number,\n centerLongitude: PropTypes.number,\n defaultZoom: PropTypes.number\n};\n\nGoogleMapsRender.defaultProps = {\n entityGroups: [],\n shapeConfigs: [],\n id: '',\n centerLatitude: null,\n centerLongitude: null,\n defaultZoom: null\n};\n\nexport default GoogleMapsRender;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,SAAS,QAAQ,+BAA+B;AACzD,SAASC,YAAY,QAAQ,SAAS;AACtC,SAASC,UAAU,EAAEC,WAAW,EAAEC,oBAAoB,EAAEC,cAAc,QAAQ,WAAW;AACzF,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,cAAc,MAAM,kBAAkB;AAE7C,MAAMC,YAAY,GAAGR,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC;AAEzD,MAAMS,gBAAgB,GAAGC,IAAA,IAAuD;EAAA,IAAtD;MAAEC,YAAY;MAAEC,YAAY;MAAEC;IAAkB,CAAC,GAAAH,IAAA;IAAZI,UAAU,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EACvE,MAAM;IAAEC;EAAY,CAAC,GAAGH,UAAU;EAClC,MAAM;IAAEI;EAAM,CAAC,GAAGhB,UAAU,CAACS,YAAY,CAAC;EAC1C,MAAM;IAAEQ,IAAI;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGtB,QAAQ,CAACmB,KAAK,IAAIV,YAAY,EAAE;IAC/Dc,IAAI,EAAE,CAACJ;EACT,CAAC,CAAC;EAEF,MAAMK,SAAS,GAAGlB,cAAc,CAACM,YAAY,EAAEQ,IAAI,CAAC;EACpD,MAAMK,QAAQ,GAAGrB,WAAW,CAACoB,SAAS,CAAC;EACvC,MAAM;IACJJ,IAAI,EAAE;MAAEM,QAAQ,EAAEC;IAAU,CAAC,GAAG,CAAC,CAAC;IAClCN,OAAO,EAAEO,aAAa;IACtBN,KAAK,EAAEO;EACT,CAAC,GAAG3B,YAAY,CAACuB,QAAQ,CAAC;EAC1B,IAAIJ,OAAO,IAAIO,aAAa,EAAE,oBAAO/B,KAAA,CAAAiC,aAAA,CAACtB,cAAc,MAAE,CAAC;EACvD,IAAIc,KAAK,IAAIO,WAAW,EAAE,OAAO,IAAI;EAErC,MAAME,iBAAiB,GAAG1B,oBAAoB,CAACmB,SAAS,EAAET,UAAU,CAAC;EACrE,MAAMiB,gBAAgB,GAAGjC,QAAQ,CAACmB,WAAW,CAAC,IAAI,CAAC,CAACa,iBAAiB,CAACE,MAAM;EAE5E,IAAI,CAACD,gBAAgB,EAAE,OAAO,IAAI;EAElC,oBACEnC,KAAA,CAAAiC,aAAA,CAACvB,UAAU,EAAA2B,QAAA;IACTC,GAAG,EAAEpB,UAAU,CAACqB,IAAK;IACrBL,iBAAiB,EAAEA,iBAAkB;IACrCP,SAAS,EAAEA,SAAU;IACrBG,SAAS,EAAEA;EAAU,GACjBZ,UAAU,CACf,CAAC;AAEN,CAAC;AAEDL,gBAAgB,CAAC2B,SAAS,GAAG;EAC3BxB,YAAY,EAAEf,SAAS,CAACwC,KAAK;EAC7BxB,EAAE,EAAEhB,SAAS,CAACyC,MAAM;EACpB3B,YAAY,EAAEd,SAAS,CAACwC,KAAK;EAC7BE,cAAc,EAAE1C,SAAS,CAAC2C,MAAM;EAChCC,eAAe,EAAE5C,SAAS,CAAC2C,MAAM;EACjCvB,WAAW,EAAEpB,SAAS,CAAC2C;AACzB,CAAC;AAED/B,gBAAgB,CAACiC,YAAY,GAAG;EAC9B9B,YAAY,EAAE,EAAE;EAChBD,YAAY,EAAE,EAAE;EAChBE,EAAE,EAAE,EAAE;EACN0B,cAAc,EAAE,IAAI;EACpBE,eAAe,EAAE,IAAI;EACrBxB,WAAW,EAAE;AACf,CAAC;AAED,eAAeR,gBAAgB"}
@@ -1,9 +1,9 @@
1
1
  import { ZOOM_CHANGED } from '../../constants';
2
2
  import setShapes from './set-shapes';
3
- const addZoomListener = (map, router, shapes, imageData) => {
3
+ const addZoomListener = (map, router, shapes, imageData, client) => {
4
4
  if (!map) return;
5
5
  setShapes(map, router, shapes, imageData);
6
- map.addListener(ZOOM_CHANGED, () => setShapes(map, router, shapes, imageData));
6
+ map.addListener(ZOOM_CHANGED, () => setShapes(map, router, shapes, imageData, client));
7
7
  };
8
8
  export default addZoomListener;
9
9
  //# sourceMappingURL=add-zoom-listener.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-zoom-listener.js","names":["ZOOM_CHANGED","setShapes","addZoomListener","map","router","shapes","imageData","addListener"],"sources":["../../../src/GoogleMaps/helpers/add-zoom-listener.js"],"sourcesContent":["import { ZOOM_CHANGED } from '../../constants';\nimport setShapes from './set-shapes';\n\nconst addZoomListener = (map, router, shapes, imageData) => {\n if (!map) return;\n setShapes(map, router, shapes, imageData);\n map.addListener(ZOOM_CHANGED, () => setShapes(map, router, shapes, imageData));\n};\n\nexport default addZoomListener;\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,OAAOC,SAAS,MAAM,cAAc;AAEpC,MAAMC,eAAe,GAAGA,CAACC,GAAG,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,KAAK;EAC1D,IAAI,CAACH,GAAG,EAAE;EACVF,SAAS,CAACE,GAAG,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,CAAC;EACzCH,GAAG,CAACI,WAAW,CAACP,YAAY,EAAE,MAAMC,SAAS,CAACE,GAAG,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,CAAC,CAAC;AAChF,CAAC;AAED,eAAeJ,eAAe"}
1
+ {"version":3,"file":"add-zoom-listener.js","names":["ZOOM_CHANGED","setShapes","addZoomListener","map","router","shapes","imageData","client","addListener"],"sources":["../../../src/GoogleMaps/helpers/add-zoom-listener.js"],"sourcesContent":["import { ZOOM_CHANGED } from '../../constants';\nimport setShapes from './set-shapes';\n\nconst addZoomListener = (map, router, shapes, imageData, client) => {\n if (!map) return;\n setShapes(map, router, shapes, imageData);\n map.addListener(ZOOM_CHANGED, () => setShapes(map, router, shapes, imageData, client));\n};\n\nexport default addZoomListener;\n"],"mappings":"AAAA,SAASA,YAAY,QAAQ,iBAAiB;AAC9C,OAAOC,SAAS,MAAM,cAAc;AAEpC,MAAMC,eAAe,GAAGA,CAACC,GAAG,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,EAAEC,MAAM,KAAK;EAClE,IAAI,CAACJ,GAAG,EAAE;EACVF,SAAS,CAACE,GAAG,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,CAAC;EACzCH,GAAG,CAACK,WAAW,CAACR,YAAY,EAAE,MAAMC,SAAS,CAACE,GAAG,EAAEC,MAAM,EAAEC,MAAM,EAAEC,SAAS,EAAEC,MAAM,CAAC,CAAC;AACxF,CAAC;AAED,eAAeL,eAAe"}
@@ -7,6 +7,7 @@ import React from 'react';
7
7
  import isNumber from 'lodash.isnumber';
8
8
  import ReactDOMServer from 'react-dom/server';
9
9
  import { Link } from '@blaze-cms/nextjs-components';
10
+ import { ApolloProvider } from '@apollo/client';
10
11
  import { buildPropsToDisplayWithContent, summaryComponents, getClassModifiers } from '@blaze-cms/react-page-builder';
11
12
  import getPath from './get-path';
12
13
  import { MARKER, POLYLINE, POLYGON, RECTANGLE, CIRCLE, COLOR, CLICK, HEADING_LARGE, LIST, DEFAULT_CUSTOM_MARKER_PATH } from '../../constants';
@@ -24,7 +25,7 @@ const closeInfoWindows = () => {
24
25
  infoWindowArray.length = 0;
25
26
  }
26
27
  };
27
- const addShapeListeners = (map, router, shape, imageData, shapeInstance) => {
28
+ const addShapeListeners = (map, router, shape, imageData, shapeInstance, client) => {
28
29
  const {
29
30
  enableInfoPane = false,
30
31
  dataSummaries = [],
@@ -37,7 +38,7 @@ const addShapeListeners = (map, router, shape, imageData, shapeInstance) => {
37
38
  });
38
39
  shapeInstance.addListener(CLICK, async event => {
39
40
  closeInfoWindows();
40
- const content = ReactDOMServer.renderToString(await infoWindowContent(imageData, dataSummaries, url, shapeData));
41
+ const content = ReactDOMServer.renderToString(await infoWindowContent(imageData, dataSummaries, url, shapeData, client));
41
42
  infoWindow.setContent(content);
42
43
  infoWindow.setPosition(event.latLng);
43
44
  infoWindow.open(map, shapeInstance);
@@ -82,7 +83,7 @@ const getIconUrl = (imageId, imageData) => {
82
83
  if (!image || !image.url) return '';
83
84
  return image.url;
84
85
  };
85
- const infoWindowContent = async (imageData, dataSummaries, url, shapeData) => {
86
+ const infoWindowContent = async (imageData, dataSummaries, url, shapeData, client) => {
86
87
  const summariesWithContent = await Promise.all(dataSummaries.map(async dataSummary => {
87
88
  const {
88
89
  elementTitle,
@@ -98,12 +99,14 @@ const infoWindowContent = async (imageData, dataSummaries, url, shapeData) => {
98
99
 
99
100
  if (!summaryPropsWithContent.length) return null;
100
101
  const getDataSummaryComponent = () => {
101
- const component = /*#__PURE__*/React.createElement(SummaryComponent, {
102
+ const component = /*#__PURE__*/React.createElement(ApolloProvider, {
103
+ client: client
104
+ }, /*#__PURE__*/React.createElement(SummaryComponent, {
102
105
  key: type,
103
106
  modifier: modifier,
104
107
  elementTitle: elementTitle,
105
108
  summaryPropsWithContent: summaryPropsWithContent
106
- });
109
+ }));
107
110
  if (isTypeHeading && url) return /*#__PURE__*/React.createElement(Link, {
108
111
  href: url
109
112
  }, component);
@@ -167,7 +170,7 @@ function getIcon(imageData, shape) {
167
170
  };
168
171
  return svgMarker;
169
172
  }
170
- const setMarker = (map, router, shape, imageData) => {
173
+ const setMarker = (map, router, shape, imageData, client) => {
171
174
  const {
172
175
  label = '',
173
176
  latitude,
@@ -184,7 +187,7 @@ const setMarker = (map, router, shape, imageData) => {
184
187
  icon: svgMarker,
185
188
  title: label || ''
186
189
  });
187
- addShapeListeners(map, router, shape, imageData, marker);
190
+ addShapeListeners(map, router, shape, imageData, marker, client);
188
191
  shapesArray.push(marker);
189
192
  marker.setMap(map);
190
193
  }
@@ -260,7 +263,7 @@ const setCircle = (map, router, shape, imageData) => {
260
263
  circle.setMap(map);
261
264
  }
262
265
  };
263
- const setShapes = (map, router, shapes, imageData) => {
266
+ const setShapes = (map, router, shapes, imageData, client) => {
264
267
  const mapZoom = map.getZoom();
265
268
  clearShapes();
266
269
  shapes.forEach(shape => {
@@ -273,7 +276,7 @@ const setShapes = (map, router, shapes, imageData) => {
273
276
  switch (type) {
274
277
  case MARKER:
275
278
  {
276
- setMarker(map, router, shape, imageData);
279
+ setMarker(map, router, shape, imageData, client);
277
280
  break;
278
281
  }
279
282
  case POLYLINE:
@@ -1 +1 @@
1
- {"version":3,"file":"set-shapes.js","names":["React","isNumber","ReactDOMServer","Link","buildPropsToDisplayWithContent","summaryComponents","getClassModifiers","getPath","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE","COLOR","CLICK","HEADING_LARGE","LIST","DEFAULT_CUSTOM_MARKER_PATH","shapesArray","infoWindowArray","clearShapes","length","forEach","shape","setMap","closeInfoWindows","infoWindow","close","addShapeListeners","map","router","imageData","shapeInstance","enableInfoPane","dataSummaries","url","shapeData","window","google","maps","InfoWindow","content","addListener","event","renderToString","infoWindowContent","setContent","setPosition","latLng","open","push","setStyleOptions","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","styleSettings","_objectSpread","Object","keys","reduce","acc","key","settingValue","shouldValueBeNumber","includes","hasValuePassedCondition","areRectangleBoundsNumbers","bounds","every","bound","isPositionCorrect","lat","lng","getIconUrl","imageId","image","find","id","summariesWithContent","Promise","all","dataSummary","elementTitle","type","propsToDisplay","otherProps","_objectWithoutProperties","_excluded","isTypeHeading","summaryPropsWithContent","modifier","SummaryComponent","render","preload","getDataSummaryComponent","component","createElement","href","shouldShowImage","getImageElement","imageUrl","data","imageElement","className","src","alt","altText","Fragment","getIcon","markerWidth","markerHeight","svgPath","iconUrl","icon","scaledSize","Size","svgMarker","path","rotation","scale","setMarker","label","latitude","longitude","marker","Marker","position","title","setPolyline","paths","polyline","Polyline","geodesic","setPolygon","unParsedPaths","polygon","Polygon","setRectangle","northBound","southBound","eastBound","westBound","rectangle","Rectangle","north","south","east","west","setCircle","radius","circle","Circle","center","setShapes","shapes","mapZoom","getZoom","minZoom","maxZoom"],"sources":["../../../src/GoogleMaps/helpers/set-shapes.js"],"sourcesContent":["import React from 'react';\nimport isNumber from 'lodash.isnumber';\nimport ReactDOMServer from 'react-dom/server';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport {\n buildPropsToDisplayWithContent,\n summaryComponents,\n getClassModifiers\n} from '@blaze-cms/react-page-builder';\nimport getPath from './get-path';\nimport {\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n COLOR,\n CLICK,\n HEADING_LARGE,\n LIST,\n DEFAULT_CUSTOM_MARKER_PATH\n} from '../../constants';\n\nconst shapesArray = [];\nconst infoWindowArray = [];\n\nconst clearShapes = () => {\n if (shapesArray.length) {\n shapesArray.forEach(shape => shape.setMap(null));\n shapesArray.length = 0;\n }\n};\n\nconst closeInfoWindows = () => {\n if (infoWindowArray.length) {\n infoWindowArray.forEach(infoWindow => infoWindow.close());\n infoWindowArray.length = 0;\n }\n};\n\nconst addShapeListeners = (map, router, shape, imageData, shapeInstance) => {\n const { enableInfoPane = false, dataSummaries = [], url, shapeData } = shape;\n\n if (enableInfoPane) {\n const infoWindow = new window.google.maps.InfoWindow({\n content: ''\n });\n\n shapeInstance.addListener(CLICK, async event => {\n closeInfoWindows();\n const content = ReactDOMServer.renderToString(\n await infoWindowContent(imageData, dataSummaries, url, shapeData)\n );\n infoWindow.setContent(content);\n infoWindow.setPosition(event.latLng);\n infoWindow.open(map, shapeInstance);\n infoWindowArray.push(infoWindow);\n });\n } else if (url) {\n shapeInstance.addListener(CLICK, () => {\n router.push(url);\n });\n }\n};\n\nconst setStyleOptions = shape => {\n const { strokeColor, strokeOpacity, strokeWeight, fillColor, fillOpacity } = shape;\n const styleSettings = { strokeColor, fillColor, strokeOpacity, strokeWeight, fillOpacity };\n\n return {\n ...Object.keys(styleSettings).reduce((acc, key) => {\n const settingValue = styleSettings[key];\n const shouldValueBeNumber = !key.includes(COLOR);\n const hasValuePassedCondition = shouldValueBeNumber ? isNumber(settingValue) : settingValue;\n if (hasValuePassedCondition) acc[key] = settingValue;\n return acc;\n }, {})\n };\n};\n\nconst areRectangleBoundsNumbers = bounds => bounds.every(bound => isNumber(bound));\n\nconst isPositionCorrect = (lat, lng) => isNumber(lat) && isNumber(lng);\n\nconst getIconUrl = (imageId, imageData) => {\n if (!imageId) return '';\n const image = imageData.find(({ id }) => id === imageId);\n if (!image || !image.url) return '';\n\n return image.url;\n};\n\nconst infoWindowContent = async (imageData, dataSummaries, url, shapeData) => {\n const summariesWithContent = await Promise.all(\n dataSummaries.map(async dataSummary => {\n const { elementTitle, type, propsToDisplay, ...otherProps } = dataSummary;\n const isTypeHeading = type === HEADING_LARGE;\n const summaryPropsWithContent = buildPropsToDisplayWithContent(shapeData, propsToDisplay);\n const modifier = getClassModifiers(LIST, otherProps);\n const SummaryComponent = summaryComponents[type];\n await SummaryComponent.render.preload(); // preload dynamic nextjs component\n\n if (!summaryPropsWithContent.length) return null;\n\n const getDataSummaryComponent = () => {\n const component = (\n <SummaryComponent\n key={type}\n modifier={modifier}\n elementTitle={elementTitle}\n summaryPropsWithContent={summaryPropsWithContent}\n />\n );\n\n if (isTypeHeading && url) return <Link href={url}>{component}</Link>;\n\n return component;\n };\n\n return getDataSummaryComponent();\n })\n );\n const { imageId } = shapeData || {};\n const image = imageData.find(({ id }) => id === imageId);\n const shouldShowImage = image && image.url;\n\n const getImageElement = () => {\n const { url: imageUrl, data } = image;\n const imageElement = (\n <img className=\"info__window\" src={imageUrl} alt={data && data.altText ? data.altText : ''} />\n );\n\n if (url) return <Link href={url}>{imageElement}</Link>;\n\n return imageElement;\n };\n\n return (\n <>\n {shouldShowImage && getImageElement()}\n {summariesWithContent}\n </>\n );\n};\n\nfunction getIcon(imageData, shape) {\n const {\n imageId,\n markerWidth = 50,\n markerHeight = 50,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n svgPath\n } = shape;\n const iconUrl = getIconUrl(imageId, imageData);\n\n const icon = iconUrl\n ? {\n url: iconUrl,\n scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)\n }\n : null;\n\n if (icon) return icon;\n\n if (!svgPath && !fillColor && !strokeColor) return {}; // any can be true for custom marker\n\n const svgMarker = {\n path: svgPath || DEFAULT_CUSTOM_MARKER_PATH,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n rotation: 0,\n scale: 2\n };\n return svgMarker;\n}\n\nconst setMarker = (map, router, shape, imageData) => {\n const { label = '', latitude, longitude } = shape;\n\n if (isPositionCorrect(latitude, longitude)) {\n const svgMarker = getIcon(imageData, shape);\n\n const marker = new window.google.maps.Marker({\n position: { lat: latitude, lng: longitude },\n map,\n icon: svgMarker,\n title: label || ''\n });\n\n addShapeListeners(map, router, shape, imageData, marker);\n\n shapesArray.push(marker);\n\n marker.setMap(map);\n }\n};\n\nconst setPolyline = (map, router, shape, imageData) => {\n const { paths } = shape;\n const path = getPath(paths);\n\n if (path.length) {\n const polyline = new window.google.maps.Polyline({\n path,\n geodesic: true,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polyline);\n\n shapesArray.push(polyline);\n\n polyline.setMap(map);\n }\n};\n\nconst setPolygon = (map, router, shape, imageData) => {\n const { paths: unParsedPaths } = shape;\n const paths = getPath(unParsedPaths);\n\n if (paths.length) {\n const polygon = new window.google.maps.Polygon({\n paths,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polygon);\n\n shapesArray.push(polygon);\n\n polygon.setMap(map);\n }\n};\n\nconst setRectangle = (map, router, shape, imageData) => {\n const { northBound, southBound, eastBound, westBound } = shape;\n if (areRectangleBoundsNumbers([northBound, southBound, eastBound, westBound])) {\n const rectangle = new window.google.maps.Rectangle({\n ...setStyleOptions(shape),\n map,\n bounds: {\n north: northBound,\n south: southBound,\n east: eastBound,\n west: westBound\n }\n });\n\n addShapeListeners(map, router, shape, imageData, rectangle);\n\n shapesArray.push(rectangle);\n\n rectangle.setMap(map);\n }\n};\n\nconst setCircle = (map, router, shape, imageData) => {\n const { latitude, longitude, radius } = shape;\n if (isPositionCorrect(latitude, longitude) && isNumber(radius)) {\n const circle = new window.google.maps.Circle({\n ...setStyleOptions(shape),\n map,\n center: { lat: latitude, lng: longitude },\n radius\n });\n\n addShapeListeners(map, router, shape, imageData, circle);\n\n shapesArray.push(circle);\n\n circle.setMap(map);\n }\n};\n\nconst setShapes = (map, router, shapes, imageData) => {\n const mapZoom = map.getZoom();\n clearShapes();\n\n shapes.forEach(shape => {\n const { type, minZoom, maxZoom } = shape;\n\n if (mapZoom >= minZoom && mapZoom <= maxZoom) {\n switch (type) {\n case MARKER: {\n setMarker(map, router, shape, imageData);\n break;\n }\n case POLYLINE: {\n setPolyline(map, router, shape, imageData);\n break;\n }\n case POLYGON: {\n setPolygon(map, router, shape, imageData);\n break;\n }\n case RECTANGLE: {\n setRectangle(map, router, shape, imageData);\n break;\n }\n case CIRCLE: {\n setCircle(map, router, shape, imageData);\n break;\n }\n default:\n break;\n }\n }\n });\n};\n\nexport default setShapes;\n"],"mappings":"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"}
1
+ {"version":3,"file":"set-shapes.js","names":["React","isNumber","ReactDOMServer","Link","ApolloProvider","buildPropsToDisplayWithContent","summaryComponents","getClassModifiers","getPath","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE","COLOR","CLICK","HEADING_LARGE","LIST","DEFAULT_CUSTOM_MARKER_PATH","shapesArray","infoWindowArray","clearShapes","length","forEach","shape","setMap","closeInfoWindows","infoWindow","close","addShapeListeners","map","router","imageData","shapeInstance","client","enableInfoPane","dataSummaries","url","shapeData","window","google","maps","InfoWindow","content","addListener","event","renderToString","infoWindowContent","setContent","setPosition","latLng","open","push","setStyleOptions","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","styleSettings","_objectSpread","Object","keys","reduce","acc","key","settingValue","shouldValueBeNumber","includes","hasValuePassedCondition","areRectangleBoundsNumbers","bounds","every","bound","isPositionCorrect","lat","lng","getIconUrl","imageId","image","find","id","summariesWithContent","Promise","all","dataSummary","elementTitle","type","propsToDisplay","otherProps","_objectWithoutProperties","_excluded","isTypeHeading","summaryPropsWithContent","modifier","SummaryComponent","render","preload","getDataSummaryComponent","component","createElement","href","shouldShowImage","getImageElement","imageUrl","data","imageElement","className","src","alt","altText","Fragment","getIcon","markerWidth","markerHeight","svgPath","iconUrl","icon","scaledSize","Size","svgMarker","path","rotation","scale","setMarker","label","latitude","longitude","marker","Marker","position","title","setPolyline","paths","polyline","Polyline","geodesic","setPolygon","unParsedPaths","polygon","Polygon","setRectangle","northBound","southBound","eastBound","westBound","rectangle","Rectangle","north","south","east","west","setCircle","radius","circle","Circle","center","setShapes","shapes","mapZoom","getZoom","minZoom","maxZoom"],"sources":["../../../src/GoogleMaps/helpers/set-shapes.js"],"sourcesContent":["import React from 'react';\nimport isNumber from 'lodash.isnumber';\nimport ReactDOMServer from 'react-dom/server';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport { ApolloProvider } from '@apollo/client';\nimport {\n buildPropsToDisplayWithContent,\n summaryComponents,\n getClassModifiers\n} from '@blaze-cms/react-page-builder';\nimport getPath from './get-path';\nimport {\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n COLOR,\n CLICK,\n HEADING_LARGE,\n LIST,\n DEFAULT_CUSTOM_MARKER_PATH\n} from '../../constants';\n\nconst shapesArray = [];\nconst infoWindowArray = [];\n\nconst clearShapes = () => {\n if (shapesArray.length) {\n shapesArray.forEach(shape => shape.setMap(null));\n shapesArray.length = 0;\n }\n};\n\nconst closeInfoWindows = () => {\n if (infoWindowArray.length) {\n infoWindowArray.forEach(infoWindow => infoWindow.close());\n infoWindowArray.length = 0;\n }\n};\n\nconst addShapeListeners = (map, router, shape, imageData, shapeInstance, client) => {\n const { enableInfoPane = false, dataSummaries = [], url, shapeData } = shape;\n\n if (enableInfoPane) {\n const infoWindow = new window.google.maps.InfoWindow({\n content: ''\n });\n\n shapeInstance.addListener(CLICK, async event => {\n closeInfoWindows();\n const content = ReactDOMServer.renderToString(\n await infoWindowContent(imageData, dataSummaries, url, shapeData, client)\n );\n infoWindow.setContent(content);\n infoWindow.setPosition(event.latLng);\n infoWindow.open(map, shapeInstance);\n infoWindowArray.push(infoWindow);\n });\n } else if (url) {\n shapeInstance.addListener(CLICK, () => {\n router.push(url);\n });\n }\n};\n\nconst setStyleOptions = shape => {\n const { strokeColor, strokeOpacity, strokeWeight, fillColor, fillOpacity } = shape;\n const styleSettings = { strokeColor, fillColor, strokeOpacity, strokeWeight, fillOpacity };\n\n return {\n ...Object.keys(styleSettings).reduce((acc, key) => {\n const settingValue = styleSettings[key];\n const shouldValueBeNumber = !key.includes(COLOR);\n const hasValuePassedCondition = shouldValueBeNumber ? isNumber(settingValue) : settingValue;\n if (hasValuePassedCondition) acc[key] = settingValue;\n return acc;\n }, {})\n };\n};\n\nconst areRectangleBoundsNumbers = bounds => bounds.every(bound => isNumber(bound));\n\nconst isPositionCorrect = (lat, lng) => isNumber(lat) && isNumber(lng);\n\nconst getIconUrl = (imageId, imageData) => {\n if (!imageId) return '';\n const image = imageData.find(({ id }) => id === imageId);\n if (!image || !image.url) return '';\n\n return image.url;\n};\n\nconst infoWindowContent = async (imageData, dataSummaries, url, shapeData, client) => {\n const summariesWithContent = await Promise.all(\n dataSummaries.map(async dataSummary => {\n const { elementTitle, type, propsToDisplay, ...otherProps } = dataSummary;\n const isTypeHeading = type === HEADING_LARGE;\n const summaryPropsWithContent = buildPropsToDisplayWithContent(shapeData, propsToDisplay);\n const modifier = getClassModifiers(LIST, otherProps);\n const SummaryComponent = summaryComponents[type];\n await SummaryComponent.render.preload(); // preload dynamic nextjs component\n\n if (!summaryPropsWithContent.length) return null;\n\n const getDataSummaryComponent = () => {\n const component = (\n <ApolloProvider client={client}>\n <SummaryComponent\n key={type}\n modifier={modifier}\n elementTitle={elementTitle}\n summaryPropsWithContent={summaryPropsWithContent}\n />\n </ApolloProvider>\n );\n\n if (isTypeHeading && url) return <Link href={url}>{component}</Link>;\n\n return component;\n };\n\n return getDataSummaryComponent();\n })\n );\n const { imageId } = shapeData || {};\n const image = imageData.find(({ id }) => id === imageId);\n const shouldShowImage = image && image.url;\n\n const getImageElement = () => {\n const { url: imageUrl, data } = image;\n const imageElement = (\n <img className=\"info__window\" src={imageUrl} alt={data && data.altText ? data.altText : ''} />\n );\n\n if (url) return <Link href={url}>{imageElement}</Link>;\n\n return imageElement;\n };\n\n return (\n <>\n {shouldShowImage && getImageElement()}\n {summariesWithContent}\n </>\n );\n};\n\nfunction getIcon(imageData, shape) {\n const {\n imageId,\n markerWidth = 50,\n markerHeight = 50,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n svgPath\n } = shape;\n const iconUrl = getIconUrl(imageId, imageData);\n\n const icon = iconUrl\n ? {\n url: iconUrl,\n scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)\n }\n : null;\n\n if (icon) return icon;\n\n if (!svgPath && !fillColor && !strokeColor) return {}; // any can be true for custom marker\n\n const svgMarker = {\n path: svgPath || DEFAULT_CUSTOM_MARKER_PATH,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n rotation: 0,\n scale: 2\n };\n return svgMarker;\n}\n\nconst setMarker = (map, router, shape, imageData, client) => {\n const { label = '', latitude, longitude } = shape;\n\n if (isPositionCorrect(latitude, longitude)) {\n const svgMarker = getIcon(imageData, shape);\n\n const marker = new window.google.maps.Marker({\n position: { lat: latitude, lng: longitude },\n map,\n icon: svgMarker,\n title: label || ''\n });\n\n addShapeListeners(map, router, shape, imageData, marker, client);\n\n shapesArray.push(marker);\n\n marker.setMap(map);\n }\n};\n\nconst setPolyline = (map, router, shape, imageData) => {\n const { paths } = shape;\n const path = getPath(paths);\n\n if (path.length) {\n const polyline = new window.google.maps.Polyline({\n path,\n geodesic: true,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polyline);\n\n shapesArray.push(polyline);\n\n polyline.setMap(map);\n }\n};\n\nconst setPolygon = (map, router, shape, imageData) => {\n const { paths: unParsedPaths } = shape;\n const paths = getPath(unParsedPaths);\n\n if (paths.length) {\n const polygon = new window.google.maps.Polygon({\n paths,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polygon);\n\n shapesArray.push(polygon);\n\n polygon.setMap(map);\n }\n};\n\nconst setRectangle = (map, router, shape, imageData) => {\n const { northBound, southBound, eastBound, westBound } = shape;\n if (areRectangleBoundsNumbers([northBound, southBound, eastBound, westBound])) {\n const rectangle = new window.google.maps.Rectangle({\n ...setStyleOptions(shape),\n map,\n bounds: {\n north: northBound,\n south: southBound,\n east: eastBound,\n west: westBound\n }\n });\n\n addShapeListeners(map, router, shape, imageData, rectangle);\n\n shapesArray.push(rectangle);\n\n rectangle.setMap(map);\n }\n};\n\nconst setCircle = (map, router, shape, imageData) => {\n const { latitude, longitude, radius } = shape;\n if (isPositionCorrect(latitude, longitude) && isNumber(radius)) {\n const circle = new window.google.maps.Circle({\n ...setStyleOptions(shape),\n map,\n center: { lat: latitude, lng: longitude },\n radius\n });\n\n addShapeListeners(map, router, shape, imageData, circle);\n\n shapesArray.push(circle);\n\n circle.setMap(map);\n }\n};\n\nconst setShapes = (map, router, shapes, imageData, client) => {\n const mapZoom = map.getZoom();\n clearShapes();\n\n shapes.forEach(shape => {\n const { type, minZoom, maxZoom } = shape;\n\n if (mapZoom >= minZoom && mapZoom <= maxZoom) {\n switch (type) {\n case MARKER: {\n setMarker(map, router, shape, imageData, client);\n break;\n }\n case POLYLINE: {\n setPolyline(map, router, shape, imageData);\n break;\n }\n case POLYGON: {\n setPolygon(map, router, shape, imageData);\n break;\n }\n case RECTANGLE: {\n setRectangle(map, router, shape, imageData);\n break;\n }\n case CIRCLE: {\n setCircle(map, router, shape, imageData);\n break;\n }\n default:\n break;\n }\n }\n });\n};\n\nexport default setShapes;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-google-maps-fe",
3
- "version": "0.138.0-core-styles.0",
3
+ "version": "0.138.0-core-styles.2",
4
4
  "description": "Blaze Google maps plugin fe",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -28,7 +28,7 @@
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
30
  "@blaze-cms/nextjs-components": "0.138.0-core-styles.0",
31
- "@blaze-cms/react-page-builder": "0.138.0-core-styles.0",
31
+ "@blaze-cms/react-page-builder": "0.138.0-core-styles.2",
32
32
  "@blaze-cms/setup-ui": "0.138.0-core-styles.0",
33
33
  "core-js": "^3.2.1",
34
34
  "lodash.isnumber": "^3.0.3",
@@ -44,5 +44,5 @@
44
44
  "lib/*",
45
45
  "lib-es/*"
46
46
  ],
47
- "gitHead": "9adc085974cff2616918e0e176b5faa0b01ef7da"
47
+ "gitHead": "6e5d7de2c32ee43179414a34d645defbceb2df96"
48
48
  }
@@ -1,5 +1,6 @@
1
1
  import React, { useEffect, useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import { useApolloClient } from '@apollo/client';
3
4
  import { useRouter } from 'next/router';
4
5
  import { withTitle } from '@blaze-cms/react-page-builder';
5
6
  import { useInView } from '@blaze-react/utils/lib/customHooks';
@@ -32,6 +33,7 @@ const GoogleMaps = ({
32
33
  }) => {
33
34
  const router = useRouter();
34
35
  const [isIntersecting, mapRef] = useInView(IN_VIEW_CONFIG);
36
+ const client = useApolloClient();
35
37
  const [map, setMap] = useState();
36
38
 
37
39
  useEffect(() => {
@@ -85,7 +87,7 @@ const GoogleMaps = ({
85
87
  }, []);
86
88
 
87
89
  if (map && typeof onMount === `function`) onMount(map, onMountProps);
88
- if (isIntersecting) addZoomListener(map, router, mapShapes, imageData);
90
+ if (isIntersecting) addZoomListener(map, router, mapShapes, imageData, client);
89
91
 
90
92
  return <GoogleMapsHtml mapRef={mapRef} />;
91
93
  };
@@ -16,6 +16,7 @@ const GoogleMapsRender = ({ shapeConfigs, entityGroups, id, ...otherProps }) =>
16
16
  const { data, loading, error } = useQuery(query || defaultQuery, {
17
17
  skip: !query
18
18
  });
19
+
19
20
  const mapShapes = buildMapShapes(shapeConfigs, data);
20
21
  const imageIds = getImageIds(mapShapes);
21
22
  const {
@@ -1,10 +1,10 @@
1
1
  import { ZOOM_CHANGED } from '../../constants';
2
2
  import setShapes from './set-shapes';
3
3
 
4
- const addZoomListener = (map, router, shapes, imageData) => {
4
+ const addZoomListener = (map, router, shapes, imageData, client) => {
5
5
  if (!map) return;
6
6
  setShapes(map, router, shapes, imageData);
7
- map.addListener(ZOOM_CHANGED, () => setShapes(map, router, shapes, imageData));
7
+ map.addListener(ZOOM_CHANGED, () => setShapes(map, router, shapes, imageData, client));
8
8
  };
9
9
 
10
10
  export default addZoomListener;
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import isNumber from 'lodash.isnumber';
3
3
  import ReactDOMServer from 'react-dom/server';
4
4
  import { Link } from '@blaze-cms/nextjs-components';
5
+ import { ApolloProvider } from '@apollo/client';
5
6
  import {
6
7
  buildPropsToDisplayWithContent,
7
8
  summaryComponents,
@@ -38,7 +39,7 @@ const closeInfoWindows = () => {
38
39
  }
39
40
  };
40
41
 
41
- const addShapeListeners = (map, router, shape, imageData, shapeInstance) => {
42
+ const addShapeListeners = (map, router, shape, imageData, shapeInstance, client) => {
42
43
  const { enableInfoPane = false, dataSummaries = [], url, shapeData } = shape;
43
44
 
44
45
  if (enableInfoPane) {
@@ -49,7 +50,7 @@ const addShapeListeners = (map, router, shape, imageData, shapeInstance) => {
49
50
  shapeInstance.addListener(CLICK, async event => {
50
51
  closeInfoWindows();
51
52
  const content = ReactDOMServer.renderToString(
52
- await infoWindowContent(imageData, dataSummaries, url, shapeData)
53
+ await infoWindowContent(imageData, dataSummaries, url, shapeData, client)
53
54
  );
54
55
  infoWindow.setContent(content);
55
56
  infoWindow.setPosition(event.latLng);
@@ -90,7 +91,7 @@ const getIconUrl = (imageId, imageData) => {
90
91
  return image.url;
91
92
  };
92
93
 
93
- const infoWindowContent = async (imageData, dataSummaries, url, shapeData) => {
94
+ const infoWindowContent = async (imageData, dataSummaries, url, shapeData, client) => {
94
95
  const summariesWithContent = await Promise.all(
95
96
  dataSummaries.map(async dataSummary => {
96
97
  const { elementTitle, type, propsToDisplay, ...otherProps } = dataSummary;
@@ -104,12 +105,14 @@ const infoWindowContent = async (imageData, dataSummaries, url, shapeData) => {
104
105
 
105
106
  const getDataSummaryComponent = () => {
106
107
  const component = (
107
- <SummaryComponent
108
- key={type}
109
- modifier={modifier}
110
- elementTitle={elementTitle}
111
- summaryPropsWithContent={summaryPropsWithContent}
112
- />
108
+ <ApolloProvider client={client}>
109
+ <SummaryComponent
110
+ key={type}
111
+ modifier={modifier}
112
+ elementTitle={elementTitle}
113
+ summaryPropsWithContent={summaryPropsWithContent}
114
+ />
115
+ </ApolloProvider>
113
116
  );
114
117
 
115
118
  if (isTypeHeading && url) return <Link href={url}>{component}</Link>;
@@ -181,7 +184,7 @@ function getIcon(imageData, shape) {
181
184
  return svgMarker;
182
185
  }
183
186
 
184
- const setMarker = (map, router, shape, imageData) => {
187
+ const setMarker = (map, router, shape, imageData, client) => {
185
188
  const { label = '', latitude, longitude } = shape;
186
189
 
187
190
  if (isPositionCorrect(latitude, longitude)) {
@@ -194,7 +197,7 @@ const setMarker = (map, router, shape, imageData) => {
194
197
  title: label || ''
195
198
  });
196
199
 
197
- addShapeListeners(map, router, shape, imageData, marker);
200
+ addShapeListeners(map, router, shape, imageData, marker, client);
198
201
 
199
202
  shapesArray.push(marker);
200
203
 
@@ -279,7 +282,7 @@ const setCircle = (map, router, shape, imageData) => {
279
282
  }
280
283
  };
281
284
 
282
- const setShapes = (map, router, shapes, imageData) => {
285
+ const setShapes = (map, router, shapes, imageData, client) => {
283
286
  const mapZoom = map.getZoom();
284
287
  clearShapes();
285
288
 
@@ -289,7 +292,7 @@ const setShapes = (map, router, shapes, imageData) => {
289
292
  if (mapZoom >= minZoom && mapZoom <= maxZoom) {
290
293
  switch (type) {
291
294
  case MARKER: {
292
- setMarker(map, router, shape, imageData);
295
+ setMarker(map, router, shape, imageData, client);
293
296
  break;
294
297
  }
295
298
  case POLYLINE: {