@blaze-cms/plugin-google-maps-fe 0.124.0-alpha.7 → 0.124.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +280 -0
- package/lib/GoogleMaps/GoogleMaps.js +4 -3
- package/lib/GoogleMaps/GoogleMaps.js.map +1 -1
- package/lib/GoogleMaps/GoogleMapsFactory.js +3 -1
- package/lib/GoogleMaps/GoogleMapsFactory.js.map +1 -1
- package/lib/GoogleMaps/GoogleMapsHtml.js +32 -0
- package/lib/GoogleMaps/GoogleMapsHtml.js.map +1 -0
- package/lib/GoogleMaps/GoogleMapsRender.js +3 -1
- package/lib/GoogleMaps/GoogleMapsRender.js.map +1 -1
- package/lib/GoogleMaps/helpers/add-zoom-listener.js.map +1 -1
- package/lib/GoogleMaps/helpers/build-map-shapes.js +23 -18
- package/lib/GoogleMaps/helpers/build-map-shapes.js.map +1 -1
- package/lib/GoogleMaps/helpers/build-map-type-ids.js.map +1 -1
- package/lib/GoogleMaps/helpers/build-query.js.map +1 -1
- package/lib/GoogleMaps/helpers/build-shapes-configs.js.map +1 -1
- package/lib/GoogleMaps/helpers/get-center-coordinates.js.map +1 -1
- package/lib/GoogleMaps/helpers/get-image-ids.js.map +1 -1
- package/lib/GoogleMaps/helpers/get-path.js.map +1 -1
- package/lib/GoogleMaps/helpers/index.js.map +1 -1
- package/lib/GoogleMaps/helpers/set-map-options.js.map +1 -1
- package/lib/GoogleMaps/helpers/set-shapes.js +35 -11
- package/lib/GoogleMaps/helpers/set-shapes.js.map +1 -1
- package/lib/GoogleMaps/hooks/index.js.map +1 -1
- package/lib/GoogleMaps/hooks/use-get-entity-schemas.js.map +1 -1
- package/lib/GoogleMaps/hooks/use-get-images.js.map +1 -1
- package/lib/GoogleMaps/index.js.map +1 -1
- package/lib/GoogleMaps/queries.js.map +1 -1
- package/lib/constants.js +3 -1
- package/lib/constants.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib-es/GoogleMaps/GoogleMaps.js +3 -3
- package/lib-es/GoogleMaps/GoogleMaps.js.map +1 -1
- package/lib-es/GoogleMaps/GoogleMapsFactory.js +2 -1
- package/lib-es/GoogleMaps/GoogleMapsFactory.js.map +1 -1
- package/lib-es/GoogleMaps/GoogleMapsHtml.js +18 -0
- package/lib-es/GoogleMaps/GoogleMapsHtml.js.map +1 -0
- package/lib-es/GoogleMaps/GoogleMapsRender.js +2 -1
- package/lib-es/GoogleMaps/GoogleMapsRender.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/add-zoom-listener.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/build-map-shapes.js +10 -20
- package/lib-es/GoogleMaps/helpers/build-map-shapes.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/build-map-type-ids.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/build-query.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/build-shapes-configs.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/get-center-coordinates.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/get-image-ids.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/get-path.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/index.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/set-map-options.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/set-shapes.js +37 -11
- package/lib-es/GoogleMaps/helpers/set-shapes.js.map +1 -1
- package/lib-es/GoogleMaps/hooks/index.js.map +1 -1
- package/lib-es/GoogleMaps/hooks/use-get-entity-schemas.js.map +1 -1
- package/lib-es/GoogleMaps/hooks/use-get-images.js.map +1 -1
- package/lib-es/GoogleMaps/index.js.map +1 -1
- package/lib-es/GoogleMaps/queries.js.map +1 -1
- package/lib-es/constants.js +2 -1
- package/lib-es/constants.js.map +1 -1
- package/lib-es/index.js.map +1 -1
- package/package.json +4 -4
- package/src/GoogleMaps/GoogleMaps.js +2 -1
- package/src/GoogleMaps/GoogleMapsFactory.js +2 -1
- package/src/GoogleMaps/GoogleMapsHtml.js +16 -0
- package/src/GoogleMaps/GoogleMapsRender.js +2 -1
- package/src/GoogleMaps/helpers/build-map-shapes.js +1 -18
- package/src/GoogleMaps/helpers/set-shapes.js +43 -11
- package/src/constants.js +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"build-shapes-configs.js","names":["getPropValues","properties","reduce","acc","property","includes","split","relationName","relationProp","trim","getUpdatedPropsQuery","propsQuery","entityData","dynamicProperties","Object","keys","filter","prop","URL","url","hasImage","IMAGE_ID","length","updatedPropsQuery","buildFilterQueryString","filterKey","filterValue","filterKeyword","bool","should","match","buildFilters","filters","filterQueryProps","map","buiildShapeProps","shape","shapeKey","dataSummaries","parentId","entityGroup","displayItems","filterBy","latProp","lonProp","entity","actions","relations","action","getAllPublished","getAll","dataSummaryProps","propsToDisplay","propsToDisplayValues","propertiesToDisplay","propsToDisplayString","ids","push","filtersObject","formatProp","ID","mainProp","nestedProp","idProp","find","localField","buildShapesConfig","schemas","entityGroups","parent","itemId","itemEntity","shapeGroups","forEach","i","shapes","Boolean","shapeIndex","shapeValues","shapeOptions","entityOptions"],"sources":["../../../src/GoogleMaps/helpers/build-shapes-configs.js"],"sourcesContent":["import flatten from 'lodash.flatten';\nimport { IMAGE_ID, URL, ID } from '../../constants';\n\nconst getPropValues = properties =>\n properties\n .reduce((acc, property) => {\n if (property.includes('.')) {\n const [relationName, relationProp] = property.split('.');\n return `${acc} ${relationName} { ${relationProp} }`;\n }\n return `${acc} ${property}`;\n }, '')\n .trim();\n\nconst getUpdatedPropsQuery = (propsQuery, entityData) => {\n const { properties = {}, dynamicProperties = {} } = entityData;\n\n const [url] = Object.keys(dynamicProperties).filter(prop => prop === URL);\n const hasImage = !!Object.keys(properties).filter(prop => prop === IMAGE_ID).length;\n\n let updatedPropsQuery = hasImage ? `${propsQuery} ${IMAGE_ID}` : propsQuery;\n updatedPropsQuery = url ? `${updatedPropsQuery} ${URL}` : updatedPropsQuery;\n\n return updatedPropsQuery;\n};\n\nconst buildFilterQueryString = filter => {\n const [filterKey, filterValue] = filter.split('/');\n const filterKeyword = `${filterKey}.keyword`;\n return { bool: { should: [{ match: { [filterKeyword]: filterValue } }] } };\n};\n\nconst buildFilters = filters => {\n if (!filters || !filters.length) return null;\n const filterQueryProps = filters.map(buildFilterQueryString);\n return { bool: { should: filterQueryProps } };\n};\n\nconst buiildShapeProps = (shape, shapeKey, dataSummaries, parentId, entityData, entityGroup) => {\n const { displayItems = [], filterBy } = shape;\n const { latProp, lonProp, entity } = entityGroup;\n const { actions, relations } = entityData;\n const action = actions ? actions.getAllPublished || actions.getAll : '';\n\n const dataSummaryProps = dataSummaries\n .reduce((acc, { propsToDisplay }) => {\n const propsToDisplayValues = flatten(\n propsToDisplay.map(({ propertiesToDisplay }) => propertiesToDisplay)\n );\n const propsToDisplayString = getPropValues(propsToDisplayValues);\n\n return `${acc} ${propsToDisplayString}`;\n }, '')\n .trim();\n const ids = [];\n displayItems.length ? ids.push(displayItems[0]) : ids.push(parentId);\n\n const filtersObject = buildFilters(filterBy);\n let propsQuery = dataSummaryProps ? `${dataSummaryProps}` : '';\n propsQuery = getUpdatedPropsQuery(propsQuery, entityData);\n if (latProp && lonProp) {\n propsQuery = `${propsQuery} ${formatProp(latProp, relations)} ${formatProp(\n lonProp,\n relations\n )}`;\n }\n if (ids.length && !propsQuery.includes(ID)) propsQuery = `${propsQuery.trim()} ${ID}`;\n\n return {\n shapeKey,\n entity,\n propsQuery,\n ids,\n action,\n filtersObject\n };\n};\n\nconst formatProp = (prop, relations = []) => {\n if (!prop.includes('.')) return prop;\n\n const [mainProp, nestedProp] = prop.split('.');\n const idProp = relations.find(({ localField }) => localField === mainProp) ? 'id ' : '';\n return `${mainProp}{${idProp}${nestedProp}}`;\n};\n\nconst buildShapesConfig = (schemas, entityGroups, parent) => {\n if (!schemas || !entityGroups) return [];\n const { itemId, itemEntity } = parent;\n const shapeGroups = [];\n entityGroups.forEach((entityGroup, i) => {\n const { entity, shapes, dataSummaries = [] } = entityGroup;\n const parentId = entity === itemEntity && itemId;\n if (!entity) return null;\n const entityData = schemas[entity] || {};\n\n shapes.filter(Boolean).forEach((shape, shapeIndex) => {\n const shapeKey = `shape${i}${shapeIndex}`;\n const shapeValues = buiildShapeProps(\n shape,\n shapeKey,\n dataSummaries,\n parentId,\n entityData,\n entityGroup\n );\n shapeGroups.push({ ...shapeValues, shapeOptions: shape, entityOptions: entityGroup });\n });\n });\n\n return shapeGroups;\n};\n\nexport default buildShapesConfig;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"get-center-coordinates.js","names":["getCenterCoordinates","mapShapes","otherProps","centerCoordinates","centerLatitude","centerLongitude","useDefaultCenter","latitude","longitude","useAsCenterShapes","filter","useAsCenter","shapesForCenter","length","forEach","push"],"sources":["../../../src/GoogleMaps/helpers/get-center-coordinates.js"],"sourcesContent":["import isNumber from 'lodash.isnumber';\n\nconst getCenterCoordinates = (mapShapes, otherProps) => {\n const centerCoordinates = [];\n\n const { centerLatitude, centerLongitude } = otherProps;\n const useDefaultCenter =\n centerLatitude !== 0 &&\n centerLongitude !== 0 &&\n isNumber(centerLatitude) &&\n isNumber(centerLongitude);\n\n if (useDefaultCenter) return [{ latitude: centerLatitude, longitude: centerLongitude }];\n\n const useAsCenterShapes = mapShapes.filter(({ useAsCenter }) => useAsCenter);\n const shapesForCenter = useAsCenterShapes.length ? useAsCenterShapes : mapShapes;\n shapesForCenter.forEach(({ latitude, longitude }) => {\n if (isNumber(latitude) && isNumber(longitude)) centerCoordinates.push({ latitude, longitude });\n });\n\n return centerCoordinates;\n};\n\nexport default getCenterCoordinates;\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,SAAD,EAAYC,UAAZ,EAA2B;EACtD,IAAMC,iBAAiB,GAAG,EAA1B;EAEA,IAAQC,cAAR,GAA4CF,UAA5C,CAAQE,cAAR;EAAA,IAAwBC,eAAxB,GAA4CH,UAA5C,CAAwBG,eAAxB;EACA,IAAMC,gBAAgB,GACpBF,cAAc,KAAK,CAAnB,IACAC,eAAe,KAAK,CADpB,IAEA,wBAASD,cAAT,CAFA,IAGA,wBAASC,eAAT,CAJF;EAMA,IAAIC,gBAAJ,EAAsB,OAAO,CAAC;IAAEC,QAAQ,EAAEH,cAAZ;IAA4BI,SAAS,EAAEH;EAAvC,CAAD,CAAP;EAEtB,IAAMI,iBAAiB,GAAGR,SAAS,CAACS,MAAV,CAAiB;IAAA,IAAGC,WAAH,QAAGA,WAAH;IAAA,OAAqBA,WAArB;EAAA,CAAjB,CAA1B;EACA,IAAMC,eAAe,GAAGH,iBAAiB,CAACI,MAAlB,GAA2BJ,iBAA3B,GAA+CR,SAAvE;EACAW,eAAe,CAACE,OAAhB,CAAwB,iBAA6B;IAAA,IAA1BP,QAA0B,SAA1BA,QAA0B;IAAA,IAAhBC,SAAgB,SAAhBA,SAAgB;IACnD,IAAI,wBAASD,QAAT,KAAsB,wBAASC,SAAT,CAA1B,EAA+CL,iBAAiB,CAACY,IAAlB,CAAuB;MAAER,QAAQ,EAARA,QAAF;MAAYC,SAAS,EAATA;IAAZ,CAAvB;EAChD,CAFD;EAIA,OAAOL,iBAAP;AACD,CAnBD;;eAqBeH,oB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"get-image-ids.js","names":["getImageIds","mapShapes","ids","forEach","shapeData","imageId","push","Set"],"sources":["../../../src/GoogleMaps/helpers/get-image-ids.js"],"sourcesContent":["const getImageIds = mapShapes => {\n const ids = [];\n mapShapes.forEach(({ shapeData, imageId }) => {\n if (imageId) ids.push(imageId);\n if (shapeData.imageId) ids.push(shapeData.imageId);\n });\n return [...new Set(ids)];\n};\n\nexport default getImageIds;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAAAC,SAAS,EAAI;EAC/B,IAAMC,GAAG,GAAG,EAAZ;EACAD,SAAS,CAACE,OAAV,CAAkB,gBAA4B;IAAA,IAAzBC,SAAyB,QAAzBA,SAAyB;IAAA,IAAdC,OAAc,QAAdA,OAAc;IAC5C,IAAIA,OAAJ,EAAaH,GAAG,CAACI,IAAJ,CAASD,OAAT;IACb,IAAID,SAAS,CAACC,OAAd,EAAuBH,GAAG,CAACI,IAAJ,CAASF,SAAS,CAACC,OAAnB;EACxB,CAHD;EAIA,2CAAW,IAAIE,GAAJ,CAAQL,GAAR,CAAX;AACD,CAPD;;eASeF,W"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"get-path.js","names":["getPath","paths","reduce","acc","path","lat","latitude","lng","longitude","push"],"sources":["../../../src/GoogleMaps/helpers/get-path.js"],"sourcesContent":["const getPath = paths =>\n paths.reduce((acc, path) => {\n const { latitude: lat, longitude: lng } = path;\n acc.push({ lat, lng });\n return acc;\n }, []);\n\nexport default getPath;\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAMA,OAAO,GAAG,SAAVA,OAAU,CAAAC,KAAK;EAAA,OACnBA,KAAK,CAACC,MAAN,CAAa,UAACC,GAAD,EAAMC,IAAN,EAAe;IAC1B,IAAkBC,GAAlB,GAA0CD,IAA1C,CAAQE,QAAR;IAAA,IAAkCC,GAAlC,GAA0CH,IAA1C,CAAuBI,SAAvB;IACAL,GAAG,CAACM,IAAJ,CAAS;MAAEJ,GAAG,EAAHA,GAAF;MAAOE,GAAG,EAAHA;IAAP,CAAT;IACA,OAAOJ,GAAP;EACD,CAJD,EAIG,EAJH,CADmB;AAAA,CAArB;;eAOeH,O"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/GoogleMaps/helpers/index.js"],"sourcesContent":["import addZoomListener from './add-zoom-listener';\nimport buildQuery from './build-query';\nimport getImageIds from './get-image-ids';\nimport buildShapesConfig from './build-shapes-configs';\nimport setMapOptions from './set-map-options';\nimport getCenterCoordinates from './get-center-coordinates';\nimport buildMapShapes from './build-map-shapes';\n\nexport {\n addZoomListener,\n buildQuery,\n getImageIds,\n buildShapesConfig,\n setMapOptions,\n getCenterCoordinates,\n buildMapShapes\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"set-map-options.js","names":["setCustomColor","featureType","color","elementType","ELEMENT_GEOMETRY","stylers","getFeatureStyles","enableRoads","enableFeatureTransportation","enableFeatureLabels","enableFeaturePoi","enableFeatureBoundaries","customColors","push","DISABLE_LABELS_STYLES","DISABLE_BOUNDARIES_STYLES","DISABLE_POI_STYLES","DISABLE_TRANSPORTATION_STYLES","setMapOptions","otherProps","centerLatitude","centerLongitude","defaultZoom","enableZoom","maxZoom","minZoom","enablePan","enableStreetView","enableFullScreen","enableSatelliteView","enableTerrainScreen","waterColor","landscapeColor","landscapeColorAll","mapType","FEATURE_TYPE_MAP","ALL","center","lat","lng","zoom","gestureHandling","COOPERATIVE","NONE","panControl","zoomControl","disableDoubleClickZoom","streetViewControl","fullscreenControl","mapTypeControl","mapTypeControlOptions","mapTypeIds","mapTypeId","DEFAULT_SELECT_VALUE","undefined","styles"],"sources":["../../../src/GoogleMaps/helpers/set-map-options.js"],"sourcesContent":["import buildMapTypeIds from './build-map-type-ids';\nimport {\n COOPERATIVE,\n NONE,\n ELEMENT_GEOMETRY,\n FEATURE_TYPE_MAP,\n ALL,\n DISABLE_TRANSPORTATION_STYLES,\n DISABLE_POI_STYLES,\n DISABLE_BOUNDARIES_STYLES,\n DISABLE_LABELS_STYLES,\n DEFAULT_SELECT_VALUE\n} from '../../constants';\n\nconst setCustomColor = (featureType, color, elementType) =>\n color\n ? [\n {\n featureType,\n elementType: elementType || ELEMENT_GEOMETRY,\n stylers: [\n {\n color\n }\n ]\n }\n ]\n : [];\n\nconst getFeatureStyles = ({\n enableRoads = true,\n enableFeatureTransportation,\n enableFeatureLabels,\n enableFeaturePoi,\n enableFeatureBoundaries\n}) => {\n const customColors = [];\n // todo: enableRoads is a legacy option can be removed in later updates\n if (!enableFeatureLabels || !enableRoads) customColors.push(...DISABLE_LABELS_STYLES);\n if (!enableFeatureBoundaries || !enableRoads) customColors.push(...DISABLE_BOUNDARIES_STYLES);\n if (!enableFeaturePoi || !enableRoads) customColors.push(...DISABLE_POI_STYLES);\n if (!enableFeatureTransportation || !enableRoads) {\n customColors.push(...DISABLE_TRANSPORTATION_STYLES);\n }\n\n return customColors;\n};\n\nconst setMapOptions = otherProps => {\n const {\n centerLatitude,\n centerLongitude,\n defaultZoom,\n enableZoom,\n maxZoom,\n minZoom,\n enablePan,\n enableStreetView,\n enableFullScreen,\n enableSatelliteView,\n enableTerrainScreen,\n waterColor,\n landscapeColor,\n landscapeColorAll,\n mapType\n } = otherProps;\n\n const customColors = [\n ...getFeatureStyles(otherProps),\n ...setCustomColor(FEATURE_TYPE_MAP.waterColor, waterColor),\n ...setCustomColor(FEATURE_TYPE_MAP.landscapeColor, landscapeColor),\n ...setCustomColor(FEATURE_TYPE_MAP.landscapeColor, landscapeColorAll, ALL)\n ];\n\n return {\n center: { lat: centerLatitude, lng: centerLongitude },\n zoom: defaultZoom,\n maxZoom: enableZoom ? maxZoom : defaultZoom,\n minZoom: enableZoom ? minZoom : defaultZoom,\n gestureHandling: enablePan || enableZoom ? COOPERATIVE : NONE,\n panControl: enablePan,\n zoomControl: enableZoom && minZoom !== maxZoom,\n disableDoubleClickZoom: !enableZoom,\n streetViewControl: enableStreetView,\n fullscreenControl: enableFullScreen,\n mapTypeControl: enableSatelliteView || enableTerrainScreen,\n mapTypeControlOptions: {\n mapTypeIds: buildMapTypeIds(enableSatelliteView, enableTerrainScreen)\n },\n mapTypeId: !mapType || mapType === DEFAULT_SELECT_VALUE ? undefined : mapType,\n styles: customColors\n };\n};\n\nexport default setMapOptions;\n"],"mappings":"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"}
|
|
@@ -291,30 +291,54 @@ var infoWindowContent = /*#__PURE__*/function () {
|
|
|
291
291
|
};
|
|
292
292
|
}();
|
|
293
293
|
|
|
294
|
-
|
|
295
|
-
var
|
|
296
|
-
label = _shape$label === void 0 ? '' : _shape$label,
|
|
294
|
+
function getIcon(imageData, shape) {
|
|
295
|
+
var imageId = shape.imageId,
|
|
297
296
|
_shape$markerWidth = shape.markerWidth,
|
|
298
297
|
markerWidth = _shape$markerWidth === void 0 ? 50 : _shape$markerWidth,
|
|
299
298
|
_shape$markerHeight = shape.markerHeight,
|
|
300
299
|
markerHeight = _shape$markerHeight === void 0 ? 50 : _shape$markerHeight,
|
|
300
|
+
strokeColor = shape.strokeColor,
|
|
301
|
+
strokeOpacity = shape.strokeOpacity,
|
|
302
|
+
strokeWeight = shape.strokeWeight,
|
|
303
|
+
fillColor = shape.fillColor,
|
|
304
|
+
fillOpacity = shape.fillOpacity,
|
|
305
|
+
svgPath = shape.svgPath;
|
|
306
|
+
var iconUrl = getIconUrl(imageId, imageData);
|
|
307
|
+
var icon = iconUrl ? {
|
|
308
|
+
url: iconUrl,
|
|
309
|
+
scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)
|
|
310
|
+
} : null;
|
|
311
|
+
if (icon) return icon;
|
|
312
|
+
if (!svgPath && !fillColor && !strokeColor) return {}; // any can be true for custom marker
|
|
313
|
+
|
|
314
|
+
var svgMarker = {
|
|
315
|
+
path: svgPath || _constants.DEFAULT_CUSTOM_MARKER_PATH,
|
|
316
|
+
strokeColor: strokeColor,
|
|
317
|
+
strokeOpacity: strokeOpacity,
|
|
318
|
+
strokeWeight: strokeWeight,
|
|
319
|
+
fillColor: fillColor,
|
|
320
|
+
fillOpacity: fillOpacity,
|
|
321
|
+
rotation: 0,
|
|
322
|
+
scale: 2
|
|
323
|
+
};
|
|
324
|
+
return svgMarker;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
var setMarker = function setMarker(map, router, shape, imageData) {
|
|
328
|
+
var _shape$label = shape.label,
|
|
329
|
+
label = _shape$label === void 0 ? '' : _shape$label,
|
|
301
330
|
latitude = shape.latitude,
|
|
302
|
-
longitude = shape.longitude
|
|
303
|
-
imageId = shape.imageId;
|
|
331
|
+
longitude = shape.longitude;
|
|
304
332
|
|
|
305
333
|
if (isPositionCorrect(latitude, longitude)) {
|
|
306
|
-
var
|
|
307
|
-
var icon = iconUrl ? {
|
|
308
|
-
url: iconUrl,
|
|
309
|
-
scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)
|
|
310
|
-
} : {};
|
|
334
|
+
var svgMarker = getIcon(imageData, shape);
|
|
311
335
|
var marker = new window.google.maps.Marker({
|
|
312
336
|
position: {
|
|
313
337
|
lat: latitude,
|
|
314
338
|
lng: longitude
|
|
315
339
|
},
|
|
316
340
|
map: map,
|
|
317
|
-
icon:
|
|
341
|
+
icon: svgMarker,
|
|
318
342
|
title: label || ''
|
|
319
343
|
});
|
|
320
344
|
addShapeListeners(map, router, shape, imageData, marker);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"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"}
|
|
1
|
+
{"version":3,"file":"set-shapes.js","names":["shapesArray","infoWindowArray","clearShapes","length","forEach","shape","setMap","closeInfoWindows","infoWindow","close","addShapeListeners","map","router","imageData","shapeInstance","enableInfoPane","dataSummaries","url","shapeData","window","google","maps","InfoWindow","content","addListener","CLICK","event","ReactDOMServer","infoWindowContent","renderToString","setContent","setPosition","latLng","open","push","setStyleOptions","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","styleSettings","Object","keys","reduce","acc","key","settingValue","shouldValueBeNumber","includes","COLOR","hasValuePassedCondition","areRectangleBoundsNumbers","bounds","every","bound","isPositionCorrect","lat","lng","getIconUrl","imageId","image","find","id","Promise","all","dataSummary","elementTitle","type","propsToDisplay","otherProps","isTypeHeading","HEADING_LARGE","summaryPropsWithContent","modifier","LIST","SummaryComponent","summaryComponents","render","preload","getDataSummaryComponent","component","summariesWithContent","shouldShowImage","getImageElement","imageUrl","data","imageElement","altText","getIcon","markerWidth","markerHeight","svgPath","iconUrl","icon","scaledSize","Size","svgMarker","path","DEFAULT_CUSTOM_MARKER_PATH","rotation","scale","setMarker","label","latitude","longitude","marker","Marker","position","title","setPolyline","paths","polyline","Polyline","geodesic","setPolygon","unParsedPaths","polygon","Polygon","setRectangle","northBound","southBound","eastBound","westBound","rectangle","Rectangle","north","south","east","west","setCircle","radius","circle","Circle","center","setShapes","shapes","mapZoom","getZoom","minZoom","maxZoom","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE"],"sources":["../../../src/GoogleMaps/helpers/set-shapes.js"],"sourcesContent":["import React from 'react';\nimport isNumber from 'lodash.isnumber';\nimport ReactDOMServer from 'react-dom/server';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport {\n buildPropsToDisplayWithContent,\n summaryComponents,\n getClassModifiers\n} from '@blaze-cms/react-page-builder';\nimport getPath from './get-path';\nimport {\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n COLOR,\n CLICK,\n HEADING_LARGE,\n LIST,\n DEFAULT_CUSTOM_MARKER_PATH\n} from '../../constants';\n\nconst shapesArray = [];\nconst infoWindowArray = [];\n\nconst clearShapes = () => {\n if (shapesArray.length) {\n shapesArray.forEach(shape => shape.setMap(null));\n shapesArray.length = 0;\n }\n};\n\nconst closeInfoWindows = () => {\n if (infoWindowArray.length) {\n infoWindowArray.forEach(infoWindow => infoWindow.close());\n infoWindowArray.length = 0;\n }\n};\n\nconst addShapeListeners = (map, router, shape, imageData, shapeInstance) => {\n const { enableInfoPane = false, dataSummaries = [], url, shapeData } = shape;\n\n if (enableInfoPane) {\n const infoWindow = new window.google.maps.InfoWindow({\n content: ''\n });\n\n shapeInstance.addListener(CLICK, async event => {\n closeInfoWindows();\n const content = ReactDOMServer.renderToString(\n await infoWindowContent(imageData, dataSummaries, url, shapeData)\n );\n infoWindow.setContent(content);\n infoWindow.setPosition(event.latLng);\n infoWindow.open(map, shapeInstance);\n infoWindowArray.push(infoWindow);\n });\n } else if (url) {\n shapeInstance.addListener(CLICK, () => {\n router.push(url);\n });\n }\n};\n\nconst setStyleOptions = shape => {\n const { strokeColor, strokeOpacity, strokeWeight, fillColor, fillOpacity } = shape;\n const styleSettings = { strokeColor, fillColor, strokeOpacity, strokeWeight, fillOpacity };\n\n return {\n ...Object.keys(styleSettings).reduce((acc, key) => {\n const settingValue = styleSettings[key];\n const shouldValueBeNumber = !key.includes(COLOR);\n const hasValuePassedCondition = shouldValueBeNumber ? isNumber(settingValue) : settingValue;\n if (hasValuePassedCondition) acc[key] = settingValue;\n return acc;\n }, {})\n };\n};\n\nconst areRectangleBoundsNumbers = bounds => bounds.every(bound => isNumber(bound));\n\nconst isPositionCorrect = (lat, lng) => isNumber(lat) && isNumber(lng);\n\nconst getIconUrl = (imageId, imageData) => {\n if (!imageId) return '';\n const image = imageData.find(({ id }) => id === imageId);\n if (!image || !image.url) return '';\n\n return image.url;\n};\n\nconst infoWindowContent = async (imageData, dataSummaries, url, shapeData) => {\n const summariesWithContent = await Promise.all(\n dataSummaries.map(async dataSummary => {\n const { elementTitle, type, propsToDisplay, ...otherProps } = dataSummary;\n const isTypeHeading = type === HEADING_LARGE;\n const summaryPropsWithContent = buildPropsToDisplayWithContent(shapeData, propsToDisplay);\n const modifier = getClassModifiers(LIST, otherProps);\n const SummaryComponent = summaryComponents[type];\n await SummaryComponent.render.preload(); // preload dynamic nextjs component\n\n if (!summaryPropsWithContent.length) return null;\n\n const getDataSummaryComponent = () => {\n const component = (\n <SummaryComponent\n key={type}\n modifier={modifier}\n elementTitle={elementTitle}\n summaryPropsWithContent={summaryPropsWithContent}\n />\n );\n\n if (isTypeHeading && url) return <Link href={url}>{component}</Link>;\n\n return component;\n };\n\n return getDataSummaryComponent();\n })\n );\n const { imageId } = shapeData || {};\n const image = imageData.find(({ id }) => id === imageId);\n const shouldShowImage = image && image.url;\n\n const getImageElement = () => {\n const { url: imageUrl, data } = image;\n const imageElement = (\n <img className=\"info__window\" src={imageUrl} alt={data && data.altText ? data.altText : ''} />\n );\n\n if (url) return <Link href={url}>{imageElement}</Link>;\n\n return imageElement;\n };\n\n return (\n <>\n {shouldShowImage && getImageElement()}\n {summariesWithContent}\n </>\n );\n};\n\nfunction getIcon(imageData, shape) {\n const {\n imageId,\n markerWidth = 50,\n markerHeight = 50,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n svgPath\n } = shape;\n const iconUrl = getIconUrl(imageId, imageData);\n\n const icon = iconUrl\n ? {\n url: iconUrl,\n scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)\n }\n : null;\n\n if (icon) return icon;\n\n if (!svgPath && !fillColor && !strokeColor) return {}; // any can be true for custom marker\n\n const svgMarker = {\n path: svgPath || DEFAULT_CUSTOM_MARKER_PATH,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n rotation: 0,\n scale: 2\n };\n return svgMarker;\n}\n\nconst setMarker = (map, router, shape, imageData) => {\n const { label = '', latitude, longitude } = shape;\n\n if (isPositionCorrect(latitude, longitude)) {\n const svgMarker = getIcon(imageData, shape);\n\n const marker = new window.google.maps.Marker({\n position: { lat: latitude, lng: longitude },\n map,\n icon: svgMarker,\n title: label || ''\n });\n\n addShapeListeners(map, router, shape, imageData, marker);\n\n shapesArray.push(marker);\n\n marker.setMap(map);\n }\n};\n\nconst setPolyline = (map, router, shape, imageData) => {\n const { paths } = shape;\n const path = getPath(paths);\n\n if (path.length) {\n const polyline = new window.google.maps.Polyline({\n path,\n geodesic: true,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polyline);\n\n shapesArray.push(polyline);\n\n polyline.setMap(map);\n }\n};\n\nconst setPolygon = (map, router, shape, imageData) => {\n const { paths: unParsedPaths } = shape;\n const paths = getPath(unParsedPaths);\n\n if (paths.length) {\n const polygon = new window.google.maps.Polygon({\n paths,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polygon);\n\n shapesArray.push(polygon);\n\n polygon.setMap(map);\n }\n};\n\nconst setRectangle = (map, router, shape, imageData) => {\n const { northBound, southBound, eastBound, westBound } = shape;\n if (areRectangleBoundsNumbers([northBound, southBound, eastBound, westBound])) {\n const rectangle = new window.google.maps.Rectangle({\n ...setStyleOptions(shape),\n map,\n bounds: {\n north: northBound,\n south: southBound,\n east: eastBound,\n west: westBound\n }\n });\n\n addShapeListeners(map, router, shape, imageData, rectangle);\n\n shapesArray.push(rectangle);\n\n rectangle.setMap(map);\n }\n};\n\nconst setCircle = (map, router, shape, imageData) => {\n const { latitude, longitude, radius } = shape;\n if (isPositionCorrect(latitude, longitude) && isNumber(radius)) {\n const circle = new window.google.maps.Circle({\n ...setStyleOptions(shape),\n map,\n center: { lat: latitude, lng: longitude },\n radius\n });\n\n addShapeListeners(map, router, shape, imageData, circle);\n\n shapesArray.push(circle);\n\n circle.setMap(map);\n }\n};\n\nconst setShapes = (map, router, shapes, imageData) => {\n const mapZoom = map.getZoom();\n clearShapes();\n\n shapes.forEach(shape => {\n const { type, minZoom, maxZoom } = shape;\n\n if (mapZoom >= minZoom && mapZoom <= maxZoom) {\n switch (type) {\n case MARKER: {\n setMarker(map, router, shape, imageData);\n break;\n }\n case POLYLINE: {\n setPolyline(map, router, shape, imageData);\n break;\n }\n case POLYGON: {\n setPolygon(map, router, shape, imageData);\n break;\n }\n case RECTANGLE: {\n setRectangle(map, router, shape, imageData);\n break;\n }\n case CIRCLE: {\n setCircle(map, router, shape, imageData);\n break;\n }\n default:\n break;\n }\n }\n });\n};\n\nexport default setShapes;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/GoogleMaps/hooks/index.js"],"sourcesContent":["import useGetEntitySchemas from './use-get-entity-schemas';\nimport useGetImages from './use-get-images';\n\nexport { useGetEntitySchemas, useGetImages };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"use-get-entity-schemas.js","names":["useGetEntitySchemas","skipCondition","skip","GET_ENTITY_SCHEMAS","data","loading","error"],"sources":["../../../src/GoogleMaps/hooks/use-get-entity-schemas.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { useState } from 'react';\nimport { GET_ENTITY_SCHEMAS } from '../queries';\n\nconst useGetEntitySchemas = (skipCondition = false) => {\n const [skip] = useState(!skipCondition);\n const { data = {}, loading, error } = useQuery(GET_ENTITY_SCHEMAS, {\n skip\n });\n return { data, loading, error };\n};\n\nexport default useGetEntitySchemas;\n"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,GAA2B;EAAA,IAA1BC,aAA0B,uEAAV,KAAU;;EACrD,gBAAe,qBAAS,CAACA,aAAV,CAAf;EAAA;EAAA,IAAOC,IAAP;;EACA,gBAAsC,sBAASC,2BAAT,EAA6B;IACjED,IAAI,EAAJA;EADiE,CAA7B,CAAtC;EAAA,+BAAQE,IAAR;EAAA,IAAQA,IAAR,+BAAe,EAAf;EAAA,IAAmBC,OAAnB,aAAmBA,OAAnB;EAAA,IAA4BC,KAA5B,aAA4BA,KAA5B;;EAGA,OAAO;IAAEF,IAAI,EAAJA,IAAF;IAAQC,OAAO,EAAPA,OAAR;IAAiBC,KAAK,EAALA;EAAjB,CAAP;AACD,CAND;;eAQeN,mB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"use-get-images.js","names":["useGetImages","imageIds","queryName","action","variables","where","id","_in","skip","length","data","loading","error"],"sources":["../../../src/GoogleMaps/hooks/use-get-images.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { generateWhereQuery, generateQueryString } from '../queries';\n\nconst useGetImages = imageIds => {\n const queryName = 'getFiles';\n const action = generateWhereQuery(generateQueryString(queryName, queryName, 'id url data'));\n const { data = {}, loading, error } = useQuery(action, {\n variables: { where: { id: { _in: imageIds } } },\n skip: !imageIds || !imageIds.length\n });\n return { data, loading, error };\n};\n\nexport default useGetImages;\n"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,YAAY,GAAG,SAAfA,YAAe,CAAAC,QAAQ,EAAI;EAC/B,IAAMC,SAAS,GAAG,UAAlB;EACA,IAAMC,MAAM,GAAG,iCAAmB,kCAAoBD,SAApB,EAA+BA,SAA/B,EAA0C,aAA1C,CAAnB,CAAf;;EACA,gBAAsC,sBAASC,MAAT,EAAiB;IACrDC,SAAS,EAAE;MAAEC,KAAK,EAAE;QAAEC,EAAE,EAAE;UAAEC,GAAG,EAAEN;QAAP;MAAN;IAAT,CAD0C;IAErDO,IAAI,EAAE,CAACP,QAAD,IAAa,CAACA,QAAQ,CAACQ;EAFwB,CAAjB,CAAtC;EAAA,+BAAQC,IAAR;EAAA,IAAQA,IAAR,+BAAe,EAAf;EAAA,IAAmBC,OAAnB,aAAmBA,OAAnB;EAAA,IAA4BC,KAA5B,aAA4BA,KAA5B;;EAIA,OAAO;IAAEF,IAAI,EAAJA,IAAF;IAAQC,OAAO,EAAPA,OAAR;IAAiBC,KAAK,EAALA;EAAjB,CAAP;AACD,CARD;;eAUeZ,Y"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["GoogleMapsFactory"],"sources":["../../src/GoogleMaps/index.js"],"sourcesContent":["import GoogleMapsFactory from './GoogleMapsFactory';\n\nexport default GoogleMapsFactory;\n"],"mappings":";;;;;;;;;;;AAAA;;eAEeA,6B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"queries.js","names":["GET_ENTITY_SCHEMAS","gql","generateQuery","queryString","generateWhereQuery","generateQueryString","action","query","props","generateIdsQuery","ids","JSON","stringify","generateFiltersQuery","rawQUery","filterQueryKey"],"sources":["../../src/GoogleMaps/queries.js"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst GET_ENTITY_SCHEMAS = gql`\n query getEntitySchemas($identifier: String) {\n getEntitySchemas(identifier: $identifier) {\n id\n identifier\n actions\n dynamicProperties\n properties\n relations\n }\n }\n`;\n\nconst generateQuery = queryString => gql`\n query getEntityData {\n ${queryString}\n }\n`;\n\nconst generateWhereQuery = queryString => gql`\n query getEntityData($where: JSON){\n ${queryString}\n }\n`;\nconst generateQueryString = (action, query, props) => `\n ${query}: ${action}(where: $where){\n id\n ${props}\n }\n`;\n\nconst generateIdsQuery = (query, props, action, ids) => `\n ${query}: ${action}(where: { id: { _in: ${JSON.stringify(ids)} } }){\n id\n ${props}\n }\n`;\n\nconst generateFiltersQuery = (query, props, rawQUery, filterQueryKey) => `\n ${query}: searchPublishedContent(rawQueryStringified: ${JSON.stringify(rawQUery)}){\n results {\n ...on ${filterQueryKey} {\n id\n ${props}\n }\n }\n }\n`;\n\nexport {\n GET_ENTITY_SCHEMAS,\n generateQuery,\n generateQueryString,\n generateIdsQuery,\n generateFiltersQuery,\n generateWhereQuery\n};\n"],"mappings":";;;;;;;;;;;;;;;AAAA;;;;AAEA,IAAMA,kBAAkB,OAAGC,WAAH,8SAAxB;;;AAaA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAAAC,WAAW;EAAA,WAAIF,WAAJ,oIAE3BE,WAF2B;AAAA,CAAjC;;;;AAMA,IAAMC,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAD,WAAW;EAAA,WAAIF,WAAJ,iJAEhCE,WAFgC;AAAA,CAAtC;;;;AAKA,IAAME,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,MAAD,EAASC,KAAT,EAAgBC,KAAhB;EAAA,qBACxBD,KADwB,eACdD,MADc,2CAGtBE,KAHsB;AAAA,CAA5B;;;;AAOA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACF,KAAD,EAAQC,KAAR,EAAeF,MAAf,EAAuBI,GAAvB;EAAA,qBACrBH,KADqB,eACXD,MADW,kCACmBK,IAAI,CAACC,SAAL,CAAeF,GAAf,CADnB,iCAGnBF,KAHmB;AAAA,CAAzB;;;;AAOA,IAAMK,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACN,KAAD,EAAQC,KAAR,EAAeM,QAAf,EAAyBC,cAAzB;EAAA,qBACzBR,KADyB,4DAC8BI,IAAI,CAACC,SAAL,CAAeE,QAAf,CAD9B,4CAGfC,cAHe,qCAKnBP,KALmB;AAAA,CAA7B"}
|
package/lib/constants.js
CHANGED
|
@@ -5,7 +5,7 @@ require("core-js/modules/es.object.define-property.js");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.ZOOM_CHANGED = exports.URL = exports.TERRAIN = exports.SCRIPT = exports.SATELLITE = exports.ROADMAP = exports.RECTANGLE = exports.POLYLINE = exports.POLYGON = exports.PLUGIN_NAME = exports.NONE = exports.MARKER = exports.LOAD = exports.LIST = exports.IN_VIEW_CONFIG = exports.IMAGE_ID = exports.ID = exports.HEADING_LARGE = exports.GOOGLE_MAPS_SCRIPT = exports.FILL_OPTIONS = exports.FEATURE_TYPE_MAP = exports.ELEMENT_GEOMETRY = exports.DISABLE_TRANSPORTATION_STYLES = exports.DISABLE_POI_STYLES = exports.DISABLE_LABELS_STYLES = exports.DISABLE_BOUNDARIES_STYLES = exports.DEFAULT_SELECT_VALUE = exports.DEFAULT_OPTIONS = exports.DEFAULT_COLOR = exports.COOPERATIVE = exports.COLOR = exports.CLICK = exports.CIRCLE = exports.ALL = void 0;
|
|
8
|
+
exports.ZOOM_CHANGED = exports.URL = exports.TERRAIN = exports.SCRIPT = exports.SATELLITE = exports.ROADMAP = exports.RECTANGLE = exports.POLYLINE = exports.POLYGON = exports.PLUGIN_NAME = exports.NONE = exports.MARKER = exports.LOAD = exports.LIST = exports.IN_VIEW_CONFIG = exports.IMAGE_ID = exports.ID = exports.HEADING_LARGE = exports.GOOGLE_MAPS_SCRIPT = exports.FILL_OPTIONS = exports.FEATURE_TYPE_MAP = exports.ELEMENT_GEOMETRY = exports.DISABLE_TRANSPORTATION_STYLES = exports.DISABLE_POI_STYLES = exports.DISABLE_LABELS_STYLES = exports.DISABLE_BOUNDARIES_STYLES = exports.DEFAULT_SELECT_VALUE = exports.DEFAULT_OPTIONS = exports.DEFAULT_CUSTOM_MARKER_PATH = exports.DEFAULT_COLOR = exports.COOPERATIVE = exports.COLOR = exports.CLICK = exports.CIRCLE = exports.ALL = void 0;
|
|
9
9
|
var PLUGIN_NAME = 'google-maps-fe';
|
|
10
10
|
exports.PLUGIN_NAME = PLUGIN_NAME;
|
|
11
11
|
var GOOGLE_MAPS_SCRIPT = 'https://maps.googleapis.com/maps/api/js?key=';
|
|
@@ -127,4 +127,6 @@ var IN_VIEW_CONFIG = {
|
|
|
127
127
|
exports.IN_VIEW_CONFIG = IN_VIEW_CONFIG;
|
|
128
128
|
var DEFAULT_SELECT_VALUE = 'Default';
|
|
129
129
|
exports.DEFAULT_SELECT_VALUE = DEFAULT_SELECT_VALUE;
|
|
130
|
+
var DEFAULT_CUSTOM_MARKER_PATH = 'M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z';
|
|
131
|
+
exports.DEFAULT_CUSTOM_MARKER_PATH = DEFAULT_CUSTOM_MARKER_PATH;
|
|
130
132
|
//# sourceMappingURL=constants.js.map
|
package/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"constants.js","names":["PLUGIN_NAME","GOOGLE_MAPS_SCRIPT","COOPERATIVE","NONE","LOAD","SCRIPT","ROADMAP","SATELLITE","TERRAIN","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE","DEFAULT_COLOR","DEFAULT_OPTIONS","strokeOpacity","strokeWeight","FILL_OPTIONS","fillOpacity","DISABLE_LABELS_STYLES","elementType","stylers","visibility","DISABLE_BOUNDARIES_STYLES","featureType","DISABLE_POI_STYLES","DISABLE_TRANSPORTATION_STYLES","ZOOM_CHANGED","COLOR","IMAGE_ID","URL","ID","CLICK","ELEMENT_GEOMETRY","FEATURE_TYPE_MAP","waterColor","landscapeColor","ALL","HEADING_LARGE","LIST","IN_VIEW_CONFIG","once","offset","DEFAULT_SELECT_VALUE","DEFAULT_CUSTOM_MARKER_PATH"],"sources":["../src/constants.js"],"sourcesContent":["const PLUGIN_NAME = 'google-maps-fe';\nconst GOOGLE_MAPS_SCRIPT = 'https://maps.googleapis.com/maps/api/js?key=';\nconst COOPERATIVE = 'cooperative';\nconst NONE = 'none';\nconst LOAD = 'load';\nconst SCRIPT = 'script';\nconst ROADMAP = 'roadmap';\nconst SATELLITE = 'satellite';\nconst TERRAIN = 'terrain';\nconst MARKER = 'marker';\nconst POLYLINE = 'polyline';\nconst POLYGON = 'polygon';\nconst RECTANGLE = 'rectangle';\nconst CIRCLE = 'circle';\nconst DEFAULT_COLOR = '#FF0000';\nconst DEFAULT_OPTIONS = {\n strokeOpacity: 1.0,\n strokeWeight: 2\n};\nconst FILL_OPTIONS = {\n fillOpacity: 0.35\n};\n\nconst DISABLE_LABELS_STYLES = [\n {\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_BOUNDARIES_STYLES = [\n {\n featureType: 'administrative',\n elementType: 'geometry',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'administrative.land_parcel',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'administrative.neighborhood',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_POI_STYLES = [\n {\n featureType: 'poi',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_TRANSPORTATION_STYLES = [\n {\n featureType: 'road',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'road',\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'transit',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst ZOOM_CHANGED = 'zoom_changed';\nconst COLOR = 'Color';\nconst IMAGE_ID = 'imageId';\nconst URL = 'url';\nconst ID = 'id';\nconst CLICK = 'click';\nconst ELEMENT_GEOMETRY = 'geometry.fill';\n\nconst FEATURE_TYPE_MAP = {\n waterColor: 'water',\n landscapeColor: 'landscape'\n};\n\nconst ALL = 'all';\n\nconst HEADING_LARGE = 'heading_large';\nconst LIST = 'list';\n\nconst IN_VIEW_CONFIG = {\n once: true,\n offset: '200px'\n};\n\nconst DEFAULT_SELECT_VALUE = 'Default';\n\nconst DEFAULT_CUSTOM_MARKER_PATH =\n 'M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z';\n\nexport {\n PLUGIN_NAME,\n GOOGLE_MAPS_SCRIPT,\n COOPERATIVE,\n NONE,\n LOAD,\n SCRIPT,\n ROADMAP,\n SATELLITE,\n TERRAIN,\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n DEFAULT_OPTIONS,\n FILL_OPTIONS,\n DEFAULT_COLOR,\n ZOOM_CHANGED,\n COLOR,\n IMAGE_ID,\n URL,\n ID,\n CLICK,\n ELEMENT_GEOMETRY,\n FEATURE_TYPE_MAP,\n ALL,\n HEADING_LARGE,\n LIST,\n IN_VIEW_CONFIG,\n DISABLE_TRANSPORTATION_STYLES,\n DISABLE_POI_STYLES,\n DISABLE_BOUNDARIES_STYLES,\n DISABLE_LABELS_STYLES,\n DEFAULT_SELECT_VALUE,\n DEFAULT_CUSTOM_MARKER_PATH\n};\n"],"mappings":";;;;;;;;AAAA,IAAMA,WAAW,GAAG,gBAApB;;AACA,IAAMC,kBAAkB,GAAG,8CAA3B;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,QAAQ,GAAG,UAAjB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,aAAa,GAAG,SAAtB;;AACA,IAAMC,eAAe,GAAG;EACtBC,aAAa,EAAE,GADO;EAEtBC,YAAY,EAAE;AAFQ,CAAxB;;AAIA,IAAMC,YAAY,GAAG;EACnBC,WAAW,EAAE;AADM,CAArB;;AAIA,IAAMC,qBAAqB,GAAG,CAC5B;EACEC,WAAW,EAAE,QADf;EAEEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAD4B,CAA9B;;AAWA,IAAMC,yBAAyB,GAAG,CAChC;EACEC,WAAW,EAAE,gBADf;EAEEJ,WAAW,EAAE,UAFf;EAGEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAHX,CADgC,EAUhC;EACEE,WAAW,EAAE,4BADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAVgC,EAkBhC;EACEE,WAAW,EAAE,6BADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAlBgC,CAAlC;;AA4BA,IAAMG,kBAAkB,GAAG,CACzB;EACED,WAAW,EAAE,KADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CADyB,CAA3B;;AAWA,IAAMI,6BAA6B,GAAG,CACpC;EACEF,WAAW,EAAE,MADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CADoC,EASpC;EACEE,WAAW,EAAE,MADf;EAEEJ,WAAW,EAAE,aAFf;EAGEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAHX,CAToC,EAkBpC;EACEE,WAAW,EAAE,SADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAlBoC,CAAtC;;AA4BA,IAAMK,YAAY,GAAG,cAArB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,QAAQ,GAAG,SAAjB;;AACA,IAAMC,GAAG,GAAG,KAAZ;;AACA,IAAMC,EAAE,GAAG,IAAX;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,gBAAgB,GAAG,eAAzB;;AAEA,IAAMC,gBAAgB,GAAG;EACvBC,UAAU,EAAE,OADW;EAEvBC,cAAc,EAAE;AAFO,CAAzB;;AAKA,IAAMC,GAAG,GAAG,KAAZ;;AAEA,IAAMC,aAAa,GAAG,eAAtB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AAEA,IAAMC,cAAc,GAAG;EACrBC,IAAI,EAAE,IADe;EAErBC,MAAM,EAAE;AAFa,CAAvB;;AAKA,IAAMC,oBAAoB,GAAG,SAA7B;;AAEA,IAAMC,0BAA0B,GAC9B,yKADF"}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["load","app","events","once","addComponent","key","component","name","PLUGIN_NAME","version","pkg","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\nimport pkg from '../package.json';\nimport { PLUGIN_NAME } from './constants';\n\nexport default async function load(app) {\n app.events.once('load:custom:page-builder:component', addComponent => {\n addComponent({\n key: 'googlemaps',\n component: dynamic(() => import(/* webpackChunkName: \"blazePbGoogleMaps\" */ './GoogleMaps'))\n });\n });\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;SAE8BA,I;;;;;wFAAf,iBAAoBC,GAApB;IAAA;MAAA;QAAA;UAAA;YACbA,GAAG,CAACC,MAAJ,CAAWC,IAAX,CAAgB,oCAAhB,EAAsD,UAAAC,YAAY,EAAI;cACpEA,YAAY,CAAC;gBACXC,GAAG,EAAE,YADM;gBAEXC,SAAS,EAAE,yBAAQ;kBAAA;oBAAA,uCAAyD,cAAzD;kBAAA;gBAAA,CAAR;cAFA,CAAD,CAAZ;YAID,CALD;YADa,iCAQN;cACLC,IAAI,EAAEC,sBADD;cAELC,OAAO,EAAEC,oBAAID;YAFR,CARM;;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,C;;;;AAcfT,IAAI,CAACW,UAAL,GAAkBH,sBAAlB"}
|
|
@@ -8,6 +8,7 @@ import { useInView } from '@blaze-react/utils/lib/customHooks';
|
|
|
8
8
|
import { functions, isEqual, omit } from 'lodash';
|
|
9
9
|
import { setMapOptions, addZoomListener } from './helpers';
|
|
10
10
|
import { GOOGLE_MAPS_SCRIPT, LOAD, SCRIPT, IN_VIEW_CONFIG } from '../constants';
|
|
11
|
+
import GoogleMapsHtml from './GoogleMapsHtml';
|
|
11
12
|
|
|
12
13
|
const shouldNotUpdate = (props, nextProps) => {
|
|
13
14
|
const [funcs, nextFuncs] = [functions(props), functions(nextProps)];
|
|
@@ -95,9 +96,8 @@ const GoogleMaps = _ref => {
|
|
|
95
96
|
}, []);
|
|
96
97
|
if (map && typeof onMount === `function`) onMount(map, onMountProps);
|
|
97
98
|
if (isIntersecting) addZoomListener(map, router, mapShapes, imageData);
|
|
98
|
-
return /*#__PURE__*/React.createElement(
|
|
99
|
-
|
|
100
|
-
ref: mapRef
|
|
99
|
+
return /*#__PURE__*/React.createElement(GoogleMapsHtml, {
|
|
100
|
+
mapRef: mapRef
|
|
101
101
|
});
|
|
102
102
|
};
|
|
103
103
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"GoogleMaps.js","names":["React","useEffect","useState","PropTypes","useRouter","withTitle","useInView","functions","isEqual","omit","setMapOptions","addZoomListener","GOOGLE_MAPS_SCRIPT","LOAD","SCRIPT","IN_VIEW_CONFIG","GoogleMapsHtml","shouldNotUpdate","props","nextProps","funcs","nextFuncs","noPropChange","noFuncChange","length","every","fn","toString","GoogleMaps","type","name","modifier","elementTitle","imageData","onMount","onMountProps","parent","mapShapes","centerCoordinates","otherProps","router","isIntersecting","mapRef","map","setMap","options","onLoad","initialMap","window","google","maps","Map","current","latitude","lat","longitude","lng","setCenter","bounds","LatLngBounds","forEach","extend","LatLng","fitBounds","script","document","createElement","src","process","env","GOOGLE_MAPS_API_KEY","head","append","addEventListener","removeEventListener","setOptions","enableGeolocation","shouldActivateGeolocation","navigator","geolocation","getCurrentPosition","position","center","coords","propTypes","array","string","func","object","defaultProps","memo"],"sources":["../../src/GoogleMaps/GoogleMaps.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { withTitle } from '@blaze-cms/react-page-builder';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { functions, isEqual, omit } from 'lodash';\nimport { setMapOptions, addZoomListener } from './helpers';\nimport { GOOGLE_MAPS_SCRIPT, LOAD, SCRIPT, IN_VIEW_CONFIG } from '../constants';\nimport GoogleMapsHtml from './GoogleMapsHtml';\n\nconst shouldNotUpdate = (props, nextProps) => {\n const [funcs, nextFuncs] = [functions(props), functions(nextProps)];\n const noPropChange = isEqual(omit(props, funcs), omit(nextProps, nextFuncs));\n const noFuncChange =\n funcs.length === nextFuncs.length &&\n funcs.every(fn => props[fn].toString() === nextProps[fn].toString());\n return noPropChange && noFuncChange;\n};\n\nconst GoogleMaps = ({\n type,\n name,\n modifier,\n elementTitle,\n imageData,\n onMount,\n onMountProps,\n parent,\n mapShapes,\n centerCoordinates,\n ...otherProps\n}) => {\n const router = useRouter();\n const [isIntersecting, mapRef] = useInView(IN_VIEW_CONFIG);\n const [map, setMap] = useState();\n\n useEffect(() => {\n const options = setMapOptions(otherProps);\n const onLoad = () => {\n const initialMap = new window.google.maps.Map(mapRef.current, options);\n if (centerCoordinates.length === 1) {\n const [{ latitude: lat, longitude: lng }] = centerCoordinates;\n initialMap.setCenter({ lat, lng });\n } else {\n const bounds = new window.google.maps.LatLngBounds();\n centerCoordinates.forEach(({ latitude, longitude }) => {\n bounds.extend(new window.google.maps.LatLng(latitude, longitude));\n });\n initialMap.fitBounds(bounds);\n }\n setMap(initialMap);\n };\n\n if (!window.google) {\n const script = document.createElement(SCRIPT);\n script.src = `${GOOGLE_MAPS_SCRIPT}${process.env.GOOGLE_MAPS_API_KEY}`;\n document.head.append(script);\n script.addEventListener(LOAD, onLoad);\n return () => script.removeEventListener(LOAD, onLoad);\n }\n\n onLoad();\n\n if (map) {\n map.setOptions(options);\n const { enableGeolocation } = otherProps;\n const shouldActivateGeolocation = enableGeolocation && navigator.geolocation;\n if (shouldActivateGeolocation) {\n navigator.geolocation.getCurrentPosition(\n position => {\n const center = {\n lat: position.coords.latitude,\n lng: position.coords.longitude\n };\n\n map.setCenter(center);\n },\n () => {}\n );\n }\n }\n\n return () => {};\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (map && typeof onMount === `function`) onMount(map, onMountProps);\n if (isIntersecting) addZoomListener(map, router, mapShapes, imageData);\n\n return <GoogleMapsHtml mapRef={mapRef} />;\n};\n\nGoogleMaps.propTypes = {\n mapShapes: PropTypes.array,\n imageData: PropTypes.array,\n type: PropTypes.string,\n name: PropTypes.string,\n modifier: PropTypes.string,\n elementTitle: PropTypes.string,\n onMount: PropTypes.func,\n onMountProps: PropTypes.object,\n parent: PropTypes.object,\n centerCoordinates: PropTypes.array\n};\n\nGoogleMaps.defaultProps = {\n mapShapes: [],\n imageData: [],\n centerCoordinates: [],\n type: '',\n name: '',\n modifier: '',\n elementTitle: '',\n onMount: null,\n onMountProps: null,\n parent: {}\n};\n\nexport default React.memo(withTitle(GoogleMaps), shouldNotUpdate);\n"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import PropTypes from 'prop-types';
|
|
|
6
6
|
import { useGetEntitySchemasAsObj } from '@blaze-cms/react-page-builder';
|
|
7
7
|
import { buildShapesConfig } from './helpers';
|
|
8
8
|
import GoogleMapsRender from './GoogleMapsRender';
|
|
9
|
+
import GoogleMapsHtml from './GoogleMapsHtml';
|
|
9
10
|
|
|
10
11
|
const GoogleMapsFactory = _ref => {
|
|
11
12
|
let {
|
|
@@ -21,7 +22,7 @@ const GoogleMapsFactory = _ref => {
|
|
|
21
22
|
} = useGetEntitySchemasAsObj(entityGroups.map(({
|
|
22
23
|
entity
|
|
23
24
|
}) => entity));
|
|
24
|
-
if (loading) return
|
|
25
|
+
if (loading) return /*#__PURE__*/React.createElement(GoogleMapsHtml, null);
|
|
25
26
|
if (error) return error.message;
|
|
26
27
|
const shapeConfigs = buildShapesConfig(data, entityGroups, parent);
|
|
27
28
|
return /*#__PURE__*/React.createElement(GoogleMapsRender, _extends({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"GoogleMapsFactory.js","names":["React","PropTypes","useGetEntitySchemasAsObj","buildShapesConfig","GoogleMapsRender","GoogleMapsHtml","GoogleMapsFactory","entityGroups","parent","otherProps","data","loading","error","map","entity","message","shapeConfigs","propTypes","object","array","defaultProps"],"sources":["../../src/GoogleMaps/GoogleMapsFactory.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useGetEntitySchemasAsObj } from '@blaze-cms/react-page-builder';\nimport { buildShapesConfig } from './helpers';\nimport GoogleMapsRender from './GoogleMapsRender';\nimport GoogleMapsHtml from './GoogleMapsHtml';\n\nconst GoogleMapsFactory = ({ entityGroups, parent, ...otherProps }) => {\n const { data, loading, error } = useGetEntitySchemasAsObj(\n entityGroups.map(({ entity }) => entity)\n );\n\n if (loading) return <GoogleMapsHtml />;\n if (error) return error.message;\n\n const shapeConfigs = buildShapesConfig(data, entityGroups, parent);\n\n return (\n <GoogleMapsRender\n shapeConfigs={shapeConfigs}\n entityGroups={entityGroups}\n parent={parent}\n {...otherProps}\n />\n );\n};\n\nGoogleMapsFactory.propTypes = {\n parent: PropTypes.object,\n entityGroups: PropTypes.array\n};\n\nGoogleMapsFactory.defaultProps = {\n parent: {},\n entityGroups: []\n};\n\nexport default GoogleMapsFactory;\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,wBAAT,QAAyC,+BAAzC;AACA,SAASC,iBAAT,QAAkC,WAAlC;AACA,OAAOC,gBAAP,MAA6B,oBAA7B;AACA,OAAOC,cAAP,MAA2B,kBAA3B;;AAEA,MAAMC,iBAAiB,GAAG,QAA6C;EAAA,IAA5C;IAAEC,YAAF;IAAgBC;EAAhB,CAA4C;EAAA,IAAjBC,UAAiB;;EACrE,MAAM;IAAEC,IAAF;IAAQC,OAAR;IAAiBC;EAAjB,IAA2BV,wBAAwB,CACvDK,YAAY,CAACM,GAAb,CAAiB,CAAC;IAAEC;EAAF,CAAD,KAAgBA,MAAjC,CADuD,CAAzD;EAIA,IAAIH,OAAJ,EAAa,oBAAO,oBAAC,cAAD,OAAP;EACb,IAAIC,KAAJ,EAAW,OAAOA,KAAK,CAACG,OAAb;EAEX,MAAMC,YAAY,GAAGb,iBAAiB,CAACO,IAAD,EAAOH,YAAP,EAAqBC,MAArB,CAAtC;EAEA,oBACE,oBAAC,gBAAD;IACE,YAAY,EAAEQ,YADhB;IAEE,YAAY,EAAET,YAFhB;IAGE,MAAM,EAAEC;EAHV,GAIMC,UAJN,EADF;AAQD,CAlBD;;AAoBAH,iBAAiB,CAACW,SAAlB,GAA8B;EAC5BT,MAAM,EAAEP,SAAS,CAACiB,MADU;EAE5BX,YAAY,EAAEN,SAAS,CAACkB;AAFI,CAA9B;AAKAb,iBAAiB,CAACc,YAAlB,GAAiC;EAC/BZ,MAAM,EAAE,EADuB;EAE/BD,YAAY,EAAE;AAFiB,CAAjC;AAKA,eAAeD,iBAAf"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import PropTypes from 'prop-types';
|
|
3
|
+
|
|
4
|
+
const GoogleMapsFactory = ({
|
|
5
|
+
mapRef
|
|
6
|
+
}) => /*#__PURE__*/React.createElement("div", {
|
|
7
|
+
className: `google-maps ${!mapRef ? 'loading' : ''}`,
|
|
8
|
+
ref: mapRef
|
|
9
|
+
});
|
|
10
|
+
|
|
11
|
+
GoogleMapsFactory.propTypes = {
|
|
12
|
+
mapRef: PropTypes.object
|
|
13
|
+
};
|
|
14
|
+
GoogleMapsFactory.defaultProps = {
|
|
15
|
+
mapRef: null
|
|
16
|
+
};
|
|
17
|
+
export default GoogleMapsFactory;
|
|
18
|
+
//# sourceMappingURL=GoogleMapsHtml.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GoogleMapsHtml.js","names":["React","PropTypes","GoogleMapsFactory","mapRef","propTypes","object","defaultProps"],"sources":["../../src/GoogleMaps/GoogleMapsHtml.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst GoogleMapsFactory = ({ mapRef }) => (\n <div className={`google-maps ${!mapRef ? 'loading' : ''}`} ref={mapRef} />\n);\n\nGoogleMapsFactory.propTypes = {\n mapRef: PropTypes.object\n};\n\nGoogleMapsFactory.defaultProps = {\n mapRef: null\n};\n\nexport default GoogleMapsFactory;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;;AAEA,MAAMC,iBAAiB,GAAG,CAAC;EAAEC;AAAF,CAAD,kBACxB;EAAK,SAAS,EAAG,eAAc,CAACA,MAAD,GAAU,SAAV,GAAsB,EAAG,EAAxD;EAA2D,GAAG,EAAEA;AAAhE,EADF;;AAIAD,iBAAiB,CAACE,SAAlB,GAA8B;EAC5BD,MAAM,EAAEF,SAAS,CAACI;AADU,CAA9B;AAIAH,iBAAiB,CAACI,YAAlB,GAAiC;EAC/BH,MAAM,EAAE;AADuB,CAAjC;AAIA,eAAeD,iBAAf"}
|
|
@@ -9,6 +9,7 @@ import { getAction } from '@blaze-cms/react-page-builder';
|
|
|
9
9
|
import { useGetImages } from './hooks';
|
|
10
10
|
import { buildQuery, getImageIds, getCenterCoordinates, buildMapShapes } from './helpers';
|
|
11
11
|
import GoogleMaps from './GoogleMaps';
|
|
12
|
+
import GoogleMapsHtml from './GoogleMapsHtml';
|
|
12
13
|
const defaultQuery = getAction('getPublishedPages', 'id');
|
|
13
14
|
|
|
14
15
|
const GoogleMapsRender = _ref => {
|
|
@@ -41,7 +42,7 @@ const GoogleMapsRender = _ref => {
|
|
|
41
42
|
loading: imagesLoading,
|
|
42
43
|
error: imagesError
|
|
43
44
|
} = useGetImages(imageIds);
|
|
44
|
-
if (loading || imagesLoading) return
|
|
45
|
+
if (loading || imagesLoading) return /*#__PURE__*/React.createElement(GoogleMapsHtml, null);
|
|
45
46
|
if (error || imagesError) return null;
|
|
46
47
|
const centerCoordinates = getCenterCoordinates(mapShapes, otherProps);
|
|
47
48
|
const shouldDisplayMap = isNumber(defaultZoom) && !!centerCoordinates.length;
|