@dxos/react-client 2.28.3-dev.58167917 → 2.28.3-dev.95684738
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/.rush/temp/package-deps_build.json +2 -2
- package/.rush/temp/package-deps_build:test.json +1 -1
- package/.rush/temp/package-deps_prerelease.json +1 -1
- package/dist/src/hooks/echo-selections/useSelection.d.ts +8 -0
- package/dist/src/hooks/echo-selections/useSelection.d.ts.map +1 -1
- package/dist/src/hooks/echo-selections/useSelection.js +38 -7
- package/dist/src/hooks/echo-selections/useSelection.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/out/index.js +11365 -11209
- package/package.json +12 -12
- package/src/hooks/echo-selections/useSelection.ts +45 -7
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"packages/sdk/react-client/README.md": "f781dc2b0cf91ac94e4ee57e8c2e9c24d371e575",
|
|
5
5
|
"packages/sdk/react-client/dx.yml": "772fb6cc1bb38340d10f27e2a56ad795bc60f9d0",
|
|
6
6
|
"packages/sdk/react-client/esbuild-server.config.js": "cada33e1f618bb168ba26d65d1591fdfcf6305bc",
|
|
7
|
-
"packages/sdk/react-client/package.json": "
|
|
7
|
+
"packages/sdk/react-client/package.json": "2224288e248e5e58f078877e9ef9607d3e115d6a",
|
|
8
8
|
"packages/sdk/react-client/src/banner.ts": "0c7616c09c6acb9abfdc09ebb8074ee06277cf11",
|
|
9
9
|
"packages/sdk/react-client/src/containers/ClientProvider.test.tsx": "dc7ff4b7baf181522f3ab4210aed35361fd30939",
|
|
10
10
|
"packages/sdk/react-client/src/containers/ClientProvider.tsx": "34f684a1698cc1f5bc3235175ab34a508f3c2856",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"packages/sdk/react-client/src/hooks/echo-queries/useParties.ts": "ba35572145ec4d0628dadf7bdcdc3b2fb4d24848",
|
|
25
25
|
"packages/sdk/react-client/src/hooks/echo-selections/index.ts": "bd7c992f3c4355158dcb3698d4d93d919b8325fa",
|
|
26
26
|
"packages/sdk/react-client/src/hooks/echo-selections/search.ts": "6a159e4f6681bb4887e6c2be7b7c421139fb788c",
|
|
27
|
-
"packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "
|
|
27
|
+
"packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "f1dd270b2564caf48813f64e13582a01f204efd7",
|
|
28
28
|
"packages/sdk/react-client/src/hooks/index.ts": "45dcdd5e8712652c72c57ca7e66c4a0369cad45b",
|
|
29
29
|
"packages/sdk/react-client/src/hooks/invitations/index.ts": "9f065d8c9eab0bdf602c2f3ddb972366eda7aa2c",
|
|
30
30
|
"packages/sdk/react-client/src/hooks/invitations/useHaloInvitations.ts": "8c6099bac176862d8f649b53b650c99de8374546",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"packages/sdk/react-client/src/hooks/echo-queries/useParties.ts": "ba35572145ec4d0628dadf7bdcdc3b2fb4d24848",
|
|
25
25
|
"packages/sdk/react-client/src/hooks/echo-selections/index.ts": "bd7c992f3c4355158dcb3698d4d93d919b8325fa",
|
|
26
26
|
"packages/sdk/react-client/src/hooks/echo-selections/search.ts": "6a159e4f6681bb4887e6c2be7b7c421139fb788c",
|
|
27
|
-
"packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "
|
|
27
|
+
"packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "f1dd270b2564caf48813f64e13582a01f204efd7",
|
|
28
28
|
"packages/sdk/react-client/src/hooks/index.ts": "45dcdd5e8712652c72c57ca7e66c4a0369cad45b",
|
|
29
29
|
"packages/sdk/react-client/src/hooks/invitations/index.ts": "9f065d8c9eab0bdf602c2f3ddb972366eda7aa2c",
|
|
30
30
|
"packages/sdk/react-client/src/hooks/invitations/useHaloInvitations.ts": "8c6099bac176862d8f649b53b650c99de8374546",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"packages/sdk/react-client/src/hooks/echo-queries/useParties.ts": "ba35572145ec4d0628dadf7bdcdc3b2fb4d24848",
|
|
25
25
|
"packages/sdk/react-client/src/hooks/echo-selections/index.ts": "bd7c992f3c4355158dcb3698d4d93d919b8325fa",
|
|
26
26
|
"packages/sdk/react-client/src/hooks/echo-selections/search.ts": "6a159e4f6681bb4887e6c2be7b7c421139fb788c",
|
|
27
|
-
"packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "
|
|
27
|
+
"packages/sdk/react-client/src/hooks/echo-selections/useSelection.ts": "f1dd270b2564caf48813f64e13582a01f204efd7",
|
|
28
28
|
"packages/sdk/react-client/src/hooks/index.ts": "45dcdd5e8712652c72c57ca7e66c4a0369cad45b",
|
|
29
29
|
"packages/sdk/react-client/src/hooks/invitations/index.ts": "9f065d8c9eab0bdf602c2f3ddb972366eda7aa2c",
|
|
30
30
|
"packages/sdk/react-client/src/hooks/invitations/useHaloInvitations.ts": "8c6099bac176862d8f649b53b650c99de8374546",
|
|
@@ -12,4 +12,12 @@ import { Falsy } from '@dxos/util';
|
|
|
12
12
|
* @param deps Array of values that trigger the selector when changed.
|
|
13
13
|
*/
|
|
14
14
|
export declare const useSelection: <T extends Entity<any>>(selection: Selection<T, void> | SelectionResult<T, any> | Falsy, deps?: readonly any[]) => T[] | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Hook to process selection reducer.
|
|
17
|
+
*
|
|
18
|
+
* @param selection
|
|
19
|
+
* @param value
|
|
20
|
+
* @param deps
|
|
21
|
+
*/
|
|
22
|
+
export declare const useReducer: <T extends Entity<any>, R>(selection: Falsy | Selection<T, void> | SelectionResult<T, any>, value: R, deps?: readonly any[]) => R | undefined;
|
|
15
23
|
//# sourceMappingURL=useSelection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelection.d.ts","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/useSelection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,kGAEjB,SAAS,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"useSelection.d.ts","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/useSelection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,YAAY,kGAEjB,SAAS,GAAG,EAAE,oBAsBrB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,+GAGf,SAAS,GAAG,EAAE,kBAsBrB,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Copyright 2020 DXOS.org
|
|
4
4
|
//
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.useSelection = void 0;
|
|
6
|
+
exports.useReducer = exports.useSelection = void 0;
|
|
7
7
|
const react_1 = require("react");
|
|
8
8
|
const client_1 = require("@dxos/client");
|
|
9
9
|
/**
|
|
@@ -19,24 +19,55 @@ const client_1 = require("@dxos/client");
|
|
|
19
19
|
*/
|
|
20
20
|
const useSelection = (selection, deps = []) => {
|
|
21
21
|
const [result, setResult] = (0, react_1.useState)(() => coerceSelection(selection));
|
|
22
|
-
const [data, setData] = (0, react_1.useState)(() => result ? result.
|
|
22
|
+
const [data, setData] = (0, react_1.useState)(() => result ? result.entities : undefined);
|
|
23
23
|
// Update selection when the query or customs deps change.
|
|
24
24
|
(0, react_1.useEffect)(() => {
|
|
25
25
|
const newResult = coerceSelection(selection);
|
|
26
|
-
const newData = newResult === null || newResult === void 0 ? void 0 : newResult.result;
|
|
27
26
|
setResult(newResult);
|
|
28
|
-
setData(
|
|
27
|
+
setData(newResult === null || newResult === void 0 ? void 0 : newResult.entities);
|
|
29
28
|
}, [!!selection, !!selection && selection.root, ...deps]);
|
|
30
29
|
// Update data when database updates.
|
|
31
30
|
(0, react_1.useEffect)(() => {
|
|
32
31
|
if (result) {
|
|
33
|
-
return result.update.on(
|
|
34
|
-
setData(
|
|
32
|
+
return result.update.on(result => {
|
|
33
|
+
setData(result.entities);
|
|
35
34
|
});
|
|
36
35
|
}
|
|
37
36
|
}, [result]);
|
|
38
37
|
return data;
|
|
39
38
|
};
|
|
40
39
|
exports.useSelection = useSelection;
|
|
41
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Hook to process selection reducer.
|
|
42
|
+
*
|
|
43
|
+
* @param selection
|
|
44
|
+
* @param value
|
|
45
|
+
* @param deps
|
|
46
|
+
*/
|
|
47
|
+
const useReducer = (selection, value, deps = []) => {
|
|
48
|
+
const [result, setResult] = (0, react_1.useState)(() => coerceSelection(selection));
|
|
49
|
+
const [data, setData] = (0, react_1.useState)(() => result ? result.value : undefined);
|
|
50
|
+
// Update selection when the query or customs deps change.
|
|
51
|
+
(0, react_1.useEffect)(() => {
|
|
52
|
+
const newResult = coerceSelection(selection);
|
|
53
|
+
setResult(newResult);
|
|
54
|
+
setData(newResult === null || newResult === void 0 ? void 0 : newResult.value);
|
|
55
|
+
}, [!!selection, !!selection && selection.root, ...deps]);
|
|
56
|
+
// Update data when database updates.
|
|
57
|
+
(0, react_1.useEffect)(() => {
|
|
58
|
+
if (result) {
|
|
59
|
+
return result.update.on(result => {
|
|
60
|
+
setData(result.value);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}, [result]);
|
|
64
|
+
return data;
|
|
65
|
+
};
|
|
66
|
+
exports.useReducer = useReducer;
|
|
67
|
+
/**
|
|
68
|
+
* @param value Selection or SelectionResult from hook.
|
|
69
|
+
*/
|
|
70
|
+
const coerceSelection = (value) => {
|
|
71
|
+
return !value ? undefined : value instanceof client_1.Selection ? value.query() : value;
|
|
72
|
+
};
|
|
42
73
|
//# sourceMappingURL=useSelection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelection.js","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/useSelection.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAEF,iCAA4C;AAE5C,yCAAkE;AAGlE;;;;;;;;;;GAUG;AACI,MAAM,YAAY,GAAG,CAC1B,SAAoD,EACpD,OAAuB,EAAE,EACR,EAAE;IACnB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,GAAG,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;IACvE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,IAAA,gBAAQ,
|
|
1
|
+
{"version":3,"file":"useSelection.js","sourceRoot":"","sources":["../../../../src/hooks/echo-selections/useSelection.ts"],"names":[],"mappings":"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"}
|