@blaze-cms/plugin-google-maps-fe 0.146.0-rc-eagle.0 → 0.146.0-rc-eagle-3.2
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/lib-es/GoogleMaps/GoogleMaps.js +122 -0
- package/lib-es/GoogleMaps/GoogleMaps.js.map +1 -0
- package/lib-es/GoogleMaps/GoogleMapsFactory.js +41 -0
- package/lib-es/GoogleMaps/GoogleMapsFactory.js.map +1 -0
- package/lib-es/GoogleMaps/GoogleMapsHtml.js +16 -0
- package/lib-es/GoogleMaps/GoogleMapsHtml.js.map +1 -0
- package/lib-es/GoogleMaps/GoogleMapsRender.js +72 -0
- package/lib-es/GoogleMaps/GoogleMapsRender.js.map +1 -0
- package/lib-es/GoogleMaps/helpers/add-zoom-listener.js +9 -0
- package/lib-es/GoogleMaps/helpers/add-zoom-listener.js.map +1 -0
- package/lib-es/GoogleMaps/helpers/build-map-shapes.js +68 -0
- package/lib-es/GoogleMaps/helpers/build-map-shapes.js.map +1 -0
- package/lib-es/GoogleMaps/helpers/build-map-type-ids.js +9 -0
- package/lib-es/GoogleMaps/helpers/build-map-type-ids.js.map +1 -0
- package/lib-es/GoogleMaps/helpers/build-query.js +31 -0
- package/lib-es/GoogleMaps/helpers/build-query.js.map +1 -0
- package/lib-es/GoogleMaps/helpers/build-shapes-configs.js +124 -0
- package/lib-es/GoogleMaps/helpers/build-shapes-configs.js.map +1 -0
- package/lib-es/GoogleMaps/helpers/get-center-coordinates.js +29 -0
- package/lib-es/GoogleMaps/helpers/get-center-coordinates.js.map +1 -0
- package/lib-es/GoogleMaps/helpers/get-image-ids.js +13 -0
- package/lib-es/GoogleMaps/helpers/get-image-ids.js.map +1 -0
- package/lib-es/GoogleMaps/helpers/get-path.js +13 -0
- package/lib-es/GoogleMaps/helpers/get-path.js.map +1 -0
- package/lib-es/GoogleMaps/helpers/index.js +9 -0
- package/lib-es/GoogleMaps/helpers/index.js.map +1 -0
- package/lib-es/GoogleMaps/helpers/set-map-options.js +69 -0
- package/lib-es/GoogleMaps/helpers/set-map-options.js.map +1 -0
- package/lib-es/GoogleMaps/helpers/set-shapes.js +309 -0
- package/lib-es/GoogleMaps/helpers/set-shapes.js.map +1 -0
- package/lib-es/GoogleMaps/hooks/index.js +4 -0
- package/lib-es/GoogleMaps/hooks/index.js.map +1 -0
- package/lib-es/GoogleMaps/hooks/use-get-entity-schemas.js +20 -0
- package/lib-es/GoogleMaps/hooks/use-get-entity-schemas.js.map +1 -0
- package/lib-es/GoogleMaps/hooks/use-get-images.js +27 -0
- package/lib-es/GoogleMaps/hooks/use-get-images.js.map +1 -0
- package/lib-es/GoogleMaps/index.js +3 -0
- package/lib-es/GoogleMaps/index.js.map +1 -0
- package/lib-es/GoogleMaps/queries.js +47 -0
- package/lib-es/GoogleMaps/queries.js.map +1 -0
- package/lib-es/constants.js +90 -0
- package/lib-es/constants.js.map +1 -0
- package/lib-es/index.js +17 -0
- package/lib-es/index.js.map +1 -0
- package/package.json +12 -8
- package/CHANGELOG.md +0 -1790
- package/babel.config.js +0 -3
- package/jest.config.js +0 -3
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const getImageIds = mapShapes => {
|
|
2
|
+
const ids = [];
|
|
3
|
+
mapShapes.forEach(({
|
|
4
|
+
shapeData,
|
|
5
|
+
imageId
|
|
6
|
+
}) => {
|
|
7
|
+
if (imageId) ids.push(imageId);
|
|
8
|
+
if (shapeData.imageId) ids.push(shapeData.imageId);
|
|
9
|
+
});
|
|
10
|
+
return [...new Set(ids)];
|
|
11
|
+
};
|
|
12
|
+
export default getImageIds;
|
|
13
|
+
//# sourceMappingURL=get-image-ids.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-image-ids.js","names":["getImageIds","mapShapes","ids","forEach","shapeData","imageId","push","Set"],"sources":["../../../src/GoogleMaps/helpers/get-image-ids.js"],"sourcesContent":["const getImageIds = mapShapes => {\n const ids = [];\n mapShapes.forEach(({ shapeData, imageId }) => {\n if (imageId) ids.push(imageId);\n if (shapeData.imageId) ids.push(shapeData.imageId);\n });\n return [...new Set(ids)];\n};\n\nexport default getImageIds;\n"],"mappings":"AAAA,MAAMA,WAAW,GAAGC,SAAS,IAAI;EAC/B,MAAMC,GAAG,GAAG,EAAE;EACdD,SAAS,CAACE,OAAO,CAAC,CAAC;IAAEC,SAAS;IAAEC;EAAQ,CAAC,KAAK;IAC5C,IAAIA,OAAO,EAAEH,GAAG,CAACI,IAAI,CAACD,OAAO,CAAC;IAC9B,IAAID,SAAS,CAACC,OAAO,EAAEH,GAAG,CAACI,IAAI,CAACF,SAAS,CAACC,OAAO,CAAC;EACpD,CAAC,CAAC;EACF,OAAO,CAAC,GAAG,IAAIE,GAAG,CAACL,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,eAAeF,WAAW","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-path.js","names":["getPath","paths","reduce","acc","path","latitude","lat","longitude","lng","push"],"sources":["../../../src/GoogleMaps/helpers/get-path.js"],"sourcesContent":["const getPath = paths =>\n paths.reduce((acc, path) => {\n const { latitude: lat, longitude: lng } = path;\n acc.push({ lat, lng });\n return acc;\n }, []);\n\nexport default getPath;\n"],"mappings":"AAAA,MAAMA,OAAO,GAAGC,KAAK,IACnBA,KAAK,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,IAAI,KAAK;EAC1B,MAAM;IAAEC,QAAQ,EAAEC,GAAG;IAAEC,SAAS,EAAEC;EAAI,CAAC,GAAGJ,IAAI;EAC9CD,GAAG,CAACM,IAAI,CAAC;IAAEH,GAAG;IAAEE;EAAI,CAAC,CAAC;EACtB,OAAOL,GAAG;AACZ,CAAC,EAAE,EAAE,CAAC;AAER,eAAeH,OAAO","ignoreList":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import addZoomListener from './add-zoom-listener';
|
|
2
|
+
import buildQuery from './build-query';
|
|
3
|
+
import getImageIds from './get-image-ids';
|
|
4
|
+
import buildShapesConfig from './build-shapes-configs';
|
|
5
|
+
import setMapOptions from './set-map-options';
|
|
6
|
+
import getCenterCoordinates from './get-center-coordinates';
|
|
7
|
+
import buildMapShapes from './build-map-shapes';
|
|
8
|
+
export { addZoomListener, buildQuery, getImageIds, buildShapesConfig, setMapOptions, getCenterCoordinates, buildMapShapes };
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["addZoomListener","buildQuery","getImageIds","buildShapesConfig","setMapOptions","getCenterCoordinates","buildMapShapes"],"sources":["../../../src/GoogleMaps/helpers/index.js"],"sourcesContent":["import addZoomListener from './add-zoom-listener';\nimport buildQuery from './build-query';\nimport getImageIds from './get-image-ids';\nimport buildShapesConfig from './build-shapes-configs';\nimport setMapOptions from './set-map-options';\nimport getCenterCoordinates from './get-center-coordinates';\nimport buildMapShapes from './build-map-shapes';\n\nexport {\n addZoomListener,\n buildQuery,\n getImageIds,\n buildShapesConfig,\n setMapOptions,\n getCenterCoordinates,\n buildMapShapes\n};\n"],"mappings":"AAAA,OAAOA,eAAe,MAAM,qBAAqB;AACjD,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,WAAW,MAAM,iBAAiB;AACzC,OAAOC,iBAAiB,MAAM,wBAAwB;AACtD,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,oBAAoB,MAAM,0BAA0B;AAC3D,OAAOC,cAAc,MAAM,oBAAoB;AAE/C,SACEN,eAAe,EACfC,UAAU,EACVC,WAAW,EACXC,iBAAiB,EACjBC,aAAa,EACbC,oBAAoB,EACpBC,cAAc","ignoreList":[]}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import buildMapTypeIds from './build-map-type-ids';
|
|
2
|
+
import { COOPERATIVE, NONE, ELEMENT_GEOMETRY, FEATURE_TYPE_MAP, ALL, DISABLE_TRANSPORTATION_STYLES, DISABLE_POI_STYLES, DISABLE_BOUNDARIES_STYLES, DISABLE_LABELS_STYLES, DEFAULT_SELECT_VALUE } from '../../constants';
|
|
3
|
+
const setCustomColor = (featureType, color, elementType) => color ? [{
|
|
4
|
+
featureType,
|
|
5
|
+
elementType: elementType || ELEMENT_GEOMETRY,
|
|
6
|
+
stylers: [{
|
|
7
|
+
color
|
|
8
|
+
}]
|
|
9
|
+
}] : [];
|
|
10
|
+
const getFeatureStyles = ({
|
|
11
|
+
enableRoads = true,
|
|
12
|
+
enableFeatureTransportation,
|
|
13
|
+
enableFeatureLabels,
|
|
14
|
+
enableFeaturePoi,
|
|
15
|
+
enableFeatureBoundaries
|
|
16
|
+
}) => {
|
|
17
|
+
const customColors = [];
|
|
18
|
+
// todo: enableRoads is a legacy option can be removed in later updates
|
|
19
|
+
if (!enableFeatureLabels || !enableRoads) customColors.push(...DISABLE_LABELS_STYLES);
|
|
20
|
+
if (!enableFeatureBoundaries || !enableRoads) customColors.push(...DISABLE_BOUNDARIES_STYLES);
|
|
21
|
+
if (!enableFeaturePoi || !enableRoads) customColors.push(...DISABLE_POI_STYLES);
|
|
22
|
+
if (!enableFeatureTransportation || !enableRoads) {
|
|
23
|
+
customColors.push(...DISABLE_TRANSPORTATION_STYLES);
|
|
24
|
+
}
|
|
25
|
+
return customColors;
|
|
26
|
+
};
|
|
27
|
+
const setMapOptions = otherProps => {
|
|
28
|
+
const {
|
|
29
|
+
centerLatitude,
|
|
30
|
+
centerLongitude,
|
|
31
|
+
defaultZoom,
|
|
32
|
+
enableZoom,
|
|
33
|
+
maxZoom,
|
|
34
|
+
minZoom,
|
|
35
|
+
enablePan,
|
|
36
|
+
enableStreetView,
|
|
37
|
+
enableFullScreen,
|
|
38
|
+
enableSatelliteView,
|
|
39
|
+
enableTerrainScreen,
|
|
40
|
+
waterColor,
|
|
41
|
+
landscapeColor,
|
|
42
|
+
landscapeColorAll,
|
|
43
|
+
mapType
|
|
44
|
+
} = otherProps;
|
|
45
|
+
const customColors = [...getFeatureStyles(otherProps), ...setCustomColor(FEATURE_TYPE_MAP.waterColor, waterColor), ...setCustomColor(FEATURE_TYPE_MAP.landscapeColor, landscapeColor), ...setCustomColor(FEATURE_TYPE_MAP.landscapeColor, landscapeColorAll, ALL)];
|
|
46
|
+
return {
|
|
47
|
+
center: {
|
|
48
|
+
lat: centerLatitude,
|
|
49
|
+
lng: centerLongitude
|
|
50
|
+
},
|
|
51
|
+
zoom: defaultZoom,
|
|
52
|
+
maxZoom: enableZoom ? maxZoom : defaultZoom,
|
|
53
|
+
minZoom: enableZoom ? minZoom : defaultZoom,
|
|
54
|
+
gestureHandling: enablePan || enableZoom ? COOPERATIVE : NONE,
|
|
55
|
+
panControl: enablePan,
|
|
56
|
+
zoomControl: enableZoom && minZoom !== maxZoom,
|
|
57
|
+
disableDoubleClickZoom: !enableZoom,
|
|
58
|
+
streetViewControl: enableStreetView,
|
|
59
|
+
fullscreenControl: enableFullScreen,
|
|
60
|
+
mapTypeControl: enableSatelliteView || enableTerrainScreen,
|
|
61
|
+
mapTypeControlOptions: {
|
|
62
|
+
mapTypeIds: buildMapTypeIds(enableSatelliteView, enableTerrainScreen)
|
|
63
|
+
},
|
|
64
|
+
mapTypeId: !mapType || mapType === DEFAULT_SELECT_VALUE ? undefined : mapType,
|
|
65
|
+
styles: customColors
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
export default setMapOptions;
|
|
69
|
+
//# sourceMappingURL=set-map-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-map-options.js","names":["buildMapTypeIds","COOPERATIVE","NONE","ELEMENT_GEOMETRY","FEATURE_TYPE_MAP","ALL","DISABLE_TRANSPORTATION_STYLES","DISABLE_POI_STYLES","DISABLE_BOUNDARIES_STYLES","DISABLE_LABELS_STYLES","DEFAULT_SELECT_VALUE","setCustomColor","featureType","color","elementType","stylers","getFeatureStyles","enableRoads","enableFeatureTransportation","enableFeatureLabels","enableFeaturePoi","enableFeatureBoundaries","customColors","push","setMapOptions","otherProps","centerLatitude","centerLongitude","defaultZoom","enableZoom","maxZoom","minZoom","enablePan","enableStreetView","enableFullScreen","enableSatelliteView","enableTerrainScreen","waterColor","landscapeColor","landscapeColorAll","mapType","center","lat","lng","zoom","gestureHandling","panControl","zoomControl","disableDoubleClickZoom","streetViewControl","fullscreenControl","mapTypeControl","mapTypeControlOptions","mapTypeIds","mapTypeId","undefined","styles"],"sources":["../../../src/GoogleMaps/helpers/set-map-options.js"],"sourcesContent":["import buildMapTypeIds from './build-map-type-ids';\nimport {\n COOPERATIVE,\n NONE,\n ELEMENT_GEOMETRY,\n FEATURE_TYPE_MAP,\n ALL,\n DISABLE_TRANSPORTATION_STYLES,\n DISABLE_POI_STYLES,\n DISABLE_BOUNDARIES_STYLES,\n DISABLE_LABELS_STYLES,\n DEFAULT_SELECT_VALUE\n} from '../../constants';\n\nconst setCustomColor = (featureType, color, elementType) =>\n color\n ? [\n {\n featureType,\n elementType: elementType || ELEMENT_GEOMETRY,\n stylers: [\n {\n color\n }\n ]\n }\n ]\n : [];\n\nconst getFeatureStyles = ({\n enableRoads = true,\n enableFeatureTransportation,\n enableFeatureLabels,\n enableFeaturePoi,\n enableFeatureBoundaries\n}) => {\n const customColors = [];\n // todo: enableRoads is a legacy option can be removed in later updates\n if (!enableFeatureLabels || !enableRoads) customColors.push(...DISABLE_LABELS_STYLES);\n if (!enableFeatureBoundaries || !enableRoads) customColors.push(...DISABLE_BOUNDARIES_STYLES);\n if (!enableFeaturePoi || !enableRoads) customColors.push(...DISABLE_POI_STYLES);\n if (!enableFeatureTransportation || !enableRoads) {\n customColors.push(...DISABLE_TRANSPORTATION_STYLES);\n }\n\n return customColors;\n};\n\nconst setMapOptions = otherProps => {\n const {\n centerLatitude,\n centerLongitude,\n defaultZoom,\n enableZoom,\n maxZoom,\n minZoom,\n enablePan,\n enableStreetView,\n enableFullScreen,\n enableSatelliteView,\n enableTerrainScreen,\n waterColor,\n landscapeColor,\n landscapeColorAll,\n mapType\n } = otherProps;\n\n const customColors = [\n ...getFeatureStyles(otherProps),\n ...setCustomColor(FEATURE_TYPE_MAP.waterColor, waterColor),\n ...setCustomColor(FEATURE_TYPE_MAP.landscapeColor, landscapeColor),\n ...setCustomColor(FEATURE_TYPE_MAP.landscapeColor, landscapeColorAll, ALL)\n ];\n\n return {\n center: { lat: centerLatitude, lng: centerLongitude },\n zoom: defaultZoom,\n maxZoom: enableZoom ? maxZoom : defaultZoom,\n minZoom: enableZoom ? minZoom : defaultZoom,\n gestureHandling: enablePan || enableZoom ? COOPERATIVE : NONE,\n panControl: enablePan,\n zoomControl: enableZoom && minZoom !== maxZoom,\n disableDoubleClickZoom: !enableZoom,\n streetViewControl: enableStreetView,\n fullscreenControl: enableFullScreen,\n mapTypeControl: enableSatelliteView || enableTerrainScreen,\n mapTypeControlOptions: {\n mapTypeIds: buildMapTypeIds(enableSatelliteView, enableTerrainScreen)\n },\n mapTypeId: !mapType || mapType === DEFAULT_SELECT_VALUE ? undefined : mapType,\n styles: customColors\n };\n};\n\nexport default setMapOptions;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
2
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
+
const _excluded = ["elementTitle", "type", "propsToDisplay"];
|
|
4
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import isNumber from 'lodash.isnumber';
|
|
8
|
+
import * as ReactDOMServer from 'react-dom/server';
|
|
9
|
+
import { Link } from '@blaze-cms/nextjs-components';
|
|
10
|
+
import { ApolloProvider } from '@apollo/client';
|
|
11
|
+
import { buildPropsToDisplayWithContent, summaryComponents, getClassModifiers } from '@blaze-cms/react-page-builder';
|
|
12
|
+
import getPath from './get-path';
|
|
13
|
+
import { MARKER, POLYLINE, POLYGON, RECTANGLE, CIRCLE, COLOR, CLICK, HEADING_LARGE, LIST, DEFAULT_CUSTOM_MARKER_PATH } from '../../constants';
|
|
14
|
+
const shapesArray = [];
|
|
15
|
+
const infoWindowArray = [];
|
|
16
|
+
const clearShapes = () => {
|
|
17
|
+
if (shapesArray.length) {
|
|
18
|
+
shapesArray.forEach(shape => shape.setMap(null));
|
|
19
|
+
shapesArray.length = 0;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const closeInfoWindows = () => {
|
|
23
|
+
if (infoWindowArray.length) {
|
|
24
|
+
infoWindowArray.forEach(infoWindow => infoWindow.close());
|
|
25
|
+
infoWindowArray.length = 0;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const addShapeListeners = (map, router, shape, imageData, shapeInstance, client) => {
|
|
29
|
+
const {
|
|
30
|
+
enableInfoPane = false,
|
|
31
|
+
dataSummaries = [],
|
|
32
|
+
url,
|
|
33
|
+
shapeData
|
|
34
|
+
} = shape;
|
|
35
|
+
if (enableInfoPane) {
|
|
36
|
+
const infoWindow = new window.google.maps.InfoWindow({
|
|
37
|
+
content: ''
|
|
38
|
+
});
|
|
39
|
+
shapeInstance.addListener(CLICK, async event => {
|
|
40
|
+
closeInfoWindows();
|
|
41
|
+
const content = ReactDOMServer.renderToString(await infoWindowContent(imageData, dataSummaries, url, shapeData, client));
|
|
42
|
+
infoWindow.setContent(content);
|
|
43
|
+
infoWindow.setPosition(event.latLng);
|
|
44
|
+
infoWindow.open(map, shapeInstance);
|
|
45
|
+
infoWindowArray.push(infoWindow);
|
|
46
|
+
});
|
|
47
|
+
} else if (url) {
|
|
48
|
+
shapeInstance.addListener(CLICK, () => {
|
|
49
|
+
router.push(url);
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const setStyleOptions = shape => {
|
|
54
|
+
const {
|
|
55
|
+
strokeColor,
|
|
56
|
+
strokeOpacity,
|
|
57
|
+
strokeWeight,
|
|
58
|
+
fillColor,
|
|
59
|
+
fillOpacity
|
|
60
|
+
} = shape;
|
|
61
|
+
const styleSettings = {
|
|
62
|
+
strokeColor,
|
|
63
|
+
fillColor,
|
|
64
|
+
strokeOpacity,
|
|
65
|
+
strokeWeight,
|
|
66
|
+
fillOpacity
|
|
67
|
+
};
|
|
68
|
+
return _objectSpread({}, Object.keys(styleSettings).reduce((acc, key) => {
|
|
69
|
+
const settingValue = styleSettings[key];
|
|
70
|
+
const shouldValueBeNumber = !key.includes(COLOR);
|
|
71
|
+
const hasValuePassedCondition = shouldValueBeNumber ? isNumber(settingValue) : settingValue;
|
|
72
|
+
if (hasValuePassedCondition) acc[key] = settingValue;
|
|
73
|
+
return acc;
|
|
74
|
+
}, {}));
|
|
75
|
+
};
|
|
76
|
+
const areRectangleBoundsNumbers = bounds => bounds.every(bound => isNumber(bound));
|
|
77
|
+
const isPositionCorrect = (lat, lng) => isNumber(lat) && isNumber(lng);
|
|
78
|
+
const getIconUrl = (imageId, imageData) => {
|
|
79
|
+
if (!imageId) return '';
|
|
80
|
+
const image = imageData.find(({
|
|
81
|
+
id
|
|
82
|
+
}) => id === imageId);
|
|
83
|
+
if (!image || !image.url) return '';
|
|
84
|
+
return image.url;
|
|
85
|
+
};
|
|
86
|
+
const infoWindowContent = async (imageData, dataSummaries, url, shapeData, client) => {
|
|
87
|
+
const summariesWithContent = await Promise.all(dataSummaries.map(async dataSummary => {
|
|
88
|
+
const {
|
|
89
|
+
elementTitle,
|
|
90
|
+
type,
|
|
91
|
+
propsToDisplay
|
|
92
|
+
} = dataSummary,
|
|
93
|
+
otherProps = _objectWithoutProperties(dataSummary, _excluded);
|
|
94
|
+
const isTypeHeading = type === HEADING_LARGE;
|
|
95
|
+
const summaryPropsWithContent = buildPropsToDisplayWithContent(shapeData, propsToDisplay);
|
|
96
|
+
const modifier = getClassModifiers(LIST, otherProps);
|
|
97
|
+
const SummaryComponent = summaryComponents[type];
|
|
98
|
+
await SummaryComponent.render.preload(); // preload dynamic nextjs component
|
|
99
|
+
|
|
100
|
+
if (!summaryPropsWithContent.length) return null;
|
|
101
|
+
const getDataSummaryComponent = () => {
|
|
102
|
+
const component = /*#__PURE__*/React.createElement(ApolloProvider, {
|
|
103
|
+
client: client
|
|
104
|
+
}, /*#__PURE__*/React.createElement(SummaryComponent, {
|
|
105
|
+
key: type,
|
|
106
|
+
modifier: modifier,
|
|
107
|
+
elementTitle: elementTitle,
|
|
108
|
+
summaryPropsWithContent: summaryPropsWithContent
|
|
109
|
+
}));
|
|
110
|
+
if (isTypeHeading && url) return /*#__PURE__*/React.createElement(Link, {
|
|
111
|
+
href: url
|
|
112
|
+
}, component);
|
|
113
|
+
return component;
|
|
114
|
+
};
|
|
115
|
+
return getDataSummaryComponent();
|
|
116
|
+
}));
|
|
117
|
+
const {
|
|
118
|
+
imageId
|
|
119
|
+
} = shapeData || {};
|
|
120
|
+
const image = imageData.find(({
|
|
121
|
+
id
|
|
122
|
+
}) => id === imageId);
|
|
123
|
+
const shouldShowImage = image && image.url;
|
|
124
|
+
const getImageElement = () => {
|
|
125
|
+
const {
|
|
126
|
+
url: imageUrl,
|
|
127
|
+
data
|
|
128
|
+
} = image;
|
|
129
|
+
const imageElement = /*#__PURE__*/React.createElement("img", {
|
|
130
|
+
className: "info__window",
|
|
131
|
+
src: imageUrl,
|
|
132
|
+
alt: data && data.altText ? data.altText : ''
|
|
133
|
+
});
|
|
134
|
+
if (url) return /*#__PURE__*/React.createElement(Link, {
|
|
135
|
+
href: url
|
|
136
|
+
}, imageElement);
|
|
137
|
+
return imageElement;
|
|
138
|
+
};
|
|
139
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, shouldShowImage && getImageElement(), summariesWithContent);
|
|
140
|
+
};
|
|
141
|
+
function getIcon(imageData, shape) {
|
|
142
|
+
const {
|
|
143
|
+
imageId,
|
|
144
|
+
markerWidth = 50,
|
|
145
|
+
markerHeight = 50,
|
|
146
|
+
strokeColor,
|
|
147
|
+
strokeOpacity,
|
|
148
|
+
strokeWeight,
|
|
149
|
+
fillColor,
|
|
150
|
+
fillOpacity,
|
|
151
|
+
svgPath
|
|
152
|
+
} = shape;
|
|
153
|
+
const iconUrl = getIconUrl(imageId, imageData);
|
|
154
|
+
const icon = iconUrl ? {
|
|
155
|
+
url: iconUrl,
|
|
156
|
+
scaledSize: new window.google.maps.Size(markerWidth || 50, markerHeight || 50)
|
|
157
|
+
} : null;
|
|
158
|
+
if (icon) return icon;
|
|
159
|
+
if (!svgPath && !fillColor && !strokeColor) return {}; // any can be true for custom marker
|
|
160
|
+
|
|
161
|
+
const svgMarker = {
|
|
162
|
+
path: svgPath || DEFAULT_CUSTOM_MARKER_PATH,
|
|
163
|
+
strokeColor,
|
|
164
|
+
strokeOpacity,
|
|
165
|
+
strokeWeight,
|
|
166
|
+
fillColor,
|
|
167
|
+
fillOpacity,
|
|
168
|
+
rotation: 0,
|
|
169
|
+
scale: 2
|
|
170
|
+
};
|
|
171
|
+
return svgMarker;
|
|
172
|
+
}
|
|
173
|
+
const setMarker = (map, router, shape, imageData, client) => {
|
|
174
|
+
const {
|
|
175
|
+
label = '',
|
|
176
|
+
latitude,
|
|
177
|
+
longitude
|
|
178
|
+
} = shape;
|
|
179
|
+
if (isPositionCorrect(latitude, longitude)) {
|
|
180
|
+
const svgMarker = getIcon(imageData, shape);
|
|
181
|
+
const marker = new window.google.maps.Marker({
|
|
182
|
+
position: {
|
|
183
|
+
lat: latitude,
|
|
184
|
+
lng: longitude
|
|
185
|
+
},
|
|
186
|
+
map,
|
|
187
|
+
icon: svgMarker,
|
|
188
|
+
title: label || ''
|
|
189
|
+
});
|
|
190
|
+
addShapeListeners(map, router, shape, imageData, marker, client);
|
|
191
|
+
shapesArray.push(marker);
|
|
192
|
+
marker.setMap(map);
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
const setPolyline = (map, router, shape, imageData) => {
|
|
196
|
+
const {
|
|
197
|
+
paths
|
|
198
|
+
} = shape;
|
|
199
|
+
const path = getPath(paths);
|
|
200
|
+
if (path.length) {
|
|
201
|
+
const polyline = new window.google.maps.Polyline(_objectSpread({
|
|
202
|
+
path,
|
|
203
|
+
geodesic: true
|
|
204
|
+
}, setStyleOptions(shape)));
|
|
205
|
+
addShapeListeners(map, router, shape, imageData, polyline);
|
|
206
|
+
shapesArray.push(polyline);
|
|
207
|
+
polyline.setMap(map);
|
|
208
|
+
}
|
|
209
|
+
};
|
|
210
|
+
const setPolygon = (map, router, shape, imageData) => {
|
|
211
|
+
const {
|
|
212
|
+
paths: unParsedPaths
|
|
213
|
+
} = shape;
|
|
214
|
+
const paths = getPath(unParsedPaths);
|
|
215
|
+
if (paths.length) {
|
|
216
|
+
const polygon = new window.google.maps.Polygon(_objectSpread({
|
|
217
|
+
paths
|
|
218
|
+
}, setStyleOptions(shape)));
|
|
219
|
+
addShapeListeners(map, router, shape, imageData, polygon);
|
|
220
|
+
shapesArray.push(polygon);
|
|
221
|
+
polygon.setMap(map);
|
|
222
|
+
}
|
|
223
|
+
};
|
|
224
|
+
const setRectangle = (map, router, shape, imageData) => {
|
|
225
|
+
const {
|
|
226
|
+
northBound,
|
|
227
|
+
southBound,
|
|
228
|
+
eastBound,
|
|
229
|
+
westBound
|
|
230
|
+
} = shape;
|
|
231
|
+
if (areRectangleBoundsNumbers([northBound, southBound, eastBound, westBound])) {
|
|
232
|
+
const rectangle = new window.google.maps.Rectangle(_objectSpread(_objectSpread({}, setStyleOptions(shape)), {}, {
|
|
233
|
+
map,
|
|
234
|
+
bounds: {
|
|
235
|
+
north: northBound,
|
|
236
|
+
south: southBound,
|
|
237
|
+
east: eastBound,
|
|
238
|
+
west: westBound
|
|
239
|
+
}
|
|
240
|
+
}));
|
|
241
|
+
addShapeListeners(map, router, shape, imageData, rectangle);
|
|
242
|
+
shapesArray.push(rectangle);
|
|
243
|
+
rectangle.setMap(map);
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
const setCircle = (map, router, shape, imageData) => {
|
|
247
|
+
const {
|
|
248
|
+
latitude,
|
|
249
|
+
longitude,
|
|
250
|
+
radius
|
|
251
|
+
} = shape;
|
|
252
|
+
if (isPositionCorrect(latitude, longitude) && isNumber(radius)) {
|
|
253
|
+
const circle = new window.google.maps.Circle(_objectSpread(_objectSpread({}, setStyleOptions(shape)), {}, {
|
|
254
|
+
map,
|
|
255
|
+
center: {
|
|
256
|
+
lat: latitude,
|
|
257
|
+
lng: longitude
|
|
258
|
+
},
|
|
259
|
+
radius
|
|
260
|
+
}));
|
|
261
|
+
addShapeListeners(map, router, shape, imageData, circle);
|
|
262
|
+
shapesArray.push(circle);
|
|
263
|
+
circle.setMap(map);
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
const setShapes = (map, router, shapes, imageData, client) => {
|
|
267
|
+
const mapZoom = map.getZoom();
|
|
268
|
+
clearShapes();
|
|
269
|
+
shapes.forEach(shape => {
|
|
270
|
+
const {
|
|
271
|
+
type,
|
|
272
|
+
minZoom,
|
|
273
|
+
maxZoom
|
|
274
|
+
} = shape;
|
|
275
|
+
if (mapZoom >= minZoom && mapZoom <= maxZoom) {
|
|
276
|
+
switch (type) {
|
|
277
|
+
case MARKER:
|
|
278
|
+
{
|
|
279
|
+
setMarker(map, router, shape, imageData, client);
|
|
280
|
+
break;
|
|
281
|
+
}
|
|
282
|
+
case POLYLINE:
|
|
283
|
+
{
|
|
284
|
+
setPolyline(map, router, shape, imageData);
|
|
285
|
+
break;
|
|
286
|
+
}
|
|
287
|
+
case POLYGON:
|
|
288
|
+
{
|
|
289
|
+
setPolygon(map, router, shape, imageData);
|
|
290
|
+
break;
|
|
291
|
+
}
|
|
292
|
+
case RECTANGLE:
|
|
293
|
+
{
|
|
294
|
+
setRectangle(map, router, shape, imageData);
|
|
295
|
+
break;
|
|
296
|
+
}
|
|
297
|
+
case CIRCLE:
|
|
298
|
+
{
|
|
299
|
+
setCircle(map, router, shape, imageData);
|
|
300
|
+
break;
|
|
301
|
+
}
|
|
302
|
+
default:
|
|
303
|
+
break;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
});
|
|
307
|
+
};
|
|
308
|
+
export default setShapes;
|
|
309
|
+
//# sourceMappingURL=set-shapes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-shapes.js","names":["React","isNumber","ReactDOMServer","Link","ApolloProvider","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","client","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","_objectSpread","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","_objectWithoutProperties","_excluded","isTypeHeading","summaryPropsWithContent","modifier","SummaryComponent","render","preload","getDataSummaryComponent","component","createElement","href","shouldShowImage","getImageElement","imageUrl","data","imageElement","className","src","alt","altText","Fragment","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 * as ReactDOMServer from 'react-dom/server';\nimport { Link } from '@blaze-cms/nextjs-components';\nimport { ApolloProvider } from '@apollo/client';\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, client) => {\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, client)\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, client) => {\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 <ApolloProvider client={client}>\n <SummaryComponent\n key={type}\n modifier={modifier}\n elementTitle={elementTitle}\n summaryPropsWithContent={summaryPropsWithContent}\n />\n </ApolloProvider>\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, client) => {\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, client);\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, client) => {\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, client);\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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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["useGetEntitySchemas","useGetImages"],"sources":["../../../src/GoogleMaps/hooks/index.js"],"sourcesContent":["import useGetEntitySchemas from './use-get-entity-schemas';\nimport useGetImages from './use-get-images';\n\nexport { useGetEntitySchemas, useGetImages };\n"],"mappings":"AAAA,OAAOA,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,YAAY,MAAM,kBAAkB;AAE3C,SAASD,mBAAmB,EAAEC,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useQuery } from '@apollo/client';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { GET_ENTITY_SCHEMAS } from '../queries';
|
|
4
|
+
const useGetEntitySchemas = (skipCondition = false) => {
|
|
5
|
+
const [skip] = useState(!skipCondition);
|
|
6
|
+
const {
|
|
7
|
+
data = {},
|
|
8
|
+
loading,
|
|
9
|
+
error
|
|
10
|
+
} = useQuery(GET_ENTITY_SCHEMAS, {
|
|
11
|
+
skip
|
|
12
|
+
});
|
|
13
|
+
return {
|
|
14
|
+
data,
|
|
15
|
+
loading,
|
|
16
|
+
error
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export default useGetEntitySchemas;
|
|
20
|
+
//# sourceMappingURL=use-get-entity-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-get-entity-schemas.js","names":["useQuery","useState","GET_ENTITY_SCHEMAS","useGetEntitySchemas","skipCondition","skip","data","loading","error"],"sources":["../../../src/GoogleMaps/hooks/use-get-entity-schemas.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { useState } from 'react';\nimport { GET_ENTITY_SCHEMAS } from '../queries';\n\nconst useGetEntitySchemas = (skipCondition = false) => {\n const [skip] = useState(!skipCondition);\n const {\n data = {},\n loading,\n error\n } = useQuery(GET_ENTITY_SCHEMAS, {\n skip\n });\n return { data, loading, error };\n};\n\nexport default useGetEntitySchemas;\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,QAAQ,QAAQ,OAAO;AAChC,SAASC,kBAAkB,QAAQ,YAAY;AAE/C,MAAMC,mBAAmB,GAAGA,CAACC,aAAa,GAAG,KAAK,KAAK;EACrD,MAAM,CAACC,IAAI,CAAC,GAAGJ,QAAQ,CAAC,CAACG,aAAa,CAAC;EACvC,MAAM;IACJE,IAAI,GAAG,CAAC,CAAC;IACTC,OAAO;IACPC;EACF,CAAC,GAAGR,QAAQ,CAACE,kBAAkB,EAAE;IAC/BG;EACF,CAAC,CAAC;EACF,OAAO;IAAEC,IAAI;IAAEC,OAAO;IAAEC;EAAM,CAAC;AACjC,CAAC;AAED,eAAeL,mBAAmB","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { useQuery } from '@apollo/client';
|
|
2
|
+
import { generateWhereQuery, generateQueryString } from '../queries';
|
|
3
|
+
const useGetImages = imageIds => {
|
|
4
|
+
const queryName = 'getFiles';
|
|
5
|
+
const action = generateWhereQuery(generateQueryString(queryName, queryName, 'id url data'));
|
|
6
|
+
const {
|
|
7
|
+
data = {},
|
|
8
|
+
loading,
|
|
9
|
+
error
|
|
10
|
+
} = useQuery(action, {
|
|
11
|
+
variables: {
|
|
12
|
+
where: {
|
|
13
|
+
id: {
|
|
14
|
+
_in: imageIds
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
skip: !imageIds || !imageIds.length
|
|
19
|
+
});
|
|
20
|
+
return {
|
|
21
|
+
data,
|
|
22
|
+
loading,
|
|
23
|
+
error
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export default useGetImages;
|
|
27
|
+
//# sourceMappingURL=use-get-images.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-get-images.js","names":["useQuery","generateWhereQuery","generateQueryString","useGetImages","imageIds","queryName","action","data","loading","error","variables","where","id","_in","skip","length"],"sources":["../../../src/GoogleMaps/hooks/use-get-images.js"],"sourcesContent":["import { useQuery } from '@apollo/client';\nimport { generateWhereQuery, generateQueryString } from '../queries';\n\nconst useGetImages = imageIds => {\n const queryName = 'getFiles';\n const action = generateWhereQuery(generateQueryString(queryName, queryName, 'id url data'));\n const {\n data = {},\n loading,\n error\n } = useQuery(action, {\n variables: { where: { id: { _in: imageIds } } },\n skip: !imageIds || !imageIds.length\n });\n return { data, loading, error };\n};\n\nexport default useGetImages;\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,kBAAkB,EAAEC,mBAAmB,QAAQ,YAAY;AAEpE,MAAMC,YAAY,GAAGC,QAAQ,IAAI;EAC/B,MAAMC,SAAS,GAAG,UAAU;EAC5B,MAAMC,MAAM,GAAGL,kBAAkB,CAACC,mBAAmB,CAACG,SAAS,EAAEA,SAAS,EAAE,aAAa,CAAC,CAAC;EAC3F,MAAM;IACJE,IAAI,GAAG,CAAC,CAAC;IACTC,OAAO;IACPC;EACF,CAAC,GAAGT,QAAQ,CAACM,MAAM,EAAE;IACnBI,SAAS,EAAE;MAAEC,KAAK,EAAE;QAAEC,EAAE,EAAE;UAAEC,GAAG,EAAET;QAAS;MAAE;IAAE,CAAC;IAC/CU,IAAI,EAAE,CAACV,QAAQ,IAAI,CAACA,QAAQ,CAACW;EAC/B,CAAC,CAAC;EACF,OAAO;IAAER,IAAI;IAAEC,OAAO;IAAEC;EAAM,CAAC;AACjC,CAAC;AAED,eAAeN,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["GoogleMapsFactory"],"sources":["../../src/GoogleMaps/index.js"],"sourcesContent":["import GoogleMapsFactory from './GoogleMapsFactory';\n\nexport default GoogleMapsFactory;\n"],"mappings":"AAAA,OAAOA,iBAAiB,MAAM,qBAAqB;AAEnD,eAAeA,iBAAiB","ignoreList":[]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { gql } from '@apollo/client';
|
|
2
|
+
const GET_ENTITY_SCHEMAS = gql`
|
|
3
|
+
query getEntitySchemas($identifier: String) {
|
|
4
|
+
getEntitySchemas(identifier: $identifier) {
|
|
5
|
+
id
|
|
6
|
+
identifier
|
|
7
|
+
actions
|
|
8
|
+
dynamicProperties
|
|
9
|
+
properties
|
|
10
|
+
relations
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
`;
|
|
14
|
+
const generateQuery = queryString => gql`
|
|
15
|
+
query getEntityData {
|
|
16
|
+
${queryString}
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
19
|
+
const generateWhereQuery = queryString => gql`
|
|
20
|
+
query getEntityData($where: JSON){
|
|
21
|
+
${queryString}
|
|
22
|
+
}
|
|
23
|
+
`;
|
|
24
|
+
const generateQueryString = (action, query, props) => `
|
|
25
|
+
${query}: ${action}(where: $where){
|
|
26
|
+
id
|
|
27
|
+
${props}
|
|
28
|
+
}
|
|
29
|
+
`;
|
|
30
|
+
const generateIdsQuery = (query, props, action, ids) => `
|
|
31
|
+
${query}: ${action}(where: { id: { _in: ${JSON.stringify(ids)} } }){
|
|
32
|
+
id
|
|
33
|
+
${props}
|
|
34
|
+
}
|
|
35
|
+
`;
|
|
36
|
+
const generateFiltersQuery = (query, props, rawQUery, filterQueryKey) => `
|
|
37
|
+
${query}: searchPublishedContent(rawQueryStringified: ${JSON.stringify(rawQUery)}){
|
|
38
|
+
results {
|
|
39
|
+
...on ${filterQueryKey} {
|
|
40
|
+
id
|
|
41
|
+
${props}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
`;
|
|
46
|
+
export { GET_ENTITY_SCHEMAS, generateQuery, generateQueryString, generateIdsQuery, generateFiltersQuery, generateWhereQuery };
|
|
47
|
+
//# sourceMappingURL=queries.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.js","names":["gql","GET_ENTITY_SCHEMAS","generateQuery","queryString","generateWhereQuery","generateQueryString","action","query","props","generateIdsQuery","ids","JSON","stringify","generateFiltersQuery","rawQUery","filterQueryKey"],"sources":["../../src/GoogleMaps/queries.js"],"sourcesContent":["import { gql } from '@apollo/client';\n\nconst GET_ENTITY_SCHEMAS = gql`\n query getEntitySchemas($identifier: String) {\n getEntitySchemas(identifier: $identifier) {\n id\n identifier\n actions\n dynamicProperties\n properties\n relations\n }\n }\n`;\n\nconst generateQuery = queryString => gql`\n query getEntityData {\n ${queryString}\n }\n`;\n\nconst generateWhereQuery = queryString => gql`\n query getEntityData($where: JSON){\n ${queryString}\n }\n`;\nconst generateQueryString = (action, query, props) => `\n ${query}: ${action}(where: $where){\n id\n ${props}\n }\n`;\n\nconst generateIdsQuery = (query, props, action, ids) => `\n ${query}: ${action}(where: { id: { _in: ${JSON.stringify(ids)} } }){\n id\n ${props}\n }\n`;\n\nconst generateFiltersQuery = (query, props, rawQUery, filterQueryKey) => `\n ${query}: searchPublishedContent(rawQueryStringified: ${JSON.stringify(rawQUery)}){\n results {\n ...on ${filterQueryKey} {\n id\n ${props}\n }\n }\n }\n`;\n\nexport {\n GET_ENTITY_SCHEMAS,\n generateQuery,\n generateQueryString,\n generateIdsQuery,\n generateFiltersQuery,\n generateWhereQuery\n};\n"],"mappings":"AAAA,SAASA,GAAG,QAAQ,gBAAgB;AAEpC,MAAMC,kBAAkB,GAAGD,GAAG;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AAED,MAAME,aAAa,GAAGC,WAAW,IAAIH,GAAG;AACxC;AACA,MAAMG,WAAW;AACjB;AACA,CAAC;AAED,MAAMC,kBAAkB,GAAGD,WAAW,IAAIH,GAAG;AAC7C;AACA,MAAMG,WAAW;AACjB;AACA,CAAC;AACD,MAAME,mBAAmB,GAAGA,CAACC,MAAM,EAAEC,KAAK,EAAEC,KAAK,KAAK;AACtD,IAAID,KAAK,KAAKD,MAAM;AACpB;AACA,MAAME,KAAK;AACX;AACA,CAAC;AAED,MAAMC,gBAAgB,GAAGA,CAACF,KAAK,EAAEC,KAAK,EAAEF,MAAM,EAAEI,GAAG,KAAK;AACxD,IAAIH,KAAK,KAAKD,MAAM,wBAAwBK,IAAI,CAACC,SAAS,CAACF,GAAG,CAAC;AAC/D;AACA,MAAMF,KAAK;AACX;AACA,CAAC;AAED,MAAMK,oBAAoB,GAAGA,CAACN,KAAK,EAAEC,KAAK,EAAEM,QAAQ,EAAEC,cAAc,KAAK;AACzE,IAAIR,KAAK,kDAAkDI,IAAI,CAACC,SAAS,CAACE,QAAQ,CAAC;AACnF;AACA,cAAcC,cAAc;AAC5B;AACA,UAAUP,KAAK;AACf;AACA;AACA;AACA,CAAC;AAED,SACEP,kBAAkB,EAClBC,aAAa,EACbG,mBAAmB,EACnBI,gBAAgB,EAChBI,oBAAoB,EACpBT,kBAAkB","ignoreList":[]}
|