react-native-maplibre-gl-js 1.2.0 → 1.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/README.md +6 -4
- package/lib/module/react-native/components/MapProvider/MapProvider.hooks.js +1 -1
- package/lib/module/react-native/components/MapProvider/MapProvider.hooks.js.map +1 -1
- package/lib/module/react-native/components-factory/createWebObjectAsComponent.js +8 -2
- package/lib/module/react-native/components-factory/createWebObjectAsComponent.js.map +1 -1
- package/lib/module/react-native/components-factory/hooks/useWebObjectMountOnLaunch.js +10 -56
- package/lib/module/react-native/components-factory/hooks/useWebObjectMountOnLaunch.js.map +1 -1
- package/lib/module/react-native/components-factory/hooks/useWebObjectMountUnmountCallbacks.js +86 -0
- package/lib/module/react-native/components-factory/hooks/useWebObjectMountUnmountCallbacks.js.map +1 -0
- package/lib/module/react-native/components-factory/hooks/useWebObjectMountUnmountCallbacks.types.js +2 -0
- package/lib/module/react-native/components-factory/hooks/useWebObjectMountUnmountCallbacks.types.js.map +1 -0
- package/lib/module/react-native/components-factory/hooks/useWebObjectPropertiesUpdater.js +27 -6
- package/lib/module/react-native/components-factory/hooks/useWebObjectPropertiesUpdater.js.map +1 -1
- package/lib/module/react-native/hooks/atoms/useMapAtoms.utils.js +17 -3
- package/lib/module/react-native/hooks/atoms/useMapAtoms.utils.js.map +1 -1
- package/lib/module/react-native/logger/rn-logger.js +1 -1
- package/lib/module/react-native/logger/rn-logger.js.map +1 -1
- package/lib/module/web/generated/webview_static_html.js +5 -2
- package/lib/module/web/generated/webview_static_html.js.map +1 -1
- package/lib/module/web/maplibre-gl-js/MapController.js +7 -0
- package/lib/module/web/maplibre-gl-js/MapController.js.map +1 -1
- package/lib/typescript/src/react-native/components-factory/createWebObjectAsComponent.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components-factory/hooks/useWebObjectMountOnLaunch.d.ts +6 -4
- package/lib/typescript/src/react-native/components-factory/hooks/useWebObjectMountOnLaunch.d.ts.map +1 -1
- package/lib/typescript/src/react-native/components-factory/hooks/useWebObjectMountUnmountCallbacks.d.ts +19 -0
- package/lib/typescript/src/react-native/components-factory/hooks/useWebObjectMountUnmountCallbacks.d.ts.map +1 -0
- package/lib/typescript/src/react-native/components-factory/hooks/useWebObjectMountUnmountCallbacks.types.d.ts +8 -0
- package/lib/typescript/src/react-native/components-factory/hooks/useWebObjectMountUnmountCallbacks.types.d.ts.map +1 -0
- package/lib/typescript/src/react-native/components-factory/hooks/useWebObjectPropertiesUpdater.d.ts +10 -1
- package/lib/typescript/src/react-native/components-factory/hooks/useWebObjectPropertiesUpdater.d.ts.map +1 -1
- package/lib/typescript/src/react-native/hooks/atoms/useMapAtoms.utils.d.ts +2 -1
- package/lib/typescript/src/react-native/hooks/atoms/useMapAtoms.utils.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/lib/typescript/src/web/maplibre-gl-js/MapController.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -108,14 +108,16 @@ Several real-world usage scenarios are available, you can explore them in two wa
|
|
|
108
108
|
- [`1.2. Create a camera animation`](./example/src/app/1.-Map/1.2.-Create-a-camera-animation.tsx)
|
|
109
109
|
- [`1.3. Use the globe projection`](./example/src/app/1.-Map/1.3.-Use-the-globe-projection.tsx)
|
|
110
110
|
- [`1.4. Add a raster tile source directly on map`](./example/src/app/1.-Map/1.4.-Add-a-raster-tile-source-directly-on-map.tsx)
|
|
111
|
+
- [`1.5. Use global css styles`](./example/src/app/1.-Map/1.5.-Use-global-css-styles.tsx)
|
|
111
112
|
|
|
112
113
|
### 2. Marker
|
|
113
114
|
|
|
114
115
|
- [`2.1. Component basis`](./example/src/app/2.-Marker/2.1.-Component-basis.tsx)
|
|
115
|
-
- [`2.2. Animate the coordinate`](./example/src/app/2.-Marker/2.2.-Animate-the-coordinate.tsx)
|
|
116
|
-
- [`2.3.
|
|
117
|
-
- [`2.4. Use an
|
|
118
|
-
- [`2.5.
|
|
116
|
+
- [`2.2. Animate the coordinate with reanimated`](./example/src/app/2.-Marker/2.2.-Animate-the-coordinate-with-reanimated.tsx)
|
|
117
|
+
- [`2.3. Animate on click with css`](./example/src/app/2.-Marker/2.3.-Animate-on-click-with-css.tsx)
|
|
118
|
+
- [`2.4. Use an detached popup`](./example/src/app/2.-Marker/2.4.-Use-an-detached-popup.tsx)
|
|
119
|
+
- [`2.5. Use an attached popup`](./example/src/app/2.-Marker/2.5.-Use-an-attached-popup.tsx)
|
|
120
|
+
- [`2.6. Propagates the events to a parent component`](./example/src/app/2.-Marker/2.6.-Propagates-the-events-to-a-parent-component.tsx)
|
|
119
121
|
|
|
120
122
|
### 3. Popup
|
|
121
123
|
|
|
@@ -147,7 +147,7 @@ export const useCssInjectionScript = injectedCss => {
|
|
|
147
147
|
*/
|
|
148
148
|
export const useInjectJavaScriptIfInjectedCssChanged = cssInjectionScript => {
|
|
149
149
|
// Refs.
|
|
150
|
-
const lastInjectedScriptRef = useRef(
|
|
150
|
+
const lastInjectedScriptRef = useRef(null);
|
|
151
151
|
// States.
|
|
152
152
|
// - Global.
|
|
153
153
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","useCallback","useEffect","useMemo","useRef","RNLogger","isWebObjectListenerOnHTMLElement","isWebObjectListenerOnMapLayer","isWebObjectListenerOnObject","isWebObjectListenerOnRN","useMapAtoms","buildCssInjectionScript","normalizeCss","useStyles","create","container","width","height","overflow","webView","flex","backgroundColor","useFlushMessagesOnMapMounted","isMapMountMessageReady","flushMessages","useWebMessageHandler","setIsWebWorldReady","getWebObjectListeners","resolveWebObjectPendingMethodResponse","createWebViewMessageHandler","handlers","handleMessage","event","debug","name","nativeEvent","data","message","JSON","parse","handler","type","error","console","payload","args","level","slice","ready","webObjectListenerEvent","eventName","objectId","listener","rnListener","objectListener","layerListener","elementListener","webObjectMethodResponse","requestId","result","useCssInjectionScript","injectedCss","cssInjectionScript","normalizedCss","undefined","useInjectJavaScriptIfInjectedCssChanged","lastInjectedScriptRef","isWebWorldReady","current","injectJavaScript"],"sourceRoot":"../../../../../src","sources":["react-native/components/MapProvider/MapProvider.hooks.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["StyleSheet","useCallback","useEffect","useMemo","useRef","RNLogger","isWebObjectListenerOnHTMLElement","isWebObjectListenerOnMapLayer","isWebObjectListenerOnObject","isWebObjectListenerOnRN","useMapAtoms","buildCssInjectionScript","normalizeCss","useStyles","create","container","width","height","overflow","webView","flex","backgroundColor","useFlushMessagesOnMapMounted","isMapMountMessageReady","flushMessages","useWebMessageHandler","setIsWebWorldReady","getWebObjectListeners","resolveWebObjectPendingMethodResponse","createWebViewMessageHandler","handlers","handleMessage","event","debug","name","nativeEvent","data","message","JSON","parse","handler","type","error","console","payload","args","level","slice","ready","webObjectListenerEvent","eventName","objectId","listener","rnListener","objectListener","layerListener","elementListener","webObjectMethodResponse","requestId","result","useCssInjectionScript","injectedCss","cssInjectionScript","normalizedCss","undefined","useInjectJavaScriptIfInjectedCssChanged","lastInjectedScriptRef","isWebWorldReady","current","injectJavaScript"],"sourceRoot":"../../../../../src","sources":["react-native/components/MapProvider/MapProvider.hooks.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,16 +4,22 @@ import { forwardRef, useId } from 'react';
|
|
|
4
4
|
import useWebObjectMountOnLaunch from "./hooks/useWebObjectMountOnLaunch.js";
|
|
5
5
|
import useWebObjectMethodsProxy from "./hooks/useWebObjectMethodsProxy.js";
|
|
6
6
|
import useWebObjectPropertiesUpdater from "./hooks/useWebObjectPropertiesUpdater.js";
|
|
7
|
+
import useWebObjectMountUnmountCallbacks from "./hooks/useWebObjectMountUnmountCallbacks.js";
|
|
7
8
|
const createWebObjectAsComponent = objectType => {
|
|
8
9
|
return /*#__PURE__*/forwardRef((props, ref) => {
|
|
9
10
|
// UID of the web object.
|
|
10
11
|
const id = useId();
|
|
12
|
+
// Callbacks to mount and unmount the web object.
|
|
13
|
+
const {
|
|
14
|
+
mount,
|
|
15
|
+
unmount
|
|
16
|
+
} = useWebObjectMountUnmountCallbacks(props, id, objectType);
|
|
11
17
|
// Mount the web object on launch.
|
|
12
|
-
useWebObjectMountOnLaunch(props, id,
|
|
18
|
+
useWebObjectMountOnLaunch(props, id, mount, unmount);
|
|
13
19
|
// Forward a method call on the RN object to the web object.
|
|
14
20
|
useWebObjectMethodsProxy(ref, id);
|
|
15
21
|
// Update the web object properties when they changed in the component body.
|
|
16
|
-
useWebObjectPropertiesUpdater(props,
|
|
22
|
+
useWebObjectPropertiesUpdater(props, mount, unmount);
|
|
17
23
|
return null;
|
|
18
24
|
});
|
|
19
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useId","useWebObjectMountOnLaunch","useWebObjectMethodsProxy","useWebObjectPropertiesUpdater","createWebObjectAsComponent","objectType","props","ref","id"],"sourceRoot":"../../../../src","sources":["react-native/components-factory/createWebObjectAsComponent.ts"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,KAAK,QAAQ,OAAO;AAOzC,OAAOC,yBAAyB,MAAM,sCAAmC;AACzE,OAAOC,wBAAwB,MAAM,qCAAkC;AACvE,OAAOC,6BAA6B,MAAM,0CAAuC;
|
|
1
|
+
{"version":3,"names":["forwardRef","useId","useWebObjectMountOnLaunch","useWebObjectMethodsProxy","useWebObjectPropertiesUpdater","useWebObjectMountUnmountCallbacks","createWebObjectAsComponent","objectType","props","ref","id","mount","unmount"],"sourceRoot":"../../../../src","sources":["react-native/components-factory/createWebObjectAsComponent.ts"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,KAAK,QAAQ,OAAO;AAOzC,OAAOC,yBAAyB,MAAM,sCAAmC;AACzE,OAAOC,wBAAwB,MAAM,qCAAkC;AACvE,OAAOC,6BAA6B,MAAM,0CAAuC;AACjF,OAAOC,iCAAiC,MAAM,8CAA2C;AAEzF,MAAMC,0BAA0B,GAI9BC,UAAyB,IACU;EACnC,oBAAOP,UAAU,CAAa,CAACQ,KAAK,EAAEC,GAAG,KAAK;IAC5C;IACA,MAAMC,EAAE,GAAGT,KAAK,CAAC,CAAC;IAClB;IACA,MAAM;MAAEU,KAAK;MAAEC;IAAQ,CAAC,GAAGP,iCAAiC,CAC1DG,KAAK,EACLE,EAAE,EACFH,UACF,CAAC;IACD;IACAL,yBAAyB,CAAQM,KAAK,EAAEE,EAAE,EAAEC,KAAK,EAAEC,OAAO,CAAC;IAC3D;IACAT,wBAAwB,CAAMM,GAAG,EAAEC,EAAE,CAAC;IACtC;IACAN,6BAA6B,CAAQI,KAAK,EAAEG,KAAK,EAAEC,OAAO,CAAC;IAE3D,OAAO,IAAI;EACb,CAAC,CAAC;AACJ,CAAC;AAED,eAAeN,0BAA0B","ignoreList":[]}
|
|
@@ -1,69 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
import useMapAtoms from "../../hooks/atoms/useMapAtoms.js";
|
|
5
|
-
|
|
3
|
+
import { useEffect } from 'react';
|
|
6
4
|
/**
|
|
7
|
-
* Mount the web object once the React Native one is mounted
|
|
5
|
+
* Mount and unmount the web object once the React Native one is mounted /
|
|
6
|
+
* unmounted.
|
|
8
7
|
* @param props - The RN object props.
|
|
9
8
|
* @param objectId - The ID of the web object that owns the method.
|
|
10
|
-
* @param
|
|
9
|
+
* @param mount - Callback.
|
|
10
|
+
* @param unmount - Callback.
|
|
11
11
|
*/
|
|
12
|
-
const useWebObjectMountOnLaunch = (props, objectId,
|
|
13
|
-
//
|
|
14
|
-
const isMounted = useRef(false);
|
|
15
|
-
// States.
|
|
16
|
-
// - Global.
|
|
17
|
-
const {
|
|
18
|
-
isWebWorldReady,
|
|
19
|
-
dispatchMessage,
|
|
20
|
-
setWebObjectListeners,
|
|
21
|
-
deleteWebObjectListeners
|
|
22
|
-
} = useMapAtoms();
|
|
23
|
-
const mount = useCallback(() => {
|
|
24
|
-
// Mount the component as a web object on the web world.
|
|
25
|
-
dispatchMessage({
|
|
26
|
-
type: `webObjectMount`,
|
|
27
|
-
payload: {
|
|
28
|
-
objectId: objectId,
|
|
29
|
-
objectType,
|
|
30
|
-
options: props.options ?? {},
|
|
31
|
-
listeners: props.listeners ?? {}
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
// Register listeners on event from the web world.
|
|
35
|
-
setWebObjectListeners({
|
|
36
|
-
objectId: objectId,
|
|
37
|
-
listeners: props.listeners ?? {}
|
|
38
|
-
});
|
|
39
|
-
isMounted.current = true;
|
|
40
|
-
}, [objectId, objectType, props.options, props.listeners, dispatchMessage, setWebObjectListeners]);
|
|
41
|
-
const unmount = useCallback(() => {
|
|
42
|
-
dispatchMessage({
|
|
43
|
-
type: `webObjectUnmount`,
|
|
44
|
-
payload: {
|
|
45
|
-
objectId
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
deleteWebObjectListeners({
|
|
49
|
-
objectId
|
|
50
|
-
});
|
|
51
|
-
isMounted.current = false;
|
|
52
|
-
}, [objectId, dispatchMessage, deleteWebObjectListeners]);
|
|
53
|
-
|
|
54
|
-
// On mount/unmount update the web object.
|
|
12
|
+
const useWebObjectMountOnLaunch = (props, objectId, mount, unmount) => {
|
|
13
|
+
// On mount/unmount, do the same for the web object.
|
|
55
14
|
useEffect(() => {
|
|
56
|
-
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
if (!isMounted.current) {
|
|
60
|
-
mount();
|
|
61
|
-
}
|
|
15
|
+
mount();
|
|
62
16
|
// TODO verify if we unmount here? it sure that it must not be in this
|
|
63
17
|
// use effect, otherwise on start if mount then unmount then mount, but
|
|
64
18
|
// we may have to unmount in another effect
|
|
65
|
-
//return unmount
|
|
66
|
-
}, [objectId,
|
|
19
|
+
//return unmount()
|
|
20
|
+
}, [objectId, props, mount, unmount]);
|
|
67
21
|
};
|
|
68
22
|
export default useWebObjectMountOnLaunch;
|
|
69
23
|
//# sourceMappingURL=useWebObjectMountOnLaunch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["useEffect","useWebObjectMountOnLaunch","props","objectId","mount","unmount"],"sourceRoot":"../../../../../src","sources":["react-native/components-factory/hooks/useWebObjectMountOnLaunch.ts"],"mappings":";;AAAA,SAA+BA,SAAS,QAAQ,OAAO;AAIvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,yBAAyB,GAAGA,CAChCC,KAA6B,EAC7BC,QAAgB,EAChBC,KAAuD,EACvDC,OAAyD,KACtD;EACH;EACAL,SAAS,CAAC,MAAM;IACdI,KAAK,CAAC,CAAC;IACP;IACA;IACA;IACA;EACF,CAAC,EAAE,CAACD,QAAQ,EAAED,KAAK,EAAEE,KAAK,EAAEC,OAAO,CAAC,CAAC;AACvC,CAAC;AAED,eAAeJ,yBAAyB","ignoreList":[]}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useCallback, useRef } from 'react';
|
|
4
|
+
import useMapAtoms from "../../hooks/atoms/useMapAtoms.js";
|
|
5
|
+
/**
|
|
6
|
+
* @param props - The RN object props.
|
|
7
|
+
* @param objectId - The ID of the web object that owns the method.
|
|
8
|
+
* @param objectType - The type of the associated web object.
|
|
9
|
+
* @returns – The callbacks used to mount and unmount the web object. They
|
|
10
|
+
* internally handle edge cases where execution must be prevented, with no
|
|
11
|
+
* external management required. They allow (un)mounting the web objects with
|
|
12
|
+
* their options, but also their listeners.
|
|
13
|
+
*/
|
|
14
|
+
const useWebObjectMountUnmountCallbacks = (props, objectId, objectType) => {
|
|
15
|
+
// Refs.
|
|
16
|
+
const areOptionsMounted = useRef(false);
|
|
17
|
+
const areListenersMounted = useRef(false);
|
|
18
|
+
// States.
|
|
19
|
+
// - Global.
|
|
20
|
+
const {
|
|
21
|
+
isWebWorldReady,
|
|
22
|
+
dispatchMessage,
|
|
23
|
+
setWebObjectListeners,
|
|
24
|
+
deleteWebObjectListeners
|
|
25
|
+
} = useMapAtoms();
|
|
26
|
+
const mount = useCallback(({
|
|
27
|
+
options = true,
|
|
28
|
+
listeners = true
|
|
29
|
+
} = {}) => {
|
|
30
|
+
if (!isWebWorldReady) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
// Mount the component as a web object within the web world.
|
|
34
|
+
if (options && !areOptionsMounted.current) {
|
|
35
|
+
dispatchMessage({
|
|
36
|
+
type: `webObjectMount`,
|
|
37
|
+
payload: {
|
|
38
|
+
objectId: objectId,
|
|
39
|
+
objectType,
|
|
40
|
+
options: props.options ?? {},
|
|
41
|
+
listeners: props.listeners ?? {}
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
areOptionsMounted.current = true;
|
|
45
|
+
}
|
|
46
|
+
// Register listeners on event from the web world.
|
|
47
|
+
if (listeners && !areListenersMounted.current) {
|
|
48
|
+
setWebObjectListeners({
|
|
49
|
+
objectId: objectId,
|
|
50
|
+
listeners: props.listeners ?? {}
|
|
51
|
+
});
|
|
52
|
+
areListenersMounted.current = true;
|
|
53
|
+
}
|
|
54
|
+
}, [objectId, objectType, props.options, props.listeners, isWebWorldReady, dispatchMessage, setWebObjectListeners]);
|
|
55
|
+
const unmount = useCallback(({
|
|
56
|
+
options = true,
|
|
57
|
+
listeners = true
|
|
58
|
+
} = {}) => {
|
|
59
|
+
if (!isWebWorldReady) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
// Mount the component as a web object within the web world.
|
|
63
|
+
if (options && areOptionsMounted.current) {
|
|
64
|
+
dispatchMessage({
|
|
65
|
+
type: `webObjectUnmount`,
|
|
66
|
+
payload: {
|
|
67
|
+
objectId
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
areOptionsMounted.current = false;
|
|
71
|
+
}
|
|
72
|
+
// Register listeners on event from the web world.
|
|
73
|
+
if (listeners && areListenersMounted.current) {
|
|
74
|
+
deleteWebObjectListeners({
|
|
75
|
+
objectId
|
|
76
|
+
});
|
|
77
|
+
areListenersMounted.current = false;
|
|
78
|
+
}
|
|
79
|
+
}, [objectId, isWebWorldReady, dispatchMessage, deleteWebObjectListeners]);
|
|
80
|
+
return {
|
|
81
|
+
mount,
|
|
82
|
+
unmount
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
export default useWebObjectMountUnmountCallbacks;
|
|
86
|
+
//# sourceMappingURL=useWebObjectMountUnmountCallbacks.js.map
|
package/lib/module/react-native/components-factory/hooks/useWebObjectMountUnmountCallbacks.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useRef","useMapAtoms","useWebObjectMountUnmountCallbacks","props","objectId","objectType","areOptionsMounted","areListenersMounted","isWebWorldReady","dispatchMessage","setWebObjectListeners","deleteWebObjectListeners","mount","options","listeners","current","type","payload","unmount"],"sourceRoot":"../../../../../src","sources":["react-native/components-factory/hooks/useWebObjectMountUnmountCallbacks.ts"],"mappings":";;AACA,SAA+BA,WAAW,EAAEC,MAAM,QAAQ,OAAO;AAEjE,OAAOC,WAAW,MAAM,kCAA+B;AAGvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,iCAAiC,GAAGA,CAGxCC,KAA6B,EAC7BC,QAAgB,EAChBC,UAAyB,KACtB;EACH;EACA,MAAMC,iBAAiB,GAAGN,MAAM,CAAU,KAAK,CAAC;EAChD,MAAMO,mBAAmB,GAAGP,MAAM,CAAU,KAAK,CAAC;EAClD;EACA;EACA,MAAM;IACJQ,eAAe;IACfC,eAAe;IACfC,qBAAqB;IACrBC;EACF,CAAC,GAAGV,WAAW,CAAC,CAAC;EAEjB,MAAMW,KAAK,GAAGb,WAAW,CACvB,CAAC;IACCc,OAAO,GAAG,IAAI;IACdC,SAAS,GAAG;EACgB,CAAC,GAAG,CAAC,CAAC,KAAK;IACvC,IAAI,CAACN,eAAe,EAAE;MACpB;IACF;IACA;IACA,IAAIK,OAAO,IAAI,CAACP,iBAAiB,CAACS,OAAO,EAAE;MACzCN,eAAe,CAAC;QACdO,IAAI,EAAE,gBAAgB;QACtBC,OAAO,EAAE;UACPb,QAAQ,EAAEA,QAAQ;UAClBC,UAAU;UACVQ,OAAO,EAAEV,KAAK,CAACU,OAAO,IAAI,CAAC,CAAC;UAC5BC,SAAS,EAAEX,KAAK,CAACW,SAAS,IAAI,CAAC;QACjC;MACF,CAAC,CAAC;MACFR,iBAAiB,CAACS,OAAO,GAAG,IAAI;IAClC;IACA;IACA,IAAID,SAAS,IAAI,CAACP,mBAAmB,CAACQ,OAAO,EAAE;MAC7CL,qBAAqB,CAAC;QACpBN,QAAQ,EAAEA,QAAQ;QAClBU,SAAS,EAAEX,KAAK,CAACW,SAAS,IAAI,CAAC;MACjC,CAAC,CAAC;MACFP,mBAAmB,CAACQ,OAAO,GAAG,IAAI;IACpC;EACF,CAAC,EACD,CACEX,QAAQ,EACRC,UAAU,EACVF,KAAK,CAACU,OAAO,EACbV,KAAK,CAACW,SAAS,EACfN,eAAe,EACfC,eAAe,EACfC,qBAAqB,CAEzB,CAAC;EAED,MAAMQ,OAAO,GAAGnB,WAAW,CACzB,CAAC;IACCc,OAAO,GAAG,IAAI;IACdC,SAAS,GAAG;EACgB,CAAC,GAAG,CAAC,CAAC,KAAK;IACvC,IAAI,CAACN,eAAe,EAAE;MACpB;IACF;IACA;IACA,IAAIK,OAAO,IAAIP,iBAAiB,CAACS,OAAO,EAAE;MACxCN,eAAe,CAAC;QACdO,IAAI,EAAE,kBAAkB;QACxBC,OAAO,EAAE;UAAEb;QAAS;MACtB,CAAC,CAAC;MACFE,iBAAiB,CAACS,OAAO,GAAG,KAAK;IACnC;IACA;IACA,IAAID,SAAS,IAAIP,mBAAmB,CAACQ,OAAO,EAAE;MAC5CJ,wBAAwB,CAAC;QAAEP;MAAS,CAAC,CAAC;MACtCG,mBAAmB,CAACQ,OAAO,GAAG,KAAK;IACrC;EACF,CAAC,EACD,CAACX,QAAQ,EAAEI,eAAe,EAAEC,eAAe,EAAEE,wBAAwB,CACvE,CAAC;EAED,OAAO;IAAEC,KAAK;IAAEM;EAAQ,CAAC;AAC3B,CAAC;AAED,eAAehB,iCAAiC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["react-native/components-factory/hooks/useWebObjectMountUnmountCallbacks.types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1,14 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useEffect } from 'react';
|
|
4
|
-
|
|
3
|
+
import { useEffect, useMemo, useRef } from 'react';
|
|
4
|
+
import { stableStringify } from "../../hooks/atoms/useMapAtoms.utils.js";
|
|
5
|
+
/**
|
|
6
|
+
* Propagate any change in the component props to the web world, by unmounting
|
|
7
|
+
* and mounting the web object with the new options.
|
|
8
|
+
* @param props - The RN object props.
|
|
9
|
+
* @param mount - Callback.
|
|
10
|
+
* @param unmount - Callback.
|
|
11
|
+
*/
|
|
12
|
+
export const useWebObjectPropertiesUpdater = (props, mount, unmount) => {
|
|
5
13
|
// Refs.
|
|
6
|
-
|
|
14
|
+
const optionsAsStringPrevious = useRef('');
|
|
15
|
+
const optionsAsString = useMemo(() => stableStringify(props.options), [props]);
|
|
7
16
|
|
|
17
|
+
// Mount options only when they have changed (mounted in the web world).
|
|
18
|
+
// Listeners are always mounted: they are inexpensive (mounted in the RN
|
|
19
|
+
// world) and cannot be reliably compared when declared inline in the
|
|
20
|
+
// component, as they change on every render.
|
|
8
21
|
useEffect(() => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
22
|
+
const areOptionsEqual = optionsAsStringPrevious.current === optionsAsString;
|
|
23
|
+
unmount({
|
|
24
|
+
options: !areOptionsEqual,
|
|
25
|
+
listeners: true
|
|
26
|
+
});
|
|
27
|
+
mount({
|
|
28
|
+
options: !areOptionsEqual,
|
|
29
|
+
listeners: true
|
|
30
|
+
});
|
|
31
|
+
optionsAsStringPrevious.current = optionsAsString;
|
|
32
|
+
}, [mount, unmount, optionsAsStringPrevious, optionsAsString, props.listeners]);
|
|
12
33
|
};
|
|
13
34
|
export default useWebObjectPropertiesUpdater;
|
|
14
35
|
//# sourceMappingURL=useWebObjectPropertiesUpdater.js.map
|
package/lib/module/react-native/components-factory/hooks/useWebObjectPropertiesUpdater.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useWebObjectPropertiesUpdater","props","
|
|
1
|
+
{"version":3,"names":["useEffect","useMemo","useRef","stableStringify","useWebObjectPropertiesUpdater","props","mount","unmount","optionsAsStringPrevious","optionsAsString","options","areOptionsEqual","current","listeners"],"sourceRoot":"../../../../../src","sources":["react-native/components-factory/hooks/useWebObjectPropertiesUpdater.ts"],"mappings":";;AACA,SAA+BA,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACxE,SAASC,eAAe,QAAQ,wCAAqC;AAGrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,6BAA6B,GAAGA,CAG3CC,KAA6B,EAC7BC,KAAuD,EACvDC,OAAyD,KACtD;EACH;EACA,MAAMC,uBAAuB,GAAGN,MAAM,CAAS,EAAE,CAAC;EAElD,MAAMO,eAAe,GAAGR,OAAO,CAAC,MAAME,eAAe,CAACE,KAAK,CAACK,OAAO,CAAC,EAAE,CAACL,KAAK,CAAC,CAAC;;EAE9E;EACA;EACA;EACA;EACAL,SAAS,CAAC,MAAM;IACd,MAAMW,eAAe,GAAGH,uBAAuB,CAACI,OAAO,KAAKH,eAAe;IAC3EF,OAAO,CAAC;MAAEG,OAAO,EAAE,CAACC,eAAe;MAAEE,SAAS,EAAE;IAAK,CAAC,CAAC;IACvDP,KAAK,CAAC;MAAEI,OAAO,EAAE,CAACC,eAAe;MAAEE,SAAS,EAAE;IAAK,CAAC,CAAC;IACrDL,uBAAuB,CAACI,OAAO,GAAGH,eAAe;EACnD,CAAC,EAAE,CACDH,KAAK,EACLC,OAAO,EACPC,uBAAuB,EACvBC,eAAe,EACfJ,KAAK,CAACQ,SAAS,CAChB,CAAC;AACJ,CAAC;AAED,eAAeT,6BAA6B","ignoreList":[]}
|
|
@@ -2,17 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Stable stringify for messages that may contain functions. Keep the function
|
|
5
|
-
* members as '...' to allow identification of the object type (by default a
|
|
5
|
+
* members as '...' to allow identification of the object type (by default, a
|
|
6
6
|
* function cannot be stringified and is removed from the final string).
|
|
7
|
+
* Keys are sorted alphabetically to ensure consistent output.
|
|
7
8
|
* @param message - The message to be stringified.
|
|
8
9
|
* @returns - The stringified message.
|
|
9
10
|
*/
|
|
10
11
|
export const stableStringify = message => {
|
|
11
|
-
|
|
12
|
+
const replacer = (_, value) => {
|
|
12
13
|
if (typeof value === 'function') {
|
|
13
14
|
return '...';
|
|
14
15
|
}
|
|
15
16
|
return value;
|
|
16
|
-
}
|
|
17
|
+
};
|
|
18
|
+
const sortKeys = obj => {
|
|
19
|
+
if (Array.isArray(obj)) {
|
|
20
|
+
return obj.map(sortKeys);
|
|
21
|
+
} else if (obj !== null && typeof obj === 'object') {
|
|
22
|
+
const sortedObj = {};
|
|
23
|
+
Object.keys(obj).sort().forEach(key => {
|
|
24
|
+
sortedObj[key] = sortKeys(obj[key]);
|
|
25
|
+
});
|
|
26
|
+
return sortedObj;
|
|
27
|
+
}
|
|
28
|
+
return obj;
|
|
29
|
+
};
|
|
30
|
+
return JSON.stringify(sortKeys(message), replacer);
|
|
17
31
|
};
|
|
18
32
|
//# sourceMappingURL=useMapAtoms.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["stableStringify","message","
|
|
1
|
+
{"version":3,"names":["stableStringify","message","replacer","_","value","sortKeys","obj","Array","isArray","map","sortedObj","Object","keys","sort","forEach","key","JSON","stringify"],"sourceRoot":"../../../../../src","sources":["react-native/hooks/atoms/useMapAtoms.utils.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,eAAe,GAAIC,OAAY,IAAa;EACvD,MAAMC,QAAQ,GAAGA,CAACC,CAAS,EAAEC,KAAU,KAAK;IAC1C,IAAI,OAAOA,KAAK,KAAK,UAAU,EAAE;MAC/B,OAAO,KAAK;IACd;IACA,OAAOA,KAAK;EACd,CAAC;EAED,MAAMC,QAAQ,GAAIC,GAAQ,IAAU;IAClC,IAAIC,KAAK,CAACC,OAAO,CAACF,GAAG,CAAC,EAAE;MACtB,OAAOA,GAAG,CAACG,GAAG,CAACJ,QAAQ,CAAC;IAC1B,CAAC,MAAM,IAAIC,GAAG,KAAK,IAAI,IAAI,OAAOA,GAAG,KAAK,QAAQ,EAAE;MAClD,MAAMI,SAA8B,GAAG,CAAC,CAAC;MACzCC,MAAM,CAACC,IAAI,CAACN,GAAG,CAAC,CACbO,IAAI,CAAC,CAAC,CACNC,OAAO,CAAEC,GAAG,IAAK;QAChBL,SAAS,CAACK,GAAG,CAAC,GAAGV,QAAQ,CAACC,GAAG,CAACS,GAAG,CAAC,CAAC;MACrC,CAAC,CAAC;MACJ,OAAOL,SAAS;IAClB;IACA,OAAOJ,GAAG;EACZ,CAAC;EAED,OAAOU,IAAI,CAACC,SAAS,CAACZ,QAAQ,CAACJ,OAAO,CAAC,EAAEC,QAAQ,CAAC;AACpD,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { consoleTransport, logger } from 'react-native-logs';
|
|
4
|
-
import pkg from '
|
|
4
|
+
import pkg from 'react-native-maplibre-gl-js/package.json';
|
|
5
5
|
const BASE_LOGGER = logger.createLogger({
|
|
6
6
|
severity: __DEV__ ? 'debug' : 'none',
|
|
7
7
|
transport: __DEV__ ? consoleTransport : () => {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["consoleTransport","logger","pkg","BASE_LOGGER","createLogger","severity","__DEV__","transport","transportOptions","colors","debug","info","error","formatFunc","level","_","args","timeColumn","Date","toLocaleTimeString","padEnd","levelColumn","toUpperCase","packageColumn","name","fromColumn","funcColumn","text","slice","join","createLoggerMethod","from","func","stringifiedArgs","map","item","JSON","stringify","RNLogger"],"sourceRoot":"../../../../src","sources":["react-native/logger/rn-logger.ts"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,MAAM,QAAQ,mBAAmB;AAC5D,OAAOC,GAAG,MAAM,
|
|
1
|
+
{"version":3,"names":["consoleTransport","logger","pkg","BASE_LOGGER","createLogger","severity","__DEV__","transport","transportOptions","colors","debug","info","error","formatFunc","level","_","args","timeColumn","Date","toLocaleTimeString","padEnd","levelColumn","toUpperCase","packageColumn","name","fromColumn","funcColumn","text","slice","join","createLoggerMethod","from","func","stringifiedArgs","map","item","JSON","stringify","RNLogger"],"sourceRoot":"../../../../src","sources":["react-native/logger/rn-logger.ts"],"mappings":";;AAAA,SAASA,gBAAgB,EAAEC,MAAM,QAAQ,mBAAmB;AAC5D,OAAOC,GAAG,MAAM,0CAA0C;AAI1D,MAAMC,WAAW,GAAGF,MAAM,CAACG,YAAY,CAAC;EACtCC,QAAQ,EAAEC,OAAO,GAAG,OAAO,GAAG,MAAM;EACpCC,SAAS,EAAED,OAAO,GAAGN,gBAAgB,GAAG,MAAM,CAAC,CAAC;EAChDQ,gBAAgB,EAAE;IAChBC,MAAM,EAAE;MACNC,KAAK,EAAE,MAAM;MACbC,IAAI,EAAE,aAAa;MACnBC,KAAK,EAAE;IACT;EACF,CAAC;EACDC,UAAU,EAAEA,CAACC,KAAK,EAAEC,CAAC,EAAEC,IAAI,KAAK;IAC9B,MAAMC,UAAU,GAAG,IAAIC,IAAI,CAAC,CAAC,CAACC,kBAAkB,CAAC,CAAC,CAACC,MAAM,CAAC,CAAC,CAAC;IAC5D,MAAMC,WAAW,GAAGP,KAAK,CAACQ,WAAW,CAAC,CAAC,CAACF,MAAM,CAAC,CAAC,CAAC;IACjD,MAAMG,aAAa,GAAGrB,GAAG,CAACsB,IAAI;IAC9B,MAAMC,UAAU,GACdT,IAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,IAAIJ,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7D,MAAMU,UAAU,GAAGV,IAAI,CAAC,CAAC,CAAC,CAACI,MAAM,CAAC,EAAE,CAAC;IACrC,MAAMO,IAAI,GAAGX,IAAI,CAACY,KAAK,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC;IACpC,OAAO,GAAGZ,UAAU,MAAMI,WAAW,MAAME,aAAa,MAAME,UAAU,MAAMC,UAAU,MAAMC,IAAI,EAAE;EACtG;AACF,CAAC,CAAC;AAEF,MAAMG,kBAAkB,GAAIhB,KAA+B,IAAK;EAC9D,OAAO,CAACiB,IAAe,EAAEC,IAAY,EAAE,GAAGhB,IAAW,KAAK;IACxD,MAAMiB,eAAe,GAAGjB,IAAI,CAACkB,GAAG,CAAEC,IAAI,IACpC,OAAOA,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAAGC,IAAI,CAACC,SAAS,CAACF,IAAI,EAAE,IAAI,EAAE,CAAC,CAChE,CAAC;IACD,OAAQhC,WAAW,CAACW,KAAK,CAAC,CACxBiB,IAAI,EACJC,IAAI,KAAK,EAAE,GAAGA,IAAI,GAAG,oBAAoB,EACzC,GAAGC,eACL,CAAC;EACH,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMK,QAAQ,GAAG;EACf5B,KAAK,EAAEoB,kBAAkB,CAAC,OAAO,CAAC;EAClCnB,IAAI,EAAEmB,kBAAkB,CAAC,MAAM,CAAC;EAChClB,KAAK,EAAEkB,kBAAkB,CAAC,OAAO;AACnC,CAAC;AAED,eAAeQ,QAAQ","ignoreList":[]}
|
|
@@ -23359,6 +23359,11 @@ uniform mat4 u_projection_matrix;
|
|
|
23359
23359
|
message.payload.objectId,
|
|
23360
23360
|
message.payload.listeners
|
|
23361
23361
|
);
|
|
23362
|
+
this.#objects.entries().forEach(([, object]) => {
|
|
23363
|
+
if (!(object instanceof import_maplibre_gl.default.Map)) {
|
|
23364
|
+
object.addTo(map);
|
|
23365
|
+
}
|
|
23366
|
+
});
|
|
23362
23367
|
break;
|
|
23363
23368
|
}
|
|
23364
23369
|
case "marker": {
|
|
@@ -23420,8 +23425,6 @@ uniform mat4 u_projection_matrix;
|
|
|
23420
23425
|
if (!this.#runIfSpecialMethod(message, object)) {
|
|
23421
23426
|
result = await this.#runNormalMethod(message, object);
|
|
23422
23427
|
}
|
|
23423
|
-
if (!(object instanceof import_maplibre_gl.default.Map)) {
|
|
23424
|
-
}
|
|
23425
23428
|
this.reactNativeBridge.postMessage({
|
|
23426
23429
|
type: "webObjectMethodResponse",
|
|
23427
23430
|
payload: { requestId: message.payload.requestId, result }
|