@darajs/core 1.7.0 → 1.7.1
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/{dara_core-1.7.0-py3-none-any.whl → dara_core-1.7.1-py3-none-any.whl} +0 -0
- package/dist/shared/interactivity/persistence.d.ts.map +1 -1
- package/dist/shared/interactivity/persistence.js +17 -28
- package/dist/shared/interactivity/persistence.js.map +1 -1
- package/dist/umd/dara.core.umd.js +19 -29
- package/package.json +2 -2
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/persistence.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAMpC,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAW,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAgB,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/persistence.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAMpC,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAW,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAgB,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA4G9D;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CASxE;AAuGD,UAAU,SAAS;IACf,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,GAAG,GAAG,CAAC,OAAO,CAAC;CACvD;AAED,UAAU,MAAM,CAAC,CAAC,GAAG,GAAG;IACpB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,yBAAyB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;CAC1F;AAED,eAAO,MAAM,MAAM,EAAE,MAAM,CACvB,MAAM,EACN;IACI,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CACnB,CAUJ,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC,GAAG,EAAE,gBAAgB,CAAC,GAAG,MAAM,GAAG,IAAI,CAQxF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CAOvF"}
|
|
@@ -16,6 +16,10 @@ import { handleAuthErrors } from '../../api';
|
|
|
16
16
|
import { request } from '../../api/http';
|
|
17
17
|
import { WebSocketCtx, useRequestExtras } from '../context';
|
|
18
18
|
import { isEmbedded } from '../utils/embed';
|
|
19
|
+
/**
|
|
20
|
+
* Global map to store the extras for each store uid
|
|
21
|
+
*/
|
|
22
|
+
const STORE_EXTRAS_MAP = new Map();
|
|
19
23
|
/**
|
|
20
24
|
* RecoilSync implementation for BackendStore
|
|
21
25
|
*
|
|
@@ -25,37 +29,34 @@ import { isEmbedded } from '../utils/embed';
|
|
|
25
29
|
*/
|
|
26
30
|
function BackendStoreSync({ children }) {
|
|
27
31
|
const { client } = React.useContext(WebSocketCtx);
|
|
28
|
-
const extras = useRequestExtras();
|
|
29
32
|
const getStoreValue = React.useCallback((itemKey) => __awaiter(this, void 0, void 0, function* () {
|
|
30
|
-
const
|
|
33
|
+
const serializableExtras = STORE_EXTRAS_MAP.get(itemKey);
|
|
34
|
+
const response = yield request(`/api/core/store/${itemKey}`, {}, serializableExtras.extras);
|
|
31
35
|
yield handleAuthErrors(response, true);
|
|
32
36
|
yield validateResponse(response, `Failed to fetch the store value for key: ${itemKey}`);
|
|
33
37
|
const val = yield response.json();
|
|
34
38
|
return val;
|
|
35
|
-
}), [
|
|
39
|
+
}), []);
|
|
36
40
|
const syncStoreValues = React.useCallback(({ diff }) => __awaiter(this, void 0, void 0, function* () {
|
|
37
41
|
// keep track of extras -> diff to send each set of extras as a separate request
|
|
38
42
|
const extrasMap = new Map();
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
const { serializedExtras, store_uid } = JSON.parse(encodedKey);
|
|
44
|
-
if (!extrasMap.has(serializedExtras)) {
|
|
45
|
-
extrasMap.set(serializedExtras, {});
|
|
43
|
+
for (const [itemKey, value] of diff.entries()) {
|
|
44
|
+
const extras = STORE_EXTRAS_MAP.get(itemKey);
|
|
45
|
+
if (!extrasMap.has(extras)) {
|
|
46
|
+
extrasMap.set(extras, {});
|
|
46
47
|
}
|
|
47
48
|
// store the value in the extras map
|
|
48
|
-
extrasMap.get(
|
|
49
|
+
extrasMap.get(extras)[itemKey] = value;
|
|
49
50
|
}
|
|
50
|
-
function sendRequest(
|
|
51
|
+
function sendRequest(serializableExtras, storeDiff) {
|
|
51
52
|
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
-
const response = yield request(`/api/core/store`, { body: JSON.stringify(storeDiff), method: 'POST' },
|
|
53
|
+
const response = yield request(`/api/core/store`, { body: JSON.stringify(storeDiff), method: 'POST' }, serializableExtras.extras);
|
|
53
54
|
yield handleAuthErrors(response, true);
|
|
54
55
|
yield validateResponse(response, `Failed to sync the store values`);
|
|
55
56
|
});
|
|
56
57
|
}
|
|
57
58
|
// Send a request with each different set of extras
|
|
58
|
-
yield Promise.allSettled(Array.from(extrasMap.entries()).map(([
|
|
59
|
+
yield Promise.allSettled(Array.from(extrasMap.entries()).map(([serializableExtras, storeDiff]) => sendRequest(serializableExtras, storeDiff)));
|
|
59
60
|
}), []);
|
|
60
61
|
const listenToStoreChanges = React.useCallback(({ updateItem }) => {
|
|
61
62
|
if (!client) {
|
|
@@ -75,25 +76,13 @@ function BackendStoreSync({ children }) {
|
|
|
75
76
|
* @param requestExtras extras object to create the effect for; used to pass through correct extras to write requests
|
|
76
77
|
*/
|
|
77
78
|
function backendStoreEffect(variable, requestExtras) {
|
|
79
|
+
// Assumption: the set of extras is unique to the store, i.e. the variable will not be used under different sets of extras
|
|
80
|
+
STORE_EXTRAS_MAP.set(variable.store.uid, requestExtras);
|
|
78
81
|
return syncEffect({
|
|
79
82
|
/** Use store uid as the unique identifier */
|
|
80
83
|
itemKey: variable.store.uid,
|
|
81
84
|
refine: mixed(),
|
|
82
85
|
storeKey: 'BackendStore',
|
|
83
|
-
/**
|
|
84
|
-
* This customizes how the value is written to the diff object then passed to the write function in the sync component.
|
|
85
|
-
*/
|
|
86
|
-
write: ({ write }, newValue) => {
|
|
87
|
-
/*
|
|
88
|
-
Encode the request extras into the key used so they can be passed through to the request.
|
|
89
|
-
This is needed as we need to read the correct extras to use for the request in the BackendStoreSync component which receives
|
|
90
|
-
the diff created with this `write` function.
|
|
91
|
-
*/
|
|
92
|
-
write(JSON.stringify({
|
|
93
|
-
serializedExtras: requestExtras.toJSON(),
|
|
94
|
-
store_uid: variable.store.uid,
|
|
95
|
-
}), newValue);
|
|
96
|
-
},
|
|
97
86
|
});
|
|
98
87
|
}
|
|
99
88
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../js/shared/interactivity/persistence.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAA2B,UAAU,EAAc,UAAU,EAAE,MAAM,aAAa,CAAC;AAE1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAA4C,OAAO,EAAE,MAAM,YAAY,CAAC;AAI/E,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAiC;IACjE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../js/shared/interactivity/persistence.tsx"],"names":[],"mappings":"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"}
|
|
@@ -56323,40 +56323,38 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
|
|
|
56323
56323
|
writableObject: writableObject$1
|
|
56324
56324
|
};
|
|
56325
56325
|
var Refine_index_6 = Refine_index.mixed;
|
|
56326
|
+
const STORE_EXTRAS_MAP = /* @__PURE__ */ new Map();
|
|
56326
56327
|
function BackendStoreSync({ children }) {
|
|
56327
56328
|
const { client } = React__namespace.useContext(websocketCtx);
|
|
56328
|
-
const
|
|
56329
|
-
|
|
56330
|
-
|
|
56331
|
-
|
|
56332
|
-
|
|
56333
|
-
|
|
56334
|
-
|
|
56335
|
-
|
|
56336
|
-
},
|
|
56337
|
-
[extras]
|
|
56338
|
-
);
|
|
56329
|
+
const getStoreValue = React__namespace.useCallback(async (itemKey) => {
|
|
56330
|
+
const serializableExtras = STORE_EXTRAS_MAP.get(itemKey);
|
|
56331
|
+
const response = await request(`/api/core/store/${itemKey}`, {}, serializableExtras.extras);
|
|
56332
|
+
await handleAuthErrors(response, true);
|
|
56333
|
+
await validateResponse(response, `Failed to fetch the store value for key: ${itemKey}`);
|
|
56334
|
+
const val = await response.json();
|
|
56335
|
+
return val;
|
|
56336
|
+
}, []);
|
|
56339
56337
|
const syncStoreValues = React__namespace.useCallback(async ({ diff }) => {
|
|
56340
56338
|
const extrasMap = /* @__PURE__ */ new Map();
|
|
56341
|
-
for (const [
|
|
56342
|
-
const
|
|
56343
|
-
if (!extrasMap.has(
|
|
56344
|
-
extrasMap.set(
|
|
56339
|
+
for (const [itemKey, value] of diff.entries()) {
|
|
56340
|
+
const extras = STORE_EXTRAS_MAP.get(itemKey);
|
|
56341
|
+
if (!extrasMap.has(extras)) {
|
|
56342
|
+
extrasMap.set(extras, {});
|
|
56345
56343
|
}
|
|
56346
|
-
extrasMap.get(
|
|
56344
|
+
extrasMap.get(extras)[itemKey] = value;
|
|
56347
56345
|
}
|
|
56348
|
-
async function sendRequest(
|
|
56346
|
+
async function sendRequest(serializableExtras, storeDiff) {
|
|
56349
56347
|
const response = await request(
|
|
56350
56348
|
`/api/core/store`,
|
|
56351
56349
|
{ body: JSON.stringify(storeDiff), method: "POST" },
|
|
56352
|
-
|
|
56350
|
+
serializableExtras.extras
|
|
56353
56351
|
);
|
|
56354
56352
|
await handleAuthErrors(response, true);
|
|
56355
56353
|
await validateResponse(response, `Failed to sync the store values`);
|
|
56356
56354
|
}
|
|
56357
56355
|
await Promise.allSettled(
|
|
56358
56356
|
Array.from(extrasMap.entries()).map(
|
|
56359
|
-
([
|
|
56357
|
+
([serializableExtras, storeDiff]) => sendRequest(serializableExtras, storeDiff)
|
|
56360
56358
|
)
|
|
56361
56359
|
);
|
|
56362
56360
|
}, []);
|
|
@@ -56375,19 +56373,11 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
|
|
|
56375
56373
|
return /* @__PURE__ */ React__namespace.createElement(RecoilSync_index_1, { listen: listenToStoreChanges, read: getStoreValue, storeKey: "BackendStore", write: syncStoreValues }, children);
|
|
56376
56374
|
}
|
|
56377
56375
|
function backendStoreEffect(variable, requestExtras) {
|
|
56376
|
+
STORE_EXTRAS_MAP.set(variable.store.uid, requestExtras);
|
|
56378
56377
|
return RecoilSync_index_2({
|
|
56379
56378
|
itemKey: variable.store.uid,
|
|
56380
56379
|
refine: Refine_index_6(),
|
|
56381
|
-
storeKey: "BackendStore"
|
|
56382
|
-
write: ({ write: write2 }, newValue) => {
|
|
56383
|
-
write2(
|
|
56384
|
-
JSON.stringify({
|
|
56385
|
-
serializedExtras: requestExtras.toJSON(),
|
|
56386
|
-
store_uid: variable.store.uid
|
|
56387
|
-
}),
|
|
56388
|
-
newValue
|
|
56389
|
-
);
|
|
56390
|
-
}
|
|
56380
|
+
storeKey: "BackendStore"
|
|
56391
56381
|
});
|
|
56392
56382
|
}
|
|
56393
56383
|
function getSessionKey(extras, uid2) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@darajs/core",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.1",
|
|
4
4
|
"description": "Dara Framework core",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -113,5 +113,5 @@
|
|
|
113
113
|
"publishConfig": {
|
|
114
114
|
"access": "public"
|
|
115
115
|
},
|
|
116
|
-
"gitHead": "
|
|
116
|
+
"gitHead": "d68b7ad95cf8c9184fe8fdd1fa3cf438a8a50936"
|
|
117
117
|
}
|