@darajs/core 1.8.4 → 1.8.5
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.8.4-py3-none-any.whl → dara_core-1.8.5-py3-none-any.whl} +0 -0
- package/dist/shared/interactivity/data-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/data-variable.js +10 -2
- package/dist/shared/interactivity/data-variable.js.map +1 -1
- package/dist/shared/interactivity/use-data-variable.js +4 -4
- package/dist/shared/interactivity/use-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/use-variable.js +4 -3
- package/dist/shared/interactivity/use-variable.js.map +1 -1
- package/dist/types/event-types.d.ts +9 -1
- package/dist/types/event-types.d.ts.map +1 -1
- package/dist/umd/dara.core.umd.js +46 -41
- package/package.json +2 -2
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/data-variable.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAqC,MAAM,OAAO,CAAC;AACpF,OAAO,EAAE,aAAa,EAAW,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"data-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/data-variable.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,wBAAwB,EAAqC,MAAM,OAAO,CAAC;AACpF,OAAO,EAAE,aAAa,EAAW,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAMtH,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAG1D;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,YAAY,GAAG,oBAAoB,CAMhF;AA8BD;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,EAAE,WAAW,EACrB,UAAU,CAAC,EAAE,UAAU,GACxB,OAAO,CAAC,SAAS,CAAC,CAOpB;AAED,UAAU,YAAY;IAClB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,GAAG,GAAG,QAAQ,IAAI,YAAY,CAEtE;AAED;;;;;;;;;GASG;AACH,wBAAsB,wBAAwB,CAC1C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,WAAW,EACrB,UAAU,CAAC,EAAE,UAAU,GACxB,OAAO,CAAC,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC,CAU1C;AAyBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,YAAY,EACtB,oBAAoB,EAAE,MAAM,GAC7B,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,CAwB3E;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACvC,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,iBAAiB,EAC9B,QAAQ,EAAE,wBAAwB,EAClC,cAAc,EAAE,OAAO,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,GAC3D,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,YAAY,CAAC,CAqE3E;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAIjE"}
|
|
@@ -14,6 +14,7 @@ import { HTTP_METHOD, validateResponse } from '@darajs/ui-utils';
|
|
|
14
14
|
import { fetchTaskResult, handleAuthErrors } from '../../api';
|
|
15
15
|
import { request } from '../../api/http';
|
|
16
16
|
import { useRequestExtras } from '../context';
|
|
17
|
+
import { useEventBus } from '../event-bus/event-bus';
|
|
17
18
|
import { combineFilters } from './filtering';
|
|
18
19
|
import { atomRegistry } from './store';
|
|
19
20
|
/**
|
|
@@ -111,16 +112,19 @@ function fetchDataVariableCount(uid, extras, filters, cacheKey) {
|
|
|
111
112
|
* @param serverTriggerCounter a counter to force recreation of the callback
|
|
112
113
|
*/
|
|
113
114
|
export function useFetchDataVariable(variable, serverTriggerCounter) {
|
|
115
|
+
const eventBus = useEventBus();
|
|
114
116
|
const extras = useRequestExtras();
|
|
115
117
|
const dataCallback = useCallback((filters, pagination) => __awaiter(this, void 0, void 0, function* () {
|
|
116
118
|
const mergedFilters = combineFilters('AND', [variable.filters, filters]);
|
|
117
119
|
const data = yield fetchDataVariable(variable.uid, extras, mergedFilters, pagination);
|
|
118
120
|
const totalCount = yield fetchDataVariableCount(variable.uid, extras, mergedFilters);
|
|
121
|
+
// publish the event
|
|
122
|
+
eventBus.publish('DATA_VARIABLE_LOADED', { variable, value: { data, totalCount } });
|
|
119
123
|
return {
|
|
120
124
|
data,
|
|
121
125
|
totalCount,
|
|
122
126
|
};
|
|
123
|
-
}), [variable, extras, serverTriggerCounter]);
|
|
127
|
+
}), [variable, extras, serverTriggerCounter, eventBus]);
|
|
124
128
|
return dataCallback;
|
|
125
129
|
}
|
|
126
130
|
/**
|
|
@@ -133,6 +137,7 @@ export function useFetchDataVariable(variable, serverTriggerCounter) {
|
|
|
133
137
|
* @param dvValuePromise promise representing underlying derived variable state
|
|
134
138
|
*/
|
|
135
139
|
export function useFetchDerivedDataVariable(variable, taskContext, wsClient, dvValuePromise) {
|
|
140
|
+
const eventBus = useEventBus();
|
|
136
141
|
const extras = useRequestExtras();
|
|
137
142
|
const previousResult = useRef({ data: null, totalCount: 0 });
|
|
138
143
|
const dataCallback = useCallback((filters, pagination) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -152,6 +157,7 @@ export function useFetchDerivedDataVariable(variable, taskContext, wsClient, dvV
|
|
|
152
157
|
yield wsClient.waitForTask(taskId);
|
|
153
158
|
}
|
|
154
159
|
catch (_a) {
|
|
160
|
+
eventBus.publish('DERIVED_DATA_VARIABLE_LOADED', { variable, value: null });
|
|
155
161
|
// If an error occurred (i.e. task was cancelled) return the previous result.
|
|
156
162
|
// This would also cause the callback's identity to change so if the consuming component is
|
|
157
163
|
// honouring the contract, it should execute the callback again
|
|
@@ -170,11 +176,13 @@ export function useFetchDerivedDataVariable(variable, taskContext, wsClient, dvV
|
|
|
170
176
|
// As the total count could have changed because of the underlying DV changing
|
|
171
177
|
const totalCount = yield fetchDataVariableCount(variable.uid, extras, mergedFilters, dvValue.cache_key);
|
|
172
178
|
previousResult.current = { data, totalCount };
|
|
179
|
+
// publish the event
|
|
180
|
+
eventBus.publish('DERIVED_DATA_VARIABLE_LOADED', { variable, value: { data, totalCount } });
|
|
173
181
|
return {
|
|
174
182
|
data,
|
|
175
183
|
totalCount,
|
|
176
184
|
};
|
|
177
|
-
}), [variable, extras, dvValuePromise]);
|
|
185
|
+
}), [variable, extras, dvValuePromise, eventBus]);
|
|
178
186
|
return dataCallback;
|
|
179
187
|
}
|
|
180
188
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/data-variable.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"data-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/data-variable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -16,10 +16,10 @@ import { registerDataVariable, useDerivedVariable, useFetchDataVariable, useFetc
|
|
|
16
16
|
*/
|
|
17
17
|
export function useDataVariable(variable) {
|
|
18
18
|
const extras = useRequestExtras();
|
|
19
|
-
const { client:
|
|
19
|
+
const { client: wsClient } = useContext(WebSocketCtx);
|
|
20
20
|
if (isDataVariable(variable)) {
|
|
21
21
|
registerDataVariable(variable);
|
|
22
|
-
const serverTriggers$ = useMemo(() =>
|
|
22
|
+
const serverTriggers$ = useMemo(() => wsClient.serverTriggers$(variable.uid), []);
|
|
23
23
|
const [serverTriggerCounter, setServerTriggerCounter] = useState(0);
|
|
24
24
|
useEffect(() => {
|
|
25
25
|
const sub = serverTriggers$.subscribe(() => setServerTriggerCounter((c) => c + 1));
|
|
@@ -37,7 +37,7 @@ export function useDataVariable(variable) {
|
|
|
37
37
|
};
|
|
38
38
|
}, []);
|
|
39
39
|
const taskContext = useTaskContext();
|
|
40
|
-
const dvSelector = useDerivedVariable(variable,
|
|
40
|
+
const dvSelector = useDerivedVariable(variable, wsClient, taskContext, extras);
|
|
41
41
|
const dvLoadable = useRecoilValueLoadable(dvSelector);
|
|
42
42
|
// We can't directly use the loadable as the callback's dependency because the loadable identity
|
|
43
43
|
// changes whenever it also changes state; we only want to update it when there is a new value
|
|
@@ -48,7 +48,7 @@ export function useDataVariable(variable) {
|
|
|
48
48
|
setDvValue(dvLoadable.toPromise());
|
|
49
49
|
}
|
|
50
50
|
}, [dvLoadable]);
|
|
51
|
-
const fetchDerivedDataVariable = useFetchDerivedDataVariable(variable, taskContext,
|
|
51
|
+
const fetchDerivedDataVariable = useFetchDerivedDataVariable(variable, taskContext, wsClient, dvValue);
|
|
52
52
|
return fetchDerivedDataVariable;
|
|
53
53
|
}
|
|
54
54
|
//# sourceMappingURL=use-data-variable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/use-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAmC,MAAM,OAAO,CAAC;AAKlF,OAAO,EAAE,QAAQ,EAAuF,MAAM,SAAS,CAAC;AAmBxH;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"use-variable.d.ts","sourceRoot":"","sources":["../../../js/shared/interactivity/use-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAmC,MAAM,OAAO,CAAC;AAKlF,OAAO,EAAE,QAAQ,EAAuF,MAAM,SAAS,CAAC;AAmBxH;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAyDzG"}
|
|
@@ -49,8 +49,8 @@ export function useVariable(variable) {
|
|
|
49
49
|
const selector = useDerivedVariable(variable, WsClient, taskContext, extras);
|
|
50
50
|
const selectorLoadable = useRecoilValueLoadable_TRANSITION_SUPPORT_UNSTABLE(selector);
|
|
51
51
|
useEffect(() => {
|
|
52
|
-
if (selectorLoadable.state
|
|
53
|
-
bus.publish('DERIVED_VARIABLE_LOADED', { variable, value: selectorLoadable.contents
|
|
52
|
+
if (selectorLoadable.state !== 'loading') {
|
|
53
|
+
bus.publish('DERIVED_VARIABLE_LOADED', { variable, value: selectorLoadable.contents });
|
|
54
54
|
}
|
|
55
55
|
}, [selectorLoadable]);
|
|
56
56
|
const deferred = useDeferLoadable(selectorLoadable);
|
|
@@ -63,7 +63,8 @@ export function useVariable(variable) {
|
|
|
63
63
|
const [loadable, setLoadable] = useRecoilStateLoadable(recoilState);
|
|
64
64
|
const deferred = useDeferLoadable(loadable);
|
|
65
65
|
useEffect(() => {
|
|
66
|
-
|
|
66
|
+
// when loadable resolves to a value/error
|
|
67
|
+
if (loadable.state !== 'loading') {
|
|
67
68
|
bus.publish('PLAIN_VARIABLE_LOADED', { variable, value: loadable.contents });
|
|
68
69
|
}
|
|
69
70
|
}, [loadable]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/use-variable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,kDAAkD,EAAE,MAAM,QAAQ,CAAC;AAEpG,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAY,cAAc,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAExH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5F,mIAAmI;AACnI,+CAA+C;AAC/C,kFAAkF;AAClF,4DAA4D;AAC5D,gDAAgD;AAEhD;;GAEG;AACH,SAAS,wBAAwB;IAC7B,sCAAsC;IACtC,OAAO,CAAC,IAAI,CAAC,8FAA8F,CAAC,CAAC;AACjH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAI,QAAyB;IACpD,MAAM,MAAM,GAAG,gBAAgB,EAAE,CAAC;IAElC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,gBAAgB,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAE1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,2EAA2E;IAC3E,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrD,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,GAAG,EAAE;YACR,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,wEAAwE;IACxE,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,mCAAoC,QAAgB,CAAC,UAAoB,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAC7E,MAAM,gBAAgB,GAAG,kDAAkD,CAAC,QAAQ,CAAC,CAAC;QAEtF,SAAS,CAAC,GAAG,EAAE;YACX,IAAI,gBAAgB,CAAC,KAAK,KAAK,
|
|
1
|
+
{"version":3,"file":"use-variable.js","sourceRoot":"","sources":["../../../js/shared/interactivity/use-variable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ComponentInstance, DerivedVariable, Variable } from './core';
|
|
1
|
+
import { ComponentInstance, DataVariable, DerivedDataVariable, DerivedVariable, Variable } from './core';
|
|
2
2
|
/**
|
|
3
3
|
* Map of available global events,
|
|
4
4
|
* format: {eventName: eventData}
|
|
@@ -17,6 +17,14 @@ export interface DaraEventMap {
|
|
|
17
17
|
variable: Variable<any>;
|
|
18
18
|
value: any;
|
|
19
19
|
};
|
|
20
|
+
DATA_VARIABLE_LOADED: {
|
|
21
|
+
variable: DataVariable;
|
|
22
|
+
value: any;
|
|
23
|
+
};
|
|
24
|
+
DERIVED_DATA_VARIABLE_LOADED: {
|
|
25
|
+
variable: DerivedDataVariable;
|
|
26
|
+
value: any;
|
|
27
|
+
};
|
|
20
28
|
}
|
|
21
29
|
/**
|
|
22
30
|
* Event type
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../js/types/event-types.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../../js/types/event-types.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEzG;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,uBAAuB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,iBAAiB,CAAA;KAAE,CAAC;IACjF,uBAAuB,EAAE;QAAE,QAAQ,EAAE,eAAe,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;IACnE,qBAAqB,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;IAC/D,oBAAoB,EAAE;QAAE,QAAQ,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;IAC7D,4BAA4B,EAAE;QAAE,QAAQ,EAAE,mBAAmB,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC;CAC/E;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC;AAE/C,kDAAkD;AAClD,MAAM,MAAM,SAAS,GAAG;KACnB,CAAC,IAAI,aAAa,GAAG;QAAE,IAAI,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;KAAE;CAC3D,CAAC,aAAa,CAAC,CAAC"}
|
|
@@ -56085,6 +56085,38 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
|
|
|
56085
56085
|
function useUrlVariable(variable) {
|
|
56086
56086
|
return Recoil_index_22(getOrRegisterUrlVariable(variable));
|
|
56087
56087
|
}
|
|
56088
|
+
class EventBus {
|
|
56089
|
+
constructor(parentBus) {
|
|
56090
|
+
__privateAdd(this, _events$, new Subject());
|
|
56091
|
+
__privateAdd(this, _parentBus, null);
|
|
56092
|
+
__privateSet(this, _parentBus, parentBus != null ? parentBus : null);
|
|
56093
|
+
}
|
|
56094
|
+
publish(type, data) {
|
|
56095
|
+
__privateGet(this, _events$).next({ type, data });
|
|
56096
|
+
if (__privateGet(this, _parentBus)) {
|
|
56097
|
+
__privateGet(this, _parentBus).publish(type, data);
|
|
56098
|
+
}
|
|
56099
|
+
}
|
|
56100
|
+
subscribe(callback) {
|
|
56101
|
+
const sub = __privateGet(this, _events$).pipe().subscribe(callback);
|
|
56102
|
+
return () => sub.unsubscribe();
|
|
56103
|
+
}
|
|
56104
|
+
}
|
|
56105
|
+
_events$ = new WeakMap();
|
|
56106
|
+
_parentBus = new WeakMap();
|
|
56107
|
+
const DEFAULT_BUS = new EventBus();
|
|
56108
|
+
const EventBusContext = React__namespace.createContext(DEFAULT_BUS);
|
|
56109
|
+
function useEventBus() {
|
|
56110
|
+
return React__namespace.useContext(EventBusContext);
|
|
56111
|
+
}
|
|
56112
|
+
function EventCapturer({ children, onEvent }) {
|
|
56113
|
+
const parentBus = useEventBus();
|
|
56114
|
+
const bus = React__namespace.useMemo(() => new EventBus(parentBus), [parentBus]);
|
|
56115
|
+
React__namespace.useEffect(() => {
|
|
56116
|
+
return bus.subscribe(onEvent);
|
|
56117
|
+
}, [bus, onEvent]);
|
|
56118
|
+
return /* @__PURE__ */ React__namespace.createElement(EventBusContext.Provider, { value: bus }, children);
|
|
56119
|
+
}
|
|
56088
56120
|
function combineFilters(combinator, queries) {
|
|
56089
56121
|
const validQueries = queries.filter(Boolean);
|
|
56090
56122
|
if (validQueries.length === 0) {
|
|
@@ -56150,22 +56182,25 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
|
|
|
56150
56182
|
return response.json();
|
|
56151
56183
|
}
|
|
56152
56184
|
function useFetchDataVariable(variable, serverTriggerCounter) {
|
|
56185
|
+
const eventBus = useEventBus();
|
|
56153
56186
|
const extras = useRequestExtras();
|
|
56154
56187
|
const dataCallback = React.useCallback(
|
|
56155
56188
|
async (filters, pagination) => {
|
|
56156
56189
|
const mergedFilters = combineFilters("AND", [variable.filters, filters]);
|
|
56157
56190
|
const data = await fetchDataVariable(variable.uid, extras, mergedFilters, pagination);
|
|
56158
56191
|
const totalCount = await fetchDataVariableCount(variable.uid, extras, mergedFilters);
|
|
56192
|
+
eventBus.publish("DATA_VARIABLE_LOADED", { variable, value: { data, totalCount } });
|
|
56159
56193
|
return {
|
|
56160
56194
|
data,
|
|
56161
56195
|
totalCount
|
|
56162
56196
|
};
|
|
56163
56197
|
},
|
|
56164
|
-
[variable, extras, serverTriggerCounter]
|
|
56198
|
+
[variable, extras, serverTriggerCounter, eventBus]
|
|
56165
56199
|
);
|
|
56166
56200
|
return dataCallback;
|
|
56167
56201
|
}
|
|
56168
56202
|
function useFetchDerivedDataVariable(variable, taskContext, wsClient, dvValuePromise) {
|
|
56203
|
+
const eventBus = useEventBus();
|
|
56169
56204
|
const extras = useRequestExtras();
|
|
56170
56205
|
const previousResult = React.useRef({ data: null, totalCount: 0 });
|
|
56171
56206
|
const dataCallback = React.useCallback(
|
|
@@ -56189,6 +56224,7 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
|
|
|
56189
56224
|
try {
|
|
56190
56225
|
await wsClient.waitForTask(taskId);
|
|
56191
56226
|
} catch {
|
|
56227
|
+
eventBus.publish("DERIVED_DATA_VARIABLE_LOADED", { variable, value: null });
|
|
56192
56228
|
return previousResult.current;
|
|
56193
56229
|
} finally {
|
|
56194
56230
|
taskContext.endTask(taskId);
|
|
@@ -56199,12 +56235,13 @@ You must set sticky: 'left' | 'right' for the '${bugWithUnderColumnsSticky.Heade
|
|
|
56199
56235
|
}
|
|
56200
56236
|
const totalCount = await fetchDataVariableCount(variable.uid, extras, mergedFilters, dvValue.cache_key);
|
|
56201
56237
|
previousResult.current = { data, totalCount };
|
|
56238
|
+
eventBus.publish("DERIVED_DATA_VARIABLE_LOADED", { variable, value: { data, totalCount } });
|
|
56202
56239
|
return {
|
|
56203
56240
|
data,
|
|
56204
56241
|
totalCount
|
|
56205
56242
|
};
|
|
56206
56243
|
},
|
|
56207
|
-
[variable, extras, dvValuePromise]
|
|
56244
|
+
[variable, extras, dvValuePromise, eventBus]
|
|
56208
56245
|
);
|
|
56209
56246
|
return dataCallback;
|
|
56210
56247
|
}
|
|
@@ -57632,38 +57669,6 @@ Inferred class string: "${iconClasses}."`
|
|
|
57632
57669
|
const [styles2, css2] = parseRawCss((_a = props.config) == null ? void 0 : _a.raw_css);
|
|
57633
57670
|
return /* @__PURE__ */ React__default.default.createElement(ErrorDisplayWrapper, { $rawCss: css2, style: styles2 }, /* @__PURE__ */ React__default.default.createElement(ContentWrapper, null, /* @__PURE__ */ React__default.default.createElement(ErrorContent, null, /* @__PURE__ */ React__default.default.createElement(ErrorTitle$1, null, /* @__PURE__ */ React__default.default.createElement(IconWrapper, null, /* @__PURE__ */ React__default.default.createElement(ErrorIcon, { "aria-hidden": true, className: "fa-solid fa-circle-xmark fa-lg" })), (_c = (_b = props == null ? void 0 : props.config) == null ? void 0 : _b.title) != null ? _c : "Error"), /* @__PURE__ */ React__default.default.createElement(ErrorText$1, null, (_e2 = (_d = props == null ? void 0 : props.config) == null ? void 0 : _d.description) != null ? _e2 : "Try again or contact the application owner."))), props.resetErrorBoundary && /* @__PURE__ */ React__default.default.createElement(RetryButton, { onClick: () => props.resetErrorBoundary(props.error), type: "button" }, /* @__PURE__ */ React__default.default.createElement("i", { "aria-hidden": true, className: "fa-solid fa-rotate fa-xl" })));
|
|
57634
57671
|
}
|
|
57635
|
-
class EventBus {
|
|
57636
|
-
constructor(parentBus) {
|
|
57637
|
-
__privateAdd(this, _events$, new Subject());
|
|
57638
|
-
__privateAdd(this, _parentBus, null);
|
|
57639
|
-
__privateSet(this, _parentBus, parentBus != null ? parentBus : null);
|
|
57640
|
-
}
|
|
57641
|
-
publish(type, data) {
|
|
57642
|
-
__privateGet(this, _events$).next({ type, data });
|
|
57643
|
-
if (__privateGet(this, _parentBus)) {
|
|
57644
|
-
__privateGet(this, _parentBus).publish(type, data);
|
|
57645
|
-
}
|
|
57646
|
-
}
|
|
57647
|
-
subscribe(callback) {
|
|
57648
|
-
const sub = __privateGet(this, _events$).pipe().subscribe(callback);
|
|
57649
|
-
return () => sub.unsubscribe();
|
|
57650
|
-
}
|
|
57651
|
-
}
|
|
57652
|
-
_events$ = new WeakMap();
|
|
57653
|
-
_parentBus = new WeakMap();
|
|
57654
|
-
const DEFAULT_BUS = new EventBus();
|
|
57655
|
-
const EventBusContext = React__namespace.createContext(DEFAULT_BUS);
|
|
57656
|
-
function useEventBus() {
|
|
57657
|
-
return React__namespace.useContext(EventBusContext);
|
|
57658
|
-
}
|
|
57659
|
-
function EventCapturer({ children, onEvent }) {
|
|
57660
|
-
const parentBus = useEventBus();
|
|
57661
|
-
const bus = React__namespace.useMemo(() => new EventBus(parentBus), [parentBus]);
|
|
57662
|
-
React__namespace.useEffect(() => {
|
|
57663
|
-
return bus.subscribe(onEvent);
|
|
57664
|
-
}, [bus, onEvent]);
|
|
57665
|
-
return /* @__PURE__ */ React__namespace.createElement(EventBusContext.Provider, { value: bus }, children);
|
|
57666
|
-
}
|
|
57667
57672
|
function warnUpdateOnDerivedState() {
|
|
57668
57673
|
console.warn("You tried to call update on variable with derived state, this is a noop and will be ignored.");
|
|
57669
57674
|
}
|
|
@@ -57689,8 +57694,8 @@ Inferred class string: "${iconClasses}."`
|
|
|
57689
57694
|
const selector2 = useDerivedVariable(variable, WsClient, taskContext, extras);
|
|
57690
57695
|
const selectorLoadable = Recoil_index_28(selector2);
|
|
57691
57696
|
React.useEffect(() => {
|
|
57692
|
-
if (selectorLoadable.state
|
|
57693
|
-
bus.publish("DERIVED_VARIABLE_LOADED", { variable, value: selectorLoadable.contents
|
|
57697
|
+
if (selectorLoadable.state !== "loading") {
|
|
57698
|
+
bus.publish("DERIVED_VARIABLE_LOADED", { variable, value: selectorLoadable.contents });
|
|
57694
57699
|
}
|
|
57695
57700
|
}, [selectorLoadable]);
|
|
57696
57701
|
const deferred2 = useDeferLoadable(selectorLoadable);
|
|
@@ -57703,7 +57708,7 @@ Inferred class string: "${iconClasses}."`
|
|
|
57703
57708
|
const [loadable, setLoadable] = Recoil_index_23(recoilState);
|
|
57704
57709
|
const deferred = useDeferLoadable(loadable);
|
|
57705
57710
|
React.useEffect(() => {
|
|
57706
|
-
if (loadable.state
|
|
57711
|
+
if (loadable.state !== "loading") {
|
|
57707
57712
|
bus.publish("PLAIN_VARIABLE_LOADED", { variable, value: loadable.contents });
|
|
57708
57713
|
}
|
|
57709
57714
|
}, [loadable]);
|
|
@@ -57711,10 +57716,10 @@ Inferred class string: "${iconClasses}."`
|
|
|
57711
57716
|
}
|
|
57712
57717
|
function useDataVariable(variable) {
|
|
57713
57718
|
const extras = useRequestExtras();
|
|
57714
|
-
const { client:
|
|
57719
|
+
const { client: wsClient } = React.useContext(websocketCtx);
|
|
57715
57720
|
if (isDataVariable(variable)) {
|
|
57716
57721
|
registerDataVariable(variable);
|
|
57717
|
-
const serverTriggers$ = React.useMemo(() =>
|
|
57722
|
+
const serverTriggers$ = React.useMemo(() => wsClient.serverTriggers$(variable.uid), []);
|
|
57718
57723
|
const [serverTriggerCounter, setServerTriggerCounter] = React.useState(0);
|
|
57719
57724
|
React.useEffect(() => {
|
|
57720
57725
|
const sub = serverTriggers$.subscribe(() => setServerTriggerCounter((c2) => c2 + 1));
|
|
@@ -57731,7 +57736,7 @@ Inferred class string: "${iconClasses}."`
|
|
|
57731
57736
|
};
|
|
57732
57737
|
}, []);
|
|
57733
57738
|
const taskContext = useTaskContext();
|
|
57734
|
-
const dvSelector = useDerivedVariable(variable,
|
|
57739
|
+
const dvSelector = useDerivedVariable(variable, wsClient, taskContext, extras);
|
|
57735
57740
|
const dvLoadable = Recoil_index_21(dvSelector);
|
|
57736
57741
|
const [dvValue, setDvValue] = React.useState(dvLoadable.toPromise());
|
|
57737
57742
|
React.useEffect(() => {
|
|
@@ -57739,7 +57744,7 @@ Inferred class string: "${iconClasses}."`
|
|
|
57739
57744
|
setDvValue(dvLoadable.toPromise());
|
|
57740
57745
|
}
|
|
57741
57746
|
}, [dvLoadable]);
|
|
57742
|
-
const fetchDerivedDataVariable2 = useFetchDerivedDataVariable(variable, taskContext,
|
|
57747
|
+
const fetchDerivedDataVariable2 = useFetchDerivedDataVariable(variable, taskContext, wsClient, dvValue);
|
|
57743
57748
|
return fetchDerivedDataVariable2;
|
|
57744
57749
|
}
|
|
57745
57750
|
function useAnyVariable(variable) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@darajs/core",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.5",
|
|
4
4
|
"description": "Dara Framework core",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -118,5 +118,5 @@
|
|
|
118
118
|
"publishConfig": {
|
|
119
119
|
"access": "public"
|
|
120
120
|
},
|
|
121
|
-
"gitHead": "
|
|
121
|
+
"gitHead": "f4c1285e26248fd773de207552542e357fe66553"
|
|
122
122
|
}
|