@blaze-cms/plugin-google-maps-fe 0.123.0-alpha.25 → 0.123.0-alpha.29

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.
Files changed (72) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/lib/GoogleMaps/GoogleMaps.js +68 -40
  3. package/lib/GoogleMaps/GoogleMaps.js.map +1 -1
  4. package/lib/GoogleMaps/GoogleMapsFactory.js +8 -4
  5. package/lib/GoogleMaps/GoogleMapsFactory.js.map +1 -1
  6. package/lib/GoogleMaps/GoogleMapsRender.js +24 -41
  7. package/lib/GoogleMaps/GoogleMapsRender.js.map +1 -1
  8. package/lib/GoogleMaps/helpers/add-zoom-listener.js +3 -50
  9. package/lib/GoogleMaps/helpers/add-zoom-listener.js.map +1 -1
  10. package/lib/GoogleMaps/helpers/build-map-shapes.js +97 -0
  11. package/lib/GoogleMaps/helpers/build-map-shapes.js.map +1 -0
  12. package/lib/GoogleMaps/helpers/build-query.js +24 -14
  13. package/lib/GoogleMaps/helpers/build-query.js.map +1 -1
  14. package/lib/GoogleMaps/helpers/build-shapes-configs.js +196 -0
  15. package/lib/GoogleMaps/helpers/build-shapes-configs.js.map +1 -0
  16. package/lib/GoogleMaps/helpers/get-center-coordinates.js +49 -0
  17. package/lib/GoogleMaps/helpers/get-center-coordinates.js.map +1 -0
  18. package/lib/GoogleMaps/helpers/get-image-ids.js +16 -14
  19. package/lib/GoogleMaps/helpers/get-image-ids.js.map +1 -1
  20. package/lib/GoogleMaps/helpers/index.js +21 -5
  21. package/lib/GoogleMaps/helpers/index.js.map +1 -1
  22. package/lib/GoogleMaps/helpers/set-shapes.js +213 -200
  23. package/lib/GoogleMaps/helpers/set-shapes.js.map +1 -1
  24. package/lib/GoogleMaps/hooks/use-get-images.js +3 -2
  25. package/lib/GoogleMaps/hooks/use-get-images.js.map +1 -1
  26. package/lib/GoogleMaps/queries.js +22 -4
  27. package/lib/GoogleMaps/queries.js.map +1 -1
  28. package/lib-es/GoogleMaps/GoogleMaps.js +51 -25
  29. package/lib-es/GoogleMaps/GoogleMaps.js.map +1 -1
  30. package/lib-es/GoogleMaps/GoogleMapsFactory.js +10 -6
  31. package/lib-es/GoogleMaps/GoogleMapsFactory.js.map +1 -1
  32. package/lib-es/GoogleMaps/GoogleMapsRender.js +24 -32
  33. package/lib-es/GoogleMaps/GoogleMapsRender.js.map +1 -1
  34. package/lib-es/GoogleMaps/helpers/add-zoom-listener.js +3 -23
  35. package/lib-es/GoogleMaps/helpers/add-zoom-listener.js.map +1 -1
  36. package/lib-es/GoogleMaps/helpers/build-map-shapes.js +86 -0
  37. package/lib-es/GoogleMaps/helpers/build-map-shapes.js.map +1 -0
  38. package/lib-es/GoogleMaps/helpers/build-query.js +17 -8
  39. package/lib-es/GoogleMaps/helpers/build-query.js.map +1 -1
  40. package/lib-es/GoogleMaps/helpers/build-shapes-configs.js +134 -0
  41. package/lib-es/GoogleMaps/helpers/build-shapes-configs.js.map +1 -0
  42. package/lib-es/GoogleMaps/helpers/get-center-coordinates.js +31 -0
  43. package/lib-es/GoogleMaps/helpers/get-center-coordinates.js.map +1 -0
  44. package/lib-es/GoogleMaps/helpers/get-image-ids.js +9 -14
  45. package/lib-es/GoogleMaps/helpers/get-image-ids.js.map +1 -1
  46. package/lib-es/GoogleMaps/helpers/index.js +4 -2
  47. package/lib-es/GoogleMaps/helpers/index.js.map +1 -1
  48. package/lib-es/GoogleMaps/helpers/set-shapes.js +80 -125
  49. package/lib-es/GoogleMaps/helpers/set-shapes.js.map +1 -1
  50. package/lib-es/GoogleMaps/hooks/use-get-images.js +4 -3
  51. package/lib-es/GoogleMaps/hooks/use-get-images.js.map +1 -1
  52. package/lib-es/GoogleMaps/queries.js +23 -2
  53. package/lib-es/GoogleMaps/queries.js.map +1 -1
  54. package/package.json +3 -3
  55. package/src/GoogleMaps/GoogleMaps.js +40 -27
  56. package/src/GoogleMaps/GoogleMapsFactory.js +11 -4
  57. package/src/GoogleMaps/GoogleMapsRender.js +22 -21
  58. package/src/GoogleMaps/helpers/add-zoom-listener.js +3 -22
  59. package/src/GoogleMaps/helpers/build-map-shapes.js +70 -0
  60. package/src/GoogleMaps/helpers/build-query.js +25 -10
  61. package/src/GoogleMaps/helpers/build-shapes-configs.js +110 -0
  62. package/src/GoogleMaps/helpers/get-center-coordinates.js +24 -0
  63. package/src/GoogleMaps/helpers/get-image-ids.js +6 -15
  64. package/src/GoogleMaps/helpers/index.js +12 -2
  65. package/src/GoogleMaps/helpers/set-shapes.js +87 -123
  66. package/src/GoogleMaps/hooks/use-get-images.js +4 -3
  67. package/src/GoogleMaps/queries.js +30 -3
  68. package/lib/GoogleMaps/helpers/set-entity-configs.js +0 -144
  69. package/lib/GoogleMaps/helpers/set-entity-configs.js.map +0 -1
  70. package/lib-es/GoogleMaps/helpers/set-entity-configs.js +0 -94
  71. package/lib-es/GoogleMaps/helpers/set-entity-configs.js.map +0 -1
  72. package/src/GoogleMaps/helpers/set-entity-configs.js +0 -84
