@blaze-cms/plugin-google-maps-fe 0.124.0-alpha.14 → 0.124.0-alpha.18
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 +27 -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 +3 -3
- 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,33 @@
|
|
|
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-alpha.18](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.17...v0.124.0-alpha.18) (2022-05-17)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [0.124.0-alpha.16](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.15...v0.124.0-alpha.16) (2022-05-12)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* 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))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [0.124.0-alpha.15](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.14...v0.124.0-alpha.15) (2022-05-11)
|
|
26
|
+
|
|
27
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
6
33
|
# [0.124.0-alpha.14](https://github.com/thebyte9/blaze/compare/v0.124.0-alpha.13...v0.124.0-alpha.14) (2022-05-11)
|
|
7
34
|
|
|
8
35
|
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
@@ -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);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-shapes.js","names":["shapesArray","infoWindowArray","clearShapes","length","forEach","shape","setMap","closeInfoWindows","infoWindow","close","addShapeListeners","map","router","imageData","shapeInstance","enableInfoPane","dataSummaries","url","shapeData","window","google","maps","InfoWindow","content","addListener","CLICK","event","ReactDOMServer","infoWindowContent","renderToString","setContent","setPosition","latLng","open","push","setStyleOptions","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","styleSettings","Object","keys","reduce","acc","key","settingValue","shouldValueBeNumber","includes","COLOR","hasValuePassedCondition","areRectangleBoundsNumbers","bounds","every","bound","isPositionCorrect","lat","lng","getIconUrl","imageId","image","find","id","Promise","all","dataSummary","elementTitle","type","propsToDisplay","otherProps","isTypeHeading","HEADING_LARGE","summaryPropsWithContent","modifier","LIST","SummaryComponent","summaryComponents","render","preload","getDataSummaryComponent","component","summariesWithContent","shouldShowImage","getImageElement","imageUrl","data","imageElement","altText","setMarker","label","markerWidth","markerHeight","latitude","longitude","iconUrl","icon","scaledSize","Size","marker","Marker","position","title","setPolyline","paths","path","polyline","Polyline","geodesic","setPolygon","unParsedPaths","polygon","Polygon","setRectangle","northBound","southBound","eastBound","westBound","rectangle","Rectangle","north","south","east","west","setCircle","radius","circle","Circle","center","setShapes","shapes","mapZoom","getZoom","minZoom","maxZoom","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE"],"sources":["../../../src/GoogleMaps/helpers/set-shapes.js"],"sourcesContent":["import React from 'react';\nimport isNumber from 'lodash.isnumber';\nimport ReactDOMServer from 'react-dom/server';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport {\n buildPropsToDisplayWithContent,\n summaryComponents,\n getClassModifiers\n} from '@blaze-cms/react-page-builder';\nimport getPath from './get-path';\nimport {\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n COLOR,\n CLICK,\n HEADING_LARGE,\n LIST\n} from '../../constants';\n\nconst shapesArray = [];\nconst infoWindowArray = [];\n\nconst clearShapes = () => {\n if (shapesArray.length) {\n shapesArray.forEach(shape => shape.setMap(null));\n shapesArray.length = 0;\n }\n};\n\nconst closeInfoWindows = () => {\n if (infoWindowArray.length) {\n infoWindowArray.forEach(infoWindow => infoWindow.close());\n infoWindowArray.length = 0;\n }\n};\n\nconst addShapeListeners = (map, router, shape, imageData, shapeInstance) => {\n const { enableInfoPane = false, dataSummaries = [], url, shapeData } = shape;\n\n if (enableInfoPane) {\n const infoWindow = new window.google.maps.InfoWindow({\n content: ''\n });\n\n shapeInstance.addListener(CLICK, async event => {\n closeInfoWindows();\n const content = ReactDOMServer.renderToString(\n await infoWindowContent(imageData, dataSummaries, url, shapeData)\n );\n infoWindow.setContent(content);\n infoWindow.setPosition(event.latLng);\n infoWindow.open(map, shapeInstance);\n infoWindowArray.push(infoWindow);\n });\n } else if (url) {\n shapeInstance.addListener(CLICK, () => {\n router.push(url);\n });\n }\n};\n\nconst setStyleOptions = shape => {\n const { strokeColor, strokeOpacity, strokeWeight, fillColor, fillOpacity } = shape;\n const styleSettings = { strokeColor, fillColor, strokeOpacity, strokeWeight, fillOpacity };\n\n return {\n ...Object.keys(styleSettings).reduce((acc, key) => {\n const settingValue = styleSettings[key];\n const shouldValueBeNumber = !key.includes(COLOR);\n const hasValuePassedCondition = shouldValueBeNumber ? isNumber(settingValue) : settingValue;\n if (hasValuePassedCondition) acc[key] = settingValue;\n return acc;\n }, {})\n };\n};\n\nconst areRectangleBoundsNumbers = bounds => bounds.every(bound => isNumber(bound));\n\nconst isPositionCorrect = (lat, lng) => isNumber(lat) && isNumber(lng);\n\nconst getIconUrl = (imageId, imageData) => {\n if (!imageId) return '';\n const image = imageData.find(({ id }) => id === imageId);\n if (!image || !image.url) return '';\n\n return image.url;\n};\n\nconst infoWindowContent = async (imageData, dataSummaries, url, shapeData) => {\n const summariesWithContent = await Promise.all(\n dataSummaries.map(async dataSummary => {\n const { elementTitle, type, propsToDisplay, ...otherProps } = dataSummary;\n const isTypeHeading = type === HEADING_LARGE;\n const summaryPropsWithContent = buildPropsToDisplayWithContent(shapeData, propsToDisplay);\n const modifier = getClassModifiers(LIST, otherProps);\n const SummaryComponent = summaryComponents[type];\n await SummaryComponent.render.preload(); // preload dynamic nextjs component\n\n if (!summaryPropsWithContent.length) return null;\n\n const getDataSummaryComponent = () => {\n const component = (\n <SummaryComponent\n key={type}\n modifier={modifier}\n elementTitle={elementTitle}\n summaryPropsWithContent={summaryPropsWithContent}\n />\n );\n\n if (isTypeHeading && url) return <Link href={url}>{component}</Link>;\n\n return component;\n };\n\n return getDataSummaryComponent();\n })\n );\n const { imageId } = shapeData || {};\n const image = imageData.find(({ id }) => id === imageId);\n const shouldShowImage = image && image.url;\n\n const getImageElement = () => {\n const { url: imageUrl, data } = image;\n const imageElement = (\n <img className=\"info__window\" src={imageUrl} alt={data && data.altText ? data.altText : ''} />\n );\n\n if (url) return <Link href={url}>{imageElement}</Link>;\n\n return imageElement;\n };\n\n return (\n <>\n {shouldShowImage && getImageElement()}\n {summariesWithContent}\n </>\n );\n};\n\nconst setMarker = (map, router, shape, imageData) => {\n const { label = '', markerWidth = 50, markerHeight = 50, latitude, longitude, imageId } = shape;\n\n if (isPositionCorrect(latitude, longitude)) {\n const iconUrl = getIconUrl(imageId, imageData);\n\n const icon = iconUrl\n ? {\n url: iconUrl,\n scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)\n }\n : {};\n\n const marker = new window.google.maps.Marker({\n position: { lat: latitude, lng: longitude },\n map,\n icon,\n title: label || ''\n });\n\n addShapeListeners(map, router, shape, imageData, marker);\n\n shapesArray.push(marker);\n\n marker.setMap(map);\n }\n};\n\nconst setPolyline = (map, router, shape, imageData) => {\n const { paths } = shape;\n const path = getPath(paths);\n\n if (path.length) {\n const polyline = new window.google.maps.Polyline({\n path,\n geodesic: true,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polyline);\n\n shapesArray.push(polyline);\n\n polyline.setMap(map);\n }\n};\n\nconst setPolygon = (map, router, shape, imageData) => {\n const { paths: unParsedPaths } = shape;\n const paths = getPath(unParsedPaths);\n\n if (paths.length) {\n const polygon = new window.google.maps.Polygon({\n paths,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polygon);\n\n shapesArray.push(polygon);\n\n polygon.setMap(map);\n }\n};\n\nconst setRectangle = (map, router, shape, imageData) => {\n const { northBound, southBound, eastBound, westBound } = shape;\n if (areRectangleBoundsNumbers([northBound, southBound, eastBound, westBound])) {\n const rectangle = new window.google.maps.Rectangle({\n ...setStyleOptions(shape),\n map,\n bounds: {\n north: northBound,\n south: southBound,\n east: eastBound,\n west: westBound\n }\n });\n\n addShapeListeners(map, router, shape, imageData, rectangle);\n\n shapesArray.push(rectangle);\n\n rectangle.setMap(map);\n }\n};\n\nconst setCircle = (map, router, shape, imageData) => {\n const { latitude, longitude, radius } = shape;\n if (isPositionCorrect(latitude, longitude) && isNumber(radius)) {\n const circle = new window.google.maps.Circle({\n ...setStyleOptions(shape),\n map,\n center: { lat: latitude, lng: longitude },\n radius\n });\n\n addShapeListeners(map, router, shape, imageData, circle);\n\n shapesArray.push(circle);\n\n circle.setMap(map);\n }\n};\n\nconst setShapes = (map, router, shapes, imageData) => {\n const mapZoom = map.getZoom();\n clearShapes();\n\n shapes.forEach(shape => {\n const { type, minZoom, maxZoom } = shape;\n\n if (mapZoom >= minZoom && mapZoom <= maxZoom) {\n switch (type) {\n case MARKER: {\n setMarker(map, router, shape, imageData);\n break;\n }\n case POLYLINE: {\n setPolyline(map, router, shape, imageData);\n break;\n }\n case POLYGON: {\n setPolygon(map, router, shape, imageData);\n break;\n }\n case RECTANGLE: {\n setRectangle(map, router, shape, imageData);\n break;\n }\n case CIRCLE: {\n setCircle(map, router, shape, imageData);\n break;\n }\n default:\n break;\n }\n }\n });\n};\n\nexport default setShapes;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"set-shapes.js","names":["shapesArray","infoWindowArray","clearShapes","length","forEach","shape","setMap","closeInfoWindows","infoWindow","close","addShapeListeners","map","router","imageData","shapeInstance","enableInfoPane","dataSummaries","url","shapeData","window","google","maps","InfoWindow","content","addListener","CLICK","event","ReactDOMServer","infoWindowContent","renderToString","setContent","setPosition","latLng","open","push","setStyleOptions","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","styleSettings","Object","keys","reduce","acc","key","settingValue","shouldValueBeNumber","includes","COLOR","hasValuePassedCondition","areRectangleBoundsNumbers","bounds","every","bound","isPositionCorrect","lat","lng","getIconUrl","imageId","image","find","id","Promise","all","dataSummary","elementTitle","type","propsToDisplay","otherProps","isTypeHeading","HEADING_LARGE","summaryPropsWithContent","modifier","LIST","SummaryComponent","summaryComponents","render","preload","getDataSummaryComponent","component","summariesWithContent","shouldShowImage","getImageElement","imageUrl","data","imageElement","altText","getIcon","markerWidth","markerHeight","svgPath","iconUrl","icon","scaledSize","Size","svgMarker","path","DEFAULT_CUSTOM_MARKER_PATH","rotation","scale","setMarker","label","latitude","longitude","marker","Marker","position","title","setPolyline","paths","polyline","Polyline","geodesic","setPolygon","unParsedPaths","polygon","Polygon","setRectangle","northBound","southBound","eastBound","westBound","rectangle","Rectangle","north","south","east","west","setCircle","radius","circle","Circle","center","setShapes","shapes","mapZoom","getZoom","minZoom","maxZoom","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE"],"sources":["../../../src/GoogleMaps/helpers/set-shapes.js"],"sourcesContent":["import React from 'react';\nimport isNumber from 'lodash.isnumber';\nimport ReactDOMServer from 'react-dom/server';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport {\n buildPropsToDisplayWithContent,\n summaryComponents,\n getClassModifiers\n} from '@blaze-cms/react-page-builder';\nimport getPath from './get-path';\nimport {\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n COLOR,\n CLICK,\n HEADING_LARGE,\n LIST,\n DEFAULT_CUSTOM_MARKER_PATH\n} from '../../constants';\n\nconst shapesArray = [];\nconst infoWindowArray = [];\n\nconst clearShapes = () => {\n if (shapesArray.length) {\n shapesArray.forEach(shape => shape.setMap(null));\n shapesArray.length = 0;\n }\n};\n\nconst closeInfoWindows = () => {\n if (infoWindowArray.length) {\n infoWindowArray.forEach(infoWindow => infoWindow.close());\n infoWindowArray.length = 0;\n }\n};\n\nconst addShapeListeners = (map, router, shape, imageData, shapeInstance) => {\n const { enableInfoPane = false, dataSummaries = [], url, shapeData } = shape;\n\n if (enableInfoPane) {\n const infoWindow = new window.google.maps.InfoWindow({\n content: ''\n });\n\n shapeInstance.addListener(CLICK, async event => {\n closeInfoWindows();\n const content = ReactDOMServer.renderToString(\n await infoWindowContent(imageData, dataSummaries, url, shapeData)\n );\n infoWindow.setContent(content);\n infoWindow.setPosition(event.latLng);\n infoWindow.open(map, shapeInstance);\n infoWindowArray.push(infoWindow);\n });\n } else if (url) {\n shapeInstance.addListener(CLICK, () => {\n router.push(url);\n });\n }\n};\n\nconst setStyleOptions = shape => {\n const { strokeColor, strokeOpacity, strokeWeight, fillColor, fillOpacity } = shape;\n const styleSettings = { strokeColor, fillColor, strokeOpacity, strokeWeight, fillOpacity };\n\n return {\n ...Object.keys(styleSettings).reduce((acc, key) => {\n const settingValue = styleSettings[key];\n const shouldValueBeNumber = !key.includes(COLOR);\n const hasValuePassedCondition = shouldValueBeNumber ? isNumber(settingValue) : settingValue;\n if (hasValuePassedCondition) acc[key] = settingValue;\n return acc;\n }, {})\n };\n};\n\nconst areRectangleBoundsNumbers = bounds => bounds.every(bound => isNumber(bound));\n\nconst isPositionCorrect = (lat, lng) => isNumber(lat) && isNumber(lng);\n\nconst getIconUrl = (imageId, imageData) => {\n if (!imageId) return '';\n const image = imageData.find(({ id }) => id === imageId);\n if (!image || !image.url) return '';\n\n return image.url;\n};\n\nconst infoWindowContent = async (imageData, dataSummaries, url, shapeData) => {\n const summariesWithContent = await Promise.all(\n dataSummaries.map(async dataSummary => {\n const { elementTitle, type, propsToDisplay, ...otherProps } = dataSummary;\n const isTypeHeading = type === HEADING_LARGE;\n const summaryPropsWithContent = buildPropsToDisplayWithContent(shapeData, propsToDisplay);\n const modifier = getClassModifiers(LIST, otherProps);\n const SummaryComponent = summaryComponents[type];\n await SummaryComponent.render.preload(); // preload dynamic nextjs component\n\n if (!summaryPropsWithContent.length) return null;\n\n const getDataSummaryComponent = () => {\n const component = (\n <SummaryComponent\n key={type}\n modifier={modifier}\n elementTitle={elementTitle}\n summaryPropsWithContent={summaryPropsWithContent}\n />\n );\n\n if (isTypeHeading && url) return <Link href={url}>{component}</Link>;\n\n return component;\n };\n\n return getDataSummaryComponent();\n })\n );\n const { imageId } = shapeData || {};\n const image = imageData.find(({ id }) => id === imageId);\n const shouldShowImage = image && image.url;\n\n const getImageElement = () => {\n const { url: imageUrl, data } = image;\n const imageElement = (\n <img className=\"info__window\" src={imageUrl} alt={data && data.altText ? data.altText : ''} />\n );\n\n if (url) return <Link href={url}>{imageElement}</Link>;\n\n return imageElement;\n };\n\n return (\n <>\n {shouldShowImage && getImageElement()}\n {summariesWithContent}\n </>\n );\n};\n\nfunction getIcon(imageData, shape) {\n const {\n imageId,\n markerWidth = 50,\n markerHeight = 50,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n svgPath\n } = shape;\n const iconUrl = getIconUrl(imageId, imageData);\n\n const icon = iconUrl\n ? {\n url: iconUrl,\n scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)\n }\n : null;\n\n if (icon) return icon;\n\n if (!svgPath && !fillColor && !strokeColor) return {}; // any can be true for custom marker\n\n const svgMarker = {\n path: svgPath || DEFAULT_CUSTOM_MARKER_PATH,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n rotation: 0,\n scale: 2\n };\n return svgMarker;\n}\n\nconst setMarker = (map, router, shape, imageData) => {\n const { label = '', latitude, longitude } = shape;\n\n if (isPositionCorrect(latitude, longitude)) {\n const svgMarker = getIcon(imageData, shape);\n\n const marker = new window.google.maps.Marker({\n position: { lat: latitude, lng: longitude },\n map,\n icon: svgMarker,\n title: label || ''\n });\n\n addShapeListeners(map, router, shape, imageData, marker);\n\n shapesArray.push(marker);\n\n marker.setMap(map);\n }\n};\n\nconst setPolyline = (map, router, shape, imageData) => {\n const { paths } = shape;\n const path = getPath(paths);\n\n if (path.length) {\n const polyline = new window.google.maps.Polyline({\n path,\n geodesic: true,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polyline);\n\n shapesArray.push(polyline);\n\n polyline.setMap(map);\n }\n};\n\nconst setPolygon = (map, router, shape, imageData) => {\n const { paths: unParsedPaths } = shape;\n const paths = getPath(unParsedPaths);\n\n if (paths.length) {\n const polygon = new window.google.maps.Polygon({\n paths,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polygon);\n\n shapesArray.push(polygon);\n\n polygon.setMap(map);\n }\n};\n\nconst setRectangle = (map, router, shape, imageData) => {\n const { northBound, southBound, eastBound, westBound } = shape;\n if (areRectangleBoundsNumbers([northBound, southBound, eastBound, westBound])) {\n const rectangle = new window.google.maps.Rectangle({\n ...setStyleOptions(shape),\n map,\n bounds: {\n north: northBound,\n south: southBound,\n east: eastBound,\n west: westBound\n }\n });\n\n addShapeListeners(map, router, shape, imageData, rectangle);\n\n shapesArray.push(rectangle);\n\n rectangle.setMap(map);\n }\n};\n\nconst setCircle = (map, router, shape, imageData) => {\n const { latitude, longitude, radius } = shape;\n if (isPositionCorrect(latitude, longitude) && isNumber(radius)) {\n const circle = new window.google.maps.Circle({\n ...setStyleOptions(shape),\n map,\n center: { lat: latitude, lng: longitude },\n radius\n });\n\n addShapeListeners(map, router, shape, imageData, circle);\n\n shapesArray.push(circle);\n\n circle.setMap(map);\n }\n};\n\nconst setShapes = (map, router, shapes, imageData) => {\n const mapZoom = map.getZoom();\n clearShapes();\n\n shapes.forEach(shape => {\n const { type, minZoom, maxZoom } = shape;\n\n if (mapZoom >= minZoom && mapZoom <= maxZoom) {\n switch (type) {\n case MARKER: {\n setMarker(map, router, shape, imageData);\n break;\n }\n case POLYLINE: {\n setPolyline(map, router, shape, imageData);\n break;\n }\n case POLYGON: {\n setPolygon(map, router, shape, imageData);\n break;\n }\n case RECTANGLE: {\n setRectangle(map, router, shape, imageData);\n break;\n }\n case CIRCLE: {\n setCircle(map, router, shape, imageData);\n break;\n }\n default:\n break;\n }\n }\n });\n};\n\nexport default setShapes;\n"],"mappings":"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"}
|
package/lib/constants.js
CHANGED
|
@@ -5,7 +5,7 @@ require("core-js/modules/es.object.define-property.js");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.ZOOM_CHANGED = exports.URL = exports.TERRAIN = exports.SCRIPT = exports.SATELLITE = exports.ROADMAP = exports.RECTANGLE = exports.POLYLINE = exports.POLYGON = exports.PLUGIN_NAME = exports.NONE = exports.MARKER = exports.LOAD = exports.LIST = exports.IN_VIEW_CONFIG = exports.IMAGE_ID = exports.ID = exports.HEADING_LARGE = exports.GOOGLE_MAPS_SCRIPT = exports.FILL_OPTIONS = exports.FEATURE_TYPE_MAP = exports.ELEMENT_GEOMETRY = exports.DISABLE_TRANSPORTATION_STYLES = exports.DISABLE_POI_STYLES = exports.DISABLE_LABELS_STYLES = exports.DISABLE_BOUNDARIES_STYLES = exports.DEFAULT_SELECT_VALUE = exports.DEFAULT_OPTIONS = exports.DEFAULT_COLOR = exports.COOPERATIVE = exports.COLOR = exports.CLICK = exports.CIRCLE = exports.ALL = void 0;
|
|
8
|
+
exports.ZOOM_CHANGED = exports.URL = exports.TERRAIN = exports.SCRIPT = exports.SATELLITE = exports.ROADMAP = exports.RECTANGLE = exports.POLYLINE = exports.POLYGON = exports.PLUGIN_NAME = exports.NONE = exports.MARKER = exports.LOAD = exports.LIST = exports.IN_VIEW_CONFIG = exports.IMAGE_ID = exports.ID = exports.HEADING_LARGE = exports.GOOGLE_MAPS_SCRIPT = exports.FILL_OPTIONS = exports.FEATURE_TYPE_MAP = exports.ELEMENT_GEOMETRY = exports.DISABLE_TRANSPORTATION_STYLES = exports.DISABLE_POI_STYLES = exports.DISABLE_LABELS_STYLES = exports.DISABLE_BOUNDARIES_STYLES = exports.DEFAULT_SELECT_VALUE = exports.DEFAULT_OPTIONS = exports.DEFAULT_CUSTOM_MARKER_PATH = exports.DEFAULT_COLOR = exports.COOPERATIVE = exports.COLOR = exports.CLICK = exports.CIRCLE = exports.ALL = void 0;
|
|
9
9
|
var PLUGIN_NAME = 'google-maps-fe';
|
|
10
10
|
exports.PLUGIN_NAME = PLUGIN_NAME;
|
|
11
11
|
var GOOGLE_MAPS_SCRIPT = 'https://maps.googleapis.com/maps/api/js?key=';
|
|
@@ -127,4 +127,6 @@ var IN_VIEW_CONFIG = {
|
|
|
127
127
|
exports.IN_VIEW_CONFIG = IN_VIEW_CONFIG;
|
|
128
128
|
var DEFAULT_SELECT_VALUE = 'Default';
|
|
129
129
|
exports.DEFAULT_SELECT_VALUE = DEFAULT_SELECT_VALUE;
|
|
130
|
+
var DEFAULT_CUSTOM_MARKER_PATH = 'M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z';
|
|
131
|
+
exports.DEFAULT_CUSTOM_MARKER_PATH = DEFAULT_CUSTOM_MARKER_PATH;
|
|
130
132
|
//# sourceMappingURL=constants.js.map
|
package/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["PLUGIN_NAME","GOOGLE_MAPS_SCRIPT","COOPERATIVE","NONE","LOAD","SCRIPT","ROADMAP","SATELLITE","TERRAIN","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE","DEFAULT_COLOR","DEFAULT_OPTIONS","strokeOpacity","strokeWeight","FILL_OPTIONS","fillOpacity","DISABLE_LABELS_STYLES","elementType","stylers","visibility","DISABLE_BOUNDARIES_STYLES","featureType","DISABLE_POI_STYLES","DISABLE_TRANSPORTATION_STYLES","ZOOM_CHANGED","COLOR","IMAGE_ID","URL","ID","CLICK","ELEMENT_GEOMETRY","FEATURE_TYPE_MAP","waterColor","landscapeColor","ALL","HEADING_LARGE","LIST","IN_VIEW_CONFIG","once","offset","DEFAULT_SELECT_VALUE"],"sources":["../src/constants.js"],"sourcesContent":["const PLUGIN_NAME = 'google-maps-fe';\nconst GOOGLE_MAPS_SCRIPT = 'https://maps.googleapis.com/maps/api/js?key=';\nconst COOPERATIVE = 'cooperative';\nconst NONE = 'none';\nconst LOAD = 'load';\nconst SCRIPT = 'script';\nconst ROADMAP = 'roadmap';\nconst SATELLITE = 'satellite';\nconst TERRAIN = 'terrain';\nconst MARKER = 'marker';\nconst POLYLINE = 'polyline';\nconst POLYGON = 'polygon';\nconst RECTANGLE = 'rectangle';\nconst CIRCLE = 'circle';\nconst DEFAULT_COLOR = '#FF0000';\nconst DEFAULT_OPTIONS = {\n strokeOpacity: 1.0,\n strokeWeight: 2\n};\nconst FILL_OPTIONS = {\n fillOpacity: 0.35\n};\n\nconst DISABLE_LABELS_STYLES = [\n {\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_BOUNDARIES_STYLES = [\n {\n featureType: 'administrative',\n elementType: 'geometry',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'administrative.land_parcel',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'administrative.neighborhood',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_POI_STYLES = [\n {\n featureType: 'poi',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_TRANSPORTATION_STYLES = [\n {\n featureType: 'road',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'road',\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'transit',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst ZOOM_CHANGED = 'zoom_changed';\nconst COLOR = 'Color';\nconst IMAGE_ID = 'imageId';\nconst URL = 'url';\nconst ID = 'id';\nconst CLICK = 'click';\nconst ELEMENT_GEOMETRY = 'geometry.fill';\n\nconst FEATURE_TYPE_MAP = {\n waterColor: 'water',\n landscapeColor: 'landscape'\n};\n\nconst ALL = 'all';\n\nconst HEADING_LARGE = 'heading_large';\nconst LIST = 'list';\n\nconst IN_VIEW_CONFIG = {\n once: true,\n offset: '200px'\n};\n\nconst DEFAULT_SELECT_VALUE = 'Default';\n\nexport {\n PLUGIN_NAME,\n GOOGLE_MAPS_SCRIPT,\n COOPERATIVE,\n NONE,\n LOAD,\n SCRIPT,\n ROADMAP,\n SATELLITE,\n TERRAIN,\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n DEFAULT_OPTIONS,\n FILL_OPTIONS,\n DEFAULT_COLOR,\n ZOOM_CHANGED,\n COLOR,\n IMAGE_ID,\n URL,\n ID,\n CLICK,\n ELEMENT_GEOMETRY,\n FEATURE_TYPE_MAP,\n ALL,\n HEADING_LARGE,\n LIST,\n IN_VIEW_CONFIG,\n DISABLE_TRANSPORTATION_STYLES,\n DISABLE_POI_STYLES,\n DISABLE_BOUNDARIES_STYLES,\n DISABLE_LABELS_STYLES,\n DEFAULT_SELECT_VALUE\n};\n"],"mappings":";;;;;;;;AAAA,IAAMA,WAAW,GAAG,gBAApB;;AACA,IAAMC,kBAAkB,GAAG,8CAA3B;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,QAAQ,GAAG,UAAjB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,aAAa,GAAG,SAAtB;;AACA,IAAMC,eAAe,GAAG;EACtBC,aAAa,EAAE,GADO;EAEtBC,YAAY,EAAE;AAFQ,CAAxB;;AAIA,IAAMC,YAAY,GAAG;EACnBC,WAAW,EAAE;AADM,CAArB;;AAIA,IAAMC,qBAAqB,GAAG,CAC5B;EACEC,WAAW,EAAE,QADf;EAEEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAD4B,CAA9B;;AAWA,IAAMC,yBAAyB,GAAG,CAChC;EACEC,WAAW,EAAE,gBADf;EAEEJ,WAAW,EAAE,UAFf;EAGEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAHX,CADgC,EAUhC;EACEE,WAAW,EAAE,4BADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAVgC,EAkBhC;EACEE,WAAW,EAAE,6BADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAlBgC,CAAlC;;AA4BA,IAAMG,kBAAkB,GAAG,CACzB;EACED,WAAW,EAAE,KADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CADyB,CAA3B;;AAWA,IAAMI,6BAA6B,GAAG,CACpC;EACEF,WAAW,EAAE,MADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CADoC,EASpC;EACEE,WAAW,EAAE,MADf;EAEEJ,WAAW,EAAE,aAFf;EAGEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAHX,CAToC,EAkBpC;EACEE,WAAW,EAAE,SADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAlBoC,CAAtC;;AA4BA,IAAMK,YAAY,GAAG,cAArB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,QAAQ,GAAG,SAAjB;;AACA,IAAMC,GAAG,GAAG,KAAZ;;AACA,IAAMC,EAAE,GAAG,IAAX;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,gBAAgB,GAAG,eAAzB;;AAEA,IAAMC,gBAAgB,GAAG;EACvBC,UAAU,EAAE,OADW;EAEvBC,cAAc,EAAE;AAFO,CAAzB;;AAKA,IAAMC,GAAG,GAAG,KAAZ;;AAEA,IAAMC,aAAa,GAAG,eAAtB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AAEA,IAAMC,cAAc,GAAG;EACrBC,IAAI,EAAE,IADe;EAErBC,MAAM,EAAE;AAFa,CAAvB;;AAKA,IAAMC,oBAAoB,GAAG,SAA7B"}
|
|
1
|
+
{"version":3,"file":"constants.js","names":["PLUGIN_NAME","GOOGLE_MAPS_SCRIPT","COOPERATIVE","NONE","LOAD","SCRIPT","ROADMAP","SATELLITE","TERRAIN","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE","DEFAULT_COLOR","DEFAULT_OPTIONS","strokeOpacity","strokeWeight","FILL_OPTIONS","fillOpacity","DISABLE_LABELS_STYLES","elementType","stylers","visibility","DISABLE_BOUNDARIES_STYLES","featureType","DISABLE_POI_STYLES","DISABLE_TRANSPORTATION_STYLES","ZOOM_CHANGED","COLOR","IMAGE_ID","URL","ID","CLICK","ELEMENT_GEOMETRY","FEATURE_TYPE_MAP","waterColor","landscapeColor","ALL","HEADING_LARGE","LIST","IN_VIEW_CONFIG","once","offset","DEFAULT_SELECT_VALUE","DEFAULT_CUSTOM_MARKER_PATH"],"sources":["../src/constants.js"],"sourcesContent":["const PLUGIN_NAME = 'google-maps-fe';\nconst GOOGLE_MAPS_SCRIPT = 'https://maps.googleapis.com/maps/api/js?key=';\nconst COOPERATIVE = 'cooperative';\nconst NONE = 'none';\nconst LOAD = 'load';\nconst SCRIPT = 'script';\nconst ROADMAP = 'roadmap';\nconst SATELLITE = 'satellite';\nconst TERRAIN = 'terrain';\nconst MARKER = 'marker';\nconst POLYLINE = 'polyline';\nconst POLYGON = 'polygon';\nconst RECTANGLE = 'rectangle';\nconst CIRCLE = 'circle';\nconst DEFAULT_COLOR = '#FF0000';\nconst DEFAULT_OPTIONS = {\n strokeOpacity: 1.0,\n strokeWeight: 2\n};\nconst FILL_OPTIONS = {\n fillOpacity: 0.35\n};\n\nconst DISABLE_LABELS_STYLES = [\n {\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_BOUNDARIES_STYLES = [\n {\n featureType: 'administrative',\n elementType: 'geometry',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'administrative.land_parcel',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'administrative.neighborhood',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_POI_STYLES = [\n {\n featureType: 'poi',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_TRANSPORTATION_STYLES = [\n {\n featureType: 'road',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'road',\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'transit',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst ZOOM_CHANGED = 'zoom_changed';\nconst COLOR = 'Color';\nconst IMAGE_ID = 'imageId';\nconst URL = 'url';\nconst ID = 'id';\nconst CLICK = 'click';\nconst ELEMENT_GEOMETRY = 'geometry.fill';\n\nconst FEATURE_TYPE_MAP = {\n waterColor: 'water',\n landscapeColor: 'landscape'\n};\n\nconst ALL = 'all';\n\nconst HEADING_LARGE = 'heading_large';\nconst LIST = 'list';\n\nconst IN_VIEW_CONFIG = {\n once: true,\n offset: '200px'\n};\n\nconst DEFAULT_SELECT_VALUE = 'Default';\n\nconst DEFAULT_CUSTOM_MARKER_PATH =\n 'M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z';\n\nexport {\n PLUGIN_NAME,\n GOOGLE_MAPS_SCRIPT,\n COOPERATIVE,\n NONE,\n LOAD,\n SCRIPT,\n ROADMAP,\n SATELLITE,\n TERRAIN,\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n DEFAULT_OPTIONS,\n FILL_OPTIONS,\n DEFAULT_COLOR,\n ZOOM_CHANGED,\n COLOR,\n IMAGE_ID,\n URL,\n ID,\n CLICK,\n ELEMENT_GEOMETRY,\n FEATURE_TYPE_MAP,\n ALL,\n HEADING_LARGE,\n LIST,\n IN_VIEW_CONFIG,\n DISABLE_TRANSPORTATION_STYLES,\n DISABLE_POI_STYLES,\n DISABLE_BOUNDARIES_STYLES,\n DISABLE_LABELS_STYLES,\n DEFAULT_SELECT_VALUE,\n DEFAULT_CUSTOM_MARKER_PATH\n};\n"],"mappings":";;;;;;;;AAAA,IAAMA,WAAW,GAAG,gBAApB;;AACA,IAAMC,kBAAkB,GAAG,8CAA3B;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,QAAQ,GAAG,UAAjB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,aAAa,GAAG,SAAtB;;AACA,IAAMC,eAAe,GAAG;EACtBC,aAAa,EAAE,GADO;EAEtBC,YAAY,EAAE;AAFQ,CAAxB;;AAIA,IAAMC,YAAY,GAAG;EACnBC,WAAW,EAAE;AADM,CAArB;;AAIA,IAAMC,qBAAqB,GAAG,CAC5B;EACEC,WAAW,EAAE,QADf;EAEEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAD4B,CAA9B;;AAWA,IAAMC,yBAAyB,GAAG,CAChC;EACEC,WAAW,EAAE,gBADf;EAEEJ,WAAW,EAAE,UAFf;EAGEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAHX,CADgC,EAUhC;EACEE,WAAW,EAAE,4BADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAVgC,EAkBhC;EACEE,WAAW,EAAE,6BADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAlBgC,CAAlC;;AA4BA,IAAMG,kBAAkB,GAAG,CACzB;EACED,WAAW,EAAE,KADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CADyB,CAA3B;;AAWA,IAAMI,6BAA6B,GAAG,CACpC;EACEF,WAAW,EAAE,MADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CADoC,EASpC;EACEE,WAAW,EAAE,MADf;EAEEJ,WAAW,EAAE,aAFf;EAGEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAHX,CAToC,EAkBpC;EACEE,WAAW,EAAE,SADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAlBoC,CAAtC;;AA4BA,IAAMK,YAAY,GAAG,cAArB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,QAAQ,GAAG,SAAjB;;AACA,IAAMC,GAAG,GAAG,KAAZ;;AACA,IAAMC,EAAE,GAAG,IAAX;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,gBAAgB,GAAG,eAAzB;;AAEA,IAAMC,gBAAgB,GAAG;EACvBC,UAAU,EAAE,OADW;EAEvBC,cAAc,EAAE;AAFO,CAAzB;;AAKA,IAAMC,GAAG,GAAG,KAAZ;;AAEA,IAAMC,aAAa,GAAG,eAAtB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AAEA,IAAMC,cAAc,GAAG;EACrBC,IAAI,EAAE,IADe;EAErBC,MAAM,EAAE;AAFa,CAAvB;;AAKA,IAAMC,oBAAoB,GAAG,SAA7B;;AAEA,IAAMC,0BAA0B,GAC9B,yKADF"}
|
|
@@ -8,6 +8,7 @@ import { useInView } from '@blaze-react/utils/lib/customHooks';
|
|
|
8
8
|
import { functions, isEqual, omit } from 'lodash';
|
|
9
9
|
import { setMapOptions, addZoomListener } from './helpers';
|
|
10
10
|
import { GOOGLE_MAPS_SCRIPT, LOAD, SCRIPT, IN_VIEW_CONFIG } from '../constants';
|
|
11
|
+
import GoogleMapsHtml from './GoogleMapsHtml';
|
|
11
12
|
|
|
12
13
|
const shouldNotUpdate = (props, nextProps) => {
|
|
13
14
|
const [funcs, nextFuncs] = [functions(props), functions(nextProps)];
|
|
@@ -95,9 +96,8 @@ const GoogleMaps = _ref => {
|
|
|
95
96
|
}, []);
|
|
96
97
|
if (map && typeof onMount === `function`) onMount(map, onMountProps);
|
|
97
98
|
if (isIntersecting) addZoomListener(map, router, mapShapes, imageData);
|
|
98
|
-
return /*#__PURE__*/React.createElement(
|
|
99
|
-
|
|
100
|
-
ref: mapRef
|
|
99
|
+
return /*#__PURE__*/React.createElement(GoogleMapsHtml, {
|
|
100
|
+
mapRef: mapRef
|
|
101
101
|
});
|
|
102
102
|
};
|
|
103
103
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleMaps.js","names":["React","useEffect","useState","PropTypes","useRouter","withTitle","useInView","functions","isEqual","omit","setMapOptions","addZoomListener","GOOGLE_MAPS_SCRIPT","LOAD","SCRIPT","IN_VIEW_CONFIG","shouldNotUpdate","props","nextProps","funcs","nextFuncs","noPropChange","noFuncChange","length","every","fn","toString","GoogleMaps","type","name","modifier","elementTitle","imageData","onMount","onMountProps","parent","mapShapes","centerCoordinates","otherProps","router","isIntersecting","mapRef","map","setMap","options","onLoad","initialMap","window","google","maps","Map","current","latitude","lat","longitude","lng","setCenter","bounds","LatLngBounds","forEach","extend","LatLng","fitBounds","script","document","createElement","src","process","env","GOOGLE_MAPS_API_KEY","head","append","addEventListener","removeEventListener","setOptions","enableGeolocation","shouldActivateGeolocation","navigator","geolocation","getCurrentPosition","position","center","coords","propTypes","array","string","func","object","defaultProps","memo"],"sources":["../../src/GoogleMaps/GoogleMaps.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { withTitle } from '@blaze-cms/react-page-builder';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { functions, isEqual, omit } from 'lodash';\nimport { setMapOptions, addZoomListener } from './helpers';\nimport { GOOGLE_MAPS_SCRIPT, LOAD, SCRIPT, IN_VIEW_CONFIG } from '../constants';\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":["React","useEffect","useState","PropTypes","useRouter","withTitle","useInView","functions","isEqual","omit","setMapOptions","addZoomListener","GOOGLE_MAPS_SCRIPT","LOAD","SCRIPT","IN_VIEW_CONFIG","GoogleMapsHtml","shouldNotUpdate","props","nextProps","funcs","nextFuncs","noPropChange","noFuncChange","length","every","fn","toString","GoogleMaps","type","name","modifier","elementTitle","imageData","onMount","onMountProps","parent","mapShapes","centerCoordinates","otherProps","router","isIntersecting","mapRef","map","setMap","options","onLoad","initialMap","window","google","maps","Map","current","latitude","lat","longitude","lng","setCenter","bounds","LatLngBounds","forEach","extend","LatLng","fitBounds","script","document","createElement","src","process","env","GOOGLE_MAPS_API_KEY","head","append","addEventListener","removeEventListener","setOptions","enableGeolocation","shouldActivateGeolocation","navigator","geolocation","getCurrentPosition","position","center","coords","propTypes","array","string","func","object","defaultProps","memo"],"sources":["../../src/GoogleMaps/GoogleMaps.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { withTitle } from '@blaze-cms/react-page-builder';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { functions, isEqual, omit } from 'lodash';\nimport { setMapOptions, addZoomListener } from './helpers';\nimport { GOOGLE_MAPS_SCRIPT, LOAD, SCRIPT, IN_VIEW_CONFIG } from '../constants';\nimport GoogleMapsHtml from './GoogleMapsHtml';\n\nconst shouldNotUpdate = (props, nextProps) => {\n const [funcs, nextFuncs] = [functions(props), functions(nextProps)];\n const noPropChange = isEqual(omit(props, funcs), omit(nextProps, nextFuncs));\n const noFuncChange =\n funcs.length === nextFuncs.length &&\n funcs.every(fn => props[fn].toString() === nextProps[fn].toString());\n return noPropChange && noFuncChange;\n};\n\nconst GoogleMaps = ({\n type,\n name,\n modifier,\n elementTitle,\n imageData,\n onMount,\n onMountProps,\n parent,\n mapShapes,\n centerCoordinates,\n ...otherProps\n}) => {\n const router = useRouter();\n const [isIntersecting, mapRef] = useInView(IN_VIEW_CONFIG);\n const [map, setMap] = useState();\n\n useEffect(() => {\n const options = setMapOptions(otherProps);\n const onLoad = () => {\n const initialMap = new window.google.maps.Map(mapRef.current, options);\n if (centerCoordinates.length === 1) {\n const [{ latitude: lat, longitude: lng }] = centerCoordinates;\n initialMap.setCenter({ lat, lng });\n } else {\n const bounds = new window.google.maps.LatLngBounds();\n centerCoordinates.forEach(({ latitude, longitude }) => {\n bounds.extend(new window.google.maps.LatLng(latitude, longitude));\n });\n initialMap.fitBounds(bounds);\n }\n setMap(initialMap);\n };\n\n if (!window.google) {\n const script = document.createElement(SCRIPT);\n script.src = `${GOOGLE_MAPS_SCRIPT}${process.env.GOOGLE_MAPS_API_KEY}`;\n document.head.append(script);\n script.addEventListener(LOAD, onLoad);\n return () => script.removeEventListener(LOAD, onLoad);\n }\n\n onLoad();\n\n if (map) {\n map.setOptions(options);\n const { enableGeolocation } = otherProps;\n const shouldActivateGeolocation = enableGeolocation && navigator.geolocation;\n if (shouldActivateGeolocation) {\n navigator.geolocation.getCurrentPosition(\n position => {\n const center = {\n lat: position.coords.latitude,\n lng: position.coords.longitude\n };\n\n map.setCenter(center);\n },\n () => {}\n );\n }\n }\n\n return () => {};\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (map && typeof onMount === `function`) onMount(map, onMountProps);\n if (isIntersecting) addZoomListener(map, router, mapShapes, imageData);\n\n return <GoogleMapsHtml mapRef={mapRef} />;\n};\n\nGoogleMaps.propTypes = {\n mapShapes: PropTypes.array,\n imageData: PropTypes.array,\n type: PropTypes.string,\n name: PropTypes.string,\n modifier: PropTypes.string,\n elementTitle: PropTypes.string,\n onMount: PropTypes.func,\n onMountProps: PropTypes.object,\n parent: PropTypes.object,\n centerCoordinates: PropTypes.array\n};\n\nGoogleMaps.defaultProps = {\n mapShapes: [],\n imageData: [],\n centerCoordinates: [],\n type: '',\n name: '',\n modifier: '',\n elementTitle: '',\n onMount: null,\n onMountProps: null,\n parent: {}\n};\n\nexport default React.memo(withTitle(GoogleMaps), shouldNotUpdate);\n"],"mappings":"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"}
|