@blaze-cms/plugin-google-maps-fe 0.123.0-alpha.9 → 0.123.1-alpha.1
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 +242 -831
- 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 +4 -4
- 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
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
require("core-js/modules/es.symbol.js");
|
|
4
4
|
|
|
5
|
+
require("core-js/modules/es.array.filter.js");
|
|
6
|
+
|
|
5
7
|
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
6
8
|
|
|
7
9
|
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
@@ -19,10 +21,12 @@ exports["default"] = void 0;
|
|
|
19
21
|
|
|
20
22
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
21
23
|
|
|
22
|
-
var
|
|
24
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
23
25
|
|
|
24
26
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
27
|
|
|
28
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
29
|
+
|
|
26
30
|
require("core-js/modules/es.array.for-each.js");
|
|
27
31
|
|
|
28
32
|
require("core-js/modules/es.object.to-string.js");
|
|
@@ -37,7 +41,15 @@ require("core-js/modules/es.string.includes.js");
|
|
|
37
41
|
|
|
38
42
|
require("core-js/modules/es.array.every.js");
|
|
39
43
|
|
|
40
|
-
require("core-js/modules/es.array.
|
|
44
|
+
require("core-js/modules/es.array.find.js");
|
|
45
|
+
|
|
46
|
+
require("core-js/modules/es.array.iterator.js");
|
|
47
|
+
|
|
48
|
+
require("core-js/modules/es.promise.js");
|
|
49
|
+
|
|
50
|
+
require("core-js/modules/es.string.iterator.js");
|
|
51
|
+
|
|
52
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
41
53
|
|
|
42
54
|
require("core-js/modules/es.array.map.js");
|
|
43
55
|
|
|
@@ -84,29 +96,50 @@ var closeInfoWindows = function closeInfoWindows() {
|
|
|
84
96
|
}
|
|
85
97
|
};
|
|
86
98
|
|
|
87
|
-
var addShapeListeners = function addShapeListeners(map, router, shape,
|
|
88
|
-
var
|
|
89
|
-
entity = shape.entity,
|
|
90
|
-
_shape$enableInfoPane = shape.enableInfoPane,
|
|
99
|
+
var addShapeListeners = function addShapeListeners(map, router, shape, imageData, shapeInstance) {
|
|
100
|
+
var _shape$enableInfoPane = shape.enableInfoPane,
|
|
91
101
|
enableInfoPane = _shape$enableInfoPane === void 0 ? false : _shape$enableInfoPane,
|
|
92
102
|
_shape$dataSummaries = shape.dataSummaries,
|
|
93
|
-
dataSummaries = _shape$dataSummaries === void 0 ? [] : _shape$dataSummaries
|
|
94
|
-
|
|
103
|
+
dataSummaries = _shape$dataSummaries === void 0 ? [] : _shape$dataSummaries,
|
|
104
|
+
url = shape.url,
|
|
105
|
+
shapeData = shape.shapeData;
|
|
95
106
|
|
|
96
107
|
if (enableInfoPane) {
|
|
97
108
|
var infoWindow = new window.google.maps.InfoWindow({
|
|
98
109
|
content: ''
|
|
99
110
|
});
|
|
100
|
-
shapeInstance.addListener(_constants.CLICK, function (
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
111
|
+
shapeInstance.addListener(_constants.CLICK, /*#__PURE__*/function () {
|
|
112
|
+
var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(event) {
|
|
113
|
+
var content;
|
|
114
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
115
|
+
while (1) {
|
|
116
|
+
switch (_context.prev = _context.next) {
|
|
117
|
+
case 0:
|
|
118
|
+
closeInfoWindows();
|
|
119
|
+
_context.t0 = _server["default"];
|
|
120
|
+
_context.next = 4;
|
|
121
|
+
return infoWindowContent(imageData, dataSummaries, url, shapeData);
|
|
122
|
+
|
|
123
|
+
case 4:
|
|
124
|
+
_context.t1 = _context.sent;
|
|
125
|
+
content = _context.t0.renderToString.call(_context.t0, _context.t1);
|
|
126
|
+
infoWindow.setContent(content);
|
|
127
|
+
infoWindow.setPosition(event.latLng);
|
|
128
|
+
infoWindow.open(map, shapeInstance);
|
|
129
|
+
infoWindowArray.push(infoWindow);
|
|
130
|
+
|
|
131
|
+
case 10:
|
|
132
|
+
case "end":
|
|
133
|
+
return _context.stop();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}, _callee);
|
|
137
|
+
}));
|
|
138
|
+
|
|
139
|
+
return function (_x) {
|
|
140
|
+
return _ref.apply(this, arguments);
|
|
141
|
+
};
|
|
142
|
+
}());
|
|
110
143
|
} else if (url) {
|
|
111
144
|
shapeInstance.addListener(_constants.CLICK, function () {
|
|
112
145
|
router.push(url);
|
|
@@ -146,140 +179,131 @@ var isPositionCorrect = function isPositionCorrect(lat, lng) {
|
|
|
146
179
|
return (0, _lodash["default"])(lat) && (0, _lodash["default"])(lng);
|
|
147
180
|
};
|
|
148
181
|
|
|
149
|
-
var
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
if (entity && displayItems) {
|
|
153
|
-
var _displayItems = (0, _slicedToArray2["default"])(displayItems, 1),
|
|
154
|
-
entityId = _displayItems[0];
|
|
155
|
-
|
|
156
|
-
var _entityData$filter = entityData.filter(function (_ref) {
|
|
157
|
-
var id = _ref.id;
|
|
158
|
-
return id === entityId;
|
|
159
|
-
}),
|
|
160
|
-
_entityData$filter2 = (0, _slicedToArray2["default"])(_entityData$filter, 1),
|
|
161
|
-
entityRecord = _entityData$filter2[0];
|
|
162
|
-
|
|
163
|
-
if (entityRecord) {
|
|
164
|
-
var _entityRecord$url = entityRecord.url;
|
|
165
|
-
url = _entityRecord$url === void 0 ? '' : _entityRecord$url;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
return url;
|
|
170
|
-
};
|
|
171
|
-
|
|
172
|
-
var getImageUrl = function getImageUrl(imageData, imageId) {
|
|
173
|
-
var _imageData$getFiles$f = imageData.getFiles.filter(function (_ref2) {
|
|
182
|
+
var getIconUrl = function getIconUrl(imageId, imageData) {
|
|
183
|
+
if (!imageId) return '';
|
|
184
|
+
var image = imageData.find(function (_ref2) {
|
|
174
185
|
var id = _ref2.id;
|
|
175
186
|
return id === imageId;
|
|
176
|
-
}),
|
|
177
|
-
_imageData$getFiles$f2 = (0, _slicedToArray2["default"])(_imageData$getFiles$f, 1),
|
|
178
|
-
image = _imageData$getFiles$f2[0];
|
|
179
|
-
|
|
180
|
-
if (image) return image.url;
|
|
181
|
-
return '';
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
var getIconUrl = function getIconUrl(shape, imageData) {
|
|
185
|
-
var imageId = shape.imageId;
|
|
186
|
-
if (!imageData.getFiles) return '';
|
|
187
|
-
return imageId ? getImageUrl(imageData, imageId) : '';
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
var InfoWindowContent = function InfoWindowContent(entityData, imageData, displayItems, dataSummaries, url) {
|
|
191
|
-
var _displayItems2 = (0, _slicedToArray2["default"])(displayItems, 1),
|
|
192
|
-
entityId = _displayItems2[0];
|
|
193
|
-
|
|
194
|
-
var _entityData$filter3 = entityData.filter(function (_ref3) {
|
|
195
|
-
var id = _ref3.id;
|
|
196
|
-
return id === entityId;
|
|
197
|
-
}),
|
|
198
|
-
_entityData$filter4 = (0, _slicedToArray2["default"])(_entityData$filter3, 1),
|
|
199
|
-
entityRecordData = _entityData$filter4[0];
|
|
200
|
-
|
|
201
|
-
var summariesWithContent = dataSummaries.map(function (dataSummary) {
|
|
202
|
-
var elementTitle = dataSummary.elementTitle,
|
|
203
|
-
type = dataSummary.type,
|
|
204
|
-
propsToDisplay = dataSummary.propsToDisplay,
|
|
205
|
-
otherProps = (0, _objectWithoutProperties2["default"])(dataSummary, _excluded);
|
|
206
|
-
var isTypeHeading = type === _constants.HEADING_LARGE;
|
|
207
|
-
var summaryPropsWithContent = (0, _reactPageBuilder.buildPropsToDisplayWithContent)(entityRecordData, propsToDisplay);
|
|
208
|
-
var modifier = (0, _reactPageBuilder.getClassModifiers)(_constants.LIST, otherProps);
|
|
209
|
-
var SummaryComponent = _reactPageBuilder.summaryComponents[type];
|
|
210
|
-
|
|
211
|
-
if (!summaryPropsWithContent.length) {
|
|
212
|
-
return null;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
var getDataSummaryComponent = function getDataSummaryComponent() {
|
|
216
|
-
var component = /*#__PURE__*/_react["default"].createElement(SummaryComponent, {
|
|
217
|
-
key: type,
|
|
218
|
-
modifier: modifier,
|
|
219
|
-
elementTitle: elementTitle,
|
|
220
|
-
summaryPropsWithContent: summaryPropsWithContent
|
|
221
|
-
});
|
|
222
|
-
|
|
223
|
-
if (isTypeHeading && url) return /*#__PURE__*/_react["default"].createElement(_nextjsComponents.Link, {
|
|
224
|
-
href: url
|
|
225
|
-
}, component);
|
|
226
|
-
return component;
|
|
227
|
-
};
|
|
228
|
-
|
|
229
|
-
return getDataSummaryComponent();
|
|
230
187
|
});
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
imageId = _ref4.imageId;
|
|
235
|
-
|
|
236
|
-
if (imageId) {
|
|
237
|
-
var _imageData$getFiles$f3 = imageData.getFiles.filter(function (_ref5) {
|
|
238
|
-
var id = _ref5.id;
|
|
239
|
-
return id === imageId;
|
|
240
|
-
});
|
|
241
|
-
|
|
242
|
-
var _imageData$getFiles$f4 = (0, _slicedToArray2["default"])(_imageData$getFiles$f3, 1);
|
|
243
|
-
|
|
244
|
-
image = _imageData$getFiles$f4[0];
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
var shouldShowImage = image && image.url;
|
|
248
|
-
|
|
249
|
-
var getImageElement = function getImageElement() {
|
|
250
|
-
var _image = image,
|
|
251
|
-
imageUrl = _image.url,
|
|
252
|
-
data = _image.data;
|
|
188
|
+
if (!image || !image.url) return '';
|
|
189
|
+
return image.url;
|
|
190
|
+
};
|
|
253
191
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
192
|
+
var infoWindowContent = /*#__PURE__*/function () {
|
|
193
|
+
var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(imageData, dataSummaries, url, shapeData) {
|
|
194
|
+
var summariesWithContent, _ref5, imageId, image, shouldShowImage, getImageElement;
|
|
195
|
+
|
|
196
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
197
|
+
while (1) {
|
|
198
|
+
switch (_context3.prev = _context3.next) {
|
|
199
|
+
case 0:
|
|
200
|
+
_context3.next = 2;
|
|
201
|
+
return Promise.all(dataSummaries.map( /*#__PURE__*/function () {
|
|
202
|
+
var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(dataSummary) {
|
|
203
|
+
var elementTitle, type, propsToDisplay, otherProps, isTypeHeading, summaryPropsWithContent, modifier, SummaryComponent, getDataSummaryComponent;
|
|
204
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
205
|
+
while (1) {
|
|
206
|
+
switch (_context2.prev = _context2.next) {
|
|
207
|
+
case 0:
|
|
208
|
+
elementTitle = dataSummary.elementTitle, type = dataSummary.type, propsToDisplay = dataSummary.propsToDisplay, otherProps = (0, _objectWithoutProperties2["default"])(dataSummary, _excluded);
|
|
209
|
+
isTypeHeading = type === _constants.HEADING_LARGE;
|
|
210
|
+
summaryPropsWithContent = (0, _reactPageBuilder.buildPropsToDisplayWithContent)(shapeData, propsToDisplay);
|
|
211
|
+
modifier = (0, _reactPageBuilder.getClassModifiers)(_constants.LIST, otherProps);
|
|
212
|
+
SummaryComponent = _reactPageBuilder.summaryComponents[type];
|
|
213
|
+
_context2.next = 7;
|
|
214
|
+
return SummaryComponent.render.preload();
|
|
215
|
+
|
|
216
|
+
case 7:
|
|
217
|
+
if (summaryPropsWithContent.length) {
|
|
218
|
+
_context2.next = 9;
|
|
219
|
+
break;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
return _context2.abrupt("return", null);
|
|
223
|
+
|
|
224
|
+
case 9:
|
|
225
|
+
getDataSummaryComponent = function getDataSummaryComponent() {
|
|
226
|
+
var component = /*#__PURE__*/_react["default"].createElement(SummaryComponent, {
|
|
227
|
+
key: type,
|
|
228
|
+
modifier: modifier,
|
|
229
|
+
elementTitle: elementTitle,
|
|
230
|
+
summaryPropsWithContent: summaryPropsWithContent
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
if (isTypeHeading && url) return /*#__PURE__*/_react["default"].createElement(_nextjsComponents.Link, {
|
|
234
|
+
href: url
|
|
235
|
+
}, component);
|
|
236
|
+
return component;
|
|
237
|
+
};
|
|
238
|
+
|
|
239
|
+
return _context2.abrupt("return", getDataSummaryComponent());
|
|
240
|
+
|
|
241
|
+
case 11:
|
|
242
|
+
case "end":
|
|
243
|
+
return _context2.stop();
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}, _callee2);
|
|
247
|
+
}));
|
|
248
|
+
|
|
249
|
+
return function (_x6) {
|
|
250
|
+
return _ref4.apply(this, arguments);
|
|
251
|
+
};
|
|
252
|
+
}()));
|
|
253
|
+
|
|
254
|
+
case 2:
|
|
255
|
+
summariesWithContent = _context3.sent;
|
|
256
|
+
_ref5 = shapeData || {}, imageId = _ref5.imageId;
|
|
257
|
+
image = imageData.find(function (_ref6) {
|
|
258
|
+
var id = _ref6.id;
|
|
259
|
+
return id === imageId;
|
|
260
|
+
});
|
|
261
|
+
shouldShowImage = image && image.url;
|
|
262
|
+
|
|
263
|
+
getImageElement = function getImageElement() {
|
|
264
|
+
var imageUrl = image.url,
|
|
265
|
+
data = image.data;
|
|
266
|
+
|
|
267
|
+
var imageElement = /*#__PURE__*/_react["default"].createElement("img", {
|
|
268
|
+
className: "info__window",
|
|
269
|
+
src: imageUrl,
|
|
270
|
+
alt: data && data.altText ? data.altText : ''
|
|
271
|
+
});
|
|
272
|
+
|
|
273
|
+
if (url) return /*#__PURE__*/_react["default"].createElement(_nextjsComponents.Link, {
|
|
274
|
+
href: url
|
|
275
|
+
}, imageElement);
|
|
276
|
+
return imageElement;
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
return _context3.abrupt("return", /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, shouldShowImage && getImageElement(), summariesWithContent));
|
|
280
|
+
|
|
281
|
+
case 8:
|
|
282
|
+
case "end":
|
|
283
|
+
return _context3.stop();
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}, _callee3);
|
|
287
|
+
}));
|
|
259
288
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
}, imageElement);
|
|
263
|
-
return imageElement;
|
|
289
|
+
return function infoWindowContent(_x2, _x3, _x4, _x5) {
|
|
290
|
+
return _ref3.apply(this, arguments);
|
|
264
291
|
};
|
|
292
|
+
}();
|
|
265
293
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
var setMarker = function setMarker(map, router, shape, data, imageData) {
|
|
270
|
-
var latitude = shape.latitude,
|
|
271
|
-
longitude = shape.longitude,
|
|
272
|
-
entity = shape.entity,
|
|
273
|
-
_shape$label = shape.label,
|
|
294
|
+
var setMarker = function setMarker(map, router, shape, imageData) {
|
|
295
|
+
var _shape$label = shape.label,
|
|
274
296
|
label = _shape$label === void 0 ? '' : _shape$label,
|
|
275
297
|
_shape$markerWidth = shape.markerWidth,
|
|
276
298
|
markerWidth = _shape$markerWidth === void 0 ? 50 : _shape$markerWidth,
|
|
277
299
|
_shape$markerHeight = shape.markerHeight,
|
|
278
|
-
markerHeight = _shape$markerHeight === void 0 ? 50 : _shape$markerHeight
|
|
300
|
+
markerHeight = _shape$markerHeight === void 0 ? 50 : _shape$markerHeight,
|
|
301
|
+
latitude = shape.latitude,
|
|
302
|
+
longitude = shape.longitude,
|
|
303
|
+
imageId = shape.imageId;
|
|
279
304
|
|
|
280
305
|
if (isPositionCorrect(latitude, longitude)) {
|
|
281
|
-
var
|
|
282
|
-
var iconUrl = getIconUrl(shape, imageData);
|
|
306
|
+
var iconUrl = getIconUrl(imageId, imageData);
|
|
283
307
|
var icon = iconUrl ? {
|
|
284
308
|
url: iconUrl,
|
|
285
309
|
scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)
|
|
@@ -293,54 +317,48 @@ var setMarker = function setMarker(map, router, shape, data, imageData) {
|
|
|
293
317
|
icon: icon,
|
|
294
318
|
title: label || ''
|
|
295
319
|
});
|
|
296
|
-
addShapeListeners(map, router, shape,
|
|
320
|
+
addShapeListeners(map, router, shape, imageData, marker);
|
|
297
321
|
shapesArray.push(marker);
|
|
298
322
|
marker.setMap(map);
|
|
299
323
|
}
|
|
300
324
|
};
|
|
301
325
|
|
|
302
|
-
var setPolyline = function setPolyline(map, router, shape,
|
|
303
|
-
var paths = shape.paths
|
|
304
|
-
entity = shape.entity;
|
|
326
|
+
var setPolyline = function setPolyline(map, router, shape, imageData) {
|
|
327
|
+
var paths = shape.paths;
|
|
305
328
|
var path = (0, _getPath["default"])(paths);
|
|
306
329
|
|
|
307
330
|
if (path.length) {
|
|
308
|
-
var entityData = entity ? data[entity] || [] : [];
|
|
309
331
|
var polyline = new window.google.maps.Polyline(_objectSpread({
|
|
310
332
|
path: path,
|
|
311
333
|
geodesic: true
|
|
312
334
|
}, setStyleOptions(shape)));
|
|
313
|
-
addShapeListeners(map, router, shape,
|
|
335
|
+
addShapeListeners(map, router, shape, imageData, polyline);
|
|
314
336
|
shapesArray.push(polyline);
|
|
315
337
|
polyline.setMap(map);
|
|
316
338
|
}
|
|
317
339
|
};
|
|
318
340
|
|
|
319
|
-
var setPolygon = function setPolygon(map, router, shape,
|
|
320
|
-
var unParsedPaths = shape.paths
|
|
321
|
-
entity = shape.entity;
|
|
341
|
+
var setPolygon = function setPolygon(map, router, shape, imageData) {
|
|
342
|
+
var unParsedPaths = shape.paths;
|
|
322
343
|
var paths = (0, _getPath["default"])(unParsedPaths);
|
|
323
344
|
|
|
324
345
|
if (paths.length) {
|
|
325
|
-
var entityData = entity ? data[entity] || [] : [];
|
|
326
346
|
var polygon = new window.google.maps.Polygon(_objectSpread({
|
|
327
347
|
paths: paths
|
|
328
348
|
}, setStyleOptions(shape)));
|
|
329
|
-
addShapeListeners(map, router, shape,
|
|
349
|
+
addShapeListeners(map, router, shape, imageData, polygon);
|
|
330
350
|
shapesArray.push(polygon);
|
|
331
351
|
polygon.setMap(map);
|
|
332
352
|
}
|
|
333
353
|
};
|
|
334
354
|
|
|
335
|
-
var setRectangle = function setRectangle(map, router, shape,
|
|
355
|
+
var setRectangle = function setRectangle(map, router, shape, imageData) {
|
|
336
356
|
var northBound = shape.northBound,
|
|
337
357
|
southBound = shape.southBound,
|
|
338
358
|
eastBound = shape.eastBound,
|
|
339
|
-
westBound = shape.westBound
|
|
340
|
-
entity = shape.entity;
|
|
359
|
+
westBound = shape.westBound;
|
|
341
360
|
|
|
342
361
|
if (areRectangleBoundsNumbers([northBound, southBound, eastBound, westBound])) {
|
|
343
|
-
var entityData = entity ? data[entity] || [] : [];
|
|
344
362
|
var rectangle = new window.google.maps.Rectangle(_objectSpread(_objectSpread({}, setStyleOptions(shape)), {}, {
|
|
345
363
|
map: map,
|
|
346
364
|
bounds: {
|
|
@@ -350,20 +368,18 @@ var setRectangle = function setRectangle(map, router, shape, data, imageData) {
|
|
|
350
368
|
west: westBound
|
|
351
369
|
}
|
|
352
370
|
}));
|
|
353
|
-
addShapeListeners(map, router, shape,
|
|
371
|
+
addShapeListeners(map, router, shape, imageData, rectangle);
|
|
354
372
|
shapesArray.push(rectangle);
|
|
355
373
|
rectangle.setMap(map);
|
|
356
374
|
}
|
|
357
375
|
};
|
|
358
376
|
|
|
359
|
-
var setCircle = function setCircle(map, router, shape,
|
|
377
|
+
var setCircle = function setCircle(map, router, shape, imageData) {
|
|
360
378
|
var latitude = shape.latitude,
|
|
361
379
|
longitude = shape.longitude,
|
|
362
|
-
radius = shape.radius
|
|
363
|
-
entity = shape.entity;
|
|
380
|
+
radius = shape.radius;
|
|
364
381
|
|
|
365
382
|
if (isPositionCorrect(latitude, longitude) && (0, _lodash["default"])(radius)) {
|
|
366
|
-
var entityData = entity ? data[entity] || [] : [];
|
|
367
383
|
var circle = new window.google.maps.Circle(_objectSpread(_objectSpread({}, setStyleOptions(shape)), {}, {
|
|
368
384
|
map: map,
|
|
369
385
|
center: {
|
|
@@ -372,60 +388,57 @@ var setCircle = function setCircle(map, router, shape, data, imageData) {
|
|
|
372
388
|
},
|
|
373
389
|
radius: radius
|
|
374
390
|
}));
|
|
375
|
-
addShapeListeners(map, router, shape,
|
|
391
|
+
addShapeListeners(map, router, shape, imageData, circle);
|
|
376
392
|
shapesArray.push(circle);
|
|
377
393
|
circle.setMap(map);
|
|
378
394
|
}
|
|
379
395
|
};
|
|
380
396
|
|
|
381
|
-
var setShapes = function setShapes(map, router, shapes,
|
|
397
|
+
var setShapes = function setShapes(map, router, shapes, imageData) {
|
|
382
398
|
var mapZoom = map.getZoom();
|
|
383
399
|
clearShapes();
|
|
400
|
+
shapes.forEach(function (shape) {
|
|
401
|
+
var type = shape.type,
|
|
402
|
+
minZoom = shape.minZoom,
|
|
403
|
+
maxZoom = shape.maxZoom;
|
|
404
|
+
|
|
405
|
+
if (mapZoom >= minZoom && mapZoom <= maxZoom) {
|
|
406
|
+
switch (type) {
|
|
407
|
+
case _constants.MARKER:
|
|
408
|
+
{
|
|
409
|
+
setMarker(map, router, shape, imageData);
|
|
410
|
+
break;
|
|
411
|
+
}
|
|
384
412
|
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
if (mapZoom >= minZoom && mapZoom <= maxZoom) {
|
|
392
|
-
switch (shapeType) {
|
|
393
|
-
case _constants.MARKER:
|
|
394
|
-
{
|
|
395
|
-
setMarker(map, router, shape, data, imageData);
|
|
396
|
-
break;
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
case _constants.POLYLINE:
|
|
400
|
-
{
|
|
401
|
-
setPolyline(map, router, shape, data, imageData);
|
|
402
|
-
break;
|
|
403
|
-
}
|
|
404
|
-
|
|
405
|
-
case _constants.POLYGON:
|
|
406
|
-
{
|
|
407
|
-
setPolygon(map, router, shape, data, imageData);
|
|
408
|
-
break;
|
|
409
|
-
}
|
|
413
|
+
case _constants.POLYLINE:
|
|
414
|
+
{
|
|
415
|
+
setPolyline(map, router, shape, imageData);
|
|
416
|
+
break;
|
|
417
|
+
}
|
|
410
418
|
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
419
|
+
case _constants.POLYGON:
|
|
420
|
+
{
|
|
421
|
+
setPolygon(map, router, shape, imageData);
|
|
422
|
+
break;
|
|
423
|
+
}
|
|
416
424
|
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
425
|
+
case _constants.RECTANGLE:
|
|
426
|
+
{
|
|
427
|
+
setRectangle(map, router, shape, imageData);
|
|
428
|
+
break;
|
|
429
|
+
}
|
|
422
430
|
|
|
423
|
-
|
|
431
|
+
case _constants.CIRCLE:
|
|
432
|
+
{
|
|
433
|
+
setCircle(map, router, shape, imageData);
|
|
424
434
|
break;
|
|
425
|
-
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
default:
|
|
438
|
+
break;
|
|
426
439
|
}
|
|
427
|
-
}
|
|
428
|
-
}
|
|
440
|
+
}
|
|
441
|
+
});
|
|
429
442
|
};
|
|
430
443
|
|
|
431
444
|
var _default = setShapes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/GoogleMaps/helpers/set-shapes.js"],"names":["shapesArray","infoWindowArray","clearShapes","length","forEach","shape","setMap","closeInfoWindows","infoWindow","close","addShapeListeners","map","router","entityData","imageData","shapeInstance","displayItems","entity","enableInfoPane","dataSummaries","url","getEntityUrl","window","google","maps","InfoWindow","content","addListener","CLICK","event","ReactDOMServer","renderToString","InfoWindowContent","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","entityId","filter","id","entityRecord","getImageUrl","imageId","getFiles","image","getIconUrl","entityRecordData","summariesWithContent","dataSummary","elementTitle","type","propsToDisplay","otherProps","isTypeHeading","HEADING_LARGE","summaryPropsWithContent","modifier","LIST","SummaryComponent","summaryComponents","getDataSummaryComponent","component","shouldShowImage","getImageElement","imageUrl","data","imageElement","altText","setMarker","latitude","longitude","label","markerWidth","markerHeight","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","shapeType","minZoom","maxZoom","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE"],"mappings":"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","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, entityData, imageData, shapeInstance) => {\n const { displayItems, entity, enableInfoPane = false, dataSummaries = [] } = shape;\n\n const url = getEntityUrl(displayItems, entity, entityData);\n\n if (enableInfoPane) {\n const infoWindow = new window.google.maps.InfoWindow({\n content: ''\n });\n\n shapeInstance.addListener(CLICK, event => {\n closeInfoWindows();\n const content = ReactDOMServer.renderToString(\n InfoWindowContent(entityData, imageData, displayItems, dataSummaries, url)\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 getEntityUrl = (displayItems, entity, entityData) => {\n let url = '';\n\n if (entity && displayItems) {\n const [entityId] = displayItems;\n const [entityRecord] = entityData.filter(({ id }) => id === entityId);\n if (entityRecord) {\n ({ url = '' } = entityRecord);\n }\n }\n\n return url;\n};\n\nconst getImageUrl = (imageData, imageId) => {\n const [image] = imageData.getFiles.filter(({ id }) => id === imageId);\n if (image) return image.url;\n\n return '';\n};\n\nconst getIconUrl = (shape, imageData) => {\n const { imageId } = shape;\n\n if (!imageData.getFiles) return '';\n\n return imageId ? getImageUrl(imageData, imageId) : '';\n};\n\nconst InfoWindowContent = (entityData, imageData, displayItems, dataSummaries, url) => {\n const [entityId] = displayItems;\n const [entityRecordData] = entityData.filter(({ id }) => id === entityId);\n\n const summariesWithContent = dataSummaries.map(dataSummary => {\n const { elementTitle, type, propsToDisplay, ...otherProps } = dataSummary;\n const isTypeHeading = type === HEADING_LARGE;\n const summaryPropsWithContent = buildPropsToDisplayWithContent(\n entityRecordData,\n propsToDisplay\n );\n const modifier = getClassModifiers(LIST, otherProps);\n const SummaryComponent = summaryComponents[type];\n if (!summaryPropsWithContent.length) {\n return null;\n }\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 let image = {};\n const { imageId } = entityRecordData || {};\n if (imageId) [image] = imageData.getFiles.filter(({ 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, data, imageData) => {\n const { latitude, longitude, entity, label = '', markerWidth = 50, markerHeight = 50 } = shape;\n if (isPositionCorrect(latitude, longitude)) {\n const entityData = entity ? data[entity] || [] : [];\n\n const iconUrl = getIconUrl(shape, 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, entityData, imageData, marker);\n\n shapesArray.push(marker);\n\n marker.setMap(map);\n }\n};\n\nconst setPolyline = (map, router, shape, data, imageData) => {\n const { paths, entity } = shape;\n const path = getPath(paths);\n\n if (path.length) {\n const entityData = entity ? data[entity] || [] : [];\n const polyline = new window.google.maps.Polyline({\n path,\n geodesic: true,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, entityData, imageData, polyline);\n\n shapesArray.push(polyline);\n\n polyline.setMap(map);\n }\n};\n\nconst setPolygon = (map, router, shape, data, imageData) => {\n const { paths: unParsedPaths, entity } = shape;\n const paths = getPath(unParsedPaths);\n\n if (paths.length) {\n const entityData = entity ? data[entity] || [] : [];\n const polygon = new window.google.maps.Polygon({\n paths,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, entityData, imageData, polygon);\n\n shapesArray.push(polygon);\n\n polygon.setMap(map);\n }\n};\n\nconst setRectangle = (map, router, shape, data, imageData) => {\n const { northBound, southBound, eastBound, westBound, entity } = shape;\n if (areRectangleBoundsNumbers([northBound, southBound, eastBound, westBound])) {\n const entityData = entity ? data[entity] || [] : [];\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, entityData, imageData, rectangle);\n\n shapesArray.push(rectangle);\n\n rectangle.setMap(map);\n }\n};\n\nconst setCircle = (map, router, shape, data, imageData) => {\n const { latitude, longitude, radius, entity } = shape;\n if (isPositionCorrect(latitude, longitude) && isNumber(radius)) {\n const entityData = entity ? data[entity] || [] : [];\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, entityData, imageData, circle);\n\n shapesArray.push(circle);\n\n circle.setMap(map);\n }\n};\n\nconst setShapes = (map, router, shapes, data, imageData) => {\n const mapZoom = map.getZoom();\n clearShapes();\n\n if (shapes.length) {\n shapes.forEach(shape => {\n const { type: shapeType, minZoom, maxZoom } = shape;\n\n if (mapZoom >= minZoom && mapZoom <= maxZoom) {\n switch (shapeType) {\n case MARKER: {\n setMarker(map, router, shape, data, imageData);\n break;\n }\n case POLYLINE: {\n setPolyline(map, router, shape, data, imageData);\n break;\n }\n case POLYGON: {\n setPolygon(map, router, shape, data, imageData);\n break;\n }\n case RECTANGLE: {\n setRectangle(map, router, shape, data, imageData);\n break;\n }\n case CIRCLE: {\n setCircle(map, router, shape, data, imageData);\n break;\n }\n default:\n break;\n }\n }\n });\n }\n};\n\nexport default setShapes;\n"],"file":"set-shapes.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/GoogleMaps/helpers/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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;;;;;;;AAYA,IAAMA,WAAW,GAAG,EAApB;AACA,IAAMC,eAAe,GAAG,EAAxB;;AAEA,IAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,MAAIF,WAAW,CAACG,MAAhB,EAAwB;AACtBH,IAAAA,WAAW,CAACI,OAAZ,CAAoB,UAAAC,KAAK;AAAA,aAAIA,KAAK,CAACC,MAAN,CAAa,IAAb,CAAJ;AAAA,KAAzB;AACAN,IAAAA,WAAW,CAACG,MAAZ,GAAqB,CAArB;AACD;AACF,CALD;;AAOA,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;AAC7B,MAAIN,eAAe,CAACE,MAApB,EAA4B;AAC1BF,IAAAA,eAAe,CAACG,OAAhB,CAAwB,UAAAI,UAAU;AAAA,aAAIA,UAAU,CAACC,KAAX,EAAJ;AAAA,KAAlC;AACAR,IAAAA,eAAe,CAACE,MAAhB,GAAyB,CAAzB;AACD;AACF,CALD;;AAOA,IAAMO,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAgCC,aAAhC,EAAkD;AAC1E,8BAAuET,KAAvE,CAAQU,cAAR;AAAA,MAAQA,cAAR,sCAAyB,KAAzB;AAAA,6BAAuEV,KAAvE,CAAgCW,aAAhC;AAAA,MAAgCA,aAAhC,qCAAgD,EAAhD;AAAA,MAAoDC,GAApD,GAAuEZ,KAAvE,CAAoDY,GAApD;AAAA,MAAyDC,SAAzD,GAAuEb,KAAvE,CAAyDa,SAAzD;;AAEA,MAAIH,cAAJ,EAAoB;AAClB,QAAMP,UAAU,GAAG,IAAIW,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmBC,UAAvB,CAAkC;AACnDC,MAAAA,OAAO,EAAE;AAD0C,KAAlC,CAAnB;AAIAT,IAAAA,aAAa,CAACU,WAAd,CAA0BC,gBAA1B;AAAA,+FAAiC,iBAAMC,KAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AAC/BnB,gBAAAA,gBAAgB;AADe,8BAEfoB,kBAFe;AAAA;AAAA,uBAGvBC,iBAAiB,CAACf,SAAD,EAAYG,aAAZ,EAA2BC,GAA3B,EAAgCC,SAAhC,CAHM;;AAAA;AAAA;AAEzBK,gBAAAA,OAFyB,eAEAM,cAFA;AAK/BrB,gBAAAA,UAAU,CAACsB,UAAX,CAAsBP,OAAtB;AACAf,gBAAAA,UAAU,CAACuB,WAAX,CAAuBL,KAAK,CAACM,MAA7B;AACAxB,gBAAAA,UAAU,CAACyB,IAAX,CAAgBtB,GAAhB,EAAqBG,aAArB;AACAb,gBAAAA,eAAe,CAACiC,IAAhB,CAAqB1B,UAArB;;AAR+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,OAAjC;;AAAA;AAAA;AAAA;AAAA;AAUD,GAfD,MAeO,IAAIS,GAAJ,EAAS;AACdH,IAAAA,aAAa,CAACU,WAAd,CAA0BC,gBAA1B,EAAiC,YAAM;AACrCb,MAAAA,MAAM,CAACsB,IAAP,CAAYjB,GAAZ;AACD,KAFD;AAGD;AACF,CAvBD;;AAyBA,IAAMkB,eAAe,GAAG,SAAlBA,eAAkB,CAAA9B,KAAK,EAAI;AAC/B,MAAQ+B,WAAR,GAA6E/B,KAA7E,CAAQ+B,WAAR;AAAA,MAAqBC,aAArB,GAA6EhC,KAA7E,CAAqBgC,aAArB;AAAA,MAAoCC,YAApC,GAA6EjC,KAA7E,CAAoCiC,YAApC;AAAA,MAAkDC,SAAlD,GAA6ElC,KAA7E,CAAkDkC,SAAlD;AAAA,MAA6DC,WAA7D,GAA6EnC,KAA7E,CAA6DmC,WAA7D;AACA,MAAMC,aAAa,GAAG;AAAEL,IAAAA,WAAW,EAAXA,WAAF;AAAeG,IAAAA,SAAS,EAATA,SAAf;AAA0BF,IAAAA,aAAa,EAAbA,aAA1B;AAAyCC,IAAAA,YAAY,EAAZA,YAAzC;AAAuDE,IAAAA,WAAW,EAAXA;AAAvD,GAAtB;AAEA,2BACKE,MAAM,CAACC,IAAP,CAAYF,aAAZ,EAA2BG,MAA3B,CAAkC,UAACC,GAAD,EAAMC,GAAN,EAAc;AACjD,QAAMC,YAAY,GAAGN,aAAa,CAACK,GAAD,CAAlC;AACA,QAAME,mBAAmB,GAAG,CAACF,GAAG,CAACG,QAAJ,CAAaC,gBAAb,CAA7B;AACA,QAAMC,uBAAuB,GAAGH,mBAAmB,GAAG,wBAASD,YAAT,CAAH,GAA4BA,YAA/E;AACA,QAAII,uBAAJ,EAA6BN,GAAG,CAACC,GAAD,CAAH,GAAWC,YAAX;AAC7B,WAAOF,GAAP;AACD,GANE,EAMA,EANA,CADL;AASD,CAbD;;AAeA,IAAMO,yBAAyB,GAAG,SAA5BA,yBAA4B,CAAAC,MAAM;AAAA,SAAIA,MAAM,CAACC,KAAP,CAAa,UAAAC,KAAK;AAAA,WAAI,wBAASA,KAAT,CAAJ;AAAA,GAAlB,CAAJ;AAAA,CAAxC;;AAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,GAAD,EAAMC,GAAN;AAAA,SAAc,wBAASD,GAAT,KAAiB,wBAASC,GAAT,CAA/B;AAAA,CAA1B;;AAEA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,OAAD,EAAU/C,SAAV,EAAwB;AACzC,MAAI,CAAC+C,OAAL,EAAc,OAAO,EAAP;AACd,MAAMC,KAAK,GAAGhD,SAAS,CAACiD,IAAV,CAAe;AAAA,QAAGC,EAAH,SAAGA,EAAH;AAAA,WAAYA,EAAE,KAAKH,OAAnB;AAAA,GAAf,CAAd;AACA,MAAI,CAACC,KAAD,IAAU,CAACA,KAAK,CAAC5C,GAArB,EAA0B,OAAO,EAAP;AAE1B,SAAO4C,KAAK,CAAC5C,GAAb;AACD,CAND;;AAQA,IAAMW,iBAAiB;AAAA,4FAAG,kBAAOf,SAAP,EAAkBG,aAAlB,EAAiCC,GAAjC,EAAsCC,SAAtC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBACW8C,OAAO,CAACC,GAAR,CACjCjD,aAAa,CAACL,GAAd;AAAA,wGAAkB,kBAAMuD,WAAN;AAAA;AAAA;AAAA;AAAA;AAAA;AACRC,wBAAAA,YADQ,GAC8CD,WAD9C,CACRC,YADQ,EACMC,IADN,GAC8CF,WAD9C,CACME,IADN,EACYC,cADZ,GAC8CH,WAD9C,CACYG,cADZ,EAC+BC,UAD/B,6CAC8CJ,WAD9C;AAEVK,wBAAAA,aAFU,GAEMH,IAAI,KAAKI,wBAFf;AAGVC,wBAAAA,uBAHU,GAGgB,sDAA+BvD,SAA/B,EAA0CmD,cAA1C,CAHhB;AAIVK,wBAAAA,QAJU,GAIC,yCAAkBC,eAAlB,EAAwBL,UAAxB,CAJD;AAKVM,wBAAAA,gBALU,GAKSC,oCAAkBT,IAAlB,CALT;AAAA;AAAA,+BAMVQ,gBAAgB,CAACE,MAAjB,CAAwBC,OAAxB,EANU;;AAAA;AAAA,4BAQXN,uBAAuB,CAACtE,MARb;AAAA;AAAA;AAAA;;AAAA,0DAQ4B,IAR5B;;AAAA;AAUV6E,wBAAAA,uBAVU,GAUgB,SAA1BA,uBAA0B,GAAM;AACpC,8BAAMC,SAAS,gBACb,gCAAC,gBAAD;AACE,4BAAA,GAAG,EAAEb,IADP;AAEE,4BAAA,QAAQ,EAAEM,QAFZ;AAGE,4BAAA,YAAY,EAAEP,YAHhB;AAIE,4BAAA,uBAAuB,EAAEM;AAJ3B,4BADF;;AASA,8BAAIF,aAAa,IAAItD,GAArB,EAA0B,oBAAO,gCAAC,sBAAD;AAAM,4BAAA,IAAI,EAAEA;AAAZ,6BAAkBgE,SAAlB,CAAP;AAE1B,iCAAOA,SAAP;AACD,yBAvBe;;AAAA,0DAyBTD,uBAAuB,EAzBd;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAAlB;;AAAA;AAAA;AAAA;AAAA,gBADiC,CADX;;AAAA;AAClBE,YAAAA,oBADkB;AAAA,oBA8BJhE,SAAS,IAAI,EA9BT,EA8BhB0C,OA9BgB,SA8BhBA,OA9BgB;AA+BlBC,YAAAA,KA/BkB,GA+BVhD,SAAS,CAACiD,IAAV,CAAe;AAAA,kBAAGC,EAAH,SAAGA,EAAH;AAAA,qBAAYA,EAAE,KAAKH,OAAnB;AAAA,aAAf,CA/BU;AAgClBuB,YAAAA,eAhCkB,GAgCAtB,KAAK,IAAIA,KAAK,CAAC5C,GAhCf;;AAkClBmE,YAAAA,eAlCkB,GAkCA,SAAlBA,eAAkB,GAAM;AAC5B,kBAAaC,QAAb,GAAgCxB,KAAhC,CAAQ5C,GAAR;AAAA,kBAAuBqE,IAAvB,GAAgCzB,KAAhC,CAAuByB,IAAvB;;AACA,kBAAMC,YAAY,gBAChB;AAAK,gBAAA,SAAS,EAAC,cAAf;AAA8B,gBAAA,GAAG,EAAEF,QAAnC;AAA6C,gBAAA,GAAG,EAAEC,IAAI,IAAIA,IAAI,CAACE,OAAb,GAAuBF,IAAI,CAACE,OAA5B,GAAsC;AAAxF,gBADF;;AAIA,kBAAIvE,GAAJ,EAAS,oBAAO,gCAAC,sBAAD;AAAM,gBAAA,IAAI,EAAEA;AAAZ,iBAAkBsE,YAAlB,CAAP;AAET,qBAAOA,YAAP;AACD,aA3CuB;;AAAA,2DA8CtB,kEACGJ,eAAe,IAAIC,eAAe,EADrC,EAEGF,oBAFH,CA9CsB;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAH;;AAAA,kBAAjBtD,iBAAiB;AAAA;AAAA;AAAA,GAAvB;;AAqDA,IAAM6D,SAAS,GAAG,SAAZA,SAAY,CAAC9E,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAmC;AACnD,qBAA0FR,KAA1F,CAAQqF,KAAR;AAAA,MAAQA,KAAR,6BAAgB,EAAhB;AAAA,2BAA0FrF,KAA1F,CAAoBsF,WAApB;AAAA,MAAoBA,WAApB,mCAAkC,EAAlC;AAAA,4BAA0FtF,KAA1F,CAAsCuF,YAAtC;AAAA,MAAsCA,YAAtC,oCAAqD,EAArD;AAAA,MAAyDC,QAAzD,GAA0FxF,KAA1F,CAAyDwF,QAAzD;AAAA,MAAmEC,SAAnE,GAA0FzF,KAA1F,CAAmEyF,SAAnE;AAAA,MAA8ElC,OAA9E,GAA0FvD,KAA1F,CAA8EuD,OAA9E;;AAEA,MAAIJ,iBAAiB,CAACqC,QAAD,EAAWC,SAAX,CAArB,EAA4C;AAC1C,QAAMC,OAAO,GAAGpC,UAAU,CAACC,OAAD,EAAU/C,SAAV,CAA1B;AAEA,QAAMmF,IAAI,GAAGD,OAAO,GAChB;AACE9E,MAAAA,GAAG,EAAE8E,OADP;AAEEE,MAAAA,UAAU,EAAE,IAAI9E,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmB6E,IAAvB,CAA4BP,WAAW,IAAI,EAA3C,EAA+CC,YAAY,IAAI,EAA/D;AAFd,KADgB,GAKhB,EALJ;AAOA,QAAMO,MAAM,GAAG,IAAIhF,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmB+E,MAAvB,CAA8B;AAC3CC,MAAAA,QAAQ,EAAE;AAAE5C,QAAAA,GAAG,EAAEoC,QAAP;AAAiBnC,QAAAA,GAAG,EAAEoC;AAAtB,OADiC;AAE3CnF,MAAAA,GAAG,EAAHA,GAF2C;AAG3CqF,MAAAA,IAAI,EAAJA,IAH2C;AAI3CM,MAAAA,KAAK,EAAEZ,KAAK,IAAI;AAJ2B,KAA9B,CAAf;AAOAhF,IAAAA,iBAAiB,CAACC,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAgCsF,MAAhC,CAAjB;AAEAnG,IAAAA,WAAW,CAACkC,IAAZ,CAAiBiE,MAAjB;AAEAA,IAAAA,MAAM,CAAC7F,MAAP,CAAcK,GAAd;AACD;AACF,CA1BD;;AA4BA,IAAM4F,WAAW,GAAG,SAAdA,WAAc,CAAC5F,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAmC;AACrD,MAAQ2F,KAAR,GAAkBnG,KAAlB,CAAQmG,KAAR;AACA,MAAMC,IAAI,GAAG,yBAAQD,KAAR,CAAb;;AAEA,MAAIC,IAAI,CAACtG,MAAT,EAAiB;AACf,QAAMuG,QAAQ,GAAG,IAAIvF,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmBsF,QAAvB;AACfF,MAAAA,IAAI,EAAJA,IADe;AAEfG,MAAAA,QAAQ,EAAE;AAFK,OAGZzE,eAAe,CAAC9B,KAAD,CAHH,EAAjB;AAMAK,IAAAA,iBAAiB,CAACC,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAgC6F,QAAhC,CAAjB;AAEA1G,IAAAA,WAAW,CAACkC,IAAZ,CAAiBwE,QAAjB;AAEAA,IAAAA,QAAQ,CAACpG,MAAT,CAAgBK,GAAhB;AACD;AACF,CAjBD;;AAmBA,IAAMkG,UAAU,GAAG,SAAbA,UAAa,CAAClG,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAmC;AACpD,MAAeiG,aAAf,GAAiCzG,KAAjC,CAAQmG,KAAR;AACA,MAAMA,KAAK,GAAG,yBAAQM,aAAR,CAAd;;AAEA,MAAIN,KAAK,CAACrG,MAAV,EAAkB;AAChB,QAAM4G,OAAO,GAAG,IAAI5F,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmB2F,OAAvB;AACdR,MAAAA,KAAK,EAALA;AADc,OAEXrE,eAAe,CAAC9B,KAAD,CAFJ,EAAhB;AAKAK,IAAAA,iBAAiB,CAACC,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAgCkG,OAAhC,CAAjB;AAEA/G,IAAAA,WAAW,CAACkC,IAAZ,CAAiB6E,OAAjB;AAEAA,IAAAA,OAAO,CAACzG,MAAR,CAAeK,GAAf;AACD;AACF,CAhBD;;AAkBA,IAAMsG,YAAY,GAAG,SAAfA,YAAe,CAACtG,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAmC;AACtD,MAAQqG,UAAR,GAAyD7G,KAAzD,CAAQ6G,UAAR;AAAA,MAAoBC,UAApB,GAAyD9G,KAAzD,CAAoB8G,UAApB;AAAA,MAAgCC,SAAhC,GAAyD/G,KAAzD,CAAgC+G,SAAhC;AAAA,MAA2CC,SAA3C,GAAyDhH,KAAzD,CAA2CgH,SAA3C;;AACA,MAAIjE,yBAAyB,CAAC,CAAC8D,UAAD,EAAaC,UAAb,EAAyBC,SAAzB,EAAoCC,SAApC,CAAD,CAA7B,EAA+E;AAC7E,QAAMC,SAAS,GAAG,IAAInG,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmBkG,SAAvB,iCACbpF,eAAe,CAAC9B,KAAD,CADF;AAEhBM,MAAAA,GAAG,EAAHA,GAFgB;AAGhB0C,MAAAA,MAAM,EAAE;AACNmE,QAAAA,KAAK,EAAEN,UADD;AAENO,QAAAA,KAAK,EAAEN,UAFD;AAGNO,QAAAA,IAAI,EAAEN,SAHA;AAINO,QAAAA,IAAI,EAAEN;AAJA;AAHQ,OAAlB;AAWA3G,IAAAA,iBAAiB,CAACC,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAgCyG,SAAhC,CAAjB;AAEAtH,IAAAA,WAAW,CAACkC,IAAZ,CAAiBoF,SAAjB;AAEAA,IAAAA,SAAS,CAAChH,MAAV,CAAiBK,GAAjB;AACD;AACF,CApBD;;AAsBA,IAAMiH,SAAS,GAAG,SAAZA,SAAY,CAACjH,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAmC;AACnD,MAAQgF,QAAR,GAAwCxF,KAAxC,CAAQwF,QAAR;AAAA,MAAkBC,SAAlB,GAAwCzF,KAAxC,CAAkByF,SAAlB;AAAA,MAA6B+B,MAA7B,GAAwCxH,KAAxC,CAA6BwH,MAA7B;;AACA,MAAIrE,iBAAiB,CAACqC,QAAD,EAAWC,SAAX,CAAjB,IAA0C,wBAAS+B,MAAT,CAA9C,EAAgE;AAC9D,QAAMC,MAAM,GAAG,IAAI3G,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmB0G,MAAvB,iCACV5F,eAAe,CAAC9B,KAAD,CADL;AAEbM,MAAAA,GAAG,EAAHA,GAFa;AAGbqH,MAAAA,MAAM,EAAE;AAAEvE,QAAAA,GAAG,EAAEoC,QAAP;AAAiBnC,QAAAA,GAAG,EAAEoC;AAAtB,OAHK;AAIb+B,MAAAA,MAAM,EAANA;AAJa,OAAf;AAOAnH,IAAAA,iBAAiB,CAACC,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAgCiH,MAAhC,CAAjB;AAEA9H,IAAAA,WAAW,CAACkC,IAAZ,CAAiB4F,MAAjB;AAEAA,IAAAA,MAAM,CAACxH,MAAP,CAAcK,GAAd;AACD;AACF,CAhBD;;AAkBA,IAAMsH,SAAS,GAAG,SAAZA,SAAY,CAACtH,GAAD,EAAMC,MAAN,EAAcsH,MAAd,EAAsBrH,SAAtB,EAAoC;AACpD,MAAMsH,OAAO,GAAGxH,GAAG,CAACyH,OAAJ,EAAhB;AACAlI,EAAAA,WAAW;AAEXgI,EAAAA,MAAM,CAAC9H,OAAP,CAAe,UAAAC,KAAK,EAAI;AACtB,QAAQ+D,IAAR,GAAmC/D,KAAnC,CAAQ+D,IAAR;AAAA,QAAciE,OAAd,GAAmChI,KAAnC,CAAcgI,OAAd;AAAA,QAAuBC,OAAvB,GAAmCjI,KAAnC,CAAuBiI,OAAvB;;AAEA,QAAIH,OAAO,IAAIE,OAAX,IAAsBF,OAAO,IAAIG,OAArC,EAA8C;AAC5C,cAAQlE,IAAR;AACE,aAAKmE,iBAAL;AAAa;AACX9C,YAAAA,SAAS,CAAC9E,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,CAAT;AACA;AACD;;AACD,aAAK2H,mBAAL;AAAe;AACbjC,YAAAA,WAAW,CAAC5F,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,CAAX;AACA;AACD;;AACD,aAAK4H,kBAAL;AAAc;AACZ5B,YAAAA,UAAU,CAAClG,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,CAAV;AACA;AACD;;AACD,aAAK6H,oBAAL;AAAgB;AACdzB,YAAAA,YAAY,CAACtG,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,CAAZ;AACA;AACD;;AACD,aAAK8H,iBAAL;AAAa;AACXf,YAAAA,SAAS,CAACjH,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,CAAT;AACA;AACD;;AACD;AACE;AAtBJ;AAwBD;AACF,GA7BD;AA8BD,CAlCD;;eAoCeoH,S","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"],"file":"set-shapes.js"}
|
|
@@ -13,7 +13,7 @@ var _queries = require("../queries");
|
|
|
13
13
|
|
|
14
14
|
var useGetImages = function useGetImages(imageIds) {
|
|
15
15
|
var queryName = 'getFiles';
|
|
16
|
-
var action = (0, _queries.
|
|
16
|
+
var action = (0, _queries.generateWhereQuery)((0, _queries.generateQueryString)(queryName, queryName, 'id url data'));
|
|
17
17
|
|
|
18
18
|
var _useQuery = (0, _client.useQuery)(action, {
|
|
19
19
|
variables: {
|
|
@@ -22,7 +22,8 @@ var useGetImages = function useGetImages(imageIds) {
|
|
|
22
22
|
_in: imageIds
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
}
|
|
25
|
+
},
|
|
26
|
+
skip: !imageIds || !imageIds.length
|
|
26
27
|
}),
|
|
27
28
|
_useQuery$data = _useQuery.data,
|
|
28
29
|
data = _useQuery$data === void 0 ? {} : _useQuery$data,
|