package/CHANGELOG.md CHANGED
@@ -3,6 +3,36 @@
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.123.0-alpha.29](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.28...v0.123.0-alpha.29) (2022-04-07)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * wait for map datasummary components to load before render. render map if no markers set ([#3429](https://github.com/thebyte9/blaze/issues/3429)) ([a2417bf](https://github.com/thebyte9/blaze/commit/a2417bf2f956d1af5b2a712d0004ef67b7a786bd))
12
+
13
+
14
+
15
+
16
+
17
+ # [0.123.0-alpha.28](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.27...v0.123.0-alpha.28) (2022-04-07)
18
+
19
+
20
+ ### Features
21
+
22
+ * added multiple markers/filters to maps ([#3427](https://github.com/thebyte9/blaze/issues/3427)) ([330dfac](https://github.com/thebyte9/blaze/commit/330dfac9e959faa8d118c9699415928f3a2fe854))
23
+
24
+
25
+
26
+
27
+
28
+ # [0.123.0-alpha.27](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.26...v0.123.0-alpha.27) (2022-04-07)
29
+
30
+ **Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
31
+
32
+
33
+
34
+
35
+
6
36
  # [0.123.0-alpha.25](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.24...v0.123.0-alpha.25) (2022-04-07)
7
37
 
8
38
  **Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
@@ -21,9 +21,9 @@ Object.defineProperty(exports, "__esModule", {
21
21
  });
22
22
  exports["default"] = void 0;
23
23
 
24
- require("core-js/modules/es.function.name.js");
24
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
25
25
 
26
- require("core-js/modules/es.array.concat.js");
26
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
27
27
 
28
28
  require("core-js/modules/es.array.every.js");
29
29
 
@@ -33,9 +33,13 @@ require("core-js/modules/es.date.to-string.js");
33
33
 
34
34
  require("core-js/modules/es.regexp.to-string.js");
35
35
 
36
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
36
+ require("core-js/modules/es.function.name.js");
37
37
 
38
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
38
+ require("core-js/modules/es.array.for-each.js");
39
+
40
+ require("core-js/modules/web.dom-collections.for-each.js");
41
+
42
+ require("core-js/modules/es.array.concat.js");
39
43
 
40
44
  var _react = _interopRequireWildcard(require("react"));
41
45
 
@@ -53,24 +57,36 @@ var _helpers = require("./helpers");
53
57
 
54
58
  var _constants = require("../constants");
55
59
 
56
- var _excluded = ["router", "data", "type", "name", "modifier", "elementTitle", "entityGroups", "imageData", "onMount", "onMountProps"];
60
+ var _excluded = ["type", "name", "modifier", "elementTitle", "imageData", "onMount", "onMountProps", "parent", "mapShapes", "centerCoordinates"];
57
61
 
58
62
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
59
63
 
60
64
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
61
65
 
62
- var GoogleMaps = function GoogleMaps(_ref) {
63
- var router = _ref.router,
64
- data = _ref.data,
65
- type = _ref.type,
66
- name = _ref.name,
67
- modifier = _ref.modifier,
68
- elementTitle = _ref.elementTitle,
69
- entityGroups = _ref.entityGroups,
70
- imageData = _ref.imageData,
71
- onMount = _ref.onMount,
72
- onMountProps = _ref.onMountProps,
73
- otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
66
+ var shouldNotUpdate = function shouldNotUpdate(props, nextProps) {
67
+ var _ref = [(0, _lodash.functions)(props), (0, _lodash.functions)(nextProps)],
68
+ funcs = _ref[0],
69
+ nextFuncs = _ref[1];
70
+ var noPropChange = (0, _lodash.isEqual)((0, _lodash.omit)(props, funcs), (0, _lodash.omit)(nextProps, nextFuncs));
71
+ var noFuncChange = funcs.length === nextFuncs.length && funcs.every(function (fn) {
72
+ return props[fn].toString() === nextProps[fn].toString();
73
+ });
74
+ return noPropChange && noFuncChange;
75
+ };
76
+
77
+ var GoogleMaps = function GoogleMaps(_ref2) {
78
+ var type = _ref2.type,
79
+ name = _ref2.name,
80
+ modifier = _ref2.modifier,
81
+ elementTitle = _ref2.elementTitle,
82
+ imageData = _ref2.imageData,
83
+ onMount = _ref2.onMount,
84
+ onMountProps = _ref2.onMountProps,
85
+ parent = _ref2.parent,
86
+ mapShapes = _ref2.mapShapes,
87
+ centerCoordinates = _ref2.centerCoordinates,
88
+ otherProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
89
+ var router = (0, _router.useRouter)();
74
90
 
75
91
  var _useInView = (0, _customHooks.useInView)(_constants.IN_VIEW_CONFIG),
76
92
  _useInView2 = (0, _slicedToArray2["default"])(_useInView, 2),
@@ -86,7 +102,29 @@ var GoogleMaps = function GoogleMaps(_ref) {
86
102
  var options = (0, _helpers.setMapOptions)(otherProps);
87
103
 
88
104
  var onLoad = function onLoad() {
89
- return setMap(new window.google.maps.Map(mapRef.current, options));
105
+ var initialMap = new window.google.maps.Map(mapRef.current, options);
106
+
107
+ if (centerCoordinates.length === 1) {
108
+ var _centerCoordinates = (0, _slicedToArray2["default"])(centerCoordinates, 1),
109
+ _centerCoordinates$ = _centerCoordinates[0],
110
+ lat = _centerCoordinates$.latitude,
111
+ lng = _centerCoordinates$.longitude;
112
+
113
+ initialMap.setCenter({
114
+ lat: lat,
115
+ lng: lng
116
+ });
117
+ } else {
118
+ var bounds = new window.google.maps.LatLngBounds();
119
+ centerCoordinates.forEach(function (_ref3) {
120
+ var latitude = _ref3.latitude,
121
+ longitude = _ref3.longitude;
122
+ bounds.extend(new window.google.maps.LatLng(latitude, longitude));
123
+ });
124
+ initialMap.fitBounds(bounds);
125
+ }
126
+
127
+ setMap(initialMap);
90
128
  };
91
129
 
92
130
  if (!window.google) {
@@ -120,49 +158,39 @@ var GoogleMaps = function GoogleMaps(_ref) {
120
158
  return function () {}; // eslint-disable-next-line react-hooks/exhaustive-deps
121
159
  }, []);
122
160
  if (map && typeof onMount === "function") onMount(map, onMountProps);
123
- if (isIntersecting) (0, _helpers.addZoomListener)(map, router, data, imageData, entityGroups);
161
+ if (isIntersecting) (0, _helpers.addZoomListener)(map, router, mapShapes, imageData);
124
162
  return /*#__PURE__*/_react["default"].createElement("div", {
125
163
  className: "google-maps",
126
164
  ref: mapRef
127
165
  });
128
166
  };
129
167
 
130
- var shouldNotUpdate = function shouldNotUpdate(props, nextProps) {
131
- var _ref2 = [(0, _lodash.functions)(props), (0, _lodash.functions)(nextProps)],
132
- funcs = _ref2[0],
133
- nextFuncs = _ref2[1];
134
- var noPropChange = (0, _lodash.isEqual)((0, _lodash.omit)(props, funcs), (0, _lodash.omit)(nextProps, nextFuncs));
135
- var noFuncChange = funcs.length === nextFuncs.length && funcs.every(function (fn) {
136
- return props[fn].toString() === nextProps[fn].toString();
137
- });
138
- return noPropChange && noFuncChange;
139
- };
140
-
141
168
  GoogleMaps.propTypes = {
142
- router: _propTypes["default"].object.isRequired,
143
- data: _propTypes["default"].object,
144
- imageData: _propTypes["default"].object,
169
+ mapShapes: _propTypes["default"].array,
170
+ imageData: _propTypes["default"].array,
145
171
  type: _propTypes["default"].string,
146
172
  name: _propTypes["default"].string,
147
173
  modifier: _propTypes["default"].string,
148
174
  elementTitle: _propTypes["default"].string,
149
- entityGroups: _propTypes["default"].array,
150
175
  onMount: _propTypes["default"].func,
151
- onMountProps: _propTypes["default"].object
176
+ onMountProps: _propTypes["default"].object,
177
+ parent: _propTypes["default"].object,
178
+ centerCoordinates: _propTypes["default"].array
152
179
  };
153
180
  GoogleMaps.defaultProps = {
154
- data: {},
155
- imageData: {},
181
+ mapShapes: [],
182
+ imageData: [],
183
+ centerCoordinates: [],
156
184
  type: '',
157
185
  name: '',
158
186
  modifier: '',
159
187
  elementTitle: '',
160
- entityGroups: [],
161
188
  onMount: null,
162
- onMountProps: null
189
+ onMountProps: null,
190
+ parent: {}
163
191
  };
164
192
 
165
- var _default = /*#__PURE__*/_react["default"].memo((0, _router.withRouter)((0, _reactPageBuilder.withTitle)(GoogleMaps)), shouldNotUpdate);
193
+ var _default = /*#__PURE__*/_react["default"].memo((0, _reactPageBuilder.withTitle)(GoogleMaps), shouldNotUpdate);
166
194
 
167
195
  exports["default"] = _default;
168
196
  //# sourceMappingURL=GoogleMaps.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/GoogleMaps/GoogleMaps.js"],"names":["GoogleMaps","router","data","type","name","modifier","elementTitle","entityGroups","imageData","onMount","onMountProps","otherProps","IN_VIEW_CONFIG","isIntersecting","mapRef","map","setMap","options","onLoad","window","google","maps","Map","current","script","document","createElement","SCRIPT","src","GOOGLE_MAPS_SCRIPT","process","env","GOOGLE_MAPS_API_KEY","head","append","addEventListener","LOAD","removeEventListener","setOptions","enableGeolocation","shouldActivateGeolocation","navigator","geolocation","getCurrentPosition","position","center","lat","coords","latitude","lng","longitude","setCenter","shouldNotUpdate","props","nextProps","funcs","nextFuncs","noPropChange","noFuncChange","length","every","fn","toString","propTypes","PropTypes","object","isRequired","string","array","func","defaultProps","React","memo"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter } 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';\n\nconst GoogleMaps = ({\n router,\n data,\n type,\n name,\n modifier,\n elementTitle,\n entityGroups,\n imageData,\n onMount,\n onMountProps,\n ...otherProps\n}) => {\n const [isIntersecting, mapRef] = useInView(IN_VIEW_CONFIG);\n const [map, setMap] = useState();\n\n useEffect(() => {\n const options = setMapOptions(otherProps);\n const onLoad = () => setMap(new window.google.maps.Map(mapRef.current, options));\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\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\n if (isIntersecting) addZoomListener(map, router, data, imageData, entityGroups);\n\n return <div className=\"google-maps\" ref={mapRef} />;\n};\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\nGoogleMaps.propTypes = {\n router: PropTypes.object.isRequired,\n data: PropTypes.object,\n imageData: PropTypes.object,\n type: PropTypes.string,\n name: PropTypes.string,\n modifier: PropTypes.string,\n elementTitle: PropTypes.string,\n entityGroups: PropTypes.array,\n onMount: PropTypes.func,\n onMountProps: PropTypes.object\n};\n\nGoogleMaps.defaultProps = {\n data: {},\n imageData: {},\n type: '',\n name: '',\n modifier: '',\n elementTitle: '',\n entityGroups: [],\n onMount: null,\n onMountProps: null\n};\n\nexport default React.memo(withRouter(withTitle(GoogleMaps)), shouldNotUpdate);\n"],"file":"GoogleMaps.js"}
1
+ {"version":3,"sources":["../../src/GoogleMaps/GoogleMaps.js"],"names":["shouldNotUpdate","props","nextProps","funcs","nextFuncs","noPropChange","noFuncChange","length","every","fn","toString","GoogleMaps","type","name","modifier","elementTitle","imageData","onMount","onMountProps","parent","mapShapes","centerCoordinates","otherProps","router","IN_VIEW_CONFIG","isIntersecting","mapRef","map","setMap","options","onLoad","initialMap","window","google","maps","Map","current","lat","latitude","lng","longitude","setCenter","bounds","LatLngBounds","forEach","extend","LatLng","fitBounds","script","document","createElement","SCRIPT","src","GOOGLE_MAPS_SCRIPT","process","env","GOOGLE_MAPS_API_KEY","head","append","addEventListener","LOAD","removeEventListener","setOptions","enableGeolocation","shouldActivateGeolocation","navigator","geolocation","getCurrentPosition","position","center","coords","propTypes","PropTypes","array","string","func","object","defaultProps","React","memo"],"mappings":"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","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';\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 <div className=\"google-maps\" ref={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"],"file":"GoogleMaps.js"}
@@ -25,10 +25,11 @@ var _helpers = require("./helpers");
25
25
 
26
26
  var _GoogleMapsRender = _interopRequireDefault(require("./GoogleMapsRender"));
27
27
 
28
- var _excluded = ["entityGroups"];
28
+ var _excluded = ["entityGroups", "parent"];
29
29
 
30
30
  var GoogleMapsFactory = function GoogleMapsFactory(_ref) {
31
31
  var entityGroups = _ref.entityGroups,
32
+ parent = _ref.parent,
32
33
  otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
33
34
 
34
35
  var _useGetEntitySchemasA = (0, _reactPageBuilder.useGetEntitySchemasAsObj)(entityGroups.map(function (_ref2) {
@@ -41,17 +42,20 @@ var GoogleMapsFactory = function GoogleMapsFactory(_ref) {
41
42
 
42
43
  if (loading) return '';
43
44
  if (error) return error.message;
44
- var entityConfigs = (0, _helpers.setEntityConfigs)(data, entityGroups);
45
+ var shapeConfigs = (0, _helpers.buildShapesConfig)(data, entityGroups, parent);
45
46
  return /*#__PURE__*/_react["default"].createElement(_GoogleMapsRender["default"], (0, _extends2["default"])({
46
- entityConfigs: entityConfigs,
47
- entityGroups: entityGroups
47
+ shapeConfigs: shapeConfigs,
48
+ entityGroups: entityGroups,
49
+ parent: parent
48
50
  }, otherProps));
49
51
  };
50
52
 
51
53
  GoogleMapsFactory.propTypes = {
54
+ parent: _propTypes["default"].object,
52
55
  entityGroups: _propTypes["default"].array
53
56
  };
54
57
  GoogleMapsFactory.defaultProps = {
58
+ parent: {},
55
59
  entityGroups: []
56
60
  };
57
61
  var _default = GoogleMapsFactory;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/GoogleMaps/GoogleMapsFactory.js"],"names":["GoogleMapsFactory","entityGroups","otherProps","map","entity","data","loading","error","message","entityConfigs","propTypes","PropTypes","array","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAAqC;AAAA,MAAlCC,YAAkC,QAAlCA,YAAkC;AAAA,MAAjBC,UAAiB;;AAC7D,8BAAiC,gDAC/BD,YAAY,CAACE,GAAb,CAAiB;AAAA,QAAGC,MAAH,SAAGA,MAAH;AAAA,WAAgBA,MAAhB;AAAA,GAAjB,CAD+B,CAAjC;AAAA,MAAQC,IAAR,yBAAQA,IAAR;AAAA,MAAcC,OAAd,yBAAcA,OAAd;AAAA,MAAuBC,KAAvB,yBAAuBA,KAAvB;;AAIA,MAAID,OAAJ,EAAa,OAAO,EAAP;AACb,MAAIC,KAAJ,EAAW,OAAOA,KAAK,CAACC,OAAb;AAEX,MAAMC,aAAa,GAAG,+BAAiBJ,IAAjB,EAAuBJ,YAAvB,CAAtB;AAEA,sBACE,gCAAC,4BAAD;AAAkB,IAAA,aAAa,EAAEQ,aAAjC;AAAgD,IAAA,YAAY,EAAER;AAA9D,KAAgFC,UAAhF,EADF;AAGD,CAbD;;AAeAF,iBAAiB,CAACU,SAAlB,GAA8B;AAC5BT,EAAAA,YAAY,EAAEU,sBAAUC;AADI,CAA9B;AAIAZ,iBAAiB,CAACa,YAAlB,GAAiC;AAC/BZ,EAAAA,YAAY,EAAE;AADiB,CAAjC;eAIeD,iB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useGetEntitySchemasAsObj } from '@blaze-cms/react-page-builder';\nimport { setEntityConfigs } from './helpers';\nimport GoogleMapsRender from './GoogleMapsRender';\n\nconst GoogleMapsFactory = ({ entityGroups, ...otherProps }) => {\n const { data, loading, error } = useGetEntitySchemasAsObj(\n entityGroups.map(({ entity }) => entity)\n );\n\n if (loading) return '';\n if (error) return error.message;\n\n const entityConfigs = setEntityConfigs(data, entityGroups);\n\n return (\n <GoogleMapsRender entityConfigs={entityConfigs} entityGroups={entityGroups} {...otherProps} />\n );\n};\n\nGoogleMapsFactory.propTypes = {\n entityGroups: PropTypes.array\n};\n\nGoogleMapsFactory.defaultProps = {\n entityGroups: []\n};\n\nexport default GoogleMapsFactory;\n"],"file":"GoogleMapsFactory.js"}
1
+ {"version":3,"sources":["../../src/GoogleMaps/GoogleMapsFactory.js"],"names":["GoogleMapsFactory","entityGroups","parent","otherProps","map","entity","data","loading","error","message","shapeConfigs","propTypes","PropTypes","object","array","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAA6C;AAAA,MAA1CC,YAA0C,QAA1CA,YAA0C;AAAA,MAA5BC,MAA4B,QAA5BA,MAA4B;AAAA,MAAjBC,UAAiB;;AACrE,8BAAiC,gDAC/BF,YAAY,CAACG,GAAb,CAAiB;AAAA,QAAGC,MAAH,SAAGA,MAAH;AAAA,WAAgBA,MAAhB;AAAA,GAAjB,CAD+B,CAAjC;AAAA,MAAQC,IAAR,yBAAQA,IAAR;AAAA,MAAcC,OAAd,yBAAcA,OAAd;AAAA,MAAuBC,KAAvB,yBAAuBA,KAAvB;;AAIA,MAAID,OAAJ,EAAa,OAAO,EAAP;AACb,MAAIC,KAAJ,EAAW,OAAOA,KAAK,CAACC,OAAb;AAEX,MAAMC,YAAY,GAAG,gCAAkBJ,IAAlB,EAAwBL,YAAxB,EAAsCC,MAAtC,CAArB;AAEA,sBACE,gCAAC,4BAAD;AACE,IAAA,YAAY,EAAEQ,YADhB;AAEE,IAAA,YAAY,EAAET,YAFhB;AAGE,IAAA,MAAM,EAAEC;AAHV,KAIMC,UAJN,EADF;AAQD,CAlBD;;AAoBAH,iBAAiB,CAACW,SAAlB,GAA8B;AAC5BT,EAAAA,MAAM,EAAEU,sBAAUC,MADU;AAE5BZ,EAAAA,YAAY,EAAEW,sBAAUE;AAFI,CAA9B;AAKAd,iBAAiB,CAACe,YAAlB,GAAiC;AAC/Bb,EAAAA,MAAM,EAAE,EADuB;AAE/BD,EAAAA,YAAY,EAAE;AAFiB,CAAjC;eAKeD,iB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useGetEntitySchemasAsObj } from '@blaze-cms/react-page-builder';\nimport { buildShapesConfig } from './helpers';\nimport GoogleMapsRender from './GoogleMapsRender';\n\nconst GoogleMapsFactory = ({ entityGroups, parent, ...otherProps }) => {\n const { data, loading, error } = useGetEntitySchemasAsObj(\n entityGroups.map(({ entity }) => entity)\n );\n\n if (loading) return '';\n if (error) return error.message;\n\n const shapeConfigs = buildShapesConfig(data, entityGroups, parent);\n\n return (\n <GoogleMapsRender\n shapeConfigs={shapeConfigs}\n entityGroups={entityGroups}\n parent={parent}\n {...otherProps}\n />\n );\n};\n\nGoogleMapsFactory.propTypes = {\n parent: PropTypes.object,\n entityGroups: PropTypes.array\n};\n\nGoogleMapsFactory.defaultProps = {\n parent: {},\n entityGroups: []\n};\n\nexport default GoogleMapsFactory;\n"],"file":"GoogleMapsFactory.js"}
@@ -9,10 +9,6 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- require("core-js/modules/es.array.every.js");
13
-
14
- require("core-js/modules/es.object.to-string.js");
15
-
16
12
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
17
13
 
18
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
@@ -33,73 +29,60 @@ var _helpers = require("./helpers");
33
29
 
34
30
  var _GoogleMaps = _interopRequireDefault(require("./GoogleMaps"));
35
31
 
36
- var _excluded = ["entityConfigs", "entityGroups", "id", "parent"];
32
+ var _excluded = ["shapeConfigs", "entityGroups", "id"];
37
33
  var defaultQuery = (0, _reactPageBuilder.getAction)('getPublishedPages', 'id');
38
34
 
39
35
  var GoogleMapsRender = function GoogleMapsRender(_ref) {
40
- var entityConfigs = _ref.entityConfigs,
36
+ var shapeConfigs = _ref.shapeConfigs,
41
37
  entityGroups = _ref.entityGroups,
42
38
  id = _ref.id,
43
- parent = _ref.parent,
44
39
  otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
45
- var centerLatitude = otherProps.centerLatitude,
46
- centerLongitude = otherProps.centerLongitude,
47
- defaultZoom = otherProps.defaultZoom;
40
+ var defaultZoom = otherProps.defaultZoom;
48
41
 
49
- var _buildQuery = (0, _helpers.buildQuery)(entityConfigs),
50
- query = _buildQuery.query,
51
- ids = _buildQuery.ids;
52
-
53
- var shouldDisplayMap = [centerLatitude, centerLongitude, defaultZoom].every(function (value) {
54
- return (0, _lodash["default"])(value);
55
- });
42
+ var _buildQuery = (0, _helpers.buildQuery)(shapeConfigs),
43
+ query = _buildQuery.query;
56
44
 
57
45
  var _useQuery = (0, _client.useQuery)(query || defaultQuery, {
58
- variables: {
59
- where: {
60
- id: {
61
- _in: ids
62
- }
63
- }
64
- },
65
- skip: !(ids.length && query)
46
+ skip: !query
66
47
  }),
67
- _useQuery$data = _useQuery.data,
68
- data = _useQuery$data === void 0 ? {} : _useQuery$data,
48
+ data = _useQuery.data,
69
49
  loading = _useQuery.loading,
70
50
  error = _useQuery.error;
71
51
 
72
- var imageIds = (0, _helpers.getImageIds)(entityConfigs, data);
52
+ var mapShapes = (0, _helpers.buildMapShapes)(shapeConfigs, data);
53
+ var imageIds = (0, _helpers.getImageIds)(mapShapes);
73
54
 
74
55
  var _useGetImages = (0, _hooks.useGetImages)(imageIds),
75
- _useGetImages$data = _useGetImages.data,
76
- imageData = _useGetImages$data === void 0 ? {} : _useGetImages$data,
77
- _loading = _useGetImages.loading,
78
- _error = _useGetImages.error;
79
-
80
- if (loading || _loading) return '';
81
- if (error || _error) return null;
56
+ _useGetImages$data = _useGetImages.data;
57
+
58
+ _useGetImages$data = _useGetImages$data === void 0 ? {} : _useGetImages$data;
59
+ var imageData = _useGetImages$data.getFiles,
60
+ imagesLoading = _useGetImages.loading,
61
+ imagesError = _useGetImages.error;
62
+ if (loading || imagesLoading) return '';
63
+ if (error || imagesError) return null;
64
+ var centerCoordinates = (0, _helpers.getCenterCoordinates)(mapShapes, otherProps);
65
+ var shouldDisplayMap = (0, _lodash["default"])(defaultZoom) && !!centerCoordinates.length;
82
66
  if (!shouldDisplayMap) return null;
83
67
  return /*#__PURE__*/_react["default"].createElement(_GoogleMaps["default"], (0, _extends2["default"])({
84
68
  key: otherProps.slug,
85
- data: data,
86
- imageData: imageData,
87
- entityGroups: entityGroups
69
+ centerCoordinates: centerCoordinates,
70
+ mapShapes: mapShapes,
71
+ imageData: imageData
88
72
  }, otherProps));
89
73
  };
90
74
 
91
75
  GoogleMapsRender.propTypes = {
92
- parent: _propTypes["default"].object.isRequired,
93
76
  entityGroups: _propTypes["default"].array,
94
77
  id: _propTypes["default"].string,
95
- entityConfigs: _propTypes["default"].object,
78
+ shapeConfigs: _propTypes["default"].array,
96
79
  centerLatitude: _propTypes["default"].number,
97
80
  centerLongitude: _propTypes["default"].number,
98
81
  defaultZoom: _propTypes["default"].number
99
82
  };
100
83
  GoogleMapsRender.defaultProps = {
101
84
  entityGroups: [],
102
- entityConfigs: {},
85
+ shapeConfigs: [],
103
86
  id: '',
104
87
  centerLatitude: null,
105
88
  centerLongitude: null,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/GoogleMaps/GoogleMapsRender.js"],"names":["defaultQuery","GoogleMapsRender","entityConfigs","entityGroups","id","parent","otherProps","centerLatitude","centerLongitude","defaultZoom","query","ids","shouldDisplayMap","every","value","variables","where","_in","skip","length","data","loading","error","imageIds","imageData","_loading","_error","slug","propTypes","PropTypes","object","isRequired","array","string","number","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;AAEA,IAAMA,YAAY,GAAG,iCAAU,mBAAV,EAA+B,IAA/B,CAArB;;AAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,OAAgE;AAAA,MAA7DC,aAA6D,QAA7DA,aAA6D;AAAA,MAA9CC,YAA8C,QAA9CA,YAA8C;AAAA,MAAhCC,EAAgC,QAAhCA,EAAgC;AAAA,MAA5BC,MAA4B,QAA5BA,MAA4B;AAAA,MAAjBC,UAAiB;AACvF,MAAQC,cAAR,GAAyDD,UAAzD,CAAQC,cAAR;AAAA,MAAwBC,eAAxB,GAAyDF,UAAzD,CAAwBE,eAAxB;AAAA,MAAyCC,WAAzC,GAAyDH,UAAzD,CAAyCG,WAAzC;;AACA,oBAAuB,yBAAWP,aAAX,CAAvB;AAAA,MAAQQ,KAAR,eAAQA,KAAR;AAAA,MAAeC,GAAf,eAAeA,GAAf;;AACA,MAAMC,gBAAgB,GAAG,CAACL,cAAD,EAAiBC,eAAjB,EAAkCC,WAAlC,EAA+CI,KAA/C,CAAqD,UAAAC,KAAK;AAAA,WACjF,wBAASA,KAAT,CADiF;AAAA,GAA1D,CAAzB;;AAIA,kBAAsC,sBAASJ,KAAK,IAAIV,YAAlB,EAAgC;AACpEe,IAAAA,SAAS,EAAE;AAAEC,MAAAA,KAAK,EAAE;AAAEZ,QAAAA,EAAE,EAAE;AAAEa,UAAAA,GAAG,EAAEN;AAAP;AAAN;AAAT,KADyD;AAEpEO,IAAAA,IAAI,EAAE,EAAEP,GAAG,CAACQ,MAAJ,IAAcT,KAAhB;AAF8D,GAAhC,CAAtC;AAAA,iCAAQU,IAAR;AAAA,MAAQA,IAAR,+BAAe,EAAf;AAAA,MAAmBC,OAAnB,aAAmBA,OAAnB;AAAA,MAA4BC,KAA5B,aAA4BA,KAA5B;;AAKA,MAAMC,QAAQ,GAAG,0BAAYrB,aAAZ,EAA2BkB,IAA3B,CAAjB;;AACA,sBAAmE,yBAAaG,QAAb,CAAnE;AAAA,yCAAQH,IAAR;AAAA,MAAcI,SAAd,mCAA0B,EAA1B;AAAA,MAAuCC,QAAvC,iBAA8BJ,OAA9B;AAAA,MAAwDK,MAAxD,iBAAiDJ,KAAjD;;AAEA,MAAID,OAAO,IAAII,QAAf,EAAyB,OAAO,EAAP;AACzB,MAAIH,KAAK,IAAII,MAAb,EAAqB,OAAO,IAAP;AACrB,MAAI,CAACd,gBAAL,EAAuB,OAAO,IAAP;AAEvB,sBACE,gCAAC,sBAAD;AACE,IAAA,GAAG,EAAEN,UAAU,CAACqB,IADlB;AAEE,IAAA,IAAI,EAAEP,IAFR;AAGE,IAAA,SAAS,EAAEI,SAHb;AAIE,IAAA,YAAY,EAAErB;AAJhB,KAKMG,UALN,EADF;AASD,CA5BD;;AA8BAL,gBAAgB,CAAC2B,SAAjB,GAA6B;AAC3BvB,EAAAA,MAAM,EAAEwB,sBAAUC,MAAV,CAAiBC,UADE;AAE3B5B,EAAAA,YAAY,EAAE0B,sBAAUG,KAFG;AAG3B5B,EAAAA,EAAE,EAAEyB,sBAAUI,MAHa;AAI3B/B,EAAAA,aAAa,EAAE2B,sBAAUC,MAJE;AAK3BvB,EAAAA,cAAc,EAAEsB,sBAAUK,MALC;AAM3B1B,EAAAA,eAAe,EAAEqB,sBAAUK,MANA;AAO3BzB,EAAAA,WAAW,EAAEoB,sBAAUK;AAPI,CAA7B;AAUAjC,gBAAgB,CAACkC,YAAjB,GAAgC;AAC9BhC,EAAAA,YAAY,EAAE,EADgB;AAE9BD,EAAAA,aAAa,EAAE,EAFe;AAG9BE,EAAAA,EAAE,EAAE,EAH0B;AAI9BG,EAAAA,cAAc,EAAE,IAJc;AAK9BC,EAAAA,eAAe,EAAE,IALa;AAM9BC,EAAAA,WAAW,EAAE;AANiB,CAAhC;eASeR,gB","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 } from './helpers';\nimport GoogleMaps from './GoogleMaps';\n\nconst defaultQuery = getAction('getPublishedPages', 'id');\n\nconst GoogleMapsRender = ({ entityConfigs, entityGroups, id, parent, ...otherProps }) => {\n const { centerLatitude, centerLongitude, defaultZoom } = otherProps;\n const { query, ids } = buildQuery(entityConfigs);\n const shouldDisplayMap = [centerLatitude, centerLongitude, defaultZoom].every(value =>\n isNumber(value)\n );\n\n const { data = {}, loading, error } = useQuery(query || defaultQuery, {\n variables: { where: { id: { _in: ids } } },\n skip: !(ids.length && query)\n });\n\n const imageIds = getImageIds(entityConfigs, data);\n const { data: imageData = {}, loading: _loading, error: _error } = useGetImages(imageIds);\n\n if (loading || _loading) return '';\n if (error || _error) return null;\n if (!shouldDisplayMap) return null;\n\n return (\n <GoogleMaps\n key={otherProps.slug}\n data={data}\n imageData={imageData}\n entityGroups={entityGroups}\n {...otherProps}\n />\n );\n};\n\nGoogleMapsRender.propTypes = {\n parent: PropTypes.object.isRequired,\n entityGroups: PropTypes.array,\n id: PropTypes.string,\n entityConfigs: PropTypes.object,\n centerLatitude: PropTypes.number,\n centerLongitude: PropTypes.number,\n defaultZoom: PropTypes.number\n};\n\nGoogleMapsRender.defaultProps = {\n entityGroups: [],\n entityConfigs: {},\n id: '',\n centerLatitude: null,\n centerLongitude: null,\n defaultZoom: null\n};\n\nexport default GoogleMapsRender;\n"],"file":"GoogleMapsRender.js"}
1
+ {"version":3,"sources":["../../src/GoogleMaps/GoogleMapsRender.js"],"names":["defaultQuery","GoogleMapsRender","shapeConfigs","entityGroups","id","otherProps","defaultZoom","query","skip","data","loading","error","mapShapes","imageIds","imageData","getFiles","imagesLoading","imagesError","centerCoordinates","shouldDisplayMap","length","slug","propTypes","PropTypes","array","string","centerLatitude","number","centerLongitude","defaultProps"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;AAEA,IAAMA,YAAY,GAAG,iCAAU,mBAAV,EAA+B,IAA/B,CAArB;;AAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,OAAuD;AAAA,MAApDC,YAAoD,QAApDA,YAAoD;AAAA,MAAtCC,YAAsC,QAAtCA,YAAsC;AAAA,MAAxBC,EAAwB,QAAxBA,EAAwB;AAAA,MAAjBC,UAAiB;AAC9E,MAAQC,WAAR,GAAwBD,UAAxB,CAAQC,WAAR;;AACA,oBAAkB,yBAAWJ,YAAX,CAAlB;AAAA,MAAQK,KAAR,eAAQA,KAAR;;AACA,kBAAiC,sBAASA,KAAK,IAAIP,YAAlB,EAAgC;AAC/DQ,IAAAA,IAAI,EAAE,CAACD;AADwD,GAAhC,CAAjC;AAAA,MAAQE,IAAR,aAAQA,IAAR;AAAA,MAAcC,OAAd,aAAcA,OAAd;AAAA,MAAuBC,KAAvB,aAAuBA,KAAvB;;AAGA,MAAMC,SAAS,GAAG,6BAAeV,YAAf,EAA6BO,IAA7B,CAAlB;AACA,MAAMI,QAAQ,GAAG,0BAAYD,SAAZ,CAAjB;;AACA,sBAII,yBAAaC,QAAb,CAJJ;AAAA,yCACEJ,IADF;;AAAA,uDACkC,EADlC;AAAA,MACoBK,SADpB,sBACUC,QADV;AAAA,MAEWC,aAFX,iBAEEN,OAFF;AAAA,MAGSO,WAHT,iBAGEN,KAHF;AAKA,MAAID,OAAO,IAAIM,aAAf,EAA8B,OAAO,EAAP;AAC9B,MAAIL,KAAK,IAAIM,WAAb,EAA0B,OAAO,IAAP;AAE1B,MAAMC,iBAAiB,GAAG,mCAAqBN,SAArB,EAAgCP,UAAhC,CAA1B;AACA,MAAMc,gBAAgB,GAAG,wBAASb,WAAT,KAAyB,CAAC,CAACY,iBAAiB,CAACE,MAAtE;AAEA,MAAI,CAACD,gBAAL,EAAuB,OAAO,IAAP;AAEvB,sBACE,gCAAC,sBAAD;AACE,IAAA,GAAG,EAAEd,UAAU,CAACgB,IADlB;AAEE,IAAA,iBAAiB,EAAEH,iBAFrB;AAGE,IAAA,SAAS,EAAEN,SAHb;AAIE,IAAA,SAAS,EAAEE;AAJb,KAKMT,UALN,EADF;AASD,CA9BD;;AAgCAJ,gBAAgB,CAACqB,SAAjB,GAA6B;AAC3BnB,EAAAA,YAAY,EAAEoB,sBAAUC,KADG;AAE3BpB,EAAAA,EAAE,EAAEmB,sBAAUE,MAFa;AAG3BvB,EAAAA,YAAY,EAAEqB,sBAAUC,KAHG;AAI3BE,EAAAA,cAAc,EAAEH,sBAAUI,MAJC;AAK3BC,EAAAA,eAAe,EAAEL,sBAAUI,MALA;AAM3BrB,EAAAA,WAAW,EAAEiB,sBAAUI;AANI,CAA7B;AASA1B,gBAAgB,CAAC4B,YAAjB,GAAgC;AAC9B1B,EAAAA,YAAY,EAAE,EADgB;AAE9BD,EAAAA,YAAY,EAAE,EAFgB;AAG9BE,EAAAA,EAAE,EAAE,EAH0B;AAI9BsB,EAAAA,cAAc,EAAE,IAJc;AAK9BE,EAAAA,eAAe,EAAE,IALa;AAM9BtB,EAAAA,WAAW,EAAE;AANiB,CAAhC;eASeL,gB","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';\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 '';\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"],"file":"GoogleMapsRender.js"}
@@ -1,21 +1,5 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.object.keys.js");
4
-
5
- require("core-js/modules/es.symbol.js");
6
-
7
- require("core-js/modules/es.array.filter.js");
8
-
9
- require("core-js/modules/es.object.get-own-property-descriptor.js");
10
-
11
- require("core-js/modules/es.array.for-each.js");
12
-
13
- require("core-js/modules/web.dom-collections.for-each.js");
14
-
15
- require("core-js/modules/es.object.get-own-property-descriptors.js");
16
-
17
- require("core-js/modules/es.object.define-properties.js");
18
-
19
3
  require("core-js/modules/es.object.define-property.js");
20
4
 
21
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -25,46 +9,15 @@ Object.defineProperty(exports, "__esModule", {
25
9
  });
26
10
  exports["default"] = void 0;
27
11
 
28
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
-
30
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
31
-
32
- require("core-js/modules/es.array.reduce.js");
33
-
34
- require("core-js/modules/es.object.to-string.js");
35
-
36
- require("core-js/modules/es.array.map.js");
37
-
38
12
  var _constants = require("../../constants");
39
13
 
40
14
  var _setShapes = _interopRequireDefault(require("./set-shapes"));
41
15
 
42
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
43
-
44
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
45
-
46
- var addZoomListener = function addZoomListener(map, router, data, imageData) {
47
- var entityGroups = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
16
+ var addZoomListener = function addZoomListener(map, router, shapes, imageData) {
48
17
  if (!map) return;
49
- var shapes = entityGroups.reduce(function (acc, entityGroup) {
50
- var entity = entityGroup.entity,
51
- entityShapes = entityGroup.shapes,
52
- _entityGroup$enableIn = entityGroup.enableInfoPane,
53
- enableInfoPane = _entityGroup$enableIn === void 0 ? false : _entityGroup$enableIn,
54
- _entityGroup$dataSumm = entityGroup.dataSummaries,
55
- dataSummaries = _entityGroup$dataSumm === void 0 ? [] : _entityGroup$dataSumm;
56
- acc.push.apply(acc, (0, _toConsumableArray2["default"])(entityShapes.map(function (entityShape) {
57
- return _objectSpread(_objectSpread({}, entityShape), {}, {
58
- entity: entity,
59
- enableInfoPane: enableInfoPane,
60
- dataSummaries: dataSummaries
61
- });
62
- })));
63
- return acc;
64
- }, []);
65
- (0, _setShapes["default"])(map, router, shapes, data, imageData);
18
+ (0, _setShapes["default"])(map, router, shapes, imageData);
66
19
  map.addListener(_constants.ZOOM_CHANGED, function () {
67
- return (0, _setShapes["default"])(map, router, shapes, data, imageData);
20
+ return (0, _setShapes["default"])(map, router, shapes, imageData);
68
21
  });
69
22
  };
70
23
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/GoogleMaps/helpers/add-zoom-listener.js"],"names":["addZoomListener","map","router","data","imageData","entityGroups","shapes","reduce","acc","entityGroup","entity","entityShapes","enableInfoPane","dataSummaries","push","entityShape","addListener","ZOOM_CHANGED"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,GAAD,EAAMC,MAAN,EAAcC,IAAd,EAAoBC,SAApB,EAAqD;AAAA,MAAtBC,YAAsB,uEAAP,EAAO;AAC3E,MAAI,CAACJ,GAAL,EAAU;AACV,MAAMK,MAAM,GAAGD,YAAY,CAACE,MAAb,CAAoB,UAACC,GAAD,EAAMC,WAAN,EAAsB;AACvD,QACEC,MADF,GAKID,WALJ,CACEC,MADF;AAAA,QAEUC,YAFV,GAKIF,WALJ,CAEEH,MAFF;AAAA,gCAKIG,WALJ,CAGEG,cAHF;AAAA,QAGEA,cAHF,sCAGmB,KAHnB;AAAA,gCAKIH,WALJ,CAIEI,aAJF;AAAA,QAIEA,aAJF,sCAIkB,EAJlB;AAMAL,IAAAA,GAAG,CAACM,IAAJ,OAAAN,GAAG,sCACEG,YAAY,CAACV,GAAb,CAAiB,UAAAc,WAAW;AAAA,6CAC1BA,WAD0B;AAE7BL,QAAAA,MAAM,EAANA,MAF6B;AAG7BE,QAAAA,cAAc,EAAdA,cAH6B;AAI7BC,QAAAA,aAAa,EAAbA;AAJ6B;AAAA,KAA5B,CADF,EAAH;AAQA,WAAOL,GAAP;AACD,GAhBc,EAgBZ,EAhBY,CAAf;AAkBA,6BAAUP,GAAV,EAAeC,MAAf,EAAuBI,MAAvB,EAA+BH,IAA/B,EAAqCC,SAArC;AAEAH,EAAAA,GAAG,CAACe,WAAJ,CAAgBC,uBAAhB,EAA8B;AAAA,WAAM,2BAAUhB,GAAV,EAAeC,MAAf,EAAuBI,MAAvB,EAA+BH,IAA/B,EAAqCC,SAArC,CAAN;AAAA,GAA9B;AACD,CAvBD;;eAyBeJ,e","sourcesContent":["import { ZOOM_CHANGED } from '../../constants';\nimport setShapes from './set-shapes';\n\nconst addZoomListener = (map, router, data, imageData, entityGroups = []) => {\n if (!map) return;\n const shapes = entityGroups.reduce((acc, entityGroup) => {\n const {\n entity,\n shapes: entityShapes,\n enableInfoPane = false,\n dataSummaries = []\n } = entityGroup;\n acc.push(\n ...entityShapes.map(entityShape => ({\n ...entityShape,\n entity,\n enableInfoPane,\n dataSummaries\n }))\n );\n return acc;\n }, []);\n\n setShapes(map, router, shapes, data, imageData);\n\n map.addListener(ZOOM_CHANGED, () => setShapes(map, router, shapes, data, imageData));\n};\n\nexport default addZoomListener;\n"],"file":"add-zoom-listener.js"}
1
+ {"version":3,"sources":["../../../src/GoogleMaps/helpers/add-zoom-listener.js"],"names":["addZoomListener","map","router","shapes","imageData","addListener","ZOOM_CHANGED"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,GAAD,EAAMC,MAAN,EAAcC,MAAd,EAAsBC,SAAtB,EAAoC;AAC1D,MAAI,CAACH,GAAL,EAAU;AACV,6BAAUA,GAAV,EAAeC,MAAf,EAAuBC,MAAvB,EAA+BC,SAA/B;AACAH,EAAAA,GAAG,CAACI,WAAJ,CAAgBC,uBAAhB,EAA8B;AAAA,WAAM,2BAAUL,GAAV,EAAeC,MAAf,EAAuBC,MAAvB,EAA+BC,SAA/B,CAAN;AAAA,GAA9B;AACD,CAJD;;eAMeJ,e","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"],"file":"add-zoom-listener.js"}
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ require("core-js/modules/es.regexp.exec.js");
11
+
12
+ require("core-js/modules/es.string.split.js");
13
+
14
+ require("core-js/modules/es.array.for-each.js");
15
+
16
+ require("core-js/modules/es.object.to-string.js");
17
+
18
+ require("core-js/modules/web.dom-collections.for-each.js");
19
+
20
+ require("core-js/modules/es.array.is-array.js");
21
+
22
+ var getLatLonValues = function getLatLonValues(keys, data) {
23
+ if (keys.length === 1) return data[keys];
24
+ var key = keys.shift();
25
+ return getLatLonValues(keys, data[key]);
26
+ };
27
+
28
+ var getLatLong = function getLatLong(latProp, lonProp, shape, data) {
29
+ var latitude = shape.latitude,
30
+ longitude = shape.longitude;
31
+ if (!latProp || !lonProp) return {
32
+ latitude: latitude,
33
+ longitude: longitude
34
+ };
35
+ var latKeys = latProp.split('.');
36
+ var lonKeys = lonProp.split('.');
37
+ var lat = getLatLonValues(latKeys, data);
38
+ var lon = getLatLonValues(lonKeys, data);
39
+ return {
40
+ latitude: lat,
41
+ longitude: lon
42
+ };
43
+ };
44
+
45
+ var buildMapShapes = function buildMapShapes(shapesOptions, shapesData) {
46
+ if (!shapesData) return [];
47
+ var mapShapes = [];
48
+ shapesOptions.forEach(function (shape) {
49
+ var shapeKey = shape.shapeKey,
50
+ entityOptions = shape.entityOptions,
51
+ shapeOptions = shape.shapeOptions;
52
+ var dataSummaries = entityOptions.dataSummaries,
53
+ enableInfoPane = entityOptions.enableInfoPane;
54
+ var imageId = shapeOptions.imageId,
55
+ label = shapeOptions.label,
56
+ markerHeight = shapeOptions.markerHeight,
57
+ markerWidth = shapeOptions.markerWidth,
58
+ maxZoom = shapeOptions.maxZoom,
59
+ minZoom = shapeOptions.minZoom,
60
+ type = shapeOptions.type,
61
+ useAsCenter = shapeOptions.useAsCenter;
62
+ var shapeData = Array.isArray(shapesData[shapeKey]) ? shapesData[shapeKey] : shapesData[shapeKey].results;
63
+ if (!shapeData) return;
64
+ var latProp = entityOptions.latProp,
65
+ lonProp = entityOptions.lonProp;
66
+ shapeData.forEach(function (data) {
67
+ var url = data.url;
68
+
69
+ var _getLatLong = getLatLong(latProp, lonProp, shapeOptions, data),
70
+ latitude = _getLatLong.latitude,
71
+ longitude = _getLatLong.longitude;
72
+
73
+ var formatedShape = {
74
+ latitude: latitude,
75
+ longitude: longitude,
76
+ dataSummaries: dataSummaries,
77
+ enableInfoPane: enableInfoPane,
78
+ imageId: imageId,
79
+ label: label,
80
+ markerHeight: markerHeight,
81
+ markerWidth: markerWidth,
82
+ maxZoom: maxZoom,
83
+ minZoom: minZoom,
84
+ type: type,
85
+ url: url,
86
+ useAsCenter: useAsCenter,
87
+ shapeData: data
88
+ };
89
+ mapShapes.push(formatedShape);
90
+ });
91
+ });
92
+ return mapShapes;
93
+ };
94
+
95
+ var _default = buildMapShapes;
96
+ exports["default"] = _default;
97
+ //# sourceMappingURL=build-map-shapes.js.map