@blaze-cms/plugin-google-maps-fe 0.146.0-rc-eagle.0 → 0.146.0-rc-eagle-3.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 +5 -1
- package/lib/GoogleMaps/GoogleMaps.js +2 -1
- package/lib/GoogleMaps/GoogleMaps.js.map +1 -1
- package/lib/GoogleMaps/helpers/set-shapes.js +2 -1
- package/lib/GoogleMaps/helpers/set-shapes.js.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- 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/babel.config.js +0 -3
- package/jest.config.js +0 -3
|
@@ -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":[]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
const PLUGIN_NAME = 'google-maps-fe';
|
|
2
|
+
const GOOGLE_MAPS_SCRIPT = 'https://maps.googleapis.com/maps/api/js?key=';
|
|
3
|
+
const COOPERATIVE = 'cooperative';
|
|
4
|
+
const NONE = 'none';
|
|
5
|
+
const LOAD = 'load';
|
|
6
|
+
const SCRIPT = 'script';
|
|
7
|
+
const ROADMAP = 'roadmap';
|
|
8
|
+
const SATELLITE = 'satellite';
|
|
9
|
+
const TERRAIN = 'terrain';
|
|
10
|
+
const MARKER = 'marker';
|
|
11
|
+
const POLYLINE = 'polyline';
|
|
12
|
+
const POLYGON = 'polygon';
|
|
13
|
+
const RECTANGLE = 'rectangle';
|
|
14
|
+
const CIRCLE = 'circle';
|
|
15
|
+
const DEFAULT_COLOR = '#FF0000';
|
|
16
|
+
const DEFAULT_OPTIONS = {
|
|
17
|
+
strokeOpacity: 1.0,
|
|
18
|
+
strokeWeight: 2
|
|
19
|
+
};
|
|
20
|
+
const FILL_OPTIONS = {
|
|
21
|
+
fillOpacity: 0.35
|
|
22
|
+
};
|
|
23
|
+
const DISABLE_LABELS_STYLES = [{
|
|
24
|
+
elementType: 'labels',
|
|
25
|
+
stylers: [{
|
|
26
|
+
visibility: 'off'
|
|
27
|
+
}]
|
|
28
|
+
}];
|
|
29
|
+
const DISABLE_BOUNDARIES_STYLES = [{
|
|
30
|
+
featureType: 'administrative',
|
|
31
|
+
elementType: 'geometry',
|
|
32
|
+
stylers: [{
|
|
33
|
+
visibility: 'off'
|
|
34
|
+
}]
|
|
35
|
+
}, {
|
|
36
|
+
featureType: 'administrative.land_parcel',
|
|
37
|
+
stylers: [{
|
|
38
|
+
visibility: 'off'
|
|
39
|
+
}]
|
|
40
|
+
}, {
|
|
41
|
+
featureType: 'administrative.neighborhood',
|
|
42
|
+
stylers: [{
|
|
43
|
+
visibility: 'off'
|
|
44
|
+
}]
|
|
45
|
+
}];
|
|
46
|
+
const DISABLE_POI_STYLES = [{
|
|
47
|
+
featureType: 'poi',
|
|
48
|
+
stylers: [{
|
|
49
|
+
visibility: 'off'
|
|
50
|
+
}]
|
|
51
|
+
}];
|
|
52
|
+
const DISABLE_TRANSPORTATION_STYLES = [{
|
|
53
|
+
featureType: 'road',
|
|
54
|
+
stylers: [{
|
|
55
|
+
visibility: 'off'
|
|
56
|
+
}]
|
|
57
|
+
}, {
|
|
58
|
+
featureType: 'road',
|
|
59
|
+
elementType: 'labels.icon',
|
|
60
|
+
stylers: [{
|
|
61
|
+
visibility: 'off'
|
|
62
|
+
}]
|
|
63
|
+
}, {
|
|
64
|
+
featureType: 'transit',
|
|
65
|
+
stylers: [{
|
|
66
|
+
visibility: 'off'
|
|
67
|
+
}]
|
|
68
|
+
}];
|
|
69
|
+
const ZOOM_CHANGED = 'zoom_changed';
|
|
70
|
+
const COLOR = 'Color';
|
|
71
|
+
const IMAGE_ID = 'imageId';
|
|
72
|
+
const URL = 'url';
|
|
73
|
+
const ID = 'id';
|
|
74
|
+
const CLICK = 'click';
|
|
75
|
+
const ELEMENT_GEOMETRY = 'geometry.fill';
|
|
76
|
+
const FEATURE_TYPE_MAP = {
|
|
77
|
+
waterColor: 'water',
|
|
78
|
+
landscapeColor: 'landscape'
|
|
79
|
+
};
|
|
80
|
+
const ALL = 'all';
|
|
81
|
+
const HEADING_LARGE = 'heading_large';
|
|
82
|
+
const LIST = 'list';
|
|
83
|
+
const IN_VIEW_CONFIG = {
|
|
84
|
+
once: true,
|
|
85
|
+
offset: '200px'
|
|
86
|
+
};
|
|
87
|
+
const DEFAULT_SELECT_VALUE = 'Default';
|
|
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 };
|
|
90
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +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","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":"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","ignoreList":[]}
|
package/lib-es/index.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import dynamic from 'next/dynamic';
|
|
2
|
+
import pkg from '../package.json';
|
|
3
|
+
import { PLUGIN_NAME } from './constants';
|
|
4
|
+
export default async function load(app) {
|
|
5
|
+
app.events.once('load:custom:page-builder:component', addComponent => {
|
|
6
|
+
addComponent({
|
|
7
|
+
key: 'googlemaps',
|
|
8
|
+
component: dynamic(() => import(/* webpackChunkName: "blazePbGoogleMaps" */'./GoogleMaps'))
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
return {
|
|
12
|
+
name: PLUGIN_NAME,
|
|
13
|
+
version: pkg.version
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
load.pluginName = PLUGIN_NAME;
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["dynamic","pkg","PLUGIN_NAME","load","app","events","once","addComponent","key","component","name","version","pluginName"],"sources":["../src/index.js"],"sourcesContent":["import dynamic from 'next/dynamic';\nimport pkg from '../package.json';\nimport { PLUGIN_NAME } from './constants';\n\nexport default async function load(app) {\n app.events.once('load:custom:page-builder:component', addComponent => {\n addComponent({\n key: 'googlemaps',\n component: dynamic(() => import(/* webpackChunkName: \"blazePbGoogleMaps\" */ './GoogleMaps'))\n });\n });\n\n return {\n name: PLUGIN_NAME,\n version: pkg.version\n };\n}\n\nload.pluginName = PLUGIN_NAME;\n"],"mappings":"AAAA,OAAOA,OAAO,MAAM,cAAc;AAClC,OAAOC,GAAG,MAAM,iBAAiB;AACjC,SAASC,WAAW,QAAQ,aAAa;AAEzC,eAAe,eAAeC,IAAIA,CAACC,GAAG,EAAE;EACtCA,GAAG,CAACC,MAAM,CAACC,IAAI,CAAC,oCAAoC,EAAEC,YAAY,IAAI;IACpEA,YAAY,CAAC;MACXC,GAAG,EAAE,YAAY;MACjBC,SAAS,EAAET,OAAO,CAAC,MAAM,MAAM,CAAC,2CAA4C,cAAc,CAAC;IAC7F,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,OAAO;IACLU,IAAI,EAAER,WAAW;IACjBS,OAAO,EAAEV,GAAG,CAACU;EACf,CAAC;AACH;AAEAR,IAAI,CAACS,UAAU,GAAGV,WAAW","ignoreList":[]}
|