@blaze-cms/plugin-google-maps-fe 0.124.0-alpha.9 → 0.124.0
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 +251 -0
- package/lib/GoogleMaps/GoogleMaps.js +4 -3
- package/lib/GoogleMaps/GoogleMaps.js.map +1 -1
- package/lib/GoogleMaps/GoogleMapsFactory.js +3 -1
- package/lib/GoogleMaps/GoogleMapsFactory.js.map +1 -1
- package/lib/GoogleMaps/GoogleMapsHtml.js +32 -0
- package/lib/GoogleMaps/GoogleMapsHtml.js.map +1 -0
- package/lib/GoogleMaps/GoogleMapsRender.js +3 -1
- package/lib/GoogleMaps/GoogleMapsRender.js.map +1 -1
- package/lib/GoogleMaps/helpers/build-map-shapes.js +23 -18
- package/lib/GoogleMaps/helpers/build-map-shapes.js.map +1 -1
- package/lib/GoogleMaps/helpers/set-shapes.js +35 -11
- package/lib/GoogleMaps/helpers/set-shapes.js.map +1 -1
- package/lib/constants.js +3 -1
- package/lib/constants.js.map +1 -1
- package/lib-es/GoogleMaps/GoogleMaps.js +3 -3
- package/lib-es/GoogleMaps/GoogleMaps.js.map +1 -1
- package/lib-es/GoogleMaps/GoogleMapsFactory.js +2 -1
- package/lib-es/GoogleMaps/GoogleMapsFactory.js.map +1 -1
- package/lib-es/GoogleMaps/GoogleMapsHtml.js +18 -0
- package/lib-es/GoogleMaps/GoogleMapsHtml.js.map +1 -0
- package/lib-es/GoogleMaps/GoogleMapsRender.js +2 -1
- package/lib-es/GoogleMaps/GoogleMapsRender.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/build-map-shapes.js +10 -20
- package/lib-es/GoogleMaps/helpers/build-map-shapes.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/set-shapes.js +37 -11
- package/lib-es/GoogleMaps/helpers/set-shapes.js.map +1 -1
- package/lib-es/constants.js +2 -1
- package/lib-es/constants.js.map +1 -1
- package/package.json +4 -4
- package/src/GoogleMaps/GoogleMaps.js +2 -1
- package/src/GoogleMaps/GoogleMapsFactory.js +2 -1
- package/src/GoogleMaps/GoogleMapsHtml.js +16 -0
- package/src/GoogleMaps/GoogleMapsRender.js +2 -1
- package/src/GoogleMaps/helpers/build-map-shapes.js +1 -18
- package/src/GoogleMaps/helpers/set-shapes.js +43 -11
- package/src/constants.js +5 -1
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,257 @@
|
|
|
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.124.0](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.43...v0.124.0) (2022-08-08)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [0.124.0-alpha.43](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.42...v0.124.0-alpha.43) (2022-08-05)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
# [0.124.0-alpha.42](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.41...v0.124.0-alpha.42) (2022-08-04)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
# [0.124.0-alpha.40](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.39...v0.124.0-alpha.40) (2022-07-13)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
# [0.124.0-alpha.39](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.38...v0.124.0-alpha.39) (2022-07-13)
|
|
39
|
+
|
|
40
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
# [0.124.0-alpha.37](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.36...v0.124.0-alpha.37) (2022-06-29)
|
|
47
|
+
|
|
48
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
# [0.124.0-alpha.36](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.35...v0.124.0-alpha.36) (2022-06-28)
|
|
55
|
+
|
|
56
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
# [0.124.0-alpha.35](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.34...v0.124.0-alpha.35) (2022-06-27)
|
|
63
|
+
|
|
64
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
# [0.124.0-alpha.34](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.33...v0.124.0-alpha.34) (2022-06-24)
|
|
71
|
+
|
|
72
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
# [0.124.0-alpha.33](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.32...v0.124.0-alpha.33) (2022-06-21)
|
|
79
|
+
|
|
80
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
# [0.124.0-alpha.32](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.31...v0.124.0-alpha.32) (2022-06-17)
|
|
87
|
+
|
|
88
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
# [0.124.0-alpha.31](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.30...v0.124.0-alpha.31) (2022-06-13)
|
|
95
|
+
|
|
96
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
# [0.124.0-alpha.30](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.29...v0.124.0-alpha.30) (2022-06-09)
|
|
103
|
+
|
|
104
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
# [0.124.0-alpha.29](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.28...v0.124.0-alpha.29) (2022-06-06)
|
|
111
|
+
|
|
112
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
# [0.124.0-alpha.28](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.27...v0.124.0-alpha.28) (2022-05-27)
|
|
119
|
+
|
|
120
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
# [0.124.0-alpha.26](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.25...v0.124.0-alpha.26) (2022-05-24)
|
|
127
|
+
|
|
128
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
# [0.124.0-alpha.25](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.24...v0.124.0-alpha.25) (2022-05-24)
|
|
135
|
+
|
|
136
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
# [0.124.0-alpha.24](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.23...v0.124.0-alpha.24) (2022-05-24)
|
|
143
|
+
|
|
144
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
# [0.124.0-alpha.23](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.22...v0.124.0-alpha.23) (2022-05-24)
|
|
151
|
+
|
|
152
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
# [0.124.0-alpha.22](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.21...v0.124.0-alpha.22) (2022-05-24)
|
|
159
|
+
|
|
160
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
# [0.124.0-alpha.21](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.20...v0.124.0-alpha.21) (2022-05-24)
|
|
167
|
+
|
|
168
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
# [0.124.0-alpha.20](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.19...v0.124.0-alpha.20) (2022-05-24)
|
|
175
|
+
|
|
176
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
# [0.124.0-alpha.19](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.18...v0.124.0-alpha.19) (2022-05-18)
|
|
183
|
+
|
|
184
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
|
|
190
|
+
# [0.124.0-alpha.18](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.17...v0.124.0-alpha.18) (2022-05-17)
|
|
191
|
+
|
|
192
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
# [0.124.0-alpha.16](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.15...v0.124.0-alpha.16) (2022-05-12)
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
### Features
|
|
202
|
+
|
|
203
|
+
* allow setting custom map marker colours. Improve skelton loading of maps ([#3472](https://github.com/thebyte9/blaze/issues/3472)) ([b53df68](https://github.com/thebyte9/blaze/commit/b53df68ff89d88a15849a1b0f3c09c2241b22050))
|
|
204
|
+
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
# [0.124.0-alpha.15](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.14...v0.124.0-alpha.15) (2022-05-11)
|
|
210
|
+
|
|
211
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
|
|
217
|
+
# [0.124.0-alpha.14](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.13...v0.124.0-alpha.14) (2022-05-11)
|
|
218
|
+
|
|
219
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
# [0.124.0-alpha.13](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.12...v0.124.0-alpha.13) (2022-05-11)
|
|
226
|
+
|
|
227
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
# [0.124.0-alpha.12](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.11...v0.124.0-alpha.12) (2022-05-11)
|
|
234
|
+
|
|
235
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
# [0.124.0-alpha.11](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.10...v0.124.0-alpha.11) (2022-05-11)
|
|
242
|
+
|
|
243
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
# [0.124.0-alpha.10](https://byte9/thebyte9/blaze/compare/v0.124.0-alpha.9...v0.124.0-alpha.10) (2022-05-11)
|
|
250
|
+
|
|
251
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
6
257
|
# [0.124.0-alpha.9](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.8...v0.124.0-alpha.9) (2022-05-10)
|
|
7
258
|
|
|
8
259
|
|
|
@@ -57,6 +57,8 @@ var _helpers = require("./helpers");
|
|
|
57
57
|
|
|
58
58
|
var _constants = require("../constants");
|
|
59
59
|
|
|
60
|
+
var _GoogleMapsHtml = _interopRequireDefault(require("./GoogleMapsHtml"));
|
|
61
|
+
|
|
60
62
|
var _excluded = ["type", "name", "modifier", "elementTitle", "imageData", "onMount", "onMountProps", "parent", "mapShapes", "centerCoordinates"];
|
|
61
63
|
|
|
62
64
|
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); }
|
|
@@ -159,9 +161,8 @@ var GoogleMaps = function GoogleMaps(_ref2) {
|
|
|
159
161
|
}, []);
|
|
160
162
|
if (map && typeof onMount === "function") onMount(map, onMountProps);
|
|
161
163
|
if (isIntersecting) (0, _helpers.addZoomListener)(map, router, mapShapes, imageData);
|
|
162
|
-
return /*#__PURE__*/_react["default"].createElement("
|
|
163
|
-
|
|
164
|
-
ref: mapRef
|
|
164
|
+
return /*#__PURE__*/_react["default"].createElement(_GoogleMapsHtml["default"], {
|
|
165
|
+
mapRef: mapRef
|
|
165
166
|
});
|
|
166
167
|
};
|
|
167
168
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"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"],"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';\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 <
|
|
1
|
+
{"version":3,"file":"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"],"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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"}
|
|
@@ -25,6 +25,8 @@ var _helpers = require("./helpers");
|
|
|
25
25
|
|
|
26
26
|
var _GoogleMapsRender = _interopRequireDefault(require("./GoogleMapsRender"));
|
|
27
27
|
|
|
28
|
+
var _GoogleMapsHtml = _interopRequireDefault(require("./GoogleMapsHtml"));
|
|
29
|
+
|
|
28
30
|
var _excluded = ["entityGroups", "parent"];
|
|
29
31
|
|
|
30
32
|
var GoogleMapsFactory = function GoogleMapsFactory(_ref) {
|
|
@@ -40,7 +42,7 @@ var GoogleMapsFactory = function GoogleMapsFactory(_ref) {
|
|
|
40
42
|
loading = _useGetEntitySchemasA.loading,
|
|
41
43
|
error = _useGetEntitySchemasA.error;
|
|
42
44
|
|
|
43
|
-
if (loading) return
|
|
45
|
+
if (loading) return /*#__PURE__*/_react["default"].createElement(_GoogleMapsHtml["default"], null);
|
|
44
46
|
if (error) return error.message;
|
|
45
47
|
var shapeConfigs = (0, _helpers.buildShapesConfig)(data, entityGroups, parent);
|
|
46
48
|
return /*#__PURE__*/_react["default"].createElement(_GoogleMapsRender["default"], (0, _extends2["default"])({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleMapsFactory.js","names":["GoogleMapsFactory","entityGroups","parent","otherProps","map","entity","data","loading","error","message","shapeConfigs","propTypes","PropTypes","object","array","defaultProps"],"sources":["../../src/GoogleMaps/GoogleMapsFactory.js"],"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
|
|
1
|
+
{"version":3,"file":"GoogleMapsFactory.js","names":["GoogleMapsFactory","entityGroups","parent","otherProps","map","entity","data","loading","error","message","shapeConfigs","propTypes","PropTypes","object","array","defaultProps"],"sources":["../../src/GoogleMaps/GoogleMapsFactory.js"],"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';\nimport GoogleMapsHtml from './GoogleMapsHtml';\n\nconst GoogleMapsFactory = ({ entityGroups, parent, ...otherProps }) => {\n const { data, loading, error } = useGetEntitySchemasAsObj(\n entityGroups.map(({ entity }) => entity)\n );\n\n if (loading) return <GoogleMapsHtml />;\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"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAA6C;EAAA,IAA1CC,YAA0C,QAA1CA,YAA0C;EAAA,IAA5BC,MAA4B,QAA5BA,MAA4B;EAAA,IAAjBC,UAAiB;;EACrE,4BAAiC,gDAC/BF,YAAY,CAACG,GAAb,CAAiB;IAAA,IAAGC,MAAH,SAAGA,MAAH;IAAA,OAAgBA,MAAhB;EAAA,CAAjB,CAD+B,CAAjC;EAAA,IAAQC,IAAR,yBAAQA,IAAR;EAAA,IAAcC,OAAd,yBAAcA,OAAd;EAAA,IAAuBC,KAAvB,yBAAuBA,KAAvB;;EAIA,IAAID,OAAJ,EAAa,oBAAO,gCAAC,0BAAD,OAAP;EACb,IAAIC,KAAJ,EAAW,OAAOA,KAAK,CAACC,OAAb;EAEX,IAAMC,YAAY,GAAG,gCAAkBJ,IAAlB,EAAwBL,YAAxB,EAAsCC,MAAtC,CAArB;EAEA,oBACE,gCAAC,4BAAD;IACE,YAAY,EAAEQ,YADhB;IAEE,YAAY,EAAET,YAFhB;IAGE,MAAM,EAAEC;EAHV,GAIMC,UAJN,EADF;AAQD,CAlBD;;AAoBAH,iBAAiB,CAACW,SAAlB,GAA8B;EAC5BT,MAAM,EAAEU,sBAAUC,MADU;EAE5BZ,YAAY,EAAEW,sBAAUE;AAFI,CAA9B;AAKAd,iBAAiB,CAACe,YAAlB,GAAiC;EAC/Bb,MAAM,EAAE,EADuB;EAE/BD,YAAY,EAAE;AAFiB,CAAjC;eAKeD,iB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
|
|
5
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _react = _interopRequireDefault(require("react"));
|
|
13
|
+
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
+
|
|
16
|
+
var GoogleMapsFactory = function GoogleMapsFactory(_ref) {
|
|
17
|
+
var mapRef = _ref.mapRef;
|
|
18
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
19
|
+
className: "google-maps ".concat(!mapRef ? 'loading' : ''),
|
|
20
|
+
ref: mapRef
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
GoogleMapsFactory.propTypes = {
|
|
25
|
+
mapRef: _propTypes["default"].object
|
|
26
|
+
};
|
|
27
|
+
GoogleMapsFactory.defaultProps = {
|
|
28
|
+
mapRef: null
|
|
29
|
+
};
|
|
30
|
+
var _default = GoogleMapsFactory;
|
|
31
|
+
exports["default"] = _default;
|
|
32
|
+
//# sourceMappingURL=GoogleMapsHtml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GoogleMapsHtml.js","names":["GoogleMapsFactory","mapRef","propTypes","PropTypes","object","defaultProps"],"sources":["../../src/GoogleMaps/GoogleMapsHtml.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst GoogleMapsFactory = ({ mapRef }) => (\n <div className={`google-maps ${!mapRef ? 'loading' : ''}`} ref={mapRef} />\n);\n\nGoogleMapsFactory.propTypes = {\n mapRef: PropTypes.object\n};\n\nGoogleMapsFactory.defaultProps = {\n mapRef: null\n};\n\nexport default GoogleMapsFactory;\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB;EAAA,IAAGC,MAAH,QAAGA,MAAH;EAAA,oBACxB;IAAK,SAAS,wBAAiB,CAACA,MAAD,GAAU,SAAV,GAAsB,EAAvC,CAAd;IAA2D,GAAG,EAAEA;EAAhE,EADwB;AAAA,CAA1B;;AAIAD,iBAAiB,CAACE,SAAlB,GAA8B;EAC5BD,MAAM,EAAEE,sBAAUC;AADU,CAA9B;AAIAJ,iBAAiB,CAACK,YAAlB,GAAiC;EAC/BJ,MAAM,EAAE;AADuB,CAAjC;eAIeD,iB"}
|
|
@@ -29,6 +29,8 @@ var _helpers = require("./helpers");
|
|
|
29
29
|
|
|
30
30
|
var _GoogleMaps = _interopRequireDefault(require("./GoogleMaps"));
|
|
31
31
|
|
|
32
|
+
var _GoogleMapsHtml = _interopRequireDefault(require("./GoogleMapsHtml"));
|
|
33
|
+
|
|
32
34
|
var _excluded = ["shapeConfigs", "entityGroups", "id"];
|
|
33
35
|
var defaultQuery = (0, _reactPageBuilder.getAction)('getPublishedPages', 'id');
|
|
34
36
|
|
|
@@ -59,7 +61,7 @@ var GoogleMapsRender = function GoogleMapsRender(_ref) {
|
|
|
59
61
|
var imageData = _useGetImages$data.getFiles,
|
|
60
62
|
imagesLoading = _useGetImages.loading,
|
|
61
63
|
imagesError = _useGetImages.error;
|
|
62
|
-
if (loading || imagesLoading) return
|
|
64
|
+
if (loading || imagesLoading) return /*#__PURE__*/_react["default"].createElement(_GoogleMapsHtml["default"], null);
|
|
63
65
|
if (error || imagesError) return null;
|
|
64
66
|
var centerCoordinates = (0, _helpers.getCenterCoordinates)(mapShapes, otherProps);
|
|
65
67
|
var shouldDisplayMap = (0, _lodash["default"])(defaultZoom) && !!centerCoordinates.length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"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"],"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';\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
|
|
1
|
+
{"version":3,"file":"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"],"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;;AACA;;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;EAAA,IAApDC,YAAoD,QAApDA,YAAoD;EAAA,IAAtCC,YAAsC,QAAtCA,YAAsC;EAAA,IAAxBC,EAAwB,QAAxBA,EAAwB;EAAA,IAAjBC,UAAiB;EAC9E,IAAQC,WAAR,GAAwBD,UAAxB,CAAQC,WAAR;;EACA,kBAAkB,yBAAWJ,YAAX,CAAlB;EAAA,IAAQK,KAAR,eAAQA,KAAR;;EACA,gBAAiC,sBAASA,KAAK,IAAIP,YAAlB,EAAgC;IAC/DQ,IAAI,EAAE,CAACD;EADwD,CAAhC,CAAjC;EAAA,IAAQE,IAAR,aAAQA,IAAR;EAAA,IAAcC,OAAd,aAAcA,OAAd;EAAA,IAAuBC,KAAvB,aAAuBA,KAAvB;;EAGA,IAAMC,SAAS,GAAG,6BAAeV,YAAf,EAA6BO,IAA7B,CAAlB;EACA,IAAMI,QAAQ,GAAG,0BAAYD,SAAZ,CAAjB;;EACA,oBAII,yBAAaC,QAAb,CAJJ;EAAA,uCACEJ,IADF;;EAAA,qDACkC,EADlC;EAAA,IACoBK,SADpB,sBACUC,QADV;EAAA,IAEWC,aAFX,iBAEEN,OAFF;EAAA,IAGSO,WAHT,iBAGEN,KAHF;EAKA,IAAID,OAAO,IAAIM,aAAf,EAA8B,oBAAO,gCAAC,0BAAD,OAAP;EAC9B,IAAIL,KAAK,IAAIM,WAAb,EAA0B,OAAO,IAAP;EAE1B,IAAMC,iBAAiB,GAAG,mCAAqBN,SAArB,EAAgCP,UAAhC,CAA1B;EACA,IAAMc,gBAAgB,GAAG,wBAASb,WAAT,KAAyB,CAAC,CAACY,iBAAiB,CAACE,MAAtE;EAEA,IAAI,CAACD,gBAAL,EAAuB,OAAO,IAAP;EAEvB,oBACE,gCAAC,sBAAD;IACE,GAAG,EAAEd,UAAU,CAACgB,IADlB;IAEE,iBAAiB,EAAEH,iBAFrB;IAGE,SAAS,EAAEN,SAHb;IAIE,SAAS,EAAEE;EAJb,GAKMT,UALN,EADF;AASD,CA9BD;;AAgCAJ,gBAAgB,CAACqB,SAAjB,GAA6B;EAC3BnB,YAAY,EAAEoB,sBAAUC,KADG;EAE3BpB,EAAE,EAAEmB,sBAAUE,MAFa;EAG3BvB,YAAY,EAAEqB,sBAAUC,KAHG;EAI3BE,cAAc,EAAEH,sBAAUI,MAJC;EAK3BC,eAAe,EAAEL,sBAAUI,MALA;EAM3BrB,WAAW,EAAEiB,sBAAUI;AANI,CAA7B;AASA1B,gBAAgB,CAAC4B,YAAjB,GAAgC;EAC9B1B,YAAY,EAAE,EADgB;EAE9BD,YAAY,EAAE,EAFgB;EAG9BE,EAAE,EAAE,EAH0B;EAI9BsB,cAAc,EAAE,IAJc;EAK9BE,eAAe,EAAE,IALa;EAM9BtB,WAAW,EAAE;AANiB,CAAhC;eASeL,gB"}
|
|
@@ -1,12 +1,28 @@
|
|
|
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.object.get-own-property-descriptors.js");
|
|
12
|
+
|
|
13
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
14
|
+
|
|
3
15
|
require("core-js/modules/es.object.define-property.js");
|
|
4
16
|
|
|
17
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
18
|
+
|
|
5
19
|
Object.defineProperty(exports, "__esModule", {
|
|
6
20
|
value: true
|
|
7
21
|
});
|
|
8
22
|
exports["default"] = void 0;
|
|
9
23
|
|
|
24
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
+
|
|
10
26
|
require("core-js/modules/es.regexp.exec.js");
|
|
11
27
|
|
|
12
28
|
require("core-js/modules/es.string.split.js");
|
|
@@ -19,6 +35,10 @@ require("core-js/modules/web.dom-collections.for-each.js");
|
|
|
19
35
|
|
|
20
36
|
require("core-js/modules/es.array.is-array.js");
|
|
21
37
|
|
|
38
|
+
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; }
|
|
39
|
+
|
|
40
|
+
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; }
|
|
41
|
+
|
|
22
42
|
var getLatLonValues = function getLatLonValues(keys, data) {
|
|
23
43
|
if (keys.length === 1) return data[keys];
|
|
24
44
|
var key = keys.shift();
|
|
@@ -51,14 +71,6 @@ var buildMapShapes = function buildMapShapes(shapesOptions, shapesData) {
|
|
|
51
71
|
shapeOptions = shape.shapeOptions;
|
|
52
72
|
var dataSummaries = entityOptions.dataSummaries,
|
|
53
73
|
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
74
|
var shapeData = Array.isArray(shapesData[shapeKey]) ? shapesData[shapeKey] : shapesData[shapeKey].results;
|
|
63
75
|
if (!shapeData) return;
|
|
64
76
|
var latProp = entityOptions.latProp,
|
|
@@ -70,22 +82,15 @@ var buildMapShapes = function buildMapShapes(shapesOptions, shapesData) {
|
|
|
70
82
|
latitude = _getLatLong.latitude,
|
|
71
83
|
longitude = _getLatLong.longitude;
|
|
72
84
|
|
|
73
|
-
var formatedShape = {
|
|
85
|
+
var formatedShape = _objectSpread(_objectSpread({}, shapeOptions), {}, {
|
|
74
86
|
latitude: latitude,
|
|
75
87
|
longitude: longitude,
|
|
76
88
|
dataSummaries: dataSummaries,
|
|
77
89
|
enableInfoPane: enableInfoPane,
|
|
78
|
-
imageId: imageId,
|
|
79
|
-
label: label,
|
|
80
|
-
markerHeight: markerHeight,
|
|
81
|
-
markerWidth: markerWidth,
|
|
82
|
-
maxZoom: maxZoom,
|
|
83
|
-
minZoom: minZoom,
|
|
84
|
-
type: type,
|
|
85
90
|
url: url,
|
|
86
|
-
useAsCenter: useAsCenter,
|
|
87
91
|
shapeData: data
|
|
88
|
-
};
|
|
92
|
+
});
|
|
93
|
+
|
|
89
94
|
mapShapes.push(formatedShape);
|
|
90
95
|
});
|
|
91
96
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-map-shapes.js","names":["getLatLonValues","keys","data","length","key","shift","getLatLong","latProp","lonProp","shape","latitude","longitude","latKeys","split","lonKeys","lat","lon","buildMapShapes","shapesOptions","shapesData","mapShapes","forEach","shapeKey","entityOptions","shapeOptions","dataSummaries","enableInfoPane","
|
|
1
|
+
{"version":3,"file":"build-map-shapes.js","names":["getLatLonValues","keys","data","length","key","shift","getLatLong","latProp","lonProp","shape","latitude","longitude","latKeys","split","lonKeys","lat","lon","buildMapShapes","shapesOptions","shapesData","mapShapes","forEach","shapeKey","entityOptions","shapeOptions","dataSummaries","enableInfoPane","shapeData","Array","isArray","results","url","formatedShape","push"],"sources":["../../../src/GoogleMaps/helpers/build-map-shapes.js"],"sourcesContent":["const getLatLonValues = (keys, data) => {\n if (keys.length === 1) return data[keys];\n const key = keys.shift();\n return getLatLonValues(keys, data[key]);\n};\n\nconst getLatLong = (latProp, lonProp, shape, data) => {\n const { latitude, longitude } = shape;\n\n if (!latProp || !lonProp) return { latitude, longitude };\n const latKeys = latProp.split('.');\n const lonKeys = lonProp.split('.');\n const lat = getLatLonValues(latKeys, data);\n const lon = getLatLonValues(lonKeys, data);\n\n return { latitude: lat, longitude: lon };\n};\n\nconst buildMapShapes = (shapesOptions, shapesData) => {\n if (!shapesData) return [];\n const mapShapes = [];\n shapesOptions.forEach(shape => {\n const { shapeKey, entityOptions, shapeOptions } = shape;\n const { dataSummaries, enableInfoPane } = entityOptions;\n\n const shapeData = Array.isArray(shapesData[shapeKey])\n ? shapesData[shapeKey]\n : shapesData[shapeKey].results;\n if (!shapeData) return;\n const { latProp, lonProp } = entityOptions;\n\n shapeData.forEach(data => {\n const { url } = data;\n const { latitude, longitude } = getLatLong(latProp, lonProp, shapeOptions, data);\n\n const formatedShape = {\n ...shapeOptions,\n latitude,\n longitude,\n dataSummaries,\n enableInfoPane,\n url,\n shapeData: data\n };\n\n mapShapes.push(formatedShape);\n });\n });\n\n return mapShapes;\n};\n\nexport default buildMapShapes;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,IAAD,EAAOC,IAAP,EAAgB;EACtC,IAAID,IAAI,CAACE,MAAL,KAAgB,CAApB,EAAuB,OAAOD,IAAI,CAACD,IAAD,CAAX;EACvB,IAAMG,GAAG,GAAGH,IAAI,CAACI,KAAL,EAAZ;EACA,OAAOL,eAAe,CAACC,IAAD,EAAOC,IAAI,CAACE,GAAD,CAAX,CAAtB;AACD,CAJD;;AAMA,IAAME,UAAU,GAAG,SAAbA,UAAa,CAACC,OAAD,EAAUC,OAAV,EAAmBC,KAAnB,EAA0BP,IAA1B,EAAmC;EACpD,IAAQQ,QAAR,GAAgCD,KAAhC,CAAQC,QAAR;EAAA,IAAkBC,SAAlB,GAAgCF,KAAhC,CAAkBE,SAAlB;EAEA,IAAI,CAACJ,OAAD,IAAY,CAACC,OAAjB,EAA0B,OAAO;IAAEE,QAAQ,EAARA,QAAF;IAAYC,SAAS,EAATA;EAAZ,CAAP;EAC1B,IAAMC,OAAO,GAAGL,OAAO,CAACM,KAAR,CAAc,GAAd,CAAhB;EACA,IAAMC,OAAO,GAAGN,OAAO,CAACK,KAAR,CAAc,GAAd,CAAhB;EACA,IAAME,GAAG,GAAGf,eAAe,CAACY,OAAD,EAAUV,IAAV,CAA3B;EACA,IAAMc,GAAG,GAAGhB,eAAe,CAACc,OAAD,EAAUZ,IAAV,CAA3B;EAEA,OAAO;IAAEQ,QAAQ,EAAEK,GAAZ;IAAiBJ,SAAS,EAAEK;EAA5B,CAAP;AACD,CAVD;;AAYA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB,CAACC,aAAD,EAAgBC,UAAhB,EAA+B;EACpD,IAAI,CAACA,UAAL,EAAiB,OAAO,EAAP;EACjB,IAAMC,SAAS,GAAG,EAAlB;EACAF,aAAa,CAACG,OAAd,CAAsB,UAAAZ,KAAK,EAAI;IAC7B,IAAQa,QAAR,GAAkDb,KAAlD,CAAQa,QAAR;IAAA,IAAkBC,aAAlB,GAAkDd,KAAlD,CAAkBc,aAAlB;IAAA,IAAiCC,YAAjC,GAAkDf,KAAlD,CAAiCe,YAAjC;IACA,IAAQC,aAAR,GAA0CF,aAA1C,CAAQE,aAAR;IAAA,IAAuBC,cAAvB,GAA0CH,aAA1C,CAAuBG,cAAvB;IAEA,IAAMC,SAAS,GAAGC,KAAK,CAACC,OAAN,CAAcV,UAAU,CAACG,QAAD,CAAxB,IACdH,UAAU,CAACG,QAAD,CADI,GAEdH,UAAU,CAACG,QAAD,CAAV,CAAqBQ,OAFzB;IAGA,IAAI,CAACH,SAAL,EAAgB;IAChB,IAAQpB,OAAR,GAA6BgB,aAA7B,CAAQhB,OAAR;IAAA,IAAiBC,OAAjB,GAA6Be,aAA7B,CAAiBf,OAAjB;IAEAmB,SAAS,CAACN,OAAV,CAAkB,UAAAnB,IAAI,EAAI;MACxB,IAAQ6B,GAAR,GAAgB7B,IAAhB,CAAQ6B,GAAR;;MACA,kBAAgCzB,UAAU,CAACC,OAAD,EAAUC,OAAV,EAAmBgB,YAAnB,EAAiCtB,IAAjC,CAA1C;MAAA,IAAQQ,QAAR,eAAQA,QAAR;MAAA,IAAkBC,SAAlB,eAAkBA,SAAlB;;MAEA,IAAMqB,aAAa,mCACdR,YADc;QAEjBd,QAAQ,EAARA,QAFiB;QAGjBC,SAAS,EAATA,SAHiB;QAIjBc,aAAa,EAAbA,aAJiB;QAKjBC,cAAc,EAAdA,cALiB;QAMjBK,GAAG,EAAHA,GANiB;QAOjBJ,SAAS,EAAEzB;MAPM,EAAnB;;MAUAkB,SAAS,CAACa,IAAV,CAAeD,aAAf;IACD,CAfD;EAgBD,CA1BD;EA4BA,OAAOZ,SAAP;AACD,CAhCD;;eAkCeH,c"}
|
|
@@ -291,30 +291,54 @@ var infoWindowContent = /*#__PURE__*/function () {
|
|
|
291
291
|
};
|
|
292
292
|
}();
|
|
293
293
|
|
|
294
|
-
|
|
295
|
-
var
|
|
296
|
-
label = _shape$label === void 0 ? '' : _shape$label,
|
|
294
|
+
function getIcon(imageData, shape) {
|
|
295
|
+
var imageId = shape.imageId,
|
|
297
296
|
_shape$markerWidth = shape.markerWidth,
|
|
298
297
|
markerWidth = _shape$markerWidth === void 0 ? 50 : _shape$markerWidth,
|
|
299
298
|
_shape$markerHeight = shape.markerHeight,
|
|
300
299
|
markerHeight = _shape$markerHeight === void 0 ? 50 : _shape$markerHeight,
|
|
300
|
+
strokeColor = shape.strokeColor,
|
|
301
|
+
strokeOpacity = shape.strokeOpacity,
|
|
302
|
+
strokeWeight = shape.strokeWeight,
|
|
303
|
+
fillColor = shape.fillColor,
|
|
304
|
+
fillOpacity = shape.fillOpacity,
|
|
305
|
+
svgPath = shape.svgPath;
|
|
306
|
+
var iconUrl = getIconUrl(imageId, imageData);
|
|
307
|
+
var icon = iconUrl ? {
|
|
308
|
+
url: iconUrl,
|
|
309
|
+
scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)
|
|
310
|
+
} : null;
|
|
311
|
+
if (icon) return icon;
|
|
312
|
+
if (!svgPath && !fillColor && !strokeColor) return {}; // any can be true for custom marker
|
|
313
|
+
|
|
314
|
+
var svgMarker = {
|
|
315
|
+
path: svgPath || _constants.DEFAULT_CUSTOM_MARKER_PATH,
|
|
316
|
+
strokeColor: strokeColor,
|
|
317
|
+
strokeOpacity: strokeOpacity,
|
|
318
|
+
strokeWeight: strokeWeight,
|
|
319
|
+
fillColor: fillColor,
|
|
320
|
+
fillOpacity: fillOpacity,
|
|
321
|
+
rotation: 0,
|
|
322
|
+
scale: 2
|
|
323
|
+
};
|
|
324
|
+
return svgMarker;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
var setMarker = function setMarker(map, router, shape, imageData) {
|
|
328
|
+
var _shape$label = shape.label,
|
|
329
|
+
label = _shape$label === void 0 ? '' : _shape$label,
|
|
301
330
|
latitude = shape.latitude,
|
|
302
|
-
longitude = shape.longitude
|
|
303
|
-
imageId = shape.imageId;
|
|
331
|
+
longitude = shape.longitude;
|
|
304
332
|
|
|
305
333
|
if (isPositionCorrect(latitude, longitude)) {
|
|
306
|
-
var
|
|
307
|
-
var icon = iconUrl ? {
|
|
308
|
-
url: iconUrl,
|
|
309
|
-
scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)
|
|
310
|
-
} : {};
|
|
334
|
+
var svgMarker = getIcon(imageData, shape);
|
|
311
335
|
var marker = new window.google.maps.Marker({
|
|
312
336
|
position: {
|
|
313
337
|
lat: latitude,
|
|
314
338
|
lng: longitude
|
|
315
339
|
},
|
|
316
340
|
map: map,
|
|
317
|
-
icon:
|
|
341
|
+
icon: svgMarker,
|
|
318
342
|
title: label || ''
|
|
319
343
|
});
|
|
320
344
|
addShapeListeners(map, router, shape, imageData, marker);
|