@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.
Files changed (72) hide show
  1. package/CHANGELOG.md +242 -831
  2. package/lib/GoogleMaps/GoogleMaps.js +68 -40
  3. package/lib/GoogleMaps/GoogleMaps.js.map +1 -1
  4. package/lib/GoogleMaps/GoogleMapsFactory.js +8 -4
  5. package/lib/GoogleMaps/GoogleMapsFactory.js.map +1 -1
  6. package/lib/GoogleMaps/GoogleMapsRender.js +24 -41
  7. package/lib/GoogleMaps/GoogleMapsRender.js.map +1 -1
  8. package/lib/GoogleMaps/helpers/add-zoom-listener.js +3 -50
  9. package/lib/GoogleMaps/helpers/add-zoom-listener.js.map +1 -1
  10. package/lib/GoogleMaps/helpers/build-map-shapes.js +97 -0
  11. package/lib/GoogleMaps/helpers/build-map-shapes.js.map +1 -0
  12. package/lib/GoogleMaps/helpers/build-query.js +24 -14
  13. package/lib/GoogleMaps/helpers/build-query.js.map +1 -1
  14. package/lib/GoogleMaps/helpers/build-shapes-configs.js +196 -0
  15. package/lib/GoogleMaps/helpers/build-shapes-configs.js.map +1 -0
  16. package/lib/GoogleMaps/helpers/get-center-coordinates.js +49 -0
  17. package/lib/GoogleMaps/helpers/get-center-coordinates.js.map +1 -0
  18. package/lib/GoogleMaps/helpers/get-image-ids.js +16 -14
  19. package/lib/GoogleMaps/helpers/get-image-ids.js.map +1 -1
  20. package/lib/GoogleMaps/helpers/index.js +21 -5
  21. package/lib/GoogleMaps/helpers/index.js.map +1 -1
  22. package/lib/GoogleMaps/helpers/set-shapes.js +213 -200
  23. package/lib/GoogleMaps/helpers/set-shapes.js.map +1 -1
  24. package/lib/GoogleMaps/hooks/use-get-images.js +3 -2
  25. package/lib/GoogleMaps/hooks/use-get-images.js.map +1 -1
  26. package/lib/GoogleMaps/queries.js +22 -4
  27. package/lib/GoogleMaps/queries.js.map +1 -1
  28. package/lib-es/GoogleMaps/GoogleMaps.js +51 -25
  29. package/lib-es/GoogleMaps/GoogleMaps.js.map +1 -1
  30. package/lib-es/GoogleMaps/GoogleMapsFactory.js +10 -6
  31. package/lib-es/GoogleMaps/GoogleMapsFactory.js.map +1 -1
  32. package/lib-es/GoogleMaps/GoogleMapsRender.js +24 -32
  33. package/lib-es/GoogleMaps/GoogleMapsRender.js.map +1 -1
  34. package/lib-es/GoogleMaps/helpers/add-zoom-listener.js +3 -23
  35. package/lib-es/GoogleMaps/helpers/add-zoom-listener.js.map +1 -1
  36. package/lib-es/GoogleMaps/helpers/build-map-shapes.js +86 -0
  37. package/lib-es/GoogleMaps/helpers/build-map-shapes.js.map +1 -0
  38. package/lib-es/GoogleMaps/helpers/build-query.js +17 -8
  39. package/lib-es/GoogleMaps/helpers/build-query.js.map +1 -1
  40. package/lib-es/GoogleMaps/helpers/build-shapes-configs.js +134 -0
  41. package/lib-es/GoogleMaps/helpers/build-shapes-configs.js.map +1 -0
  42. package/lib-es/GoogleMaps/helpers/get-center-coordinates.js +31 -0
  43. package/lib-es/GoogleMaps/helpers/get-center-coordinates.js.map +1 -0
  44. package/lib-es/GoogleMaps/helpers/get-image-ids.js +9 -14
  45. package/lib-es/GoogleMaps/helpers/get-image-ids.js.map +1 -1
  46. package/lib-es/GoogleMaps/helpers/index.js +4 -2
  47. package/lib-es/GoogleMaps/helpers/index.js.map +1 -1
  48. package/lib-es/GoogleMaps/helpers/set-shapes.js +80 -125
  49. package/lib-es/GoogleMaps/helpers/set-shapes.js.map +1 -1
  50. package/lib-es/GoogleMaps/hooks/use-get-images.js +4 -3
  51. package/lib-es/GoogleMaps/hooks/use-get-images.js.map +1 -1
  52. package/lib-es/GoogleMaps/queries.js +23 -2
  53. package/lib-es/GoogleMaps/queries.js.map +1 -1
  54. package/package.json +4 -4
  55. package/src/GoogleMaps/GoogleMaps.js +40 -27
  56. package/src/GoogleMaps/GoogleMapsFactory.js +11 -4
  57. package/src/GoogleMaps/GoogleMapsRender.js +22 -21
  58. package/src/GoogleMaps/helpers/add-zoom-listener.js +3 -22
  59. package/src/GoogleMaps/helpers/build-map-shapes.js +70 -0
  60. package/src/GoogleMaps/helpers/build-query.js +25 -10
  61. package/src/GoogleMaps/helpers/build-shapes-configs.js +110 -0
  62. package/src/GoogleMaps/helpers/get-center-coordinates.js +24 -0
  63. package/src/GoogleMaps/helpers/get-image-ids.js +6 -15
  64. package/src/GoogleMaps/helpers/index.js +12 -2
  65. package/src/GoogleMaps/helpers/set-shapes.js +87 -123
  66. package/src/GoogleMaps/hooks/use-get-images.js +4 -3
  67. package/src/GoogleMaps/queries.js +30 -3
  68. package/lib/GoogleMaps/helpers/set-entity-configs.js +0 -144
  69. package/lib/GoogleMaps/helpers/set-entity-configs.js.map +0 -1
  70. package/lib-es/GoogleMaps/helpers/set-entity-configs.js +0 -94
  71. package/lib-es/GoogleMaps/helpers/set-entity-configs.js.map +0 -1
  72. package/src/GoogleMaps/helpers/set-entity-configs.js +0 -84
