react-native-maplibre-gl-js 1.18.4 → 1.20.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/lib/module/react-native/components/core/MapProvider/MapProvider.js +15 -3
- package/lib/module/react-native/components/core/MapProvider/MapProvider.js.map +1 -1
- package/lib/module/react-native/components/web-objects/Map/Map.types.js +38 -1
- package/lib/module/react-native/components/web-objects/Map/Map.types.js.map +1 -1
- package/lib/module/react-native/components/web-objects/Marker/Marker.types.js +39 -1
- package/lib/module/react-native/components/web-objects/Marker/Marker.types.js.map +1 -1
- package/lib/module/react-native/components/web-objects/Popup/Popup.types.js +39 -1
- package/lib/module/react-native/components/web-objects/Popup/Popup.types.js.map +1 -1
- package/lib/module/web/controllers/WebObjectsController.js +33 -10
- package/lib/module/web/controllers/WebObjectsController.js.map +1 -1
- package/lib/module/web/generated/webview_static_html.js +77 -20
- package/lib/module/web/generated/webview_static_html.js.map +1 -1
- package/lib/typescript/src/communication/messages.types.d.ts +7 -0
- package/lib/typescript/src/communication/messages.types.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.types.d.ts +4 -0
- package/lib/typescript/src/react-native/components/core/MapProvider/MapProvider.types.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components/web-objects/Map/Map.types.d.ts +18 -1
- package/lib/typescript/src/react-native/components/web-objects/Map/Map.types.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components/web-objects/Marker/Marker.types.d.ts +18 -4
- package/lib/typescript/src/react-native/components/web-objects/Marker/Marker.types.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components/web-objects/Popup/Popup.types.d.ts +18 -1
- package/lib/typescript/src/react-native/components/web-objects/Popup/Popup.types.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components-factories/web-objects/createWebObjectAsComponent.types.d.ts +3 -2
- package/lib/typescript/src/react-native/components-factories/web-objects/createWebObjectAsComponent.types.d.ts.map +1 -1
- package/lib/typescript/src/web/controllers/WebObjectsController.d.ts.map +1 -1
- package/lib/typescript/src/web/generated/webview_static_html.d.ts +1 -1
- package/lib/typescript/src/web/generated/webview_static_html.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -45,12 +45,13 @@ const MapProviderInner = ({
|
|
|
45
45
|
children,
|
|
46
46
|
cssStyles,
|
|
47
47
|
rnLoggerEnabled = false,
|
|
48
|
-
webLoggerEnabled =
|
|
48
|
+
webLoggerEnabled = false,
|
|
49
49
|
webMessageOptions = {
|
|
50
50
|
flushIntervalMs: 100,
|
|
51
51
|
keepOnlyLastMessagePerType: true
|
|
52
52
|
},
|
|
53
|
-
nativeScripts = []
|
|
53
|
+
nativeScripts = [],
|
|
54
|
+
onWebViewReset = () => {}
|
|
54
55
|
}) => {
|
|
55
56
|
// States.
|
|
56
57
|
// - Global.
|
|
@@ -97,8 +98,19 @@ const MapProviderInner = ({
|
|
|
97
98
|
// Trigger the reload everything (remount, etc. by changing the session
|
|
98
99
|
// key and resetting atoms) if the webview has crashed or was closed if
|
|
99
100
|
// app in background.
|
|
101
|
+
// - For iOS:
|
|
100
102
|
,
|
|
101
|
-
onContentProcessDidTerminate:
|
|
103
|
+
onContentProcessDidTerminate: () => {
|
|
104
|
+
reset();
|
|
105
|
+
onWebViewReset();
|
|
106
|
+
}
|
|
107
|
+
// - For Android:
|
|
108
|
+
,
|
|
109
|
+
onRenderProcessGone: () => {
|
|
110
|
+
reset();
|
|
111
|
+
onWebViewReset();
|
|
112
|
+
}
|
|
113
|
+
// - TODO add for web once supported?
|
|
102
114
|
}, 'map-provider-webview-session-' + webWorldSessionKey), children]
|
|
103
115
|
});
|
|
104
116
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","WebView","WEBVIEW_STATIC_HTML","useMapAtoms","useCssStylesInjectionScript","useEnableDisableRNLogger","useFlushMessagesOnMapMounted","useInjectJavaScriptIfAScriptChanged","useInjectJavaScriptIfScriptChanged","useMessageOptionsInjectionScript","useStyles","useWebLoggerEnabledInjectionScript","useWebMessageHandler","ScopeProvider","mapAtomsList","jsx","_jsx","jsxs","_jsxs","MapProvider","props","atoms","children","MapProviderInner","style","webViewStyle","cssStyles","rnLoggerEnabled","webLoggerEnabled","webMessageOptions","flushIntervalMs","keepOnlyLastMessagePerType","nativeScripts","setWebView","webWorldSessionKey","reset","styles","handler","cssStylesInjectionScript","webLoggerEnabledInjectionScript","messageOptionsInjectionScript","container","testID","ref","webView","scrollEnabled","javaScriptEnabled","domStorageEnabled","onMessage","source","html","injectedJavaScriptBeforeContentLoaded","join","onContentProcessDidTerminate"],"sourceRoot":"../../../../../../src","sources":["react-native/components/core/MapProvider/MapProvider.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,mBAAmB,QAAQ,kDAA+C;AACnF,OAAOC,WAAW,MAAM,qCAAkC;AAC1D,SACEC,2BAA2B,EAC3BC,wBAAwB,EACxBC,4BAA4B,EAC5BC,mCAAmC,EACnCC,kCAAkC,EAClCC,gCAAgC,EAChCC,SAAS,EACTC,kCAAkC,EAClCC,oBAAoB,QACf,wBAAqB;AAE5B,SAASC,aAAa,QAAQ,aAAa;AAC3C,SAASC,YAAY,QAAQ,kCAA+B;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAeA,MAAMC,WAAW,GAAIC,KAAuB,IAAK;EAC/C;EACA;EACA;EACA,oBACEJ,IAAA,CAACH,aAAa;IAACQ,KAAK,EAAEP,YAAa;IAAAQ,QAAA,eACjCN,IAAA,CAACO,gBAAgB;MAAA,GAAKH;IAAK,CAAG;EAAC,CAClB,CAAC;AAEpB,CAAC;;AAED;AACA;AACA;AACA,MAAMG,gBAAgB,GAAGA,CAAC;EACxBC,KAAK;EACLC,YAAY;EACZH,QAAQ;EACRI,SAAS;EACTC,eAAe,GAAG,KAAK;EACvBC,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"names":["View","WebView","WEBVIEW_STATIC_HTML","useMapAtoms","useCssStylesInjectionScript","useEnableDisableRNLogger","useFlushMessagesOnMapMounted","useInjectJavaScriptIfAScriptChanged","useInjectJavaScriptIfScriptChanged","useMessageOptionsInjectionScript","useStyles","useWebLoggerEnabledInjectionScript","useWebMessageHandler","ScopeProvider","mapAtomsList","jsx","_jsx","jsxs","_jsxs","MapProvider","props","atoms","children","MapProviderInner","style","webViewStyle","cssStyles","rnLoggerEnabled","webLoggerEnabled","webMessageOptions","flushIntervalMs","keepOnlyLastMessagePerType","nativeScripts","onWebViewReset","setWebView","webWorldSessionKey","reset","styles","handler","cssStylesInjectionScript","webLoggerEnabledInjectionScript","messageOptionsInjectionScript","container","testID","ref","webView","scrollEnabled","javaScriptEnabled","domStorageEnabled","onMessage","source","html","injectedJavaScriptBeforeContentLoaded","join","onContentProcessDidTerminate","onRenderProcessGone"],"sourceRoot":"../../../../../../src","sources":["react-native/components/core/MapProvider/MapProvider.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export
|
|
3
|
+
export const MAP_OPTIONS_THAT_ARE_WEB_FUNCTIONS = ['transformCameraUpdate', 'transformConstrain', 'transformRequest'];
|
|
4
|
+
export const MAP_OPTIONS_THAT_ARE_HTML_ELEMENTS = ['container'];
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Map component ref.
|
|
8
|
+
* @interface
|
|
9
|
+
* @group Types (web objects)
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Map component props.
|
|
14
|
+
* @group Types (web objects)
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @interface
|
|
19
|
+
* @group Map types
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @interface
|
|
24
|
+
* @group Map types
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @interface
|
|
29
|
+
* @group Map types
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @interface
|
|
34
|
+
* @group Map types
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @interface
|
|
39
|
+
* @group Map types
|
|
40
|
+
*/
|
|
4
41
|
//# sourceMappingURL=Map.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["react-native/components/web-objects/Map/Map.types.ts"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["MAP_OPTIONS_THAT_ARE_WEB_FUNCTIONS","MAP_OPTIONS_THAT_ARE_HTML_ELEMENTS"],"sourceRoot":"../../../../../../src","sources":["react-native/components/web-objects/Map/Map.types.ts"],"mappings":";;AA+BA,OAAO,MAAMA,kCAAkC,GAAG,CAChD,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,CACV;AAEV,OAAO,MAAMC,kCAAkC,GAAG,CAAC,WAAW,CAAU;;AAExE;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAaA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -1,4 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export
|
|
3
|
+
export const MARKER_OPTIONS_THAT_ARE_WEB_FUNCTIONS = [];
|
|
4
|
+
export const MARKER_OPTIONS_THAT_ARE_HTML_ELEMENTS = ['element'];
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Marker component ref.
|
|
8
|
+
* @interface
|
|
9
|
+
* @group Types (web objects)
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Marker component props.
|
|
14
|
+
* @interface
|
|
15
|
+
* @group Types (web objects)
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @interface
|
|
20
|
+
* @group Marker types
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @interface
|
|
25
|
+
* @group Marker types
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @interface
|
|
30
|
+
* @group Marker types
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @interface
|
|
35
|
+
* @group Marker types
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @interface
|
|
40
|
+
* @group Marker types
|
|
41
|
+
*/
|
|
4
42
|
//# sourceMappingURL=Marker.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["react-native/components/web-objects/Marker/Marker.types.ts"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["MARKER_OPTIONS_THAT_ARE_WEB_FUNCTIONS","MARKER_OPTIONS_THAT_ARE_HTML_ELEMENTS"],"sourceRoot":"../../../../../../src","sources":["react-native/components/web-objects/Marker/Marker.types.ts"],"mappings":";;AAoBA,OAAO,MAAMA,qCAAqC,GAAG,EAAW;AAEhE,OAAO,MAAMC,qCAAqC,GAAG,CAAC,SAAS,CAAU;;AAEzE;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAaA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -1,4 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export
|
|
3
|
+
export const POPUP_OPTIONS_THAT_ARE_WEB_FUNCTIONS = [];
|
|
4
|
+
export const POPUP_OPTIONS_THAT_ARE_HTML_ELEMENTS = [];
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Popup component ref.
|
|
8
|
+
* @interface
|
|
9
|
+
* @group Types (web objects)
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Popup component props.
|
|
14
|
+
* @interface
|
|
15
|
+
* @group Types (web objects)
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @interface
|
|
20
|
+
* @group Popup types
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @interface
|
|
25
|
+
* @group Popup types
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* @interface
|
|
30
|
+
* @group Popup types
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @interface
|
|
35
|
+
* @group Popup types
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @interface
|
|
40
|
+
* @group Popup types
|
|
41
|
+
*/
|
|
4
42
|
//# sourceMappingURL=Popup.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../../../../src","sources":["react-native/components/web-objects/Popup/Popup.types.ts"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["POPUP_OPTIONS_THAT_ARE_WEB_FUNCTIONS","POPUP_OPTIONS_THAT_ARE_HTML_ELEMENTS"],"sourceRoot":"../../../../../../src","sources":["react-native/components/web-objects/Popup/Popup.types.ts"],"mappings":";;AAkBA,OAAO,MAAMA,oCAAoC,GAAG,EAAW;AAE/D,OAAO,MAAMC,oCAAoC,GAAG,EAAW;;AAE/D;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;;AAWA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
import maplibregl from 'maplibre-gl';
|
|
4
4
|
import { isWebObjectListenerOnHTMLElement, isWebObjectListenerOnMapLayer, isWebObjectListenerOnObject } from "../../communication/messages.utils.js";
|
|
5
5
|
import { stableStringify } from "../../react-native/hooks/atoms/useMapAtoms.utils.js";
|
|
6
|
+
import { MAP_OPTIONS_THAT_ARE_HTML_ELEMENTS, MAP_OPTIONS_THAT_ARE_WEB_FUNCTIONS } from "../../react-native/components/web-objects/Map/Map.types.js";
|
|
7
|
+
import { MARKER_OPTIONS_THAT_ARE_HTML_ELEMENTS, MARKER_OPTIONS_THAT_ARE_WEB_FUNCTIONS } from "../../react-native/components/web-objects/Marker/Marker.types.js";
|
|
8
|
+
import { POPUP_OPTIONS_THAT_ARE_HTML_ELEMENTS, POPUP_OPTIONS_THAT_ARE_WEB_FUNCTIONS } from "../../react-native/components/web-objects/Popup/Popup.types.js";
|
|
6
9
|
|
|
7
10
|
/**
|
|
8
11
|
*
|
|
@@ -83,29 +86,25 @@ export default class WebObjectsController {
|
|
|
83
86
|
switch (objectType) {
|
|
84
87
|
case 'map':
|
|
85
88
|
{
|
|
89
|
+
options = this.#resolveDescriptorsInOptions(options, MAP_OPTIONS_THAT_ARE_WEB_FUNCTIONS, MAP_OPTIONS_THAT_ARE_HTML_ELEMENTS);
|
|
86
90
|
const htmlContainer = document.getElementById('app');
|
|
87
91
|
element = new maplibregl.Map({
|
|
88
92
|
...options,
|
|
89
|
-
container: htmlContainer
|
|
93
|
+
container: options.container ?? htmlContainer
|
|
90
94
|
});
|
|
91
95
|
this.#mapId = objectId;
|
|
92
96
|
break;
|
|
93
97
|
}
|
|
94
98
|
case 'marker':
|
|
95
99
|
{
|
|
96
|
-
|
|
97
|
-
element = new maplibregl.Marker(
|
|
98
|
-
...options,
|
|
99
|
-
element: htmlElement
|
|
100
|
-
}).setLngLat(options.coordinate ?? [0, 0]).addTo(this.map);
|
|
100
|
+
options = this.#resolveDescriptorsInOptions(options, MARKER_OPTIONS_THAT_ARE_WEB_FUNCTIONS, MARKER_OPTIONS_THAT_ARE_HTML_ELEMENTS);
|
|
101
|
+
element = new maplibregl.Marker(options).setLngLat(options.coordinate ?? [0, 0]).addTo(this.map);
|
|
101
102
|
break;
|
|
102
103
|
}
|
|
103
104
|
case 'popup':
|
|
104
105
|
{
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
});
|
|
108
|
-
//.addTo(this.map)
|
|
106
|
+
options = this.#resolveDescriptorsInOptions(options, POPUP_OPTIONS_THAT_ARE_WEB_FUNCTIONS, POPUP_OPTIONS_THAT_ARE_HTML_ELEMENTS);
|
|
107
|
+
element = new maplibregl.Popup(options);
|
|
109
108
|
break;
|
|
110
109
|
}
|
|
111
110
|
}
|
|
@@ -262,6 +261,30 @@ export default class WebObjectsController {
|
|
|
262
261
|
#runNormalMethod = async (message, object) => {
|
|
263
262
|
return await object[message.payload.method]?.(...message.payload.args);
|
|
264
263
|
};
|
|
264
|
+
#resolveDescriptorsInOptions = (options, optionsThatAreFunctions, optionsThatAreHTMLElements) => {
|
|
265
|
+
if (options === null || typeof options !== 'object') {
|
|
266
|
+
return options;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
// Flatten the array if needed.
|
|
270
|
+
if (Array.isArray(options)) {
|
|
271
|
+
return options.map(opt => this.#resolveDescriptorsInOptions(opt, optionsThatAreFunctions, optionsThatAreHTMLElements));
|
|
272
|
+
}
|
|
273
|
+
const resolved = {};
|
|
274
|
+
|
|
275
|
+
// Parse for the options that are known to be descriptors for this object
|
|
276
|
+
// type.
|
|
277
|
+
for (const key in options) {
|
|
278
|
+
if (optionsThatAreFunctions.includes(key)) {
|
|
279
|
+
resolved[key] = window[options[key]];
|
|
280
|
+
} else if (optionsThatAreHTMLElements.includes(key)) {
|
|
281
|
+
resolved[key] = this.#buildHTMLElement(options[key]);
|
|
282
|
+
} else {
|
|
283
|
+
resolved[key] = this.#resolveDescriptorsInOptions(options[key], optionsThatAreFunctions, optionsThatAreHTMLElements);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
return resolved;
|
|
287
|
+
};
|
|
265
288
|
#buildHTMLElement = descriptor => {
|
|
266
289
|
// From a descriptor, build the corresponding HTMLElement.
|
|
267
290
|
if (!descriptor) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["maplibregl","isWebObjectListenerOnHTMLElement","isWebObjectListenerOnMapLayer","isWebObjectListenerOnObject","stableStringify","WebObjectsController","objects","Map","objectsOptions","mapId","map","get","Error","addExistingObjectsToMap","reactNativeBridge","entries","forEach","id","object","addTo","postMessage","type","payload","objectId","eventName","handleMountMessage","message","element","addObject","objectType","options","setObjectListeners","listeners","set","handleUpdateMessage","updateObject","handleUnmountMessage","removeObject","delete","handleMethodCall","result","runIfSpecialMethod","runNormalMethod","JSON","stringify","error","requestId","#addObject","htmlContainer","document","getElementById","container","htmlElement","buildHTMLElement","Marker","setLngLat","coordinate","Popup","#updateObject","oldOptionsAsString","newOptionsAsString","#removeObject","remove","#setObjectListeners","Object","listener","sendEventToReactNative","event","target","on","layerId","getElement","addEventListener","stopPropagation","#runIfSpecialMethod","method","image","loadImage","args","addImage","data","at","parentId","parent","setEventedParent","popupId","popup","setPopup","#runNormalMethod","descriptor","undefined","createElement","tagName","className","attributes","name","value","setAttribute","style","assign","dataset","innerHTML"],"sourceRoot":"../../../../src","sources":["web/controllers/WebObjectsController.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["maplibregl","isWebObjectListenerOnHTMLElement","isWebObjectListenerOnMapLayer","isWebObjectListenerOnObject","stableStringify","MAP_OPTIONS_THAT_ARE_HTML_ELEMENTS","MAP_OPTIONS_THAT_ARE_WEB_FUNCTIONS","MARKER_OPTIONS_THAT_ARE_HTML_ELEMENTS","MARKER_OPTIONS_THAT_ARE_WEB_FUNCTIONS","POPUP_OPTIONS_THAT_ARE_HTML_ELEMENTS","POPUP_OPTIONS_THAT_ARE_WEB_FUNCTIONS","WebObjectsController","objects","Map","objectsOptions","mapId","map","get","Error","addExistingObjectsToMap","reactNativeBridge","entries","forEach","id","object","addTo","postMessage","type","payload","objectId","eventName","handleMountMessage","message","element","addObject","objectType","options","setObjectListeners","listeners","set","handleUpdateMessage","updateObject","handleUnmountMessage","removeObject","delete","handleMethodCall","result","runIfSpecialMethod","runNormalMethod","JSON","stringify","error","requestId","#addObject","resolveDescriptorsInOptions","htmlContainer","document","getElementById","container","Marker","setLngLat","coordinate","Popup","#updateObject","oldOptionsAsString","newOptionsAsString","#removeObject","remove","#setObjectListeners","Object","listener","sendEventToReactNative","event","target","on","layerId","getElement","addEventListener","stopPropagation","#runIfSpecialMethod","method","image","loadImage","args","addImage","data","at","parentId","parent","setEventedParent","popupId","popup","setPopup","#runNormalMethod","#resolveDescriptorsInOptions","optionsThatAreFunctions","optionsThatAreHTMLElements","Array","isArray","opt","resolved","key","includes","window","buildHTMLElement","descriptor","undefined","createElement","tagName","className","attributes","name","value","setAttribute","style","assign","dataset","innerHTML"],"sourceRoot":"../../../../src","sources":["web/controllers/WebObjectsController.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -23289,7 +23289,7 @@ uniform mat4 u_projection_matrix;
|
|
|
23289
23289
|
var web_logger_default = WebLogger;
|
|
23290
23290
|
|
|
23291
23291
|
// src/web/controllers/WebObjectsController.ts
|
|
23292
|
-
var
|
|
23292
|
+
var import_maplibre_gl4 = __toESM(require_maplibre_gl());
|
|
23293
23293
|
|
|
23294
23294
|
// src/communication/messages.utils.ts
|
|
23295
23295
|
var isWebObjectListenerOnObject = (listener) => {
|
|
@@ -23334,6 +23334,25 @@ uniform mat4 u_projection_matrix;
|
|
|
23334
23334
|
return JSON.stringify(sortKeys(message), replacer);
|
|
23335
23335
|
};
|
|
23336
23336
|
|
|
23337
|
+
// src/react-native/components/web-objects/Map/Map.types.ts
|
|
23338
|
+
var import_maplibre_gl = __toESM(require_maplibre_gl());
|
|
23339
|
+
var MAP_OPTIONS_THAT_ARE_WEB_FUNCTIONS = [
|
|
23340
|
+
"transformCameraUpdate",
|
|
23341
|
+
"transformConstrain",
|
|
23342
|
+
"transformRequest"
|
|
23343
|
+
];
|
|
23344
|
+
var MAP_OPTIONS_THAT_ARE_HTML_ELEMENTS = ["container"];
|
|
23345
|
+
|
|
23346
|
+
// src/react-native/components/web-objects/Marker/Marker.types.ts
|
|
23347
|
+
var import_maplibre_gl2 = __toESM(require_maplibre_gl());
|
|
23348
|
+
var MARKER_OPTIONS_THAT_ARE_WEB_FUNCTIONS = [];
|
|
23349
|
+
var MARKER_OPTIONS_THAT_ARE_HTML_ELEMENTS = ["element"];
|
|
23350
|
+
|
|
23351
|
+
// src/react-native/components/web-objects/Popup/Popup.types.ts
|
|
23352
|
+
var import_maplibre_gl3 = __toESM(require_maplibre_gl());
|
|
23353
|
+
var POPUP_OPTIONS_THAT_ARE_WEB_FUNCTIONS = [];
|
|
23354
|
+
var POPUP_OPTIONS_THAT_ARE_HTML_ELEMENTS = [];
|
|
23355
|
+
|
|
23337
23356
|
// src/web/controllers/WebObjectsController.ts
|
|
23338
23357
|
var WebObjectsController = class {
|
|
23339
23358
|
#objects = /* @__PURE__ */ new Map();
|
|
@@ -23353,7 +23372,7 @@ uniform mat4 u_projection_matrix;
|
|
|
23353
23372
|
*/
|
|
23354
23373
|
addExistingObjectsToMap = (reactNativeBridge, map) => {
|
|
23355
23374
|
this.#objects.entries().forEach(([id, object]) => {
|
|
23356
|
-
if (!(object instanceof
|
|
23375
|
+
if (!(object instanceof import_maplibre_gl4.default.Map)) {
|
|
23357
23376
|
object.addTo(map);
|
|
23358
23377
|
reactNativeBridge.postMessage({
|
|
23359
23378
|
type: "webObjectListenerEvent",
|
|
@@ -23425,26 +23444,35 @@ uniform mat4 u_projection_matrix;
|
|
|
23425
23444
|
let element;
|
|
23426
23445
|
switch (objectType) {
|
|
23427
23446
|
case "map": {
|
|
23447
|
+
options = this.#resolveDescriptorsInOptions(
|
|
23448
|
+
options,
|
|
23449
|
+
MAP_OPTIONS_THAT_ARE_WEB_FUNCTIONS,
|
|
23450
|
+
MAP_OPTIONS_THAT_ARE_HTML_ELEMENTS
|
|
23451
|
+
);
|
|
23428
23452
|
const htmlContainer = document.getElementById("app");
|
|
23429
|
-
element = new
|
|
23453
|
+
element = new import_maplibre_gl4.default.Map({
|
|
23430
23454
|
...options,
|
|
23431
|
-
container: htmlContainer
|
|
23455
|
+
container: options.container ?? htmlContainer
|
|
23432
23456
|
});
|
|
23433
23457
|
this.#mapId = objectId;
|
|
23434
23458
|
break;
|
|
23435
23459
|
}
|
|
23436
23460
|
case "marker": {
|
|
23437
|
-
|
|
23438
|
-
|
|
23439
|
-
|
|
23440
|
-
|
|
23441
|
-
|
|
23461
|
+
options = this.#resolveDescriptorsInOptions(
|
|
23462
|
+
options,
|
|
23463
|
+
MARKER_OPTIONS_THAT_ARE_WEB_FUNCTIONS,
|
|
23464
|
+
MARKER_OPTIONS_THAT_ARE_HTML_ELEMENTS
|
|
23465
|
+
);
|
|
23466
|
+
element = new import_maplibre_gl4.default.Marker(options).setLngLat(options.coordinate ?? [0, 0]).addTo(this.map);
|
|
23442
23467
|
break;
|
|
23443
23468
|
}
|
|
23444
23469
|
case "popup": {
|
|
23445
|
-
|
|
23446
|
-
|
|
23447
|
-
|
|
23470
|
+
options = this.#resolveDescriptorsInOptions(
|
|
23471
|
+
options,
|
|
23472
|
+
POPUP_OPTIONS_THAT_ARE_WEB_FUNCTIONS,
|
|
23473
|
+
POPUP_OPTIONS_THAT_ARE_HTML_ELEMENTS
|
|
23474
|
+
);
|
|
23475
|
+
element = new import_maplibre_gl4.default.Popup(options);
|
|
23448
23476
|
break;
|
|
23449
23477
|
}
|
|
23450
23478
|
}
|
|
@@ -23516,7 +23544,7 @@ uniform mat4 u_projection_matrix;
|
|
|
23516
23544
|
object.on(eventName, sendEventToReactNative);
|
|
23517
23545
|
}
|
|
23518
23546
|
if (isWebObjectListenerOnMapLayer(listener)) {
|
|
23519
|
-
if (object instanceof
|
|
23547
|
+
if (object instanceof import_maplibre_gl4.default.Map) {
|
|
23520
23548
|
object.on(
|
|
23521
23549
|
eventName,
|
|
23522
23550
|
listener.layerId,
|
|
@@ -23525,7 +23553,7 @@ uniform mat4 u_projection_matrix;
|
|
|
23525
23553
|
}
|
|
23526
23554
|
}
|
|
23527
23555
|
if (isWebObjectListenerOnHTMLElement(listener)) {
|
|
23528
|
-
if (!(object instanceof
|
|
23556
|
+
if (!(object instanceof import_maplibre_gl4.default.Map)) {
|
|
23529
23557
|
object.getElement().addEventListener(eventName, (event) => {
|
|
23530
23558
|
sendEventToReactNative(event);
|
|
23531
23559
|
event.stopPropagation();
|
|
@@ -23535,7 +23563,7 @@ uniform mat4 u_projection_matrix;
|
|
|
23535
23563
|
});
|
|
23536
23564
|
};
|
|
23537
23565
|
#runIfSpecialMethod = async (message, object) => {
|
|
23538
|
-
if (object instanceof
|
|
23566
|
+
if (object instanceof import_maplibre_gl4.default.Map) {
|
|
23539
23567
|
switch (message.payload.method) {
|
|
23540
23568
|
case "addImage": {
|
|
23541
23569
|
const image = await object.loadImage(message.payload.args[1]);
|
|
@@ -23548,7 +23576,7 @@ uniform mat4 u_projection_matrix;
|
|
|
23548
23576
|
}
|
|
23549
23577
|
}
|
|
23550
23578
|
}
|
|
23551
|
-
if (object instanceof
|
|
23579
|
+
if (object instanceof import_maplibre_gl4.default.Marker) {
|
|
23552
23580
|
switch (message.payload.method) {
|
|
23553
23581
|
case "addTo": {
|
|
23554
23582
|
object.addTo(this.map);
|
|
@@ -23565,14 +23593,14 @@ uniform mat4 u_projection_matrix;
|
|
|
23565
23593
|
case "setPopup": {
|
|
23566
23594
|
const popupId = message.payload.args[0];
|
|
23567
23595
|
const popup = this.#objects.get(popupId) ?? null;
|
|
23568
|
-
if (popup && popup instanceof
|
|
23596
|
+
if (popup && popup instanceof import_maplibre_gl4.default.Popup) {
|
|
23569
23597
|
object.setPopup(popup);
|
|
23570
23598
|
}
|
|
23571
23599
|
return true;
|
|
23572
23600
|
}
|
|
23573
23601
|
}
|
|
23574
23602
|
}
|
|
23575
|
-
if (object instanceof
|
|
23603
|
+
if (object instanceof import_maplibre_gl4.default.Popup) {
|
|
23576
23604
|
switch (message.payload.method) {
|
|
23577
23605
|
case "addTo": {
|
|
23578
23606
|
object.addTo(this.map);
|
|
@@ -23595,6 +23623,35 @@ uniform mat4 u_projection_matrix;
|
|
|
23595
23623
|
...message.payload.args
|
|
23596
23624
|
);
|
|
23597
23625
|
};
|
|
23626
|
+
#resolveDescriptorsInOptions = (options, optionsThatAreFunctions, optionsThatAreHTMLElements) => {
|
|
23627
|
+
if (options === null || typeof options !== "object") {
|
|
23628
|
+
return options;
|
|
23629
|
+
}
|
|
23630
|
+
if (Array.isArray(options)) {
|
|
23631
|
+
return options.map(
|
|
23632
|
+
(opt) => this.#resolveDescriptorsInOptions(
|
|
23633
|
+
opt,
|
|
23634
|
+
optionsThatAreFunctions,
|
|
23635
|
+
optionsThatAreHTMLElements
|
|
23636
|
+
)
|
|
23637
|
+
);
|
|
23638
|
+
}
|
|
23639
|
+
const resolved = {};
|
|
23640
|
+
for (const key in options) {
|
|
23641
|
+
if (optionsThatAreFunctions.includes(key)) {
|
|
23642
|
+
resolved[key] = window[options[key]];
|
|
23643
|
+
} else if (optionsThatAreHTMLElements.includes(key)) {
|
|
23644
|
+
resolved[key] = this.#buildHTMLElement(options[key]);
|
|
23645
|
+
} else {
|
|
23646
|
+
resolved[key] = this.#resolveDescriptorsInOptions(
|
|
23647
|
+
options[key],
|
|
23648
|
+
optionsThatAreFunctions,
|
|
23649
|
+
optionsThatAreHTMLElements
|
|
23650
|
+
);
|
|
23651
|
+
}
|
|
23652
|
+
}
|
|
23653
|
+
return resolved;
|
|
23654
|
+
};
|
|
23598
23655
|
#buildHTMLElement = (descriptor) => {
|
|
23599
23656
|
if (!descriptor) {
|
|
23600
23657
|
return void 0;
|
|
@@ -23623,7 +23680,7 @@ uniform mat4 u_projection_matrix;
|
|
|
23623
23680
|
};
|
|
23624
23681
|
|
|
23625
23682
|
// src/web/controllers/MapSourcesController.ts
|
|
23626
|
-
var
|
|
23683
|
+
var import_maplibre_gl5 = __toESM(require_maplibre_gl());
|
|
23627
23684
|
var MapSourcesController = class {
|
|
23628
23685
|
#sources = /* @__PURE__ */ new Map();
|
|
23629
23686
|
/**
|
|
@@ -23826,7 +23883,7 @@ uniform mat4 u_projection_matrix;
|
|
|
23826
23883
|
};
|
|
23827
23884
|
|
|
23828
23885
|
// src/web/controllers/CoreController.ts
|
|
23829
|
-
var
|
|
23886
|
+
var import_maplibre_gl6 = __toESM(require_maplibre_gl());
|
|
23830
23887
|
var CoreController = class {
|
|
23831
23888
|
#webObjectsController;
|
|
23832
23889
|
#mapSourcesController;
|