@blaze-cms/plugin-google-maps-fe 0.124.0-alpha.9 → 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 +251 -0
- package/lib/GoogleMaps/GoogleMaps.js +4 -3
- package/lib/GoogleMaps/GoogleMaps.js.map +1 -1
- package/lib/GoogleMaps/GoogleMapsFactory.js +3 -1
- package/lib/GoogleMaps/GoogleMapsFactory.js.map +1 -1
- package/lib/GoogleMaps/GoogleMapsHtml.js +32 -0
- package/lib/GoogleMaps/GoogleMapsHtml.js.map +1 -0
- package/lib/GoogleMaps/GoogleMapsRender.js +3 -1
- package/lib/GoogleMaps/GoogleMapsRender.js.map +1 -1
- package/lib/GoogleMaps/helpers/build-map-shapes.js +23 -18
- package/lib/GoogleMaps/helpers/build-map-shapes.js.map +1 -1
- package/lib/GoogleMaps/helpers/set-shapes.js +35 -11
- package/lib/GoogleMaps/helpers/set-shapes.js.map +1 -1
- package/lib/constants.js +3 -1
- package/lib/constants.js.map +1 -1
- package/lib-es/GoogleMaps/GoogleMaps.js +3 -3
- package/lib-es/GoogleMaps/GoogleMaps.js.map +1 -1
- package/lib-es/GoogleMaps/GoogleMapsFactory.js +2 -1
- package/lib-es/GoogleMaps/GoogleMapsFactory.js.map +1 -1
- package/lib-es/GoogleMaps/GoogleMapsHtml.js +18 -0
- package/lib-es/GoogleMaps/GoogleMapsHtml.js.map +1 -0
- package/lib-es/GoogleMaps/GoogleMapsRender.js +2 -1
- package/lib-es/GoogleMaps/GoogleMapsRender.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/build-map-shapes.js +10 -20
- package/lib-es/GoogleMaps/helpers/build-map-shapes.js.map +1 -1
- package/lib-es/GoogleMaps/helpers/set-shapes.js +37 -11
- package/lib-es/GoogleMaps/helpers/set-shapes.js.map +1 -1
- package/lib-es/constants.js +2 -1
- package/lib-es/constants.js.map +1 -1
- package/package.json +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,"file":"set-shapes.js","names":["shapesArray","infoWindowArray","clearShapes","length","forEach","shape","setMap","closeInfoWindows","infoWindow","close","addShapeListeners","map","router","imageData","shapeInstance","enableInfoPane","dataSummaries","url","shapeData","window","google","maps","InfoWindow","content","addListener","CLICK","event","ReactDOMServer","infoWindowContent","renderToString","setContent","setPosition","latLng","open","push","setStyleOptions","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","styleSettings","Object","keys","reduce","acc","key","settingValue","shouldValueBeNumber","includes","COLOR","hasValuePassedCondition","areRectangleBoundsNumbers","bounds","every","bound","isPositionCorrect","lat","lng","getIconUrl","imageId","image","find","id","Promise","all","dataSummary","elementTitle","type","propsToDisplay","otherProps","isTypeHeading","HEADING_LARGE","summaryPropsWithContent","modifier","LIST","SummaryComponent","summaryComponents","render","preload","getDataSummaryComponent","component","summariesWithContent","shouldShowImage","getImageElement","imageUrl","data","imageElement","altText","setMarker","label","markerWidth","markerHeight","latitude","longitude","iconUrl","icon","scaledSize","Size","marker","Marker","position","title","setPolyline","paths","path","polyline","Polyline","geodesic","setPolygon","unParsedPaths","polygon","Polygon","setRectangle","northBound","southBound","eastBound","westBound","rectangle","Rectangle","north","south","east","west","setCircle","radius","circle","Circle","center","setShapes","shapes","mapZoom","getZoom","minZoom","maxZoom","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE"],"sources":["../../../src/GoogleMaps/helpers/set-shapes.js"],"sourcesContent":["import React from 'react';\nimport isNumber from 'lodash.isnumber';\nimport ReactDOMServer from 'react-dom/server';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport {\n buildPropsToDisplayWithContent,\n summaryComponents,\n getClassModifiers\n} from '@blaze-cms/react-page-builder';\nimport getPath from './get-path';\nimport {\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n COLOR,\n CLICK,\n HEADING_LARGE,\n LIST\n} from '../../constants';\n\nconst shapesArray = [];\nconst infoWindowArray = [];\n\nconst clearShapes = () => {\n if (shapesArray.length) {\n shapesArray.forEach(shape => shape.setMap(null));\n shapesArray.length = 0;\n }\n};\n\nconst closeInfoWindows = () => {\n if (infoWindowArray.length) {\n infoWindowArray.forEach(infoWindow => infoWindow.close());\n infoWindowArray.length = 0;\n }\n};\n\nconst addShapeListeners = (map, router, shape, imageData, shapeInstance) => {\n const { enableInfoPane = false, dataSummaries = [], url, shapeData } = shape;\n\n if (enableInfoPane) {\n const infoWindow = new window.google.maps.InfoWindow({\n content: ''\n });\n\n shapeInstance.addListener(CLICK, async event => {\n closeInfoWindows();\n const content = ReactDOMServer.renderToString(\n await infoWindowContent(imageData, dataSummaries, url, shapeData)\n );\n infoWindow.setContent(content);\n infoWindow.setPosition(event.latLng);\n infoWindow.open(map, shapeInstance);\n infoWindowArray.push(infoWindow);\n });\n } else if (url) {\n shapeInstance.addListener(CLICK, () => {\n router.push(url);\n });\n }\n};\n\nconst setStyleOptions = shape => {\n const { strokeColor, strokeOpacity, strokeWeight, fillColor, fillOpacity } = shape;\n const styleSettings = { strokeColor, fillColor, strokeOpacity, strokeWeight, fillOpacity };\n\n return {\n ...Object.keys(styleSettings).reduce((acc, key) => {\n const settingValue = styleSettings[key];\n const shouldValueBeNumber = !key.includes(COLOR);\n const hasValuePassedCondition = shouldValueBeNumber ? isNumber(settingValue) : settingValue;\n if (hasValuePassedCondition) acc[key] = settingValue;\n return acc;\n }, {})\n };\n};\n\nconst areRectangleBoundsNumbers = bounds => bounds.every(bound => isNumber(bound));\n\nconst isPositionCorrect = (lat, lng) => isNumber(lat) && isNumber(lng);\n\nconst getIconUrl = (imageId, imageData) => {\n if (!imageId) return '';\n const image = imageData.find(({ id }) => id === imageId);\n if (!image || !image.url) return '';\n\n return image.url;\n};\n\nconst infoWindowContent = async (imageData, dataSummaries, url, shapeData) => {\n const summariesWithContent = await Promise.all(\n dataSummaries.map(async dataSummary => {\n const { elementTitle, type, propsToDisplay, ...otherProps } = dataSummary;\n const isTypeHeading = type === HEADING_LARGE;\n const summaryPropsWithContent = buildPropsToDisplayWithContent(shapeData, propsToDisplay);\n const modifier = getClassModifiers(LIST, otherProps);\n const SummaryComponent = summaryComponents[type];\n await SummaryComponent.render.preload(); // preload dynamic nextjs component\n\n if (!summaryPropsWithContent.length) return null;\n\n const getDataSummaryComponent = () => {\n const component = (\n <SummaryComponent\n key={type}\n modifier={modifier}\n elementTitle={elementTitle}\n summaryPropsWithContent={summaryPropsWithContent}\n />\n );\n\n if (isTypeHeading && url) return <Link href={url}>{component}</Link>;\n\n return component;\n };\n\n return getDataSummaryComponent();\n })\n );\n const { imageId } = shapeData || {};\n const image = imageData.find(({ id }) => id === imageId);\n const shouldShowImage = image && image.url;\n\n const getImageElement = () => {\n const { url: imageUrl, data } = image;\n const imageElement = (\n <img className=\"info__window\" src={imageUrl} alt={data && data.altText ? data.altText : ''} />\n );\n\n if (url) return <Link href={url}>{imageElement}</Link>;\n\n return imageElement;\n };\n\n return (\n <>\n {shouldShowImage && getImageElement()}\n {summariesWithContent}\n </>\n );\n};\n\nconst setMarker = (map, router, shape, imageData) => {\n const { label = '', markerWidth = 50, markerHeight = 50, latitude, longitude, imageId } = shape;\n\n if (isPositionCorrect(latitude, longitude)) {\n const iconUrl = getIconUrl(imageId, imageData);\n\n const icon = iconUrl\n ? {\n url: iconUrl,\n scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)\n }\n : {};\n\n const marker = new window.google.maps.Marker({\n position: { lat: latitude, lng: longitude },\n map,\n icon,\n title: label || ''\n });\n\n addShapeListeners(map, router, shape, imageData, marker);\n\n shapesArray.push(marker);\n\n marker.setMap(map);\n }\n};\n\nconst setPolyline = (map, router, shape, imageData) => {\n const { paths } = shape;\n const path = getPath(paths);\n\n if (path.length) {\n const polyline = new window.google.maps.Polyline({\n path,\n geodesic: true,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polyline);\n\n shapesArray.push(polyline);\n\n polyline.setMap(map);\n }\n};\n\nconst setPolygon = (map, router, shape, imageData) => {\n const { paths: unParsedPaths } = shape;\n const paths = getPath(unParsedPaths);\n\n if (paths.length) {\n const polygon = new window.google.maps.Polygon({\n paths,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polygon);\n\n shapesArray.push(polygon);\n\n polygon.setMap(map);\n }\n};\n\nconst setRectangle = (map, router, shape, imageData) => {\n const { northBound, southBound, eastBound, westBound } = shape;\n if (areRectangleBoundsNumbers([northBound, southBound, eastBound, westBound])) {\n const rectangle = new window.google.maps.Rectangle({\n ...setStyleOptions(shape),\n map,\n bounds: {\n north: northBound,\n south: southBound,\n east: eastBound,\n west: westBound\n }\n });\n\n addShapeListeners(map, router, shape, imageData, rectangle);\n\n shapesArray.push(rectangle);\n\n rectangle.setMap(map);\n }\n};\n\nconst setCircle = (map, router, shape, imageData) => {\n const { latitude, longitude, radius } = shape;\n if (isPositionCorrect(latitude, longitude) && isNumber(radius)) {\n const circle = new window.google.maps.Circle({\n ...setStyleOptions(shape),\n map,\n center: { lat: latitude, lng: longitude },\n radius\n });\n\n addShapeListeners(map, router, shape, imageData, circle);\n\n shapesArray.push(circle);\n\n circle.setMap(map);\n }\n};\n\nconst setShapes = (map, router, shapes, imageData) => {\n const mapZoom = map.getZoom();\n clearShapes();\n\n shapes.forEach(shape => {\n const { type, minZoom, maxZoom } = shape;\n\n if (mapZoom >= minZoom && mapZoom <= maxZoom) {\n switch (type) {\n case MARKER: {\n setMarker(map, router, shape, imageData);\n break;\n }\n case POLYLINE: {\n setPolyline(map, router, shape, imageData);\n break;\n }\n case POLYGON: {\n setPolygon(map, router, shape, imageData);\n break;\n }\n case RECTANGLE: {\n setRectangle(map, router, shape, imageData);\n break;\n }\n case CIRCLE: {\n setCircle(map, router, shape, imageData);\n break;\n }\n default:\n break;\n }\n }\n });\n};\n\nexport default setShapes;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"set-shapes.js","names":["shapesArray","infoWindowArray","clearShapes","length","forEach","shape","setMap","closeInfoWindows","infoWindow","close","addShapeListeners","map","router","imageData","shapeInstance","enableInfoPane","dataSummaries","url","shapeData","window","google","maps","InfoWindow","content","addListener","CLICK","event","ReactDOMServer","infoWindowContent","renderToString","setContent","setPosition","latLng","open","push","setStyleOptions","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","styleSettings","Object","keys","reduce","acc","key","settingValue","shouldValueBeNumber","includes","COLOR","hasValuePassedCondition","areRectangleBoundsNumbers","bounds","every","bound","isPositionCorrect","lat","lng","getIconUrl","imageId","image","find","id","Promise","all","dataSummary","elementTitle","type","propsToDisplay","otherProps","isTypeHeading","HEADING_LARGE","summaryPropsWithContent","modifier","LIST","SummaryComponent","summaryComponents","render","preload","getDataSummaryComponent","component","summariesWithContent","shouldShowImage","getImageElement","imageUrl","data","imageElement","altText","getIcon","markerWidth","markerHeight","svgPath","iconUrl","icon","scaledSize","Size","svgMarker","path","DEFAULT_CUSTOM_MARKER_PATH","rotation","scale","setMarker","label","latitude","longitude","marker","Marker","position","title","setPolyline","paths","polyline","Polyline","geodesic","setPolygon","unParsedPaths","polygon","Polygon","setRectangle","northBound","southBound","eastBound","westBound","rectangle","Rectangle","north","south","east","west","setCircle","radius","circle","Circle","center","setShapes","shapes","mapZoom","getZoom","minZoom","maxZoom","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE"],"sources":["../../../src/GoogleMaps/helpers/set-shapes.js"],"sourcesContent":["import React from 'react';\nimport isNumber from 'lodash.isnumber';\nimport ReactDOMServer from 'react-dom/server';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport {\n buildPropsToDisplayWithContent,\n summaryComponents,\n getClassModifiers\n} from '@blaze-cms/react-page-builder';\nimport getPath from './get-path';\nimport {\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n COLOR,\n CLICK,\n HEADING_LARGE,\n LIST,\n DEFAULT_CUSTOM_MARKER_PATH\n} from '../../constants';\n\nconst shapesArray = [];\nconst infoWindowArray = [];\n\nconst clearShapes = () => {\n if (shapesArray.length) {\n shapesArray.forEach(shape => shape.setMap(null));\n shapesArray.length = 0;\n }\n};\n\nconst closeInfoWindows = () => {\n if (infoWindowArray.length) {\n infoWindowArray.forEach(infoWindow => infoWindow.close());\n infoWindowArray.length = 0;\n }\n};\n\nconst addShapeListeners = (map, router, shape, imageData, shapeInstance) => {\n const { enableInfoPane = false, dataSummaries = [], url, shapeData } = shape;\n\n if (enableInfoPane) {\n const infoWindow = new window.google.maps.InfoWindow({\n content: ''\n });\n\n shapeInstance.addListener(CLICK, async event => {\n closeInfoWindows();\n const content = ReactDOMServer.renderToString(\n await infoWindowContent(imageData, dataSummaries, url, shapeData)\n );\n infoWindow.setContent(content);\n infoWindow.setPosition(event.latLng);\n infoWindow.open(map, shapeInstance);\n infoWindowArray.push(infoWindow);\n });\n } else if (url) {\n shapeInstance.addListener(CLICK, () => {\n router.push(url);\n });\n }\n};\n\nconst setStyleOptions = shape => {\n const { strokeColor, strokeOpacity, strokeWeight, fillColor, fillOpacity } = shape;\n const styleSettings = { strokeColor, fillColor, strokeOpacity, strokeWeight, fillOpacity };\n\n return {\n ...Object.keys(styleSettings).reduce((acc, key) => {\n const settingValue = styleSettings[key];\n const shouldValueBeNumber = !key.includes(COLOR);\n const hasValuePassedCondition = shouldValueBeNumber ? isNumber(settingValue) : settingValue;\n if (hasValuePassedCondition) acc[key] = settingValue;\n return acc;\n }, {})\n };\n};\n\nconst areRectangleBoundsNumbers = bounds => bounds.every(bound => isNumber(bound));\n\nconst isPositionCorrect = (lat, lng) => isNumber(lat) && isNumber(lng);\n\nconst getIconUrl = (imageId, imageData) => {\n if (!imageId) return '';\n const image = imageData.find(({ id }) => id === imageId);\n if (!image || !image.url) return '';\n\n return image.url;\n};\n\nconst infoWindowContent = async (imageData, dataSummaries, url, shapeData) => {\n const summariesWithContent = await Promise.all(\n dataSummaries.map(async dataSummary => {\n const { elementTitle, type, propsToDisplay, ...otherProps } = dataSummary;\n const isTypeHeading = type === HEADING_LARGE;\n const summaryPropsWithContent = buildPropsToDisplayWithContent(shapeData, propsToDisplay);\n const modifier = getClassModifiers(LIST, otherProps);\n const SummaryComponent = summaryComponents[type];\n await SummaryComponent.render.preload(); // preload dynamic nextjs component\n\n if (!summaryPropsWithContent.length) return null;\n\n const getDataSummaryComponent = () => {\n const component = (\n <SummaryComponent\n key={type}\n modifier={modifier}\n elementTitle={elementTitle}\n summaryPropsWithContent={summaryPropsWithContent}\n />\n );\n\n if (isTypeHeading && url) return <Link href={url}>{component}</Link>;\n\n return component;\n };\n\n return getDataSummaryComponent();\n })\n );\n const { imageId } = shapeData || {};\n const image = imageData.find(({ id }) => id === imageId);\n const shouldShowImage = image && image.url;\n\n const getImageElement = () => {\n const { url: imageUrl, data } = image;\n const imageElement = (\n <img className=\"info__window\" src={imageUrl} alt={data && data.altText ? data.altText : ''} />\n );\n\n if (url) return <Link href={url}>{imageElement}</Link>;\n\n return imageElement;\n };\n\n return (\n <>\n {shouldShowImage && getImageElement()}\n {summariesWithContent}\n </>\n );\n};\n\nfunction getIcon(imageData, shape) {\n const {\n imageId,\n markerWidth = 50,\n markerHeight = 50,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n svgPath\n } = shape;\n const iconUrl = getIconUrl(imageId, imageData);\n\n const icon = iconUrl\n ? {\n url: iconUrl,\n scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)\n }\n : null;\n\n if (icon) return icon;\n\n if (!svgPath && !fillColor && !strokeColor) return {}; // any can be true for custom marker\n\n const svgMarker = {\n path: svgPath || DEFAULT_CUSTOM_MARKER_PATH,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n rotation: 0,\n scale: 2\n };\n return svgMarker;\n}\n\nconst setMarker = (map, router, shape, imageData) => {\n const { label = '', latitude, longitude } = shape;\n\n if (isPositionCorrect(latitude, longitude)) {\n const svgMarker = getIcon(imageData, shape);\n\n const marker = new window.google.maps.Marker({\n position: { lat: latitude, lng: longitude },\n map,\n icon: svgMarker,\n title: label || ''\n });\n\n addShapeListeners(map, router, shape, imageData, marker);\n\n shapesArray.push(marker);\n\n marker.setMap(map);\n }\n};\n\nconst setPolyline = (map, router, shape, imageData) => {\n const { paths } = shape;\n const path = getPath(paths);\n\n if (path.length) {\n const polyline = new window.google.maps.Polyline({\n path,\n geodesic: true,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polyline);\n\n shapesArray.push(polyline);\n\n polyline.setMap(map);\n }\n};\n\nconst setPolygon = (map, router, shape, imageData) => {\n const { paths: unParsedPaths } = shape;\n const paths = getPath(unParsedPaths);\n\n if (paths.length) {\n const polygon = new window.google.maps.Polygon({\n paths,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polygon);\n\n shapesArray.push(polygon);\n\n polygon.setMap(map);\n }\n};\n\nconst setRectangle = (map, router, shape, imageData) => {\n const { northBound, southBound, eastBound, westBound } = shape;\n if (areRectangleBoundsNumbers([northBound, southBound, eastBound, westBound])) {\n const rectangle = new window.google.maps.Rectangle({\n ...setStyleOptions(shape),\n map,\n bounds: {\n north: northBound,\n south: southBound,\n east: eastBound,\n west: westBound\n }\n });\n\n addShapeListeners(map, router, shape, imageData, rectangle);\n\n shapesArray.push(rectangle);\n\n rectangle.setMap(map);\n }\n};\n\nconst setCircle = (map, router, shape, imageData) => {\n const { latitude, longitude, radius } = shape;\n if (isPositionCorrect(latitude, longitude) && isNumber(radius)) {\n const circle = new window.google.maps.Circle({\n ...setStyleOptions(shape),\n map,\n center: { lat: latitude, lng: longitude },\n radius\n });\n\n addShapeListeners(map, router, shape, imageData, circle);\n\n shapesArray.push(circle);\n\n circle.setMap(map);\n }\n};\n\nconst setShapes = (map, router, shapes, imageData) => {\n const mapZoom = map.getZoom();\n clearShapes();\n\n shapes.forEach(shape => {\n const { type, minZoom, maxZoom } = shape;\n\n if (mapZoom >= minZoom && mapZoom <= maxZoom) {\n switch (type) {\n case MARKER: {\n setMarker(map, router, shape, imageData);\n break;\n }\n case POLYLINE: {\n setPolyline(map, router, shape, imageData);\n break;\n }\n case POLYGON: {\n setPolygon(map, router, shape, imageData);\n break;\n }\n case RECTANGLE: {\n setRectangle(map, router, shape, imageData);\n break;\n }\n case CIRCLE: {\n setCircle(map, router, shape, imageData);\n break;\n }\n default:\n break;\n }\n }\n });\n};\n\nexport default setShapes;\n"],"mappings":"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"}
|
package/lib/constants.js
CHANGED
|
@@ -5,7 +5,7 @@ require("core-js/modules/es.object.define-property.js");
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.ZOOM_CHANGED = exports.URL = exports.TERRAIN = exports.SCRIPT = exports.SATELLITE = exports.ROADMAP = exports.RECTANGLE = exports.POLYLINE = exports.POLYGON = exports.PLUGIN_NAME = exports.NONE = exports.MARKER = exports.LOAD = exports.LIST = exports.IN_VIEW_CONFIG = exports.IMAGE_ID = exports.ID = exports.HEADING_LARGE = exports.GOOGLE_MAPS_SCRIPT = exports.FILL_OPTIONS = exports.FEATURE_TYPE_MAP = exports.ELEMENT_GEOMETRY = exports.DISABLE_TRANSPORTATION_STYLES = exports.DISABLE_POI_STYLES = exports.DISABLE_LABELS_STYLES = exports.DISABLE_BOUNDARIES_STYLES = exports.DEFAULT_SELECT_VALUE = exports.DEFAULT_OPTIONS = exports.DEFAULT_COLOR = exports.COOPERATIVE = exports.COLOR = exports.CLICK = exports.CIRCLE = exports.ALL = void 0;
|
|
8
|
+
exports.ZOOM_CHANGED = exports.URL = exports.TERRAIN = exports.SCRIPT = exports.SATELLITE = exports.ROADMAP = exports.RECTANGLE = exports.POLYLINE = exports.POLYGON = exports.PLUGIN_NAME = exports.NONE = exports.MARKER = exports.LOAD = exports.LIST = exports.IN_VIEW_CONFIG = exports.IMAGE_ID = exports.ID = exports.HEADING_LARGE = exports.GOOGLE_MAPS_SCRIPT = exports.FILL_OPTIONS = exports.FEATURE_TYPE_MAP = exports.ELEMENT_GEOMETRY = exports.DISABLE_TRANSPORTATION_STYLES = exports.DISABLE_POI_STYLES = exports.DISABLE_LABELS_STYLES = exports.DISABLE_BOUNDARIES_STYLES = exports.DEFAULT_SELECT_VALUE = exports.DEFAULT_OPTIONS = exports.DEFAULT_CUSTOM_MARKER_PATH = exports.DEFAULT_COLOR = exports.COOPERATIVE = exports.COLOR = exports.CLICK = exports.CIRCLE = exports.ALL = void 0;
|
|
9
9
|
var PLUGIN_NAME = 'google-maps-fe';
|
|
10
10
|
exports.PLUGIN_NAME = PLUGIN_NAME;
|
|
11
11
|
var GOOGLE_MAPS_SCRIPT = 'https://maps.googleapis.com/maps/api/js?key=';
|
|
@@ -127,4 +127,6 @@ var IN_VIEW_CONFIG = {
|
|
|
127
127
|
exports.IN_VIEW_CONFIG = IN_VIEW_CONFIG;
|
|
128
128
|
var DEFAULT_SELECT_VALUE = 'Default';
|
|
129
129
|
exports.DEFAULT_SELECT_VALUE = DEFAULT_SELECT_VALUE;
|
|
130
|
+
var DEFAULT_CUSTOM_MARKER_PATH = 'M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z';
|
|
131
|
+
exports.DEFAULT_CUSTOM_MARKER_PATH = DEFAULT_CUSTOM_MARKER_PATH;
|
|
130
132
|
//# sourceMappingURL=constants.js.map
|
package/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["PLUGIN_NAME","GOOGLE_MAPS_SCRIPT","COOPERATIVE","NONE","LOAD","SCRIPT","ROADMAP","SATELLITE","TERRAIN","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE","DEFAULT_COLOR","DEFAULT_OPTIONS","strokeOpacity","strokeWeight","FILL_OPTIONS","fillOpacity","DISABLE_LABELS_STYLES","elementType","stylers","visibility","DISABLE_BOUNDARIES_STYLES","featureType","DISABLE_POI_STYLES","DISABLE_TRANSPORTATION_STYLES","ZOOM_CHANGED","COLOR","IMAGE_ID","URL","ID","CLICK","ELEMENT_GEOMETRY","FEATURE_TYPE_MAP","waterColor","landscapeColor","ALL","HEADING_LARGE","LIST","IN_VIEW_CONFIG","once","offset","DEFAULT_SELECT_VALUE"],"sources":["../src/constants.js"],"sourcesContent":["const PLUGIN_NAME = 'google-maps-fe';\nconst GOOGLE_MAPS_SCRIPT = 'https://maps.googleapis.com/maps/api/js?key=';\nconst COOPERATIVE = 'cooperative';\nconst NONE = 'none';\nconst LOAD = 'load';\nconst SCRIPT = 'script';\nconst ROADMAP = 'roadmap';\nconst SATELLITE = 'satellite';\nconst TERRAIN = 'terrain';\nconst MARKER = 'marker';\nconst POLYLINE = 'polyline';\nconst POLYGON = 'polygon';\nconst RECTANGLE = 'rectangle';\nconst CIRCLE = 'circle';\nconst DEFAULT_COLOR = '#FF0000';\nconst DEFAULT_OPTIONS = {\n strokeOpacity: 1.0,\n strokeWeight: 2\n};\nconst FILL_OPTIONS = {\n fillOpacity: 0.35\n};\n\nconst DISABLE_LABELS_STYLES = [\n {\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_BOUNDARIES_STYLES = [\n {\n featureType: 'administrative',\n elementType: 'geometry',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'administrative.land_parcel',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'administrative.neighborhood',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_POI_STYLES = [\n {\n featureType: 'poi',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_TRANSPORTATION_STYLES = [\n {\n featureType: 'road',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'road',\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'transit',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst ZOOM_CHANGED = 'zoom_changed';\nconst COLOR = 'Color';\nconst IMAGE_ID = 'imageId';\nconst URL = 'url';\nconst ID = 'id';\nconst CLICK = 'click';\nconst ELEMENT_GEOMETRY = 'geometry.fill';\n\nconst FEATURE_TYPE_MAP = {\n waterColor: 'water',\n landscapeColor: 'landscape'\n};\n\nconst ALL = 'all';\n\nconst HEADING_LARGE = 'heading_large';\nconst LIST = 'list';\n\nconst IN_VIEW_CONFIG = {\n once: true,\n offset: '200px'\n};\n\nconst DEFAULT_SELECT_VALUE = 'Default';\n\nexport {\n PLUGIN_NAME,\n GOOGLE_MAPS_SCRIPT,\n COOPERATIVE,\n NONE,\n LOAD,\n SCRIPT,\n ROADMAP,\n SATELLITE,\n TERRAIN,\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n DEFAULT_OPTIONS,\n FILL_OPTIONS,\n DEFAULT_COLOR,\n ZOOM_CHANGED,\n COLOR,\n IMAGE_ID,\n URL,\n ID,\n CLICK,\n ELEMENT_GEOMETRY,\n FEATURE_TYPE_MAP,\n ALL,\n HEADING_LARGE,\n LIST,\n IN_VIEW_CONFIG,\n DISABLE_TRANSPORTATION_STYLES,\n DISABLE_POI_STYLES,\n DISABLE_BOUNDARIES_STYLES,\n DISABLE_LABELS_STYLES,\n DEFAULT_SELECT_VALUE\n};\n"],"mappings":";;;;;;;;AAAA,IAAMA,WAAW,GAAG,gBAApB;;AACA,IAAMC,kBAAkB,GAAG,8CAA3B;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,QAAQ,GAAG,UAAjB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,aAAa,GAAG,SAAtB;;AACA,IAAMC,eAAe,GAAG;EACtBC,aAAa,EAAE,GADO;EAEtBC,YAAY,EAAE;AAFQ,CAAxB;;AAIA,IAAMC,YAAY,GAAG;EACnBC,WAAW,EAAE;AADM,CAArB;;AAIA,IAAMC,qBAAqB,GAAG,CAC5B;EACEC,WAAW,EAAE,QADf;EAEEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAD4B,CAA9B;;AAWA,IAAMC,yBAAyB,GAAG,CAChC;EACEC,WAAW,EAAE,gBADf;EAEEJ,WAAW,EAAE,UAFf;EAGEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAHX,CADgC,EAUhC;EACEE,WAAW,EAAE,4BADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAVgC,EAkBhC;EACEE,WAAW,EAAE,6BADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAlBgC,CAAlC;;AA4BA,IAAMG,kBAAkB,GAAG,CACzB;EACED,WAAW,EAAE,KADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CADyB,CAA3B;;AAWA,IAAMI,6BAA6B,GAAG,CACpC;EACEF,WAAW,EAAE,MADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CADoC,EASpC;EACEE,WAAW,EAAE,MADf;EAEEJ,WAAW,EAAE,aAFf;EAGEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAHX,CAToC,EAkBpC;EACEE,WAAW,EAAE,SADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAlBoC,CAAtC;;AA4BA,IAAMK,YAAY,GAAG,cAArB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,QAAQ,GAAG,SAAjB;;AACA,IAAMC,GAAG,GAAG,KAAZ;;AACA,IAAMC,EAAE,GAAG,IAAX;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,gBAAgB,GAAG,eAAzB;;AAEA,IAAMC,gBAAgB,GAAG;EACvBC,UAAU,EAAE,OADW;EAEvBC,cAAc,EAAE;AAFO,CAAzB;;AAKA,IAAMC,GAAG,GAAG,KAAZ;;AAEA,IAAMC,aAAa,GAAG,eAAtB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AAEA,IAAMC,cAAc,GAAG;EACrBC,IAAI,EAAE,IADe;EAErBC,MAAM,EAAE;AAFa,CAAvB;;AAKA,IAAMC,oBAAoB,GAAG,SAA7B"}
|
|
1
|
+
{"version":3,"file":"constants.js","names":["PLUGIN_NAME","GOOGLE_MAPS_SCRIPT","COOPERATIVE","NONE","LOAD","SCRIPT","ROADMAP","SATELLITE","TERRAIN","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE","DEFAULT_COLOR","DEFAULT_OPTIONS","strokeOpacity","strokeWeight","FILL_OPTIONS","fillOpacity","DISABLE_LABELS_STYLES","elementType","stylers","visibility","DISABLE_BOUNDARIES_STYLES","featureType","DISABLE_POI_STYLES","DISABLE_TRANSPORTATION_STYLES","ZOOM_CHANGED","COLOR","IMAGE_ID","URL","ID","CLICK","ELEMENT_GEOMETRY","FEATURE_TYPE_MAP","waterColor","landscapeColor","ALL","HEADING_LARGE","LIST","IN_VIEW_CONFIG","once","offset","DEFAULT_SELECT_VALUE","DEFAULT_CUSTOM_MARKER_PATH"],"sources":["../src/constants.js"],"sourcesContent":["const PLUGIN_NAME = 'google-maps-fe';\nconst GOOGLE_MAPS_SCRIPT = 'https://maps.googleapis.com/maps/api/js?key=';\nconst COOPERATIVE = 'cooperative';\nconst NONE = 'none';\nconst LOAD = 'load';\nconst SCRIPT = 'script';\nconst ROADMAP = 'roadmap';\nconst SATELLITE = 'satellite';\nconst TERRAIN = 'terrain';\nconst MARKER = 'marker';\nconst POLYLINE = 'polyline';\nconst POLYGON = 'polygon';\nconst RECTANGLE = 'rectangle';\nconst CIRCLE = 'circle';\nconst DEFAULT_COLOR = '#FF0000';\nconst DEFAULT_OPTIONS = {\n strokeOpacity: 1.0,\n strokeWeight: 2\n};\nconst FILL_OPTIONS = {\n fillOpacity: 0.35\n};\n\nconst DISABLE_LABELS_STYLES = [\n {\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_BOUNDARIES_STYLES = [\n {\n featureType: 'administrative',\n elementType: 'geometry',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'administrative.land_parcel',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'administrative.neighborhood',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_POI_STYLES = [\n {\n featureType: 'poi',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst DISABLE_TRANSPORTATION_STYLES = [\n {\n featureType: 'road',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'road',\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n },\n {\n featureType: 'transit',\n stylers: [\n {\n visibility: 'off'\n }\n ]\n }\n];\n\nconst ZOOM_CHANGED = 'zoom_changed';\nconst COLOR = 'Color';\nconst IMAGE_ID = 'imageId';\nconst URL = 'url';\nconst ID = 'id';\nconst CLICK = 'click';\nconst ELEMENT_GEOMETRY = 'geometry.fill';\n\nconst FEATURE_TYPE_MAP = {\n waterColor: 'water',\n landscapeColor: 'landscape'\n};\n\nconst ALL = 'all';\n\nconst HEADING_LARGE = 'heading_large';\nconst LIST = 'list';\n\nconst IN_VIEW_CONFIG = {\n once: true,\n offset: '200px'\n};\n\nconst DEFAULT_SELECT_VALUE = 'Default';\n\nconst DEFAULT_CUSTOM_MARKER_PATH =\n 'M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z';\n\nexport {\n PLUGIN_NAME,\n GOOGLE_MAPS_SCRIPT,\n COOPERATIVE,\n NONE,\n LOAD,\n SCRIPT,\n ROADMAP,\n SATELLITE,\n TERRAIN,\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n DEFAULT_OPTIONS,\n FILL_OPTIONS,\n DEFAULT_COLOR,\n ZOOM_CHANGED,\n COLOR,\n IMAGE_ID,\n URL,\n ID,\n CLICK,\n ELEMENT_GEOMETRY,\n FEATURE_TYPE_MAP,\n ALL,\n HEADING_LARGE,\n LIST,\n IN_VIEW_CONFIG,\n DISABLE_TRANSPORTATION_STYLES,\n DISABLE_POI_STYLES,\n DISABLE_BOUNDARIES_STYLES,\n DISABLE_LABELS_STYLES,\n DEFAULT_SELECT_VALUE,\n DEFAULT_CUSTOM_MARKER_PATH\n};\n"],"mappings":";;;;;;;;AAAA,IAAMA,WAAW,GAAG,gBAApB;;AACA,IAAMC,kBAAkB,GAAG,8CAA3B;;AACA,IAAMC,WAAW,GAAG,aAApB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,IAAI,GAAG,MAAb;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,QAAQ,GAAG,UAAjB;;AACA,IAAMC,OAAO,GAAG,SAAhB;;AACA,IAAMC,SAAS,GAAG,WAAlB;;AACA,IAAMC,MAAM,GAAG,QAAf;;AACA,IAAMC,aAAa,GAAG,SAAtB;;AACA,IAAMC,eAAe,GAAG;EACtBC,aAAa,EAAE,GADO;EAEtBC,YAAY,EAAE;AAFQ,CAAxB;;AAIA,IAAMC,YAAY,GAAG;EACnBC,WAAW,EAAE;AADM,CAArB;;AAIA,IAAMC,qBAAqB,GAAG,CAC5B;EACEC,WAAW,EAAE,QADf;EAEEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAD4B,CAA9B;;AAWA,IAAMC,yBAAyB,GAAG,CAChC;EACEC,WAAW,EAAE,gBADf;EAEEJ,WAAW,EAAE,UAFf;EAGEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAHX,CADgC,EAUhC;EACEE,WAAW,EAAE,4BADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAVgC,EAkBhC;EACEE,WAAW,EAAE,6BADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAlBgC,CAAlC;;AA4BA,IAAMG,kBAAkB,GAAG,CACzB;EACED,WAAW,EAAE,KADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CADyB,CAA3B;;AAWA,IAAMI,6BAA6B,GAAG,CACpC;EACEF,WAAW,EAAE,MADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CADoC,EASpC;EACEE,WAAW,EAAE,MADf;EAEEJ,WAAW,EAAE,aAFf;EAGEC,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAHX,CAToC,EAkBpC;EACEE,WAAW,EAAE,SADf;EAEEH,OAAO,EAAE,CACP;IACEC,UAAU,EAAE;EADd,CADO;AAFX,CAlBoC,CAAtC;;AA4BA,IAAMK,YAAY,GAAG,cAArB;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,QAAQ,GAAG,SAAjB;;AACA,IAAMC,GAAG,GAAG,KAAZ;;AACA,IAAMC,EAAE,GAAG,IAAX;;AACA,IAAMC,KAAK,GAAG,OAAd;;AACA,IAAMC,gBAAgB,GAAG,eAAzB;;AAEA,IAAMC,gBAAgB,GAAG;EACvBC,UAAU,EAAE,OADW;EAEvBC,cAAc,EAAE;AAFO,CAAzB;;AAKA,IAAMC,GAAG,GAAG,KAAZ;;AAEA,IAAMC,aAAa,GAAG,eAAtB;;AACA,IAAMC,IAAI,GAAG,MAAb;;AAEA,IAAMC,cAAc,GAAG;EACrBC,IAAI,EAAE,IADe;EAErBC,MAAM,EAAE;AAFa,CAAvB;;AAKA,IAAMC,oBAAoB,GAAG,SAA7B;;AAEA,IAAMC,0BAA0B,GAC9B,yKADF"}
|
|
@@ -8,6 +8,7 @@ import { useInView } from '@blaze-react/utils/lib/customHooks';
|
|
|
8
8
|
import { functions, isEqual, omit } from 'lodash';
|
|
9
9
|
import { setMapOptions, addZoomListener } from './helpers';
|
|
10
10
|
import { GOOGLE_MAPS_SCRIPT, LOAD, SCRIPT, IN_VIEW_CONFIG } from '../constants';
|
|
11
|
+
import GoogleMapsHtml from './GoogleMapsHtml';
|
|
11
12
|
|
|
12
13
|
const shouldNotUpdate = (props, nextProps) => {
|
|
13
14
|
const [funcs, nextFuncs] = [functions(props), functions(nextProps)];
|
|
@@ -95,9 +96,8 @@ const GoogleMaps = _ref => {
|
|
|
95
96
|
}, []);
|
|
96
97
|
if (map && typeof onMount === `function`) onMount(map, onMountProps);
|
|
97
98
|
if (isIntersecting) addZoomListener(map, router, mapShapes, imageData);
|
|
98
|
-
return /*#__PURE__*/React.createElement(
|
|
99
|
-
|
|
100
|
-
ref: mapRef
|
|
99
|
+
return /*#__PURE__*/React.createElement(GoogleMapsHtml, {
|
|
100
|
+
mapRef: mapRef
|
|
101
101
|
});
|
|
102
102
|
};
|
|
103
103
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleMaps.js","names":["React","useEffect","useState","PropTypes","useRouter","withTitle","useInView","functions","isEqual","omit","setMapOptions","addZoomListener","GOOGLE_MAPS_SCRIPT","LOAD","SCRIPT","IN_VIEW_CONFIG","shouldNotUpdate","props","nextProps","funcs","nextFuncs","noPropChange","noFuncChange","length","every","fn","toString","GoogleMaps","type","name","modifier","elementTitle","imageData","onMount","onMountProps","parent","mapShapes","centerCoordinates","otherProps","router","isIntersecting","mapRef","map","setMap","options","onLoad","initialMap","window","google","maps","Map","current","latitude","lat","longitude","lng","setCenter","bounds","LatLngBounds","forEach","extend","LatLng","fitBounds","script","document","createElement","src","process","env","GOOGLE_MAPS_API_KEY","head","append","addEventListener","removeEventListener","setOptions","enableGeolocation","shouldActivateGeolocation","navigator","geolocation","getCurrentPosition","position","center","coords","propTypes","array","string","func","object","defaultProps","memo"],"sources":["../../src/GoogleMaps/GoogleMaps.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { withTitle } from '@blaze-cms/react-page-builder';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { functions, isEqual, omit } from 'lodash';\nimport { setMapOptions, addZoomListener } from './helpers';\nimport { GOOGLE_MAPS_SCRIPT, LOAD, SCRIPT, IN_VIEW_CONFIG } from '../constants';\n\nconst shouldNotUpdate = (props, nextProps) => {\n const [funcs, nextFuncs] = [functions(props), functions(nextProps)];\n const noPropChange = isEqual(omit(props, funcs), omit(nextProps, nextFuncs));\n const noFuncChange =\n funcs.length === nextFuncs.length &&\n funcs.every(fn => props[fn].toString() === nextProps[fn].toString());\n return noPropChange && noFuncChange;\n};\n\nconst GoogleMaps = ({\n type,\n name,\n modifier,\n elementTitle,\n imageData,\n onMount,\n onMountProps,\n parent,\n mapShapes,\n centerCoordinates,\n ...otherProps\n}) => {\n const router = useRouter();\n const [isIntersecting, mapRef] = useInView(IN_VIEW_CONFIG);\n const [map, setMap] = useState();\n\n useEffect(() => {\n const options = setMapOptions(otherProps);\n const onLoad = () => {\n const initialMap = new window.google.maps.Map(mapRef.current, options);\n if (centerCoordinates.length === 1) {\n const [{ latitude: lat, longitude: lng }] = centerCoordinates;\n initialMap.setCenter({ lat, lng });\n } else {\n const bounds = new window.google.maps.LatLngBounds();\n centerCoordinates.forEach(({ latitude, longitude }) => {\n bounds.extend(new window.google.maps.LatLng(latitude, longitude));\n });\n initialMap.fitBounds(bounds);\n }\n setMap(initialMap);\n };\n\n if (!window.google) {\n const script = document.createElement(SCRIPT);\n script.src = `${GOOGLE_MAPS_SCRIPT}${process.env.GOOGLE_MAPS_API_KEY}`;\n document.head.append(script);\n script.addEventListener(LOAD, onLoad);\n return () => script.removeEventListener(LOAD, onLoad);\n }\n\n onLoad();\n\n if (map) {\n map.setOptions(options);\n const { enableGeolocation } = otherProps;\n const shouldActivateGeolocation = enableGeolocation && navigator.geolocation;\n if (shouldActivateGeolocation) {\n navigator.geolocation.getCurrentPosition(\n position => {\n const center = {\n lat: position.coords.latitude,\n lng: position.coords.longitude\n };\n\n map.setCenter(center);\n },\n () => {}\n );\n }\n }\n\n return () => {};\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (map && typeof onMount === `function`) onMount(map, onMountProps);\n if (isIntersecting) addZoomListener(map, router, mapShapes, imageData);\n\n return <
|
|
1
|
+
{"version":3,"file":"GoogleMaps.js","names":["React","useEffect","useState","PropTypes","useRouter","withTitle","useInView","functions","isEqual","omit","setMapOptions","addZoomListener","GOOGLE_MAPS_SCRIPT","LOAD","SCRIPT","IN_VIEW_CONFIG","GoogleMapsHtml","shouldNotUpdate","props","nextProps","funcs","nextFuncs","noPropChange","noFuncChange","length","every","fn","toString","GoogleMaps","type","name","modifier","elementTitle","imageData","onMount","onMountProps","parent","mapShapes","centerCoordinates","otherProps","router","isIntersecting","mapRef","map","setMap","options","onLoad","initialMap","window","google","maps","Map","current","latitude","lat","longitude","lng","setCenter","bounds","LatLngBounds","forEach","extend","LatLng","fitBounds","script","document","createElement","src","process","env","GOOGLE_MAPS_API_KEY","head","append","addEventListener","removeEventListener","setOptions","enableGeolocation","shouldActivateGeolocation","navigator","geolocation","getCurrentPosition","position","center","coords","propTypes","array","string","func","object","defaultProps","memo"],"sources":["../../src/GoogleMaps/GoogleMaps.js"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useRouter } from 'next/router';\nimport { withTitle } from '@blaze-cms/react-page-builder';\nimport { useInView } from '@blaze-react/utils/lib/customHooks';\nimport { functions, isEqual, omit } from 'lodash';\nimport { setMapOptions, addZoomListener } from './helpers';\nimport { GOOGLE_MAPS_SCRIPT, LOAD, SCRIPT, IN_VIEW_CONFIG } from '../constants';\nimport GoogleMapsHtml from './GoogleMapsHtml';\n\nconst shouldNotUpdate = (props, nextProps) => {\n const [funcs, nextFuncs] = [functions(props), functions(nextProps)];\n const noPropChange = isEqual(omit(props, funcs), omit(nextProps, nextFuncs));\n const noFuncChange =\n funcs.length === nextFuncs.length &&\n funcs.every(fn => props[fn].toString() === nextProps[fn].toString());\n return noPropChange && noFuncChange;\n};\n\nconst GoogleMaps = ({\n type,\n name,\n modifier,\n elementTitle,\n imageData,\n onMount,\n onMountProps,\n parent,\n mapShapes,\n centerCoordinates,\n ...otherProps\n}) => {\n const router = useRouter();\n const [isIntersecting, mapRef] = useInView(IN_VIEW_CONFIG);\n const [map, setMap] = useState();\n\n useEffect(() => {\n const options = setMapOptions(otherProps);\n const onLoad = () => {\n const initialMap = new window.google.maps.Map(mapRef.current, options);\n if (centerCoordinates.length === 1) {\n const [{ latitude: lat, longitude: lng }] = centerCoordinates;\n initialMap.setCenter({ lat, lng });\n } else {\n const bounds = new window.google.maps.LatLngBounds();\n centerCoordinates.forEach(({ latitude, longitude }) => {\n bounds.extend(new window.google.maps.LatLng(latitude, longitude));\n });\n initialMap.fitBounds(bounds);\n }\n setMap(initialMap);\n };\n\n if (!window.google) {\n const script = document.createElement(SCRIPT);\n script.src = `${GOOGLE_MAPS_SCRIPT}${process.env.GOOGLE_MAPS_API_KEY}`;\n document.head.append(script);\n script.addEventListener(LOAD, onLoad);\n return () => script.removeEventListener(LOAD, onLoad);\n }\n\n onLoad();\n\n if (map) {\n map.setOptions(options);\n const { enableGeolocation } = otherProps;\n const shouldActivateGeolocation = enableGeolocation && navigator.geolocation;\n if (shouldActivateGeolocation) {\n navigator.geolocation.getCurrentPosition(\n position => {\n const center = {\n lat: position.coords.latitude,\n lng: position.coords.longitude\n };\n\n map.setCenter(center);\n },\n () => {}\n );\n }\n }\n\n return () => {};\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n if (map && typeof onMount === `function`) onMount(map, onMountProps);\n if (isIntersecting) addZoomListener(map, router, mapShapes, imageData);\n\n return <GoogleMapsHtml mapRef={mapRef} />;\n};\n\nGoogleMaps.propTypes = {\n mapShapes: PropTypes.array,\n imageData: PropTypes.array,\n type: PropTypes.string,\n name: PropTypes.string,\n modifier: PropTypes.string,\n elementTitle: PropTypes.string,\n onMount: PropTypes.func,\n onMountProps: PropTypes.object,\n parent: PropTypes.object,\n centerCoordinates: PropTypes.array\n};\n\nGoogleMaps.defaultProps = {\n mapShapes: [],\n imageData: [],\n centerCoordinates: [],\n type: '',\n name: '',\n modifier: '',\n elementTitle: '',\n onMount: null,\n onMountProps: null,\n parent: {}\n};\n\nexport default React.memo(withTitle(GoogleMaps), shouldNotUpdate);\n"],"mappings":"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"}
|
|
@@ -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,"file":"GoogleMapsFactory.js","names":["React","PropTypes","useGetEntitySchemasAsObj","buildShapesConfig","GoogleMapsRender","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';\n\nconst GoogleMapsFactory = ({ entityGroups, parent, ...otherProps }) => {\n const { data, loading, error } = useGetEntitySchemasAsObj(\n entityGroups.map(({ entity }) => entity)\n );\n\n if (loading) return
|
|
1
|
+
{"version":3,"file":"GoogleMapsFactory.js","names":["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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleMapsRender.js","names":["React","PropTypes","isNumber","useQuery","getAction","useGetImages","buildQuery","getImageIds","getCenterCoordinates","buildMapShapes","GoogleMaps","defaultQuery","GoogleMapsRender","shapeConfigs","entityGroups","id","otherProps","defaultZoom","query","data","loading","error","skip","mapShapes","imageIds","getFiles","imageData","imagesLoading","imagesError","centerCoordinates","shouldDisplayMap","length","slug","propTypes","array","string","centerLatitude","number","centerLongitude","defaultProps"],"sources":["../../src/GoogleMaps/GoogleMapsRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isNumber from 'lodash.isnumber';\nimport { useQuery } from '@apollo/client';\nimport { getAction } from '@blaze-cms/react-page-builder';\nimport { useGetImages } from './hooks';\nimport { buildQuery, getImageIds, getCenterCoordinates, buildMapShapes } from './helpers';\nimport GoogleMaps from './GoogleMaps';\n\nconst defaultQuery = getAction('getPublishedPages', 'id');\n\nconst GoogleMapsRender = ({ shapeConfigs, entityGroups, id, ...otherProps }) => {\n const { defaultZoom } = otherProps;\n const { query } = buildQuery(shapeConfigs);\n const { data, loading, error } = useQuery(query || defaultQuery, {\n skip: !query\n });\n const mapShapes = buildMapShapes(shapeConfigs, data);\n const imageIds = getImageIds(mapShapes);\n const {\n data: { getFiles: imageData } = {},\n loading: imagesLoading,\n error: imagesError\n } = useGetImages(imageIds);\n if (loading || imagesLoading) return
|
|
1
|
+
{"version":3,"file":"GoogleMapsRender.js","names":["React","PropTypes","isNumber","useQuery","getAction","useGetImages","buildQuery","getImageIds","getCenterCoordinates","buildMapShapes","GoogleMaps","GoogleMapsHtml","defaultQuery","GoogleMapsRender","shapeConfigs","entityGroups","id","otherProps","defaultZoom","query","data","loading","error","skip","mapShapes","imageIds","getFiles","imageData","imagesLoading","imagesError","centerCoordinates","shouldDisplayMap","length","slug","propTypes","array","string","centerLatitude","number","centerLongitude","defaultProps"],"sources":["../../src/GoogleMaps/GoogleMapsRender.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport isNumber from 'lodash.isnumber';\nimport { useQuery } from '@apollo/client';\nimport { getAction } from '@blaze-cms/react-page-builder';\nimport { useGetImages } from './hooks';\nimport { buildQuery, getImageIds, getCenterCoordinates, buildMapShapes } from './helpers';\nimport GoogleMaps from './GoogleMaps';\nimport GoogleMapsHtml from './GoogleMapsHtml';\n\nconst defaultQuery = getAction('getPublishedPages', 'id');\n\nconst GoogleMapsRender = ({ shapeConfigs, entityGroups, id, ...otherProps }) => {\n const { defaultZoom } = otherProps;\n const { query } = buildQuery(shapeConfigs);\n const { data, loading, error } = useQuery(query || defaultQuery, {\n skip: !query\n });\n const mapShapes = buildMapShapes(shapeConfigs, data);\n const imageIds = getImageIds(mapShapes);\n const {\n data: { getFiles: imageData } = {},\n loading: imagesLoading,\n error: imagesError\n } = useGetImages(imageIds);\n if (loading || imagesLoading) return <GoogleMapsHtml />;\n if (error || imagesError) return null;\n\n const centerCoordinates = getCenterCoordinates(mapShapes, otherProps);\n const shouldDisplayMap = isNumber(defaultZoom) && !!centerCoordinates.length;\n\n if (!shouldDisplayMap) return null;\n\n return (\n <GoogleMaps\n key={otherProps.slug}\n centerCoordinates={centerCoordinates}\n mapShapes={mapShapes}\n imageData={imageData}\n {...otherProps}\n />\n );\n};\n\nGoogleMapsRender.propTypes = {\n entityGroups: PropTypes.array,\n id: PropTypes.string,\n shapeConfigs: PropTypes.array,\n centerLatitude: PropTypes.number,\n centerLongitude: PropTypes.number,\n defaultZoom: PropTypes.number\n};\n\nGoogleMapsRender.defaultProps = {\n entityGroups: [],\n shapeConfigs: [],\n id: '',\n centerLatitude: null,\n centerLongitude: null,\n defaultZoom: null\n};\n\nexport default GoogleMapsRender;\n"],"mappings":";;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,OAAOC,QAAP,MAAqB,iBAArB;AACA,SAASC,QAAT,QAAyB,gBAAzB;AACA,SAASC,SAAT,QAA0B,+BAA1B;AACA,SAASC,YAAT,QAA6B,SAA7B;AACA,SAASC,UAAT,EAAqBC,WAArB,EAAkCC,oBAAlC,EAAwDC,cAAxD,QAA8E,WAA9E;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,cAAP,MAA2B,kBAA3B;AAEA,MAAMC,YAAY,GAAGR,SAAS,CAAC,mBAAD,EAAsB,IAAtB,CAA9B;;AAEA,MAAMS,gBAAgB,GAAG,QAAuD;EAAA,IAAtD;IAAEC,YAAF;IAAgBC,YAAhB;IAA8BC;EAA9B,CAAsD;EAAA,IAAjBC,UAAiB;;EAC9E,MAAM;IAAEC;EAAF,IAAkBD,UAAxB;EACA,MAAM;IAAEE;EAAF,IAAYb,UAAU,CAACQ,YAAD,CAA5B;EACA,MAAM;IAAEM,IAAF;IAAQC,OAAR;IAAiBC;EAAjB,IAA2BnB,QAAQ,CAACgB,KAAK,IAAIP,YAAV,EAAwB;IAC/DW,IAAI,EAAE,CAACJ;EADwD,CAAxB,CAAzC;EAGA,MAAMK,SAAS,GAAGf,cAAc,CAACK,YAAD,EAAeM,IAAf,CAAhC;EACA,MAAMK,QAAQ,GAAGlB,WAAW,CAACiB,SAAD,CAA5B;EACA,MAAM;IACJJ,IAAI,EAAE;MAAEM,QAAQ,EAAEC;IAAZ,IAA0B,EAD5B;IAEJN,OAAO,EAAEO,aAFL;IAGJN,KAAK,EAAEO;EAHH,IAIFxB,YAAY,CAACoB,QAAD,CAJhB;EAKA,IAAIJ,OAAO,IAAIO,aAAf,EAA8B,oBAAO,oBAAC,cAAD,OAAP;EAC9B,IAAIN,KAAK,IAAIO,WAAb,EAA0B,OAAO,IAAP;EAE1B,MAAMC,iBAAiB,GAAGtB,oBAAoB,CAACgB,SAAD,EAAYP,UAAZ,CAA9C;EACA,MAAMc,gBAAgB,GAAG7B,QAAQ,CAACgB,WAAD,CAAR,IAAyB,CAAC,CAACY,iBAAiB,CAACE,MAAtE;EAEA,IAAI,CAACD,gBAAL,EAAuB,OAAO,IAAP;EAEvB,oBACE,oBAAC,UAAD;IACE,GAAG,EAAEd,UAAU,CAACgB,IADlB;IAEE,iBAAiB,EAAEH,iBAFrB;IAGE,SAAS,EAAEN,SAHb;IAIE,SAAS,EAAEG;EAJb,GAKMV,UALN,EADF;AASD,CA9BD;;AAgCAJ,gBAAgB,CAACqB,SAAjB,GAA6B;EAC3BnB,YAAY,EAAEd,SAAS,CAACkC,KADG;EAE3BnB,EAAE,EAAEf,SAAS,CAACmC,MAFa;EAG3BtB,YAAY,EAAEb,SAAS,CAACkC,KAHG;EAI3BE,cAAc,EAAEpC,SAAS,CAACqC,MAJC;EAK3BC,eAAe,EAAEtC,SAAS,CAACqC,MALA;EAM3BpB,WAAW,EAAEjB,SAAS,CAACqC;AANI,CAA7B;AASAzB,gBAAgB,CAAC2B,YAAjB,GAAgC;EAC9BzB,YAAY,EAAE,EADgB;EAE9BD,YAAY,EAAE,EAFgB;EAG9BE,EAAE,EAAE,EAH0B;EAI9BqB,cAAc,EAAE,IAJc;EAK9BE,eAAe,EAAE,IALa;EAM9BrB,WAAW,EAAE;AANiB,CAAhC;AASA,eAAeL,gBAAf"}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
+
|
|
5
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
|
+
|
|
1
7
|
const getLatLonValues = (keys, data) => {
|
|
2
8
|
if (keys.length === 1) return data[keys];
|
|
3
9
|
const key = keys.shift();
|
|
@@ -36,16 +42,6 @@ const buildMapShapes = (shapesOptions, shapesData) => {
|
|
|
36
42
|
dataSummaries,
|
|
37
43
|
enableInfoPane
|
|
38
44
|
} = entityOptions;
|
|
39
|
-
const {
|
|
40
|
-
imageId,
|
|
41
|
-
label,
|
|
42
|
-
markerHeight,
|
|
43
|
-
markerWidth,
|
|
44
|
-
maxZoom,
|
|
45
|
-
minZoom,
|
|
46
|
-
type,
|
|
47
|
-
useAsCenter
|
|
48
|
-
} = shapeOptions;
|
|
49
45
|
const shapeData = Array.isArray(shapesData[shapeKey]) ? shapesData[shapeKey] : shapesData[shapeKey].results;
|
|
50
46
|
if (!shapeData) return;
|
|
51
47
|
const {
|
|
@@ -60,22 +56,16 @@ const buildMapShapes = (shapesOptions, shapesData) => {
|
|
|
60
56
|
latitude,
|
|
61
57
|
longitude
|
|
62
58
|
} = getLatLong(latProp, lonProp, shapeOptions, data);
|
|
63
|
-
|
|
59
|
+
|
|
60
|
+
const formatedShape = _objectSpread(_objectSpread({}, shapeOptions), {}, {
|
|
64
61
|
latitude,
|
|
65
62
|
longitude,
|
|
66
63
|
dataSummaries,
|
|
67
64
|
enableInfoPane,
|
|
68
|
-
imageId,
|
|
69
|
-
label,
|
|
70
|
-
markerHeight,
|
|
71
|
-
markerWidth,
|
|
72
|
-
maxZoom,
|
|
73
|
-
minZoom,
|
|
74
|
-
type,
|
|
75
65
|
url,
|
|
76
|
-
useAsCenter,
|
|
77
66
|
shapeData: data
|
|
78
|
-
};
|
|
67
|
+
});
|
|
68
|
+
|
|
79
69
|
mapShapes.push(formatedShape);
|
|
80
70
|
});
|
|
81
71
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-map-shapes.js","names":["getLatLonValues","keys","data","length","key","shift","getLatLong","latProp","lonProp","shape","latitude","longitude","latKeys","split","lonKeys","lat","lon","buildMapShapes","shapesOptions","shapesData","mapShapes","forEach","shapeKey","entityOptions","shapeOptions","dataSummaries","enableInfoPane","
|
|
1
|
+
{"version":3,"file":"build-map-shapes.js","names":["getLatLonValues","keys","data","length","key","shift","getLatLong","latProp","lonProp","shape","latitude","longitude","latKeys","split","lonKeys","lat","lon","buildMapShapes","shapesOptions","shapesData","mapShapes","forEach","shapeKey","entityOptions","shapeOptions","dataSummaries","enableInfoPane","shapeData","Array","isArray","results","url","formatedShape","push"],"sources":["../../../src/GoogleMaps/helpers/build-map-shapes.js"],"sourcesContent":["const getLatLonValues = (keys, data) => {\n if (keys.length === 1) return data[keys];\n const key = keys.shift();\n return getLatLonValues(keys, data[key]);\n};\n\nconst getLatLong = (latProp, lonProp, shape, data) => {\n const { latitude, longitude } = shape;\n\n if (!latProp || !lonProp) return { latitude, longitude };\n const latKeys = latProp.split('.');\n const lonKeys = lonProp.split('.');\n const lat = getLatLonValues(latKeys, data);\n const lon = getLatLonValues(lonKeys, data);\n\n return { latitude: lat, longitude: lon };\n};\n\nconst buildMapShapes = (shapesOptions, shapesData) => {\n if (!shapesData) return [];\n const mapShapes = [];\n shapesOptions.forEach(shape => {\n const { shapeKey, entityOptions, shapeOptions } = shape;\n const { dataSummaries, enableInfoPane } = entityOptions;\n\n const shapeData = Array.isArray(shapesData[shapeKey])\n ? shapesData[shapeKey]\n : shapesData[shapeKey].results;\n if (!shapeData) return;\n const { latProp, lonProp } = entityOptions;\n\n shapeData.forEach(data => {\n const { url } = data;\n const { latitude, longitude } = getLatLong(latProp, lonProp, shapeOptions, data);\n\n const formatedShape = {\n ...shapeOptions,\n latitude,\n longitude,\n dataSummaries,\n enableInfoPane,\n url,\n shapeData: data\n };\n\n mapShapes.push(formatedShape);\n });\n });\n\n return mapShapes;\n};\n\nexport default buildMapShapes;\n"],"mappings":";;;;;;AAAA,MAAMA,eAAe,GAAG,CAACC,IAAD,EAAOC,IAAP,KAAgB;EACtC,IAAID,IAAI,CAACE,MAAL,KAAgB,CAApB,EAAuB,OAAOD,IAAI,CAACD,IAAD,CAAX;EACvB,MAAMG,GAAG,GAAGH,IAAI,CAACI,KAAL,EAAZ;EACA,OAAOL,eAAe,CAACC,IAAD,EAAOC,IAAI,CAACE,GAAD,CAAX,CAAtB;AACD,CAJD;;AAMA,MAAME,UAAU,GAAG,CAACC,OAAD,EAAUC,OAAV,EAAmBC,KAAnB,EAA0BP,IAA1B,KAAmC;EACpD,MAAM;IAAEQ,QAAF;IAAYC;EAAZ,IAA0BF,KAAhC;EAEA,IAAI,CAACF,OAAD,IAAY,CAACC,OAAjB,EAA0B,OAAO;IAAEE,QAAF;IAAYC;EAAZ,CAAP;EAC1B,MAAMC,OAAO,GAAGL,OAAO,CAACM,KAAR,CAAc,GAAd,CAAhB;EACA,MAAMC,OAAO,GAAGN,OAAO,CAACK,KAAR,CAAc,GAAd,CAAhB;EACA,MAAME,GAAG,GAAGf,eAAe,CAACY,OAAD,EAAUV,IAAV,CAA3B;EACA,MAAMc,GAAG,GAAGhB,eAAe,CAACc,OAAD,EAAUZ,IAAV,CAA3B;EAEA,OAAO;IAAEQ,QAAQ,EAAEK,GAAZ;IAAiBJ,SAAS,EAAEK;EAA5B,CAAP;AACD,CAVD;;AAYA,MAAMC,cAAc,GAAG,CAACC,aAAD,EAAgBC,UAAhB,KAA+B;EACpD,IAAI,CAACA,UAAL,EAAiB,OAAO,EAAP;EACjB,MAAMC,SAAS,GAAG,EAAlB;EACAF,aAAa,CAACG,OAAd,CAAsBZ,KAAK,IAAI;IAC7B,MAAM;MAAEa,QAAF;MAAYC,aAAZ;MAA2BC;IAA3B,IAA4Cf,KAAlD;IACA,MAAM;MAAEgB,aAAF;MAAiBC;IAAjB,IAAoCH,aAA1C;IAEA,MAAMI,SAAS,GAAGC,KAAK,CAACC,OAAN,CAAcV,UAAU,CAACG,QAAD,CAAxB,IACdH,UAAU,CAACG,QAAD,CADI,GAEdH,UAAU,CAACG,QAAD,CAAV,CAAqBQ,OAFzB;IAGA,IAAI,CAACH,SAAL,EAAgB;IAChB,MAAM;MAAEpB,OAAF;MAAWC;IAAX,IAAuBe,aAA7B;IAEAI,SAAS,CAACN,OAAV,CAAkBnB,IAAI,IAAI;MACxB,MAAM;QAAE6B;MAAF,IAAU7B,IAAhB;MACA,MAAM;QAAEQ,QAAF;QAAYC;MAAZ,IAA0BL,UAAU,CAACC,OAAD,EAAUC,OAAV,EAAmBgB,YAAnB,EAAiCtB,IAAjC,CAA1C;;MAEA,MAAM8B,aAAa,mCACdR,YADc;QAEjBd,QAFiB;QAGjBC,SAHiB;QAIjBc,aAJiB;QAKjBC,cALiB;QAMjBK,GANiB;QAOjBJ,SAAS,EAAEzB;MAPM,EAAnB;;MAUAkB,SAAS,CAACa,IAAV,CAAeD,aAAf;IACD,CAfD;EAgBD,CA1BD;EA4BA,OAAOZ,SAAP;AACD,CAhCD;;AAkCA,eAAeH,cAAf"}
|
|
@@ -12,7 +12,7 @@ import ReactDOMServer from 'react-dom/server';
|
|
|
12
12
|
import { Link } from '@blaze-cms/nextjs-components';
|
|
13
13
|
import { buildPropsToDisplayWithContent, summaryComponents, getClassModifiers } from '@blaze-cms/react-page-builder';
|
|
14
14
|
import getPath from './get-path';
|
|
15
|
-
import { MARKER, POLYLINE, POLYGON, RECTANGLE, CIRCLE, COLOR, CLICK, HEADING_LARGE, LIST } from '../../constants';
|
|
15
|
+
import { MARKER, POLYLINE, POLYGON, RECTANGLE, CIRCLE, COLOR, CLICK, HEADING_LARGE, LIST, DEFAULT_CUSTOM_MARKER_PATH } from '../../constants';
|
|
16
16
|
const shapesArray = [];
|
|
17
17
|
const infoWindowArray = [];
|
|
18
18
|
|
|
@@ -153,29 +153,55 @@ const infoWindowContent = async (imageData, dataSummaries, url, shapeData) => {
|
|
|
153
153
|
return /*#__PURE__*/React.createElement(React.Fragment, null, shouldShowImage && getImageElement(), summariesWithContent);
|
|
154
154
|
};
|
|
155
155
|
|
|
156
|
-
|
|
156
|
+
function getIcon(imageData, shape) {
|
|
157
157
|
const {
|
|
158
|
-
|
|
158
|
+
imageId,
|
|
159
159
|
markerWidth = 50,
|
|
160
160
|
markerHeight = 50,
|
|
161
|
+
strokeColor,
|
|
162
|
+
strokeOpacity,
|
|
163
|
+
strokeWeight,
|
|
164
|
+
fillColor,
|
|
165
|
+
fillOpacity,
|
|
166
|
+
svgPath
|
|
167
|
+
} = shape;
|
|
168
|
+
const iconUrl = getIconUrl(imageId, imageData);
|
|
169
|
+
const icon = iconUrl ? {
|
|
170
|
+
url: iconUrl,
|
|
171
|
+
scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)
|
|
172
|
+
} : null;
|
|
173
|
+
if (icon) return icon;
|
|
174
|
+
if (!svgPath && !fillColor && !strokeColor) return {}; // any can be true for custom marker
|
|
175
|
+
|
|
176
|
+
const svgMarker = {
|
|
177
|
+
path: svgPath || DEFAULT_CUSTOM_MARKER_PATH,
|
|
178
|
+
strokeColor,
|
|
179
|
+
strokeOpacity,
|
|
180
|
+
strokeWeight,
|
|
181
|
+
fillColor,
|
|
182
|
+
fillOpacity,
|
|
183
|
+
rotation: 0,
|
|
184
|
+
scale: 2
|
|
185
|
+
};
|
|
186
|
+
return svgMarker;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
const setMarker = (map, router, shape, imageData) => {
|
|
190
|
+
const {
|
|
191
|
+
label = '',
|
|
161
192
|
latitude,
|
|
162
|
-
longitude
|
|
163
|
-
imageId
|
|
193
|
+
longitude
|
|
164
194
|
} = shape;
|
|
165
195
|
|
|
166
196
|
if (isPositionCorrect(latitude, longitude)) {
|
|
167
|
-
const
|
|
168
|
-
const icon = iconUrl ? {
|
|
169
|
-
url: iconUrl,
|
|
170
|
-
scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)
|
|
171
|
-
} : {};
|
|
197
|
+
const svgMarker = getIcon(imageData, shape);
|
|
172
198
|
const marker = new window.google.maps.Marker({
|
|
173
199
|
position: {
|
|
174
200
|
lat: latitude,
|
|
175
201
|
lng: longitude
|
|
176
202
|
},
|
|
177
203
|
map,
|
|
178
|
-
icon,
|
|
204
|
+
icon: svgMarker,
|
|
179
205
|
title: label || ''
|
|
180
206
|
});
|
|
181
207
|
addShapeListeners(map, router, shape, imageData, marker);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-shapes.js","names":["React","isNumber","ReactDOMServer","Link","buildPropsToDisplayWithContent","summaryComponents","getClassModifiers","getPath","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE","COLOR","CLICK","HEADING_LARGE","LIST","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","event","renderToString","infoWindowContent","setContent","setPosition","latLng","open","push","setStyleOptions","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","styleSettings","Object","keys","reduce","acc","key","settingValue","shouldValueBeNumber","includes","hasValuePassedCondition","areRectangleBoundsNumbers","bounds","every","bound","isPositionCorrect","lat","lng","getIconUrl","imageId","image","find","id","summariesWithContent","Promise","all","dataSummary","elementTitle","type","propsToDisplay","otherProps","isTypeHeading","summaryPropsWithContent","modifier","SummaryComponent","render","preload","getDataSummaryComponent","component","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"],"sources":["../../../src/GoogleMaps/helpers/set-shapes.js"],"sourcesContent":["import React from 'react';\nimport isNumber from 'lodash.isnumber';\nimport ReactDOMServer from 'react-dom/server';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport {\n buildPropsToDisplayWithContent,\n summaryComponents,\n getClassModifiers\n} from '@blaze-cms/react-page-builder';\nimport getPath from './get-path';\nimport {\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n COLOR,\n CLICK,\n HEADING_LARGE,\n LIST\n} from '../../constants';\n\nconst shapesArray = [];\nconst infoWindowArray = [];\n\nconst clearShapes = () => {\n if (shapesArray.length) {\n shapesArray.forEach(shape => shape.setMap(null));\n shapesArray.length = 0;\n }\n};\n\nconst closeInfoWindows = () => {\n if (infoWindowArray.length) {\n infoWindowArray.forEach(infoWindow => infoWindow.close());\n infoWindowArray.length = 0;\n }\n};\n\nconst addShapeListeners = (map, router, shape, imageData, shapeInstance) => {\n const { enableInfoPane = false, dataSummaries = [], url, shapeData } = shape;\n\n if (enableInfoPane) {\n const infoWindow = new window.google.maps.InfoWindow({\n content: ''\n });\n\n shapeInstance.addListener(CLICK, async event => {\n closeInfoWindows();\n const content = ReactDOMServer.renderToString(\n await infoWindowContent(imageData, dataSummaries, url, shapeData)\n );\n infoWindow.setContent(content);\n infoWindow.setPosition(event.latLng);\n infoWindow.open(map, shapeInstance);\n infoWindowArray.push(infoWindow);\n });\n } else if (url) {\n shapeInstance.addListener(CLICK, () => {\n router.push(url);\n });\n }\n};\n\nconst setStyleOptions = shape => {\n const { strokeColor, strokeOpacity, strokeWeight, fillColor, fillOpacity } = shape;\n const styleSettings = { strokeColor, fillColor, strokeOpacity, strokeWeight, fillOpacity };\n\n return {\n ...Object.keys(styleSettings).reduce((acc, key) => {\n const settingValue = styleSettings[key];\n const shouldValueBeNumber = !key.includes(COLOR);\n const hasValuePassedCondition = shouldValueBeNumber ? isNumber(settingValue) : settingValue;\n if (hasValuePassedCondition) acc[key] = settingValue;\n return acc;\n }, {})\n };\n};\n\nconst areRectangleBoundsNumbers = bounds => bounds.every(bound => isNumber(bound));\n\nconst isPositionCorrect = (lat, lng) => isNumber(lat) && isNumber(lng);\n\nconst getIconUrl = (imageId, imageData) => {\n if (!imageId) return '';\n const image = imageData.find(({ id }) => id === imageId);\n if (!image || !image.url) return '';\n\n return image.url;\n};\n\nconst infoWindowContent = async (imageData, dataSummaries, url, shapeData) => {\n const summariesWithContent = await Promise.all(\n dataSummaries.map(async dataSummary => {\n const { elementTitle, type, propsToDisplay, ...otherProps } = dataSummary;\n const isTypeHeading = type === HEADING_LARGE;\n const summaryPropsWithContent = buildPropsToDisplayWithContent(shapeData, propsToDisplay);\n const modifier = getClassModifiers(LIST, otherProps);\n const SummaryComponent = summaryComponents[type];\n await SummaryComponent.render.preload(); // preload dynamic nextjs component\n\n if (!summaryPropsWithContent.length) return null;\n\n const getDataSummaryComponent = () => {\n const component = (\n <SummaryComponent\n key={type}\n modifier={modifier}\n elementTitle={elementTitle}\n summaryPropsWithContent={summaryPropsWithContent}\n />\n );\n\n if (isTypeHeading && url) return <Link href={url}>{component}</Link>;\n\n return component;\n };\n\n return getDataSummaryComponent();\n })\n );\n const { imageId } = shapeData || {};\n const image = imageData.find(({ id }) => id === imageId);\n const shouldShowImage = image && image.url;\n\n const getImageElement = () => {\n const { url: imageUrl, data } = image;\n const imageElement = (\n <img className=\"info__window\" src={imageUrl} alt={data && data.altText ? data.altText : ''} />\n );\n\n if (url) return <Link href={url}>{imageElement}</Link>;\n\n return imageElement;\n };\n\n return (\n <>\n {shouldShowImage && getImageElement()}\n {summariesWithContent}\n </>\n );\n};\n\nconst setMarker = (map, router, shape, imageData) => {\n const { label = '', markerWidth = 50, markerHeight = 50, latitude, longitude, imageId } = shape;\n\n if (isPositionCorrect(latitude, longitude)) {\n const iconUrl = getIconUrl(imageId, imageData);\n\n const icon = iconUrl\n ? {\n url: iconUrl,\n scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)\n }\n : {};\n\n const marker = new window.google.maps.Marker({\n position: { lat: latitude, lng: longitude },\n map,\n icon,\n title: label || ''\n });\n\n addShapeListeners(map, router, shape, imageData, marker);\n\n shapesArray.push(marker);\n\n marker.setMap(map);\n }\n};\n\nconst setPolyline = (map, router, shape, imageData) => {\n const { paths } = shape;\n const path = getPath(paths);\n\n if (path.length) {\n const polyline = new window.google.maps.Polyline({\n path,\n geodesic: true,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polyline);\n\n shapesArray.push(polyline);\n\n polyline.setMap(map);\n }\n};\n\nconst setPolygon = (map, router, shape, imageData) => {\n const { paths: unParsedPaths } = shape;\n const paths = getPath(unParsedPaths);\n\n if (paths.length) {\n const polygon = new window.google.maps.Polygon({\n paths,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polygon);\n\n shapesArray.push(polygon);\n\n polygon.setMap(map);\n }\n};\n\nconst setRectangle = (map, router, shape, imageData) => {\n const { northBound, southBound, eastBound, westBound } = shape;\n if (areRectangleBoundsNumbers([northBound, southBound, eastBound, westBound])) {\n const rectangle = new window.google.maps.Rectangle({\n ...setStyleOptions(shape),\n map,\n bounds: {\n north: northBound,\n south: southBound,\n east: eastBound,\n west: westBound\n }\n });\n\n addShapeListeners(map, router, shape, imageData, rectangle);\n\n shapesArray.push(rectangle);\n\n rectangle.setMap(map);\n }\n};\n\nconst setCircle = (map, router, shape, imageData) => {\n const { latitude, longitude, radius } = shape;\n if (isPositionCorrect(latitude, longitude) && isNumber(radius)) {\n const circle = new window.google.maps.Circle({\n ...setStyleOptions(shape),\n map,\n center: { lat: latitude, lng: longitude },\n radius\n });\n\n addShapeListeners(map, router, shape, imageData, circle);\n\n shapesArray.push(circle);\n\n circle.setMap(map);\n }\n};\n\nconst setShapes = (map, router, shapes, imageData) => {\n const mapZoom = map.getZoom();\n clearShapes();\n\n shapes.forEach(shape => {\n const { type, minZoom, maxZoom } = shape;\n\n if (mapZoom >= minZoom && mapZoom <= maxZoom) {\n switch (type) {\n case MARKER: {\n setMarker(map, router, shape, imageData);\n break;\n }\n case POLYLINE: {\n setPolyline(map, router, shape, imageData);\n break;\n }\n case POLYGON: {\n setPolygon(map, router, shape, imageData);\n break;\n }\n case RECTANGLE: {\n setRectangle(map, router, shape, imageData);\n break;\n }\n case CIRCLE: {\n setCircle(map, router, shape, imageData);\n break;\n }\n default:\n break;\n }\n }\n });\n};\n\nexport default setShapes;\n"],"mappings":";;;;;;;;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,QAAP,MAAqB,iBAArB;AACA,OAAOC,cAAP,MAA2B,kBAA3B;AACA,SAASC,IAAT,QAAqB,8BAArB;AACA,SACEC,8BADF,EAEEC,iBAFF,EAGEC,iBAHF,QAIO,+BAJP;AAKA,OAAOC,OAAP,MAAoB,YAApB;AACA,SACEC,MADF,EAEEC,QAFF,EAGEC,OAHF,EAIEC,SAJF,EAKEC,MALF,EAMEC,KANF,EAOEC,KAPF,EAQEC,aARF,EASEC,IATF,QAUO,iBAVP;AAYA,MAAMC,WAAW,GAAG,EAApB;AACA,MAAMC,eAAe,GAAG,EAAxB;;AAEA,MAAMC,WAAW,GAAG,MAAM;EACxB,IAAIF,WAAW,CAACG,MAAhB,EAAwB;IACtBH,WAAW,CAACI,OAAZ,CAAoBC,KAAK,IAAIA,KAAK,CAACC,MAAN,CAAa,IAAb,CAA7B;IACAN,WAAW,CAACG,MAAZ,GAAqB,CAArB;EACD;AACF,CALD;;AAOA,MAAMI,gBAAgB,GAAG,MAAM;EAC7B,IAAIN,eAAe,CAACE,MAApB,EAA4B;IAC1BF,eAAe,CAACG,OAAhB,CAAwBI,UAAU,IAAIA,UAAU,CAACC,KAAX,EAAtC;IACAR,eAAe,CAACE,MAAhB,GAAyB,CAAzB;EACD;AACF,CALD;;AAOA,MAAMO,iBAAiB,GAAG,CAACC,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAgCC,aAAhC,KAAkD;EAC1E,MAAM;IAAEC,cAAc,GAAG,KAAnB;IAA0BC,aAAa,GAAG,EAA1C;IAA8CC,GAA9C;IAAmDC;EAAnD,IAAiEb,KAAvE;;EAEA,IAAIU,cAAJ,EAAoB;IAClB,MAAMP,UAAU,GAAG,IAAIW,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmBC,UAAvB,CAAkC;MACnDC,OAAO,EAAE;IAD0C,CAAlC,CAAnB;IAIAT,aAAa,CAACU,WAAd,CAA0B3B,KAA1B,EAAiC,MAAM4B,KAAN,IAAe;MAC9ClB,gBAAgB;MAChB,MAAMgB,OAAO,GAAGtC,cAAc,CAACyC,cAAf,CACd,MAAMC,iBAAiB,CAACd,SAAD,EAAYG,aAAZ,EAA2BC,GAA3B,EAAgCC,SAAhC,CADT,CAAhB;MAGAV,UAAU,CAACoB,UAAX,CAAsBL,OAAtB;MACAf,UAAU,CAACqB,WAAX,CAAuBJ,KAAK,CAACK,MAA7B;MACAtB,UAAU,CAACuB,IAAX,CAAgBpB,GAAhB,EAAqBG,aAArB;MACAb,eAAe,CAAC+B,IAAhB,CAAqBxB,UAArB;IACD,CATD;EAUD,CAfD,MAeO,IAAIS,GAAJ,EAAS;IACdH,aAAa,CAACU,WAAd,CAA0B3B,KAA1B,EAAiC,MAAM;MACrCe,MAAM,CAACoB,IAAP,CAAYf,GAAZ;IACD,CAFD;EAGD;AACF,CAvBD;;AAyBA,MAAMgB,eAAe,GAAG5B,KAAK,IAAI;EAC/B,MAAM;IAAE6B,WAAF;IAAeC,aAAf;IAA8BC,YAA9B;IAA4CC,SAA5C;IAAuDC;EAAvD,IAAuEjC,KAA7E;EACA,MAAMkC,aAAa,GAAG;IAAEL,WAAF;IAAeG,SAAf;IAA0BF,aAA1B;IAAyCC,YAAzC;IAAuDE;EAAvD,CAAtB;EAEA,yBACKE,MAAM,CAACC,IAAP,CAAYF,aAAZ,EAA2BG,MAA3B,CAAkC,CAACC,GAAD,EAAMC,GAAN,KAAc;IACjD,MAAMC,YAAY,GAAGN,aAAa,CAACK,GAAD,CAAlC;IACA,MAAME,mBAAmB,GAAG,CAACF,GAAG,CAACG,QAAJ,CAAanD,KAAb,CAA7B;IACA,MAAMoD,uBAAuB,GAAGF,mBAAmB,GAAG9D,QAAQ,CAAC6D,YAAD,CAAX,GAA4BA,YAA/E;IACA,IAAIG,uBAAJ,EAA6BL,GAAG,CAACC,GAAD,CAAH,GAAWC,YAAX;IAC7B,OAAOF,GAAP;EACD,CANE,EAMA,EANA,CADL;AASD,CAbD;;AAeA,MAAMM,yBAAyB,GAAGC,MAAM,IAAIA,MAAM,CAACC,KAAP,CAAaC,KAAK,IAAIpE,QAAQ,CAACoE,KAAD,CAA9B,CAA5C;;AAEA,MAAMC,iBAAiB,GAAG,CAACC,GAAD,EAAMC,GAAN,KAAcvE,QAAQ,CAACsE,GAAD,CAAR,IAAiBtE,QAAQ,CAACuE,GAAD,CAAjE;;AAEA,MAAMC,UAAU,GAAG,CAACC,OAAD,EAAU5C,SAAV,KAAwB;EACzC,IAAI,CAAC4C,OAAL,EAAc,OAAO,EAAP;EACd,MAAMC,KAAK,GAAG7C,SAAS,CAAC8C,IAAV,CAAe,CAAC;IAAEC;EAAF,CAAD,KAAYA,EAAE,KAAKH,OAAlC,CAAd;EACA,IAAI,CAACC,KAAD,IAAU,CAACA,KAAK,CAACzC,GAArB,EAA0B,OAAO,EAAP;EAE1B,OAAOyC,KAAK,CAACzC,GAAb;AACD,CAND;;AAQA,MAAMU,iBAAiB,GAAG,OAAOd,SAAP,EAAkBG,aAAlB,EAAiCC,GAAjC,EAAsCC,SAAtC,KAAoD;EAC5E,MAAM2C,oBAAoB,GAAG,MAAMC,OAAO,CAACC,GAAR,CACjC/C,aAAa,CAACL,GAAd,CAAkB,MAAMqD,WAAN,IAAqB;IACrC,MAAM;MAAEC,YAAF;MAAgBC,IAAhB;MAAsBC;IAAtB,IAAwDH,WAA9D;IAAA,MAA+CI,UAA/C,4BAA8DJ,WAA9D;;IACA,MAAMK,aAAa,GAAGH,IAAI,KAAKpE,aAA/B;IACA,MAAMwE,uBAAuB,GAAGnF,8BAA8B,CAAC+B,SAAD,EAAYiD,cAAZ,CAA9D;IACA,MAAMI,QAAQ,GAAGlF,iBAAiB,CAACU,IAAD,EAAOqE,UAAP,CAAlC;IACA,MAAMI,gBAAgB,GAAGpF,iBAAiB,CAAC8E,IAAD,CAA1C;IACA,MAAMM,gBAAgB,CAACC,MAAjB,CAAwBC,OAAxB,EAAN,CANqC,CAMI;;IAEzC,IAAI,CAACJ,uBAAuB,CAACnE,MAA7B,EAAqC,OAAO,IAAP;;IAErC,MAAMwE,uBAAuB,GAAG,MAAM;MACpC,MAAMC,SAAS,gBACb,oBAAC,gBAAD;QACE,GAAG,EAAEV,IADP;QAEE,QAAQ,EAAEK,QAFZ;QAGE,YAAY,EAAEN,YAHhB;QAIE,uBAAuB,EAAEK;MAJ3B,EADF;MASA,IAAID,aAAa,IAAIpD,GAArB,EAA0B,oBAAO,oBAAC,IAAD;QAAM,IAAI,EAAEA;MAAZ,GAAkB2D,SAAlB,CAAP;MAE1B,OAAOA,SAAP;IACD,CAbD;;IAeA,OAAOD,uBAAuB,EAA9B;EACD,CA1BD,CADiC,CAAnC;EA6BA,MAAM;IAAElB;EAAF,IAAcvC,SAAS,IAAI,EAAjC;EACA,MAAMwC,KAAK,GAAG7C,SAAS,CAAC8C,IAAV,CAAe,CAAC;IAAEC;EAAF,CAAD,KAAYA,EAAE,KAAKH,OAAlC,CAAd;EACA,MAAMoB,eAAe,GAAGnB,KAAK,IAAIA,KAAK,CAACzC,GAAvC;;EAEA,MAAM6D,eAAe,GAAG,MAAM;IAC5B,MAAM;MAAE7D,GAAG,EAAE8D,QAAP;MAAiBC;IAAjB,IAA0BtB,KAAhC;IACA,MAAMuB,YAAY,gBAChB;MAAK,SAAS,EAAC,cAAf;MAA8B,GAAG,EAAEF,QAAnC;MAA6C,GAAG,EAAEC,IAAI,IAAIA,IAAI,CAACE,OAAb,GAAuBF,IAAI,CAACE,OAA5B,GAAsC;IAAxF,EADF;IAIA,IAAIjE,GAAJ,EAAS,oBAAO,oBAAC,IAAD;MAAM,IAAI,EAAEA;IAAZ,GAAkBgE,YAAlB,CAAP;IAET,OAAOA,YAAP;EACD,CATD;;EAWA,oBACE,0CACGJ,eAAe,IAAIC,eAAe,EADrC,EAEGjB,oBAFH,CADF;AAMD,CAnDD;;AAqDA,MAAMsB,SAAS,GAAG,CAACxE,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,KAAmC;EACnD,MAAM;IAAEuE,KAAK,GAAG,EAAV;IAAcC,WAAW,GAAG,EAA5B;IAAgCC,YAAY,GAAG,EAA/C;IAAmDC,QAAnD;IAA6DC,SAA7D;IAAwE/B;EAAxE,IAAoFpD,KAA1F;;EAEA,IAAIgD,iBAAiB,CAACkC,QAAD,EAAWC,SAAX,CAArB,EAA4C;IAC1C,MAAMC,OAAO,GAAGjC,UAAU,CAACC,OAAD,EAAU5C,SAAV,CAA1B;IAEA,MAAM6E,IAAI,GAAGD,OAAO,GAChB;MACExE,GAAG,EAAEwE,OADP;MAEEE,UAAU,EAAE,IAAIxE,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmBuE,IAAvB,CAA4BP,WAAW,IAAI,EAA3C,EAA+CC,YAAY,IAAI,EAA/D;IAFd,CADgB,GAKhB,EALJ;IAOA,MAAMO,MAAM,GAAG,IAAI1E,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmByE,MAAvB,CAA8B;MAC3CC,QAAQ,EAAE;QAAEzC,GAAG,EAAEiC,QAAP;QAAiBhC,GAAG,EAAEiC;MAAtB,CADiC;MAE3C7E,GAF2C;MAG3C+E,IAH2C;MAI3CM,KAAK,EAAEZ,KAAK,IAAI;IAJ2B,CAA9B,CAAf;IAOA1E,iBAAiB,CAACC,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAgCgF,MAAhC,CAAjB;IAEA7F,WAAW,CAACgC,IAAZ,CAAiB6D,MAAjB;IAEAA,MAAM,CAACvF,MAAP,CAAcK,GAAd;EACD;AACF,CA1BD;;AA4BA,MAAMsF,WAAW,GAAG,CAACtF,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,KAAmC;EACrD,MAAM;IAAEqF;EAAF,IAAY7F,KAAlB;EACA,MAAM8F,IAAI,GAAG7G,OAAO,CAAC4G,KAAD,CAApB;;EAEA,IAAIC,IAAI,CAAChG,MAAT,EAAiB;IACf,MAAMiG,QAAQ,GAAG,IAAIjF,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmBgF,QAAvB;MACfF,IADe;MAEfG,QAAQ,EAAE;IAFK,GAGZrE,eAAe,CAAC5B,KAAD,CAHH,EAAjB;IAMAK,iBAAiB,CAACC,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAgCuF,QAAhC,CAAjB;IAEApG,WAAW,CAACgC,IAAZ,CAAiBoE,QAAjB;IAEAA,QAAQ,CAAC9F,MAAT,CAAgBK,GAAhB;EACD;AACF,CAjBD;;AAmBA,MAAM4F,UAAU,GAAG,CAAC5F,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,KAAmC;EACpD,MAAM;IAAEqF,KAAK,EAAEM;EAAT,IAA2BnG,KAAjC;EACA,MAAM6F,KAAK,GAAG5G,OAAO,CAACkH,aAAD,CAArB;;EAEA,IAAIN,KAAK,CAAC/F,MAAV,EAAkB;IAChB,MAAMsG,OAAO,GAAG,IAAItF,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmBqF,OAAvB;MACdR;IADc,GAEXjE,eAAe,CAAC5B,KAAD,CAFJ,EAAhB;IAKAK,iBAAiB,CAACC,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAgC4F,OAAhC,CAAjB;IAEAzG,WAAW,CAACgC,IAAZ,CAAiByE,OAAjB;IAEAA,OAAO,CAACnG,MAAR,CAAeK,GAAf;EACD;AACF,CAhBD;;AAkBA,MAAMgG,YAAY,GAAG,CAAChG,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,KAAmC;EACtD,MAAM;IAAE+F,UAAF;IAAcC,UAAd;IAA0BC,SAA1B;IAAqCC;EAArC,IAAmD1G,KAAzD;;EACA,IAAI4C,yBAAyB,CAAC,CAAC2D,UAAD,EAAaC,UAAb,EAAyBC,SAAzB,EAAoCC,SAApC,CAAD,CAA7B,EAA+E;IAC7E,MAAMC,SAAS,GAAG,IAAI7F,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmB4F,SAAvB,iCACbhF,eAAe,CAAC5B,KAAD,CADF;MAEhBM,GAFgB;MAGhBuC,MAAM,EAAE;QACNgE,KAAK,EAAEN,UADD;QAENO,KAAK,EAAEN,UAFD;QAGNO,IAAI,EAAEN,SAHA;QAINO,IAAI,EAAEN;MAJA;IAHQ,GAAlB;IAWArG,iBAAiB,CAACC,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAgCmG,SAAhC,CAAjB;IAEAhH,WAAW,CAACgC,IAAZ,CAAiBgF,SAAjB;IAEAA,SAAS,CAAC1G,MAAV,CAAiBK,GAAjB;EACD;AACF,CApBD;;AAsBA,MAAM2G,SAAS,GAAG,CAAC3G,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,KAAmC;EACnD,MAAM;IAAE0E,QAAF;IAAYC,SAAZ;IAAuB+B;EAAvB,IAAkClH,KAAxC;;EACA,IAAIgD,iBAAiB,CAACkC,QAAD,EAAWC,SAAX,CAAjB,IAA0CxG,QAAQ,CAACuI,MAAD,CAAtD,EAAgE;IAC9D,MAAMC,MAAM,GAAG,IAAIrG,MAAM,CAACC,MAAP,CAAcC,IAAd,CAAmBoG,MAAvB,iCACVxF,eAAe,CAAC5B,KAAD,CADL;MAEbM,GAFa;MAGb+G,MAAM,EAAE;QAAEpE,GAAG,EAAEiC,QAAP;QAAiBhC,GAAG,EAAEiC;MAAtB,CAHK;MAIb+B;IAJa,GAAf;IAOA7G,iBAAiB,CAACC,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,EAAgC2G,MAAhC,CAAjB;IAEAxH,WAAW,CAACgC,IAAZ,CAAiBwF,MAAjB;IAEAA,MAAM,CAAClH,MAAP,CAAcK,GAAd;EACD;AACF,CAhBD;;AAkBA,MAAMgH,SAAS,GAAG,CAAChH,GAAD,EAAMC,MAAN,EAAcgH,MAAd,EAAsB/G,SAAtB,KAAoC;EACpD,MAAMgH,OAAO,GAAGlH,GAAG,CAACmH,OAAJ,EAAhB;EACA5H,WAAW;EAEX0H,MAAM,CAACxH,OAAP,CAAeC,KAAK,IAAI;IACtB,MAAM;MAAE6D,IAAF;MAAQ6D,OAAR;MAAiBC;IAAjB,IAA6B3H,KAAnC;;IAEA,IAAIwH,OAAO,IAAIE,OAAX,IAAsBF,OAAO,IAAIG,OAArC,EAA8C;MAC5C,QAAQ9D,IAAR;QACE,KAAK3E,MAAL;UAAa;YACX4F,SAAS,CAACxE,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,CAAT;YACA;UACD;;QACD,KAAKrB,QAAL;UAAe;YACbyG,WAAW,CAACtF,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,CAAX;YACA;UACD;;QACD,KAAKpB,OAAL;UAAc;YACZ8G,UAAU,CAAC5F,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,CAAV;YACA;UACD;;QACD,KAAKnB,SAAL;UAAgB;YACdiH,YAAY,CAAChG,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,CAAZ;YACA;UACD;;QACD,KAAKlB,MAAL;UAAa;YACX2H,SAAS,CAAC3G,GAAD,EAAMC,MAAN,EAAcP,KAAd,EAAqBQ,SAArB,CAAT;YACA;UACD;;QACD;UACE;MAtBJ;IAwBD;EACF,CA7BD;AA8BD,CAlCD;;AAoCA,eAAe8G,SAAf"}
|
|
1
|
+
{"version":3,"file":"set-shapes.js","names":["React","isNumber","ReactDOMServer","Link","buildPropsToDisplayWithContent","summaryComponents","getClassModifiers","getPath","MARKER","POLYLINE","POLYGON","RECTANGLE","CIRCLE","COLOR","CLICK","HEADING_LARGE","LIST","DEFAULT_CUSTOM_MARKER_PATH","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","event","renderToString","infoWindowContent","setContent","setPosition","latLng","open","push","setStyleOptions","strokeColor","strokeOpacity","strokeWeight","fillColor","fillOpacity","styleSettings","Object","keys","reduce","acc","key","settingValue","shouldValueBeNumber","includes","hasValuePassedCondition","areRectangleBoundsNumbers","bounds","every","bound","isPositionCorrect","lat","lng","getIconUrl","imageId","image","find","id","summariesWithContent","Promise","all","dataSummary","elementTitle","type","propsToDisplay","otherProps","isTypeHeading","summaryPropsWithContent","modifier","SummaryComponent","render","preload","getDataSummaryComponent","component","shouldShowImage","getImageElement","imageUrl","data","imageElement","altText","getIcon","markerWidth","markerHeight","svgPath","iconUrl","icon","scaledSize","Size","svgMarker","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"],"sources":["../../../src/GoogleMaps/helpers/set-shapes.js"],"sourcesContent":["import React from 'react';\nimport isNumber from 'lodash.isnumber';\nimport ReactDOMServer from 'react-dom/server';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport {\n buildPropsToDisplayWithContent,\n summaryComponents,\n getClassModifiers\n} from '@blaze-cms/react-page-builder';\nimport getPath from './get-path';\nimport {\n MARKER,\n POLYLINE,\n POLYGON,\n RECTANGLE,\n CIRCLE,\n COLOR,\n CLICK,\n HEADING_LARGE,\n LIST,\n DEFAULT_CUSTOM_MARKER_PATH\n} from '../../constants';\n\nconst shapesArray = [];\nconst infoWindowArray = [];\n\nconst clearShapes = () => {\n if (shapesArray.length) {\n shapesArray.forEach(shape => shape.setMap(null));\n shapesArray.length = 0;\n }\n};\n\nconst closeInfoWindows = () => {\n if (infoWindowArray.length) {\n infoWindowArray.forEach(infoWindow => infoWindow.close());\n infoWindowArray.length = 0;\n }\n};\n\nconst addShapeListeners = (map, router, shape, imageData, shapeInstance) => {\n const { enableInfoPane = false, dataSummaries = [], url, shapeData } = shape;\n\n if (enableInfoPane) {\n const infoWindow = new window.google.maps.InfoWindow({\n content: ''\n });\n\n shapeInstance.addListener(CLICK, async event => {\n closeInfoWindows();\n const content = ReactDOMServer.renderToString(\n await infoWindowContent(imageData, dataSummaries, url, shapeData)\n );\n infoWindow.setContent(content);\n infoWindow.setPosition(event.latLng);\n infoWindow.open(map, shapeInstance);\n infoWindowArray.push(infoWindow);\n });\n } else if (url) {\n shapeInstance.addListener(CLICK, () => {\n router.push(url);\n });\n }\n};\n\nconst setStyleOptions = shape => {\n const { strokeColor, strokeOpacity, strokeWeight, fillColor, fillOpacity } = shape;\n const styleSettings = { strokeColor, fillColor, strokeOpacity, strokeWeight, fillOpacity };\n\n return {\n ...Object.keys(styleSettings).reduce((acc, key) => {\n const settingValue = styleSettings[key];\n const shouldValueBeNumber = !key.includes(COLOR);\n const hasValuePassedCondition = shouldValueBeNumber ? isNumber(settingValue) : settingValue;\n if (hasValuePassedCondition) acc[key] = settingValue;\n return acc;\n }, {})\n };\n};\n\nconst areRectangleBoundsNumbers = bounds => bounds.every(bound => isNumber(bound));\n\nconst isPositionCorrect = (lat, lng) => isNumber(lat) && isNumber(lng);\n\nconst getIconUrl = (imageId, imageData) => {\n if (!imageId) return '';\n const image = imageData.find(({ id }) => id === imageId);\n if (!image || !image.url) return '';\n\n return image.url;\n};\n\nconst infoWindowContent = async (imageData, dataSummaries, url, shapeData) => {\n const summariesWithContent = await Promise.all(\n dataSummaries.map(async dataSummary => {\n const { elementTitle, type, propsToDisplay, ...otherProps } = dataSummary;\n const isTypeHeading = type === HEADING_LARGE;\n const summaryPropsWithContent = buildPropsToDisplayWithContent(shapeData, propsToDisplay);\n const modifier = getClassModifiers(LIST, otherProps);\n const SummaryComponent = summaryComponents[type];\n await SummaryComponent.render.preload(); // preload dynamic nextjs component\n\n if (!summaryPropsWithContent.length) return null;\n\n const getDataSummaryComponent = () => {\n const component = (\n <SummaryComponent\n key={type}\n modifier={modifier}\n elementTitle={elementTitle}\n summaryPropsWithContent={summaryPropsWithContent}\n />\n );\n\n if (isTypeHeading && url) return <Link href={url}>{component}</Link>;\n\n return component;\n };\n\n return getDataSummaryComponent();\n })\n );\n const { imageId } = shapeData || {};\n const image = imageData.find(({ id }) => id === imageId);\n const shouldShowImage = image && image.url;\n\n const getImageElement = () => {\n const { url: imageUrl, data } = image;\n const imageElement = (\n <img className=\"info__window\" src={imageUrl} alt={data && data.altText ? data.altText : ''} />\n );\n\n if (url) return <Link href={url}>{imageElement}</Link>;\n\n return imageElement;\n };\n\n return (\n <>\n {shouldShowImage && getImageElement()}\n {summariesWithContent}\n </>\n );\n};\n\nfunction getIcon(imageData, shape) {\n const {\n imageId,\n markerWidth = 50,\n markerHeight = 50,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n svgPath\n } = shape;\n const iconUrl = getIconUrl(imageId, imageData);\n\n const icon = iconUrl\n ? {\n url: iconUrl,\n scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)\n }\n : null;\n\n if (icon) return icon;\n\n if (!svgPath && !fillColor && !strokeColor) return {}; // any can be true for custom marker\n\n const svgMarker = {\n path: svgPath || DEFAULT_CUSTOM_MARKER_PATH,\n strokeColor,\n strokeOpacity,\n strokeWeight,\n fillColor,\n fillOpacity,\n rotation: 0,\n scale: 2\n };\n return svgMarker;\n}\n\nconst setMarker = (map, router, shape, imageData) => {\n const { label = '', latitude, longitude } = shape;\n\n if (isPositionCorrect(latitude, longitude)) {\n const svgMarker = getIcon(imageData, shape);\n\n const marker = new window.google.maps.Marker({\n position: { lat: latitude, lng: longitude },\n map,\n icon: svgMarker,\n title: label || ''\n });\n\n addShapeListeners(map, router, shape, imageData, marker);\n\n shapesArray.push(marker);\n\n marker.setMap(map);\n }\n};\n\nconst setPolyline = (map, router, shape, imageData) => {\n const { paths } = shape;\n const path = getPath(paths);\n\n if (path.length) {\n const polyline = new window.google.maps.Polyline({\n path,\n geodesic: true,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polyline);\n\n shapesArray.push(polyline);\n\n polyline.setMap(map);\n }\n};\n\nconst setPolygon = (map, router, shape, imageData) => {\n const { paths: unParsedPaths } = shape;\n const paths = getPath(unParsedPaths);\n\n if (paths.length) {\n const polygon = new window.google.maps.Polygon({\n paths,\n ...setStyleOptions(shape)\n });\n\n addShapeListeners(map, router, shape, imageData, polygon);\n\n shapesArray.push(polygon);\n\n polygon.setMap(map);\n }\n};\n\nconst setRectangle = (map, router, shape, imageData) => {\n const { northBound, southBound, eastBound, westBound } = shape;\n if (areRectangleBoundsNumbers([northBound, southBound, eastBound, westBound])) {\n const rectangle = new window.google.maps.Rectangle({\n ...setStyleOptions(shape),\n map,\n bounds: {\n north: northBound,\n south: southBound,\n east: eastBound,\n west: westBound\n }\n });\n\n addShapeListeners(map, router, shape, imageData, rectangle);\n\n shapesArray.push(rectangle);\n\n rectangle.setMap(map);\n }\n};\n\nconst setCircle = (map, router, shape, imageData) => {\n const { latitude, longitude, radius } = shape;\n if (isPositionCorrect(latitude, longitude) && isNumber(radius)) {\n const circle = new window.google.maps.Circle({\n ...setStyleOptions(shape),\n map,\n center: { lat: latitude, lng: longitude },\n radius\n });\n\n addShapeListeners(map, router, shape, imageData, circle);\n\n shapesArray.push(circle);\n\n circle.setMap(map);\n }\n};\n\nconst setShapes = (map, router, shapes, imageData) => {\n const mapZoom = map.getZoom();\n clearShapes();\n\n shapes.forEach(shape => {\n const { type, minZoom, maxZoom } = shape;\n\n if (mapZoom >= minZoom && mapZoom <= maxZoom) {\n switch (type) {\n case MARKER: {\n setMarker(map, router, shape, imageData);\n break;\n }\n case POLYLINE: {\n setPolyline(map, router, shape, imageData);\n break;\n }\n case POLYGON: {\n setPolygon(map, router, shape, imageData);\n break;\n }\n case RECTANGLE: {\n setRectangle(map, router, shape, imageData);\n break;\n }\n case CIRCLE: {\n setCircle(map, router, shape, imageData);\n break;\n }\n default:\n break;\n }\n }\n });\n};\n\nexport default setShapes;\n"],"mappings":"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"}
|
package/lib-es/constants.js
CHANGED
|
@@ -85,5 +85,6 @@ const IN_VIEW_CONFIG = {
|
|
|
85
85
|
offset: '200px'
|
|
86
86
|
};
|
|
87
87
|
const DEFAULT_SELECT_VALUE = 'Default';
|
|
88
|
-
|
|
88
|
+
const 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';
|
|
89
|
+
export { PLUGIN_NAME, GOOGLE_MAPS_SCRIPT, COOPERATIVE, NONE, LOAD, SCRIPT, ROADMAP, SATELLITE, TERRAIN, MARKER, POLYLINE, POLYGON, RECTANGLE, CIRCLE, DEFAULT_OPTIONS, FILL_OPTIONS, DEFAULT_COLOR, ZOOM_CHANGED, COLOR, IMAGE_ID, URL, ID, CLICK, ELEMENT_GEOMETRY, FEATURE_TYPE_MAP, ALL, HEADING_LARGE, LIST, IN_VIEW_CONFIG, DISABLE_TRANSPORTATION_STYLES, DISABLE_POI_STYLES, DISABLE_BOUNDARIES_STYLES, DISABLE_LABELS_STYLES, DEFAULT_SELECT_VALUE, DEFAULT_CUSTOM_MARKER_PATH };
|
|
89
90
|
//# sourceMappingURL=constants.js.map
|