@inditextech/weave-react 2.18.0 → 2.19.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/dist/react.d.ts +7 -0
- package/dist/react.js +40 -0
- package/package.json +3 -3
package/dist/react.d.ts
CHANGED
|
@@ -41,6 +41,11 @@ interface WeaveRuntimeState {
|
|
|
41
41
|
room: {
|
|
42
42
|
loaded: boolean;
|
|
43
43
|
};
|
|
44
|
+
asyncElements: {
|
|
45
|
+
loaded: number;
|
|
46
|
+
total: number;
|
|
47
|
+
allLoaded: boolean;
|
|
48
|
+
};
|
|
44
49
|
users: WeaveConnectedUsers;
|
|
45
50
|
undoRedo: {
|
|
46
51
|
canUndo: boolean;
|
|
@@ -66,6 +71,8 @@ interface WeaveRuntimeState {
|
|
|
66
71
|
setAppState: (newAppState: WeaveState) => void;
|
|
67
72
|
setConnectionStatus: (newConnectionStatus: string) => void;
|
|
68
73
|
setRoomLoaded: (newStatus: boolean) => void;
|
|
74
|
+
setAsyncElements: (loaded: number, total: number) => void;
|
|
75
|
+
setAsyncElementsAllLoaded: (allLoaded: boolean) => void;
|
|
69
76
|
setUsers: (newUsers: WeaveConnectedUsers) => void;
|
|
70
77
|
setCanUndo: (newCanUndo: boolean) => void;
|
|
71
78
|
setCanRedo: (newCanRedo: boolean) => void;
|
package/dist/react.js
CHANGED
|
@@ -54,6 +54,11 @@ const useWeave = create()((set) => ({
|
|
|
54
54
|
appState: { weave: {} },
|
|
55
55
|
status: WEAVE_INSTANCE_STATUS.IDLE,
|
|
56
56
|
room: { loaded: false },
|
|
57
|
+
asyncElements: {
|
|
58
|
+
loaded: 0,
|
|
59
|
+
total: 0,
|
|
60
|
+
allLoaded: false
|
|
61
|
+
},
|
|
57
62
|
connection: { status: "disconnected" },
|
|
58
63
|
users: {},
|
|
59
64
|
undoRedo: {
|
|
@@ -109,6 +114,21 @@ const useWeave = create()((set) => ({
|
|
|
109
114
|
loaded: newStatus
|
|
110
115
|
}
|
|
111
116
|
})),
|
|
117
|
+
setAsyncElements: (loaded, total) => set((state) => ({
|
|
118
|
+
...state,
|
|
119
|
+
asyncElements: {
|
|
120
|
+
...state.asyncElements,
|
|
121
|
+
loaded,
|
|
122
|
+
total
|
|
123
|
+
}
|
|
124
|
+
})),
|
|
125
|
+
setAsyncElementsAllLoaded: (allLoaded) => set((state) => ({
|
|
126
|
+
...state,
|
|
127
|
+
asyncElements: {
|
|
128
|
+
...state.asyncElements,
|
|
129
|
+
allLoaded
|
|
130
|
+
}
|
|
131
|
+
})),
|
|
112
132
|
setUsers: (newUsers) => set((state) => ({
|
|
113
133
|
...state,
|
|
114
134
|
users: newUsers
|
|
@@ -196,6 +216,8 @@ const WeaveProvider = ({ getContainer, store, nodes = [], actions = [], plugins
|
|
|
196
216
|
const setCanRedo = useWeave((state) => state.setCanRedo);
|
|
197
217
|
const setActualAction = useWeave((state) => state.setActualAction);
|
|
198
218
|
const setConnectionStatus = useWeave((state) => state.setConnectionStatus);
|
|
219
|
+
const setAsyncElements = useWeave((state) => state.setAsyncElements);
|
|
220
|
+
const setAsyncElementsAllLoaded = useWeave((state) => state.setAsyncElementsAllLoaded);
|
|
199
221
|
const onInstanceStatusHandler = React.useCallback(
|
|
200
222
|
(status) => {
|
|
201
223
|
setStatus(status);
|
|
@@ -239,6 +261,20 @@ const WeaveProvider = ({ getContainer, store, nodes = [], actions = [], plugins
|
|
|
239
261
|
},
|
|
240
262
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
241
263
|
[selectedNodes]
|
|
264
|
+
);
|
|
265
|
+
const onAsyncElementsLoadingHandler = React.useCallback(
|
|
266
|
+
({ loaded, total }) => {
|
|
267
|
+
setAsyncElements(loaded, total);
|
|
268
|
+
},
|
|
269
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
270
|
+
[selectedNodes]
|
|
271
|
+
);
|
|
272
|
+
const onAsyncElementsLoadedHandler = React.useCallback(
|
|
273
|
+
() => {
|
|
274
|
+
setAsyncElementsAllLoaded(true);
|
|
275
|
+
},
|
|
276
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
277
|
+
[selectedNodes]
|
|
242
278
|
);
|
|
243
279
|
React.useEffect(() => {
|
|
244
280
|
async function initWeave() {
|
|
@@ -268,6 +304,8 @@ const WeaveProvider = ({ getContainer, store, nodes = [], actions = [], plugins
|
|
|
268
304
|
weaveInstanceRef.current.addEventListener("onStateChange", onStateChangeHandler);
|
|
269
305
|
weaveInstanceRef.current.addEventListener("onUndoManagerStatusChange", onUndoManagerStatusChangeHandler);
|
|
270
306
|
weaveInstanceRef.current.addEventListener("onActiveActionChange", onActiveActionChangeHandler);
|
|
307
|
+
weaveInstanceRef.current.addEventListener("onAsyncElementsLoading", onAsyncElementsLoadingHandler);
|
|
308
|
+
weaveInstanceRef.current.addEventListener("onAsyncElementsLoaded", onAsyncElementsLoadedHandler);
|
|
271
309
|
setInstance(weaveInstanceRef.current);
|
|
272
310
|
weaveInstanceRef.current.start();
|
|
273
311
|
}
|
|
@@ -282,6 +320,8 @@ const WeaveProvider = ({ getContainer, store, nodes = [], actions = [], plugins
|
|
|
282
320
|
weaveInstanceRef.current?.removeEventListener("onStateChange", onStateChangeHandler);
|
|
283
321
|
weaveInstanceRef.current?.removeEventListener("onUndoManagerStatusChange", onUndoManagerStatusChangeHandler);
|
|
284
322
|
weaveInstanceRef.current?.removeEventListener("onActiveActionChange", onActiveActionChangeHandler);
|
|
323
|
+
weaveInstanceRef.current?.removeEventListener("onAsyncElementsLoading", onAsyncElementsLoadingHandler);
|
|
324
|
+
weaveInstanceRef.current?.removeEventListener("onAsyncElementsLoaded", onAsyncElementsLoadedHandler);
|
|
285
325
|
setStatus(WEAVE_INSTANCE_STATUS.IDLE);
|
|
286
326
|
setRoomLoaded(false);
|
|
287
327
|
weaveInstanceRef.current?.destroy();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inditextech/weave-react",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.19.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Jesus Manuel Piñeiro Cid <jesusmpc@inditex.com>",
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
"version:release": "npm version $RELEASE_VERSION -m \"[npm-scripts] prepare release $RELEASE_VERSION\" --tag-version-prefix \"\""
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@inditextech/weave-sdk": "2.
|
|
51
|
-
"@inditextech/weave-types": "2.
|
|
50
|
+
"@inditextech/weave-sdk": "2.19.0",
|
|
51
|
+
"@inditextech/weave-types": "2.19.0",
|
|
52
52
|
"@syncedstore/core": "0.6.0"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|