@blaze-cms/plugin-google-maps-fe 0.123.0-alpha.25 → 0.123.0-alpha.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/lib/GoogleMaps/GoogleMaps.js +68 -40
- package/lib/GoogleMaps/GoogleMaps.js.map +1 -1
- package/lib/GoogleMaps/GoogleMapsFactory.js +8 -4
- package/lib/GoogleMaps/GoogleMapsFactory.js.map +1 -1
- package/lib/GoogleMaps/GoogleMapsRender.js +24 -41
- package/lib/GoogleMaps/GoogleMapsRender.js.map +1 -1
- package/lib/GoogleMaps/helpers/add-zoom-listener.js +3 -50
- package/lib/GoogleMaps/helpers/add-zoom-listener.js.map +1 -1
- package/lib/GoogleMaps/helpers/build-map-shapes.js +97 -0
- package/lib/GoogleMaps/helpers/build-map-shapes.js.map +1 -0
- package/lib/GoogleMaps/helpers/build-query.js +24 -14
- package/lib/GoogleMaps/helpers/build-query.js.map +1 -1
- package/lib/GoogleMaps/helpers/build-shapes-configs.js +196 -0
- package/lib/GoogleMaps/helpers/build-shapes-configs.js.map +1 -0
- package/lib/GoogleMaps/helpers/get-center-coordinates.js +49 -0
- package/lib/GoogleMaps/helpers/get-center-coordinates.js.map +1 -0
- package/lib/GoogleMaps/helpers/get-image-ids.js +16 -14
- package/lib/GoogleMaps/helpers/get-image-ids.js.map +1 -1
- package/lib/GoogleMaps/helpers/index.js +21 -5
- package/lib/GoogleMaps/helpers/index.js.map +1 -1
- package/lib/GoogleMaps/helpers/set-shapes.js +213 -200
- package/lib/GoogleMaps/helpers/set-shapes.js.map +1 -1
- package/lib/GoogleMaps/hooks/use-get-images.js +3 -2
- package/lib/GoogleMaps/hooks/use-get-images.js.map +1 -1
- package/lib/GoogleMaps/queries.js +22 -4
- package/lib/GoogleMaps/queries.js.map +1 -1
- package/lib-es/GoogleMaps/GoogleMaps.js +51 -25
- package/lib-es/GoogleMaps/GoogleMaps.js.map +1 -1
- package/lib-es/GoogleMaps/GoogleMapsFactory.js +10 -6
- package/lib-es/GoogleMaps/GoogleMapsFactory.js.map +1 -1
- package/lib-es/GoogleMaps/GoogleMapsRender.js +24 -32
- package/lib-es/GoogleMaps/GoogleMapsRender.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/add-zoom-listener.js +3 -23
- package/lib-es/GoogleMaps/helpers/add-zoom-listener.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/build-map-shapes.js +86 -0
- package/lib-es/GoogleMaps/helpers/build-map-shapes.js.map +1 -0
- package/lib-es/GoogleMaps/helpers/build-query.js +17 -8
- package/lib-es/GoogleMaps/helpers/build-query.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/build-shapes-configs.js +134 -0
- package/lib-es/GoogleMaps/helpers/build-shapes-configs.js.map +1 -0
- package/lib-es/GoogleMaps/helpers/get-center-coordinates.js +31 -0
- package/lib-es/GoogleMaps/helpers/get-center-coordinates.js.map +1 -0
- package/lib-es/GoogleMaps/helpers/get-image-ids.js +9 -14
- package/lib-es/GoogleMaps/helpers/get-image-ids.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/index.js +4 -2
- package/lib-es/GoogleMaps/helpers/index.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/set-shapes.js +80 -125
- package/lib-es/GoogleMaps/helpers/set-shapes.js.map +1 -1
- package/lib-es/GoogleMaps/hooks/use-get-images.js +4 -3
- package/lib-es/GoogleMaps/hooks/use-get-images.js.map +1 -1
- package/lib-es/GoogleMaps/queries.js +23 -2
- package/lib-es/GoogleMaps/queries.js.map +1 -1
- package/package.json +3 -3
- package/src/GoogleMaps/GoogleMaps.js +40 -27
- package/src/GoogleMaps/GoogleMapsFactory.js +11 -4
- package/src/GoogleMaps/GoogleMapsRender.js +22 -21
- package/src/GoogleMaps/helpers/add-zoom-listener.js +3 -22
- package/src/GoogleMaps/helpers/build-map-shapes.js +70 -0
- package/src/GoogleMaps/helpers/build-query.js +25 -10
- package/src/GoogleMaps/helpers/build-shapes-configs.js +110 -0
- package/src/GoogleMaps/helpers/get-center-coordinates.js +24 -0
- package/src/GoogleMaps/helpers/get-image-ids.js +6 -15
- package/src/GoogleMaps/helpers/index.js +12 -2
- package/src/GoogleMaps/helpers/set-shapes.js +87 -123
- package/src/GoogleMaps/hooks/use-get-images.js +4 -3
- package/src/GoogleMaps/queries.js +30 -3
- package/lib/GoogleMaps/helpers/set-entity-configs.js +0 -144
- package/lib/GoogleMaps/helpers/set-entity-configs.js.map +0 -1
- package/lib-es/GoogleMaps/helpers/set-entity-configs.js +0 -94
- package/lib-es/GoogleMaps/helpers/set-entity-configs.js.map +0 -1
- package/src/GoogleMaps/helpers/set-entity-configs.js +0 -84
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,36 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [0.123.0-alpha.29](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.28...v0.123.0-alpha.29) (2022-04-07)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* wait for map datasummary components to load before render. render map if no markers set ([#3429](https://github.com/thebyte9/blaze/issues/3429)) ([a2417bf](https://github.com/thebyte9/blaze/commit/a2417bf2f956d1af5b2a712d0004ef67b7a786bd))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [0.123.0-alpha.28](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.27...v0.123.0-alpha.28) (2022-04-07)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* added multiple markers/filters to maps ([#3427](https://github.com/thebyte9/blaze/issues/3427)) ([330dfac](https://github.com/thebyte9/blaze/commit/330dfac9e959faa8d118c9699415928f3a2fe854))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
# [0.123.0-alpha.27](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.26...v0.123.0-alpha.27) (2022-04-07)
|
|
29
|
+
|
|
30
|
+
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
6
36
|
# [0.123.0-alpha.25](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.24...v0.123.0-alpha.25) (2022-04-07)
|
|
7
37
|
|
|
8
38
|
**Note:** Version bump only for package @blaze-cms/plugin-google-maps-fe
|
|
@@ -21,9 +21,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
21
21
|
});
|
|
22
22
|
exports["default"] = void 0;
|
|
23
23
|
|
|
24
|
-
require("
|
|
24
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
25
25
|
|
|
26
|
-
require("
|
|
26
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
27
27
|
|
|
28
28
|
require("core-js/modules/es.array.every.js");
|
|
29
29
|
|
|
@@ -33,9 +33,13 @@ require("core-js/modules/es.date.to-string.js");
|
|
|
33
33
|
|
|
34
34
|
require("core-js/modules/es.regexp.to-string.js");
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
require("core-js/modules/es.function.name.js");
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
require("core-js/modules/es.array.for-each.js");
|
|
39
|
+
|
|
40
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
41
|
+
|
|
42
|
+
require("core-js/modules/es.array.concat.js");
|
|
39
43
|
|
|
40
44
|
var _react = _interopRequireWildcard(require("react"));
|
|
41
45
|
|
|
@@ -53,24 +57,36 @@ var _helpers = require("./helpers");
|
|
|
53
57
|
|
|
54
58
|
var _constants = require("../constants");
|
|
55
59
|
|
|
56
|
-
var _excluded = ["
|
|
60
|
+
var _excluded = ["type", "name", "modifier", "elementTitle", "imageData", "onMount", "onMountProps", "parent", "mapShapes", "centerCoordinates"];
|
|
57
61
|
|
|
58
62
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
59
63
|
|
|
60
64
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
61
65
|
|
|
62
|
-
var
|
|
63
|
-
var
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
66
|
+
var shouldNotUpdate = function shouldNotUpdate(props, nextProps) {
|
|
67
|
+
var _ref = [(0, _lodash.functions)(props), (0, _lodash.functions)(nextProps)],
|
|
68
|
+
funcs = _ref[0],
|
|
69
|
+
nextFuncs = _ref[1];
|
|
70
|
+
var noPropChange = (0, _lodash.isEqual)((0, _lodash.omit)(props, funcs), (0, _lodash.omit)(nextProps, nextFuncs));
|
|
71
|
+
var noFuncChange = funcs.length === nextFuncs.length && funcs.every(function (fn) {
|
|
72
|
+
return props[fn].toString() === nextProps[fn].toString();
|
|
73
|
+
});
|
|
74
|
+
return noPropChange && noFuncChange;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
var GoogleMaps = function GoogleMaps(_ref2) {
|
|
78
|
+
var type = _ref2.type,
|
|
79
|
+
name = _ref2.name,
|
|
80
|
+
modifier = _ref2.modifier,
|
|
81
|
+
elementTitle = _ref2.elementTitle,
|
|
82
|
+
imageData = _ref2.imageData,
|
|
83
|
+
onMount = _ref2.onMount,
|
|
84
|
+
onMountProps = _ref2.onMountProps,
|
|
85
|
+
parent = _ref2.parent,
|
|
86
|
+
mapShapes = _ref2.mapShapes,
|
|
87
|
+
centerCoordinates = _ref2.centerCoordinates,
|
|
88
|
+
otherProps = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
|
|
89
|
+
var router = (0, _router.useRouter)();
|
|
74
90
|
|
|
75
91
|
var _useInView = (0, _customHooks.useInView)(_constants.IN_VIEW_CONFIG),
|
|
76
92
|
_useInView2 = (0, _slicedToArray2["default"])(_useInView, 2),
|
|
@@ -86,7 +102,29 @@ var GoogleMaps = function GoogleMaps(_ref) {
|
|
|
86
102
|
var options = (0, _helpers.setMapOptions)(otherProps);
|
|
87
103
|
|
|
88
104
|
var onLoad = function onLoad() {
|
|
89
|
-
|
|
105
|
+
var initialMap = new window.google.maps.Map(mapRef.current, options);
|
|
106
|
+
|
|
107
|
+
if (centerCoordinates.length === 1) {
|
|
108
|
+
var _centerCoordinates = (0, _slicedToArray2["default"])(centerCoordinates, 1),
|
|
109
|
+
_centerCoordinates$ = _centerCoordinates[0],
|
|
110
|
+
lat = _centerCoordinates$.latitude,
|
|
111
|
+
lng = _centerCoordinates$.longitude;
|
|
112
|
+
|
|
113
|
+
initialMap.setCenter({
|
|
114
|
+
lat: lat,
|
|
115
|
+
lng: lng
|
|
116
|
+
});
|
|
117
|
+
} else {
|
|
118
|
+
var bounds = new window.google.maps.LatLngBounds();
|
|
119
|
+
centerCoordinates.forEach(function (_ref3) {
|
|
120
|
+
var latitude = _ref3.latitude,
|
|
121
|
+
longitude = _ref3.longitude;
|
|
122
|
+
bounds.extend(new window.google.maps.LatLng(latitude, longitude));
|
|
123
|
+
});
|
|
124
|
+
initialMap.fitBounds(bounds);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
setMap(initialMap);
|
|
90
128
|
};
|
|
91
129
|
|
|
92
130
|
if (!window.google) {
|
|
@@ -120,49 +158,39 @@ var GoogleMaps = function GoogleMaps(_ref) {
|
|
|
120
158
|
return function () {}; // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
121
159
|
}, []);
|
|
122
160
|
if (map && typeof onMount === "function") onMount(map, onMountProps);
|
|
123
|
-
if (isIntersecting) (0, _helpers.addZoomListener)(map, router,
|
|
161
|
+
if (isIntersecting) (0, _helpers.addZoomListener)(map, router, mapShapes, imageData);
|
|
124
162
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
125
163
|
className: "google-maps",
|
|
126
164
|
ref: mapRef
|
|
127
165
|
});
|
|
128
166
|
};
|
|
129
167
|
|
|
130
|
-
var shouldNotUpdate = function shouldNotUpdate(props, nextProps) {
|
|
131
|
-
var _ref2 = [(0, _lodash.functions)(props), (0, _lodash.functions)(nextProps)],
|
|
132
|
-
funcs = _ref2[0],
|
|
133
|
-
nextFuncs = _ref2[1];
|
|
134
|
-
var noPropChange = (0, _lodash.isEqual)((0, _lodash.omit)(props, funcs), (0, _lodash.omit)(nextProps, nextFuncs));
|
|
135
|
-
var noFuncChange = funcs.length === nextFuncs.length && funcs.every(function (fn) {
|
|
136
|
-
return props[fn].toString() === nextProps[fn].toString();
|
|
137
|
-
});
|
|
138
|
-
return noPropChange && noFuncChange;
|
|
139
|
-
};
|
|
140
|
-
|
|
141
168
|
GoogleMaps.propTypes = {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
imageData: _propTypes["default"].object,
|
|
169
|
+
mapShapes: _propTypes["default"].array,
|
|
170
|
+
imageData: _propTypes["default"].array,
|
|
145
171
|
type: _propTypes["default"].string,
|
|
146
172
|
name: _propTypes["default"].string,
|
|
147
173
|
modifier: _propTypes["default"].string,
|
|
148
174
|
elementTitle: _propTypes["default"].string,
|
|
149
|
-
entityGroups: _propTypes["default"].array,
|
|
150
175
|
onMount: _propTypes["default"].func,
|
|
151
|
-
onMountProps: _propTypes["default"].object
|
|
176
|
+
onMountProps: _propTypes["default"].object,
|
|
177
|
+
parent: _propTypes["default"].object,
|
|
178
|
+
centerCoordinates: _propTypes["default"].array
|
|
152
179
|
};
|
|
153
180
|
GoogleMaps.defaultProps = {
|
|
154
|
-
|
|
155
|
-
imageData:
|
|
181
|
+
mapShapes: [],
|
|
182
|
+
imageData: [],
|
|
183
|
+
centerCoordinates: [],
|
|
156
184
|
type: '',
|
|
157
185
|
name: '',
|
|
158
186
|
modifier: '',
|
|
159
187
|
elementTitle: '',
|
|
160
|
-
entityGroups: [],
|
|
161
188
|
onMount: null,
|
|
162
|
-
onMountProps: null
|
|
189
|
+
onMountProps: null,
|
|
190
|
+
parent: {}
|
|
163
191
|
};
|
|
164
192
|
|
|
165
|
-
var _default = /*#__PURE__*/_react["default"].memo((0,
|
|
193
|
+
var _default = /*#__PURE__*/_react["default"].memo((0, _reactPageBuilder.withTitle)(GoogleMaps), shouldNotUpdate);
|
|
166
194
|
|
|
167
195
|
exports["default"] = _default;
|
|
168
196
|
//# sourceMappingURL=GoogleMaps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/GoogleMaps/GoogleMaps.js"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../src/GoogleMaps/GoogleMaps.js"],"names":["shouldNotUpdate","props","nextProps","funcs","nextFuncs","noPropChange","noFuncChange","length","every","fn","toString","GoogleMaps","type","name","modifier","elementTitle","imageData","onMount","onMountProps","parent","mapShapes","centerCoordinates","otherProps","router","IN_VIEW_CONFIG","isIntersecting","mapRef","map","setMap","options","onLoad","initialMap","window","google","maps","Map","current","lat","latitude","lng","longitude","setCenter","bounds","LatLngBounds","forEach","extend","LatLng","fitBounds","script","document","createElement","SCRIPT","src","GOOGLE_MAPS_SCRIPT","process","env","GOOGLE_MAPS_API_KEY","head","append","addEventListener","LOAD","removeEventListener","setOptions","enableGeolocation","shouldActivateGeolocation","navigator","geolocation","getCurrentPosition","position","center","coords","propTypes","PropTypes","array","string","func","object","defaultProps","React","memo"],"mappings":"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","sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { withTitle } from '@blaze-cms/react-page-builder';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { functions, isEqual, omit } from 'lodash';\nimport { setMapOptions, addZoomListener } from './helpers';\nimport { GOOGLE_MAPS_SCRIPT, LOAD, SCRIPT, IN_VIEW_CONFIG } from '../constants';\n\nconst shouldNotUpdate = (props, nextProps) => {\n const [funcs, nextFuncs] = [functions(props), functions(nextProps)];\n const noPropChange = isEqual(omit(props, funcs), omit(nextProps, nextFuncs));\n const noFuncChange =\n funcs.length === nextFuncs.length &&\n funcs.every(fn => props[fn].toString() === nextProps[fn].toString());\n return noPropChange && noFuncChange;\n};\n\nconst GoogleMaps = ({\n type,\n name,\n modifier,\n elementTitle,\n imageData,\n onMount,\n onMountProps,\n parent,\n mapShapes,\n centerCoordinates,\n ...otherProps\n}) => {\n const router = useRouter();\n const [isIntersecting, mapRef] = useInView(IN_VIEW_CONFIG);\n const [map, setMap] = useState();\n\n useEffect(() => {\n const options = setMapOptions(otherProps);\n const onLoad = () => {\n const initialMap = new window.google.maps.Map(mapRef.current, options);\n if (centerCoordinates.length === 1) {\n const [{ latitude: lat, longitude: lng }] = centerCoordinates;\n initialMap.setCenter({ lat, lng });\n } else {\n const bounds = new window.google.maps.LatLngBounds();\n centerCoordinates.forEach(({ latitude, longitude }) => {\n bounds.extend(new window.google.maps.LatLng(latitude, longitude));\n });\n initialMap.fitBounds(bounds);\n }\n setMap(initialMap);\n };\n\n if (!window.google) {\n const script = document.createElement(SCRIPT);\n script.src = `${GOOGLE_MAPS_SCRIPT}${process.env.GOOGLE_MAPS_API_KEY}`;\n document.head.append(script);\n script.addEventListener(LOAD, onLoad);\n return () => script.removeEventListener(LOAD, onLoad);\n }\n\n onLoad();\n\n if (map) {\n map.setOptions(options);\n const { enableGeolocation } = otherProps;\n const shouldActivateGeolocation = enableGeolocation && navigator.geolocation;\n if (shouldActivateGeolocation) {\n navigator.geolocation.getCurrentPosition(\n position => {\n const center = {\n lat: position.coords.latitude,\n lng: position.coords.longitude\n };\n\n map.setCenter(center);\n },\n () => {}\n );\n }\n }\n\n return () => {};\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (map && typeof onMount === `function`) onMount(map, onMountProps);\n if (isIntersecting) addZoomListener(map, router, mapShapes, imageData);\n\n return <div className=\"google-maps\" ref={mapRef} />;\n};\n\nGoogleMaps.propTypes = {\n mapShapes: PropTypes.array,\n imageData: PropTypes.array,\n type: PropTypes.string,\n name: PropTypes.string,\n modifier: PropTypes.string,\n elementTitle: PropTypes.string,\n onMount: PropTypes.func,\n onMountProps: PropTypes.object,\n parent: PropTypes.object,\n centerCoordinates: PropTypes.array\n};\n\nGoogleMaps.defaultProps = {\n mapShapes: [],\n imageData: [],\n centerCoordinates: [],\n type: '',\n name: '',\n modifier: '',\n elementTitle: '',\n onMount: null,\n onMountProps: null,\n parent: {}\n};\n\nexport default React.memo(withTitle(GoogleMaps), shouldNotUpdate);\n"],"file":"GoogleMaps.js"}
|
|
@@ -25,10 +25,11 @@ var _helpers = require("./helpers");
|
|
|
25
25
|
|
|
26
26
|
var _GoogleMapsRender = _interopRequireDefault(require("./GoogleMapsRender"));
|
|
27
27
|
|
|
28
|
-
var _excluded = ["entityGroups"];
|
|
28
|
+
var _excluded = ["entityGroups", "parent"];
|
|
29
29
|
|
|
30
30
|
var GoogleMapsFactory = function GoogleMapsFactory(_ref) {
|
|
31
31
|
var entityGroups = _ref.entityGroups,
|
|
32
|
+
parent = _ref.parent,
|
|
32
33
|
otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
33
34
|
|
|
34
35
|
var _useGetEntitySchemasA = (0, _reactPageBuilder.useGetEntitySchemasAsObj)(entityGroups.map(function (_ref2) {
|
|
@@ -41,17 +42,20 @@ var GoogleMapsFactory = function GoogleMapsFactory(_ref) {
|
|
|
41
42
|
|
|
42
43
|
if (loading) return '';
|
|
43
44
|
if (error) return error.message;
|
|
44
|
-
var
|
|
45
|
+
var shapeConfigs = (0, _helpers.buildShapesConfig)(data, entityGroups, parent);
|
|
45
46
|
return /*#__PURE__*/_react["default"].createElement(_GoogleMapsRender["default"], (0, _extends2["default"])({
|
|
46
|
-
|
|
47
|
-
entityGroups: entityGroups
|
|
47
|
+
shapeConfigs: shapeConfigs,
|
|
48
|
+
entityGroups: entityGroups,
|
|
49
|
+
parent: parent
|
|
48
50
|
}, otherProps));
|
|
49
51
|
};
|
|
50
52
|
|
|
51
53
|
GoogleMapsFactory.propTypes = {
|
|
54
|
+
parent: _propTypes["default"].object,
|
|
52
55
|
entityGroups: _propTypes["default"].array
|
|
53
56
|
};
|
|
54
57
|
GoogleMapsFactory.defaultProps = {
|
|
58
|
+
parent: {},
|
|
55
59
|
entityGroups: []
|
|
56
60
|
};
|
|
57
61
|
var _default = GoogleMapsFactory;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/GoogleMaps/GoogleMapsFactory.js"],"names":["GoogleMapsFactory","entityGroups","otherProps","map","entity","data","loading","error","message","
|
|
1
|
+
{"version":3,"sources":["../../src/GoogleMaps/GoogleMapsFactory.js"],"names":["GoogleMapsFactory","entityGroups","parent","otherProps","map","entity","data","loading","error","message","shapeConfigs","propTypes","PropTypes","object","array","defaultProps"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAA6C;AAAA,MAA1CC,YAA0C,QAA1CA,YAA0C;AAAA,MAA5BC,MAA4B,QAA5BA,MAA4B;AAAA,MAAjBC,UAAiB;;AACrE,8BAAiC,gDAC/BF,YAAY,CAACG,GAAb,CAAiB;AAAA,QAAGC,MAAH,SAAGA,MAAH;AAAA,WAAgBA,MAAhB;AAAA,GAAjB,CAD+B,CAAjC;AAAA,MAAQC,IAAR,yBAAQA,IAAR;AAAA,MAAcC,OAAd,yBAAcA,OAAd;AAAA,MAAuBC,KAAvB,yBAAuBA,KAAvB;;AAIA,MAAID,OAAJ,EAAa,OAAO,EAAP;AACb,MAAIC,KAAJ,EAAW,OAAOA,KAAK,CAACC,OAAb;AAEX,MAAMC,YAAY,GAAG,gCAAkBJ,IAAlB,EAAwBL,YAAxB,EAAsCC,MAAtC,CAArB;AAEA,sBACE,gCAAC,4BAAD;AACE,IAAA,YAAY,EAAEQ,YADhB;AAEE,IAAA,YAAY,EAAET,YAFhB;AAGE,IAAA,MAAM,EAAEC;AAHV,KAIMC,UAJN,EADF;AAQD,CAlBD;;AAoBAH,iBAAiB,CAACW,SAAlB,GAA8B;AAC5BT,EAAAA,MAAM,EAAEU,sBAAUC,MADU;AAE5BZ,EAAAA,YAAY,EAAEW,sBAAUE;AAFI,CAA9B;AAKAd,iBAAiB,CAACe,YAAlB,GAAiC;AAC/Bb,EAAAA,MAAM,EAAE,EADuB;AAE/BD,EAAAA,YAAY,EAAE;AAFiB,CAAjC;eAKeD,iB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useGetEntitySchemasAsObj } from '@blaze-cms/react-page-builder';\nimport { buildShapesConfig } from './helpers';\nimport GoogleMapsRender from './GoogleMapsRender';\n\nconst GoogleMapsFactory = ({ entityGroups, parent, ...otherProps }) => {\n const { data, loading, error } = useGetEntitySchemasAsObj(\n entityGroups.map(({ entity }) => entity)\n );\n\n if (loading) return '';\n if (error) return error.message;\n\n const shapeConfigs = buildShapesConfig(data, entityGroups, parent);\n\n return (\n <GoogleMapsRender\n shapeConfigs={shapeConfigs}\n entityGroups={entityGroups}\n parent={parent}\n {...otherProps}\n />\n );\n};\n\nGoogleMapsFactory.propTypes = {\n parent: PropTypes.object,\n entityGroups: PropTypes.array\n};\n\nGoogleMapsFactory.defaultProps = {\n parent: {},\n entityGroups: []\n};\n\nexport default GoogleMapsFactory;\n"],"file":"GoogleMapsFactory.js"}
|
|
@@ -9,10 +9,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
9
9
|
});
|
|
10
10
|
exports["default"] = void 0;
|
|
11
11
|
|
|
12
|
-
require("core-js/modules/es.array.every.js");
|
|
13
|
-
|
|
14
|
-
require("core-js/modules/es.object.to-string.js");
|
|
15
|
-
|
|
16
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
17
13
|
|
|
18
14
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
@@ -33,73 +29,60 @@ var _helpers = require("./helpers");
|
|
|
33
29
|
|
|
34
30
|
var _GoogleMaps = _interopRequireDefault(require("./GoogleMaps"));
|
|
35
31
|
|
|
36
|
-
var _excluded = ["
|
|
32
|
+
var _excluded = ["shapeConfigs", "entityGroups", "id"];
|
|
37
33
|
var defaultQuery = (0, _reactPageBuilder.getAction)('getPublishedPages', 'id');
|
|
38
34
|
|
|
39
35
|
var GoogleMapsRender = function GoogleMapsRender(_ref) {
|
|
40
|
-
var
|
|
36
|
+
var shapeConfigs = _ref.shapeConfigs,
|
|
41
37
|
entityGroups = _ref.entityGroups,
|
|
42
38
|
id = _ref.id,
|
|
43
|
-
parent = _ref.parent,
|
|
44
39
|
otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
45
|
-
var
|
|
46
|
-
centerLongitude = otherProps.centerLongitude,
|
|
47
|
-
defaultZoom = otherProps.defaultZoom;
|
|
40
|
+
var defaultZoom = otherProps.defaultZoom;
|
|
48
41
|
|
|
49
|
-
var _buildQuery = (0, _helpers.buildQuery)(
|
|
50
|
-
query = _buildQuery.query
|
|
51
|
-
ids = _buildQuery.ids;
|
|
52
|
-
|
|
53
|
-
var shouldDisplayMap = [centerLatitude, centerLongitude, defaultZoom].every(function (value) {
|
|
54
|
-
return (0, _lodash["default"])(value);
|
|
55
|
-
});
|
|
42
|
+
var _buildQuery = (0, _helpers.buildQuery)(shapeConfigs),
|
|
43
|
+
query = _buildQuery.query;
|
|
56
44
|
|
|
57
45
|
var _useQuery = (0, _client.useQuery)(query || defaultQuery, {
|
|
58
|
-
|
|
59
|
-
where: {
|
|
60
|
-
id: {
|
|
61
|
-
_in: ids
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
skip: !(ids.length && query)
|
|
46
|
+
skip: !query
|
|
66
47
|
}),
|
|
67
|
-
|
|
68
|
-
data = _useQuery$data === void 0 ? {} : _useQuery$data,
|
|
48
|
+
data = _useQuery.data,
|
|
69
49
|
loading = _useQuery.loading,
|
|
70
50
|
error = _useQuery.error;
|
|
71
51
|
|
|
72
|
-
var
|
|
52
|
+
var mapShapes = (0, _helpers.buildMapShapes)(shapeConfigs, data);
|
|
53
|
+
var imageIds = (0, _helpers.getImageIds)(mapShapes);
|
|
73
54
|
|
|
74
55
|
var _useGetImages = (0, _hooks.useGetImages)(imageIds),
|
|
75
|
-
_useGetImages$data = _useGetImages.data
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
if (
|
|
56
|
+
_useGetImages$data = _useGetImages.data;
|
|
57
|
+
|
|
58
|
+
_useGetImages$data = _useGetImages$data === void 0 ? {} : _useGetImages$data;
|
|
59
|
+
var imageData = _useGetImages$data.getFiles,
|
|
60
|
+
imagesLoading = _useGetImages.loading,
|
|
61
|
+
imagesError = _useGetImages.error;
|
|
62
|
+
if (loading || imagesLoading) return '';
|
|
63
|
+
if (error || imagesError) return null;
|
|
64
|
+
var centerCoordinates = (0, _helpers.getCenterCoordinates)(mapShapes, otherProps);
|
|
65
|
+
var shouldDisplayMap = (0, _lodash["default"])(defaultZoom) && !!centerCoordinates.length;
|
|
82
66
|
if (!shouldDisplayMap) return null;
|
|
83
67
|
return /*#__PURE__*/_react["default"].createElement(_GoogleMaps["default"], (0, _extends2["default"])({
|
|
84
68
|
key: otherProps.slug,
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
69
|
+
centerCoordinates: centerCoordinates,
|
|
70
|
+
mapShapes: mapShapes,
|
|
71
|
+
imageData: imageData
|
|
88
72
|
}, otherProps));
|
|
89
73
|
};
|
|
90
74
|
|
|
91
75
|
GoogleMapsRender.propTypes = {
|
|
92
|
-
parent: _propTypes["default"].object.isRequired,
|
|
93
76
|
entityGroups: _propTypes["default"].array,
|
|
94
77
|
id: _propTypes["default"].string,
|
|
95
|
-
|
|
78
|
+
shapeConfigs: _propTypes["default"].array,
|
|
96
79
|
centerLatitude: _propTypes["default"].number,
|
|
97
80
|
centerLongitude: _propTypes["default"].number,
|
|
98
81
|
defaultZoom: _propTypes["default"].number
|
|
99
82
|
};
|
|
100
83
|
GoogleMapsRender.defaultProps = {
|
|
101
84
|
entityGroups: [],
|
|
102
|
-
|
|
85
|
+
shapeConfigs: [],
|
|
103
86
|
id: '',
|
|
104
87
|
centerLatitude: null,
|
|
105
88
|
centerLongitude: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/GoogleMaps/GoogleMapsRender.js"],"names":["defaultQuery","GoogleMapsRender","
|
|
1
|
+
{"version":3,"sources":["../../src/GoogleMaps/GoogleMapsRender.js"],"names":["defaultQuery","GoogleMapsRender","shapeConfigs","entityGroups","id","otherProps","defaultZoom","query","skip","data","loading","error","mapShapes","imageIds","imageData","getFiles","imagesLoading","imagesError","centerCoordinates","shouldDisplayMap","length","slug","propTypes","PropTypes","array","string","centerLatitude","number","centerLongitude","defaultProps"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;AAEA,IAAMA,YAAY,GAAG,iCAAU,mBAAV,EAA+B,IAA/B,CAArB;;AAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,OAAuD;AAAA,MAApDC,YAAoD,QAApDA,YAAoD;AAAA,MAAtCC,YAAsC,QAAtCA,YAAsC;AAAA,MAAxBC,EAAwB,QAAxBA,EAAwB;AAAA,MAAjBC,UAAiB;AAC9E,MAAQC,WAAR,GAAwBD,UAAxB,CAAQC,WAAR;;AACA,oBAAkB,yBAAWJ,YAAX,CAAlB;AAAA,MAAQK,KAAR,eAAQA,KAAR;;AACA,kBAAiC,sBAASA,KAAK,IAAIP,YAAlB,EAAgC;AAC/DQ,IAAAA,IAAI,EAAE,CAACD;AADwD,GAAhC,CAAjC;AAAA,MAAQE,IAAR,aAAQA,IAAR;AAAA,MAAcC,OAAd,aAAcA,OAAd;AAAA,MAAuBC,KAAvB,aAAuBA,KAAvB;;AAGA,MAAMC,SAAS,GAAG,6BAAeV,YAAf,EAA6BO,IAA7B,CAAlB;AACA,MAAMI,QAAQ,GAAG,0BAAYD,SAAZ,CAAjB;;AACA,sBAII,yBAAaC,QAAb,CAJJ;AAAA,yCACEJ,IADF;;AAAA,uDACkC,EADlC;AAAA,MACoBK,SADpB,sBACUC,QADV;AAAA,MAEWC,aAFX,iBAEEN,OAFF;AAAA,MAGSO,WAHT,iBAGEN,KAHF;AAKA,MAAID,OAAO,IAAIM,aAAf,EAA8B,OAAO,EAAP;AAC9B,MAAIL,KAAK,IAAIM,WAAb,EAA0B,OAAO,IAAP;AAE1B,MAAMC,iBAAiB,GAAG,mCAAqBN,SAArB,EAAgCP,UAAhC,CAA1B;AACA,MAAMc,gBAAgB,GAAG,wBAASb,WAAT,KAAyB,CAAC,CAACY,iBAAiB,CAACE,MAAtE;AAEA,MAAI,CAACD,gBAAL,EAAuB,OAAO,IAAP;AAEvB,sBACE,gCAAC,sBAAD;AACE,IAAA,GAAG,EAAEd,UAAU,CAACgB,IADlB;AAEE,IAAA,iBAAiB,EAAEH,iBAFrB;AAGE,IAAA,SAAS,EAAEN,SAHb;AAIE,IAAA,SAAS,EAAEE;AAJb,KAKMT,UALN,EADF;AASD,CA9BD;;AAgCAJ,gBAAgB,CAACqB,SAAjB,GAA6B;AAC3BnB,EAAAA,YAAY,EAAEoB,sBAAUC,KADG;AAE3BpB,EAAAA,EAAE,EAAEmB,sBAAUE,MAFa;AAG3BvB,EAAAA,YAAY,EAAEqB,sBAAUC,KAHG;AAI3BE,EAAAA,cAAc,EAAEH,sBAAUI,MAJC;AAK3BC,EAAAA,eAAe,EAAEL,sBAAUI,MALA;AAM3BrB,EAAAA,WAAW,EAAEiB,sBAAUI;AANI,CAA7B;AASA1B,gBAAgB,CAAC4B,YAAjB,GAAgC;AAC9B1B,EAAAA,YAAY,EAAE,EADgB;AAE9BD,EAAAA,YAAY,EAAE,EAFgB;AAG9BE,EAAAA,EAAE,EAAE,EAH0B;AAI9BsB,EAAAA,cAAc,EAAE,IAJc;AAK9BE,EAAAA,eAAe,EAAE,IALa;AAM9BtB,EAAAA,WAAW,EAAE;AANiB,CAAhC;eASeL,gB","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isNumber from 'lodash.isnumber';\nimport { useQuery } from '@apollo/client';\nimport { getAction } from '@blaze-cms/react-page-builder';\nimport { useGetImages } from './hooks';\nimport { buildQuery, getImageIds, getCenterCoordinates, buildMapShapes } from './helpers';\nimport GoogleMaps from './GoogleMaps';\n\nconst defaultQuery = getAction('getPublishedPages', 'id');\n\nconst GoogleMapsRender = ({ shapeConfigs, entityGroups, id, ...otherProps }) => {\n const { defaultZoom } = otherProps;\n const { query } = buildQuery(shapeConfigs);\n const { data, loading, error } = useQuery(query || defaultQuery, {\n skip: !query\n });\n const mapShapes = buildMapShapes(shapeConfigs, data);\n const imageIds = getImageIds(mapShapes);\n const {\n data: { getFiles: imageData } = {},\n loading: imagesLoading,\n error: imagesError\n } = useGetImages(imageIds);\n if (loading || imagesLoading) return '';\n if (error || imagesError) return null;\n\n const centerCoordinates = getCenterCoordinates(mapShapes, otherProps);\n const shouldDisplayMap = isNumber(defaultZoom) && !!centerCoordinates.length;\n\n if (!shouldDisplayMap) return null;\n\n return (\n <GoogleMaps\n key={otherProps.slug}\n centerCoordinates={centerCoordinates}\n mapShapes={mapShapes}\n imageData={imageData}\n {...otherProps}\n />\n );\n};\n\nGoogleMapsRender.propTypes = {\n entityGroups: PropTypes.array,\n id: PropTypes.string,\n shapeConfigs: PropTypes.array,\n centerLatitude: PropTypes.number,\n centerLongitude: PropTypes.number,\n defaultZoom: PropTypes.number\n};\n\nGoogleMapsRender.defaultProps = {\n entityGroups: [],\n shapeConfigs: [],\n id: '',\n centerLatitude: null,\n centerLongitude: null,\n defaultZoom: null\n};\n\nexport default GoogleMapsRender;\n"],"file":"GoogleMapsRender.js"}
|
|
@@ -1,21 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
require("core-js/modules/es.object.keys.js");
|
|
4
|
-
|
|
5
|
-
require("core-js/modules/es.symbol.js");
|
|
6
|
-
|
|
7
|
-
require("core-js/modules/es.array.filter.js");
|
|
8
|
-
|
|
9
|
-
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
10
|
-
|
|
11
|
-
require("core-js/modules/es.array.for-each.js");
|
|
12
|
-
|
|
13
|
-
require("core-js/modules/web.dom-collections.for-each.js");
|
|
14
|
-
|
|
15
|
-
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
16
|
-
|
|
17
|
-
require("core-js/modules/es.object.define-properties.js");
|
|
18
|
-
|
|
19
3
|
require("core-js/modules/es.object.define-property.js");
|
|
20
4
|
|
|
21
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -25,46 +9,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
25
9
|
});
|
|
26
10
|
exports["default"] = void 0;
|
|
27
11
|
|
|
28
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
29
|
-
|
|
30
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
31
|
-
|
|
32
|
-
require("core-js/modules/es.array.reduce.js");
|
|
33
|
-
|
|
34
|
-
require("core-js/modules/es.object.to-string.js");
|
|
35
|
-
|
|
36
|
-
require("core-js/modules/es.array.map.js");
|
|
37
|
-
|
|
38
12
|
var _constants = require("../../constants");
|
|
39
13
|
|
|
40
14
|
var _setShapes = _interopRequireDefault(require("./set-shapes"));
|
|
41
15
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
45
|
-
|
|
46
|
-
var addZoomListener = function addZoomListener(map, router, data, imageData) {
|
|
47
|
-
var entityGroups = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : [];
|
|
16
|
+
var addZoomListener = function addZoomListener(map, router, shapes, imageData) {
|
|
48
17
|
if (!map) return;
|
|
49
|
-
|
|
50
|
-
var entity = entityGroup.entity,
|
|
51
|
-
entityShapes = entityGroup.shapes,
|
|
52
|
-
_entityGroup$enableIn = entityGroup.enableInfoPane,
|
|
53
|
-
enableInfoPane = _entityGroup$enableIn === void 0 ? false : _entityGroup$enableIn,
|
|
54
|
-
_entityGroup$dataSumm = entityGroup.dataSummaries,
|
|
55
|
-
dataSummaries = _entityGroup$dataSumm === void 0 ? [] : _entityGroup$dataSumm;
|
|
56
|
-
acc.push.apply(acc, (0, _toConsumableArray2["default"])(entityShapes.map(function (entityShape) {
|
|
57
|
-
return _objectSpread(_objectSpread({}, entityShape), {}, {
|
|
58
|
-
entity: entity,
|
|
59
|
-
enableInfoPane: enableInfoPane,
|
|
60
|
-
dataSummaries: dataSummaries
|
|
61
|
-
});
|
|
62
|
-
})));
|
|
63
|
-
return acc;
|
|
64
|
-
}, []);
|
|
65
|
-
(0, _setShapes["default"])(map, router, shapes, data, imageData);
|
|
18
|
+
(0, _setShapes["default"])(map, router, shapes, imageData);
|
|
66
19
|
map.addListener(_constants.ZOOM_CHANGED, function () {
|
|
67
|
-
return (0, _setShapes["default"])(map, router, shapes,
|
|
20
|
+
return (0, _setShapes["default"])(map, router, shapes, imageData);
|
|
68
21
|
});
|
|
69
22
|
};
|
|
70
23
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/GoogleMaps/helpers/add-zoom-listener.js"],"names":["addZoomListener","map","router","
|
|
1
|
+
{"version":3,"sources":["../../../src/GoogleMaps/helpers/add-zoom-listener.js"],"names":["addZoomListener","map","router","shapes","imageData","addListener","ZOOM_CHANGED"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,GAAD,EAAMC,MAAN,EAAcC,MAAd,EAAsBC,SAAtB,EAAoC;AAC1D,MAAI,CAACH,GAAL,EAAU;AACV,6BAAUA,GAAV,EAAeC,MAAf,EAAuBC,MAAvB,EAA+BC,SAA/B;AACAH,EAAAA,GAAG,CAACI,WAAJ,CAAgBC,uBAAhB,EAA8B;AAAA,WAAM,2BAAUL,GAAV,EAAeC,MAAf,EAAuBC,MAAvB,EAA+BC,SAA/B,CAAN;AAAA,GAA9B;AACD,CAJD;;eAMeJ,e","sourcesContent":["import { ZOOM_CHANGED } from '../../constants';\nimport setShapes from './set-shapes';\n\nconst addZoomListener = (map, router, shapes, imageData) => {\n if (!map) return;\n setShapes(map, router, shapes, imageData);\n map.addListener(ZOOM_CHANGED, () => setShapes(map, router, shapes, imageData));\n};\n\nexport default addZoomListener;\n"],"file":"add-zoom-listener.js"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
11
|
+
|
|
12
|
+
require("core-js/modules/es.string.split.js");
|
|
13
|
+
|
|
14
|
+
require("core-js/modules/es.array.for-each.js");
|
|
15
|
+
|
|
16
|
+
require("core-js/modules/es.object.to-string.js");
|
|
17
|
+
|
|
18
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
19
|
+
|
|
20
|
+
require("core-js/modules/es.array.is-array.js");
|
|
21
|
+
|
|
22
|
+
var getLatLonValues = function getLatLonValues(keys, data) {
|
|
23
|
+
if (keys.length === 1) return data[keys];
|
|
24
|
+
var key = keys.shift();
|
|
25
|
+
return getLatLonValues(keys, data[key]);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
var getLatLong = function getLatLong(latProp, lonProp, shape, data) {
|
|
29
|
+
var latitude = shape.latitude,
|
|
30
|
+
longitude = shape.longitude;
|
|
31
|
+
if (!latProp || !lonProp) return {
|
|
32
|
+
latitude: latitude,
|
|
33
|
+
longitude: longitude
|
|
34
|
+
};
|
|
35
|
+
var latKeys = latProp.split('.');
|
|
36
|
+
var lonKeys = lonProp.split('.');
|
|
37
|
+
var lat = getLatLonValues(latKeys, data);
|
|
38
|
+
var lon = getLatLonValues(lonKeys, data);
|
|
39
|
+
return {
|
|
40
|
+
latitude: lat,
|
|
41
|
+
longitude: lon
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
var buildMapShapes = function buildMapShapes(shapesOptions, shapesData) {
|
|
46
|
+
if (!shapesData) return [];
|
|
47
|
+
var mapShapes = [];
|
|
48
|
+
shapesOptions.forEach(function (shape) {
|
|
49
|
+
var shapeKey = shape.shapeKey,
|
|
50
|
+
entityOptions = shape.entityOptions,
|
|
51
|
+
shapeOptions = shape.shapeOptions;
|
|
52
|
+
var dataSummaries = entityOptions.dataSummaries,
|
|
53
|
+
enableInfoPane = entityOptions.enableInfoPane;
|
|
54
|
+
var imageId = shapeOptions.imageId,
|
|
55
|
+
label = shapeOptions.label,
|
|
56
|
+
markerHeight = shapeOptions.markerHeight,
|
|
57
|
+
markerWidth = shapeOptions.markerWidth,
|
|
58
|
+
maxZoom = shapeOptions.maxZoom,
|
|
59
|
+
minZoom = shapeOptions.minZoom,
|
|
60
|
+
type = shapeOptions.type,
|
|
61
|
+
useAsCenter = shapeOptions.useAsCenter;
|
|
62
|
+
var shapeData = Array.isArray(shapesData[shapeKey]) ? shapesData[shapeKey] : shapesData[shapeKey].results;
|
|
63
|
+
if (!shapeData) return;
|
|
64
|
+
var latProp = entityOptions.latProp,
|
|
65
|
+
lonProp = entityOptions.lonProp;
|
|
66
|
+
shapeData.forEach(function (data) {
|
|
67
|
+
var url = data.url;
|
|
68
|
+
|
|
69
|
+
var _getLatLong = getLatLong(latProp, lonProp, shapeOptions, data),
|
|
70
|
+
latitude = _getLatLong.latitude,
|
|
71
|
+
longitude = _getLatLong.longitude;
|
|
72
|
+
|
|
73
|
+
var formatedShape = {
|
|
74
|
+
latitude: latitude,
|
|
75
|
+
longitude: longitude,
|
|
76
|
+
dataSummaries: dataSummaries,
|
|
77
|
+
enableInfoPane: enableInfoPane,
|
|
78
|
+
imageId: imageId,
|
|
79
|
+
label: label,
|
|
80
|
+
markerHeight: markerHeight,
|
|
81
|
+
markerWidth: markerWidth,
|
|
82
|
+
maxZoom: maxZoom,
|
|
83
|
+
minZoom: minZoom,
|
|
84
|
+
type: type,
|
|
85
|
+
url: url,
|
|
86
|
+
useAsCenter: useAsCenter,
|
|
87
|
+
shapeData: data
|
|
88
|
+
};
|
|
89
|
+
mapShapes.push(formatedShape);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
return mapShapes;
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
var _default = buildMapShapes;
|
|
96
|
+
exports["default"] = _default;
|
|
97
|
+
//# sourceMappingURL=build-map-shapes.js.map
|