@@ -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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
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.filter.js");
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, entityData, imageData, shapeInstance) {
88
- var displayItems = shape.displayItems,
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
- var url = getEntityUrl(displayItems, entity, entityData);
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 (event) {
101
- closeInfoWindows();
102
-
103
- var content = _server["default"].renderToString(InfoWindowContent(entityData, imageData, displayItems, dataSummaries, url));
104
-
105
- infoWindow.setContent(content);
106
- infoWindow.setPosition(event.latLng);
107
- infoWindow.open(map, shapeInstance);
108
- infoWindowArray.push(infoWindow);
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 getEntityUrl = function getEntityUrl(displayItems, entity, entityData) {
150
- var url = '';
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
- var image = {};
232
-
233
- var _ref4 = entityRecordData || {},
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
- var imageElement = /*#__PURE__*/_react["default"].createElement("img", {
255
- className: "info__window",
256
- src: imageUrl,
257
- alt: data && data.altText ? data.altText : ''
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
- if (url) return /*#__PURE__*/_react["default"].createElement(_nextjsComponents.Link, {
261
- href: url
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
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, shouldShowImage && getImageElement(), summariesWithContent);
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 entityData = entity ? data[entity] || [] : [];
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, entityData, imageData, marker);
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, data, imageData) {
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, entityData, imageData, polyline);
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, data, imageData) {
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, entityData, imageData, polygon);
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, data, imageData) {
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, entityData, imageData, rectangle);
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, data, imageData) {
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, entityData, imageData, circle);
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, data, imageData) {
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
- if (shapes.length) {
386
- shapes.forEach(function (shape) {
387
- var shapeType = shape.type,
388
- minZoom = shape.minZoom,
389
- maxZoom = shape.maxZoom;
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
- case _constants.RECTANGLE:
412
- {
413
- setRectangle(map, router, shape, data, imageData);
414
- break;
415
- }
419
+ case _constants.POLYGON:
420
+ {
421
+ setPolygon(map, router, shape, imageData);
422
+ break;
423
+ }
416
424
 
417
- case _constants.CIRCLE:
418
- {
419
- setCircle(map, router, shape, data, imageData);
420
- break;
421
- }
425
+ case _constants.RECTANGLE:
426
+ {
427
+ setRectangle(map, router, shape, imageData);
428
+ break;
429
+ }
422
430
 
423
- default:
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":"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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, 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.generateQuery)((0, _queries.generateQueryString)(queryName, queryName, 'id url data'));
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,