@gooddata/sdk-ui 10.22.0-alpha.5 → 10.22.0-alpha.51
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/esm/base/index.d.ts +2 -0
- package/esm/base/index.d.ts.map +1 -1
- package/esm/base/index.js +2 -1
- package/esm/base/index.js.map +1 -1
- package/esm/base/localization/bundles/de-DE.json +9 -1
- package/esm/base/localization/bundles/en-AU.json +9 -1
- package/esm/base/localization/bundles/en-GB.json +9 -1
- package/esm/base/localization/bundles/en-US.json +31 -1
- package/esm/base/localization/bundles/es-419.json +9 -1
- package/esm/base/localization/bundles/es-ES.json +9 -1
- package/esm/base/localization/bundles/fi-FI.json +9 -1
- package/esm/base/localization/bundles/fr-CA.json +9 -1
- package/esm/base/localization/bundles/fr-FR.json +9 -1
- package/esm/base/localization/bundles/it-IT.json +9 -1
- package/esm/base/localization/bundles/ja-JP.json +9 -1
- package/esm/base/localization/bundles/nl-NL.json +9 -1
- package/esm/base/localization/bundles/pt-BR.json +9 -1
- package/esm/base/localization/bundles/pt-PT.json +9 -1
- package/esm/base/localization/bundles/zh-HK.json +9 -1
- package/esm/base/localization/bundles/zh-Hans.json +9 -1
- package/esm/base/localization/bundles/zh-Hant.json +9 -1
- package/esm/base/react/CancelablePromise.d.ts +1 -1
- package/esm/base/react/CancelablePromise.d.ts.map +1 -1
- package/esm/base/react/CancelablePromise.js +32 -18
- package/esm/base/react/CancelablePromise.js.map +1 -1
- package/esm/base/react/CorrelationContext.d.ts +70 -0
- package/esm/base/react/CorrelationContext.d.ts.map +1 -0
- package/esm/base/react/CorrelationContext.js +101 -0
- package/esm/base/react/CorrelationContext.js.map +1 -0
- package/esm/base/react/PromiseCache.js +2 -2
- package/esm/base/react/PromiseCache.js.map +1 -1
- package/esm/base/react/useCancelablePromise.d.ts +8 -1
- package/esm/base/react/useCancelablePromise.d.ts.map +1 -1
- package/esm/base/react/useCancelablePromise.js +3 -3
- package/esm/base/react/useCancelablePromise.js.map +1 -1
- package/esm/base/vis/export.js +1 -1
- package/esm/execution/DataViewLoader.d.ts +6 -0
- package/esm/execution/DataViewLoader.d.ts.map +1 -1
- package/esm/execution/DataViewLoader.js +13 -2
- package/esm/execution/DataViewLoader.js.map +1 -1
- package/esm/execution/Execute.d.ts +9 -0
- package/esm/execution/Execute.d.ts.map +1 -1
- package/esm/execution/Execute.js +2 -1
- package/esm/execution/Execute.js.map +1 -1
- package/esm/execution/ExecuteInsight.d.ts +9 -0
- package/esm/execution/ExecuteInsight.d.ts.map +1 -1
- package/esm/execution/ExecuteInsight.js +3 -2
- package/esm/execution/ExecuteInsight.js.map +1 -1
- package/esm/execution/RawExecute.d.ts +9 -0
- package/esm/execution/RawExecute.d.ts.map +1 -1
- package/esm/execution/RawExecute.js +2 -1
- package/esm/execution/RawExecute.js.map +1 -1
- package/esm/execution/useExecutionDataView.d.ts +9 -0
- package/esm/execution/useExecutionDataView.d.ts.map +1 -1
- package/esm/execution/useExecutionDataView.js +20 -12
- package/esm/execution/useExecutionDataView.js.map +1 -1
- package/esm/execution/useInsightDataView.d.ts +9 -0
- package/esm/execution/useInsightDataView.d.ts.map +1 -1
- package/esm/execution/useInsightDataView.js +2 -1
- package/esm/execution/useInsightDataView.js.map +1 -1
- package/esm/execution/withExecution.d.ts +9 -0
- package/esm/execution/withExecution.d.ts.map +1 -1
- package/esm/execution/withExecution.js +11 -4
- package/esm/execution/withExecution.js.map +1 -1
- package/esm/execution/withExecutionLoading.d.ts +11 -1
- package/esm/execution/withExecutionLoading.d.ts.map +1 -1
- package/esm/execution/withExecutionLoading.js +7 -4
- package/esm/execution/withExecutionLoading.js.map +1 -1
- package/esm/index.d.ts +2 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -1
- package/esm/index.js.map +1 -1
- package/esm/sdk-ui.d.ts +154 -3
- package/package.json +8 -8
@@ -0,0 +1,101 @@
|
|
1
|
+
// (C) 2024-2025 GoodData Corporation
|
2
|
+
import React, { useMemo } from "react";
|
3
|
+
import { useBackend, BackendProvider } from "./BackendContext.js";
|
4
|
+
/**
|
5
|
+
* Context for storing request correlation metadata across components
|
6
|
+
*/
|
7
|
+
const CorrelationContext = React.createContext({});
|
8
|
+
CorrelationContext.displayName = "CorrelationContext";
|
9
|
+
/**
|
10
|
+
* CorrelationProvider provides request correlation metadata to components.
|
11
|
+
* When nested, correlation metadata from ancestor providers is merged with the current provider.
|
12
|
+
*
|
13
|
+
* @public
|
14
|
+
*/
|
15
|
+
export const CorrelationProvider = ({ children, correlationData }) => {
|
16
|
+
// Get parent correlation metadata to merge with
|
17
|
+
const parentCorrelationData = useCorrelationData();
|
18
|
+
const memoizedAdditionalCorrelationData = useMemo(() => {
|
19
|
+
return correlationData;
|
20
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
21
|
+
}, [JSON.stringify(correlationData)]);
|
22
|
+
// Merge parent data with our data (newer values override)
|
23
|
+
const mergedData = useMemo(() => {
|
24
|
+
return { ...parentCorrelationData, ...memoizedAdditionalCorrelationData };
|
25
|
+
}, [parentCorrelationData, memoizedAdditionalCorrelationData]);
|
26
|
+
return React.createElement(CorrelationContext.Provider, { value: mergedData }, children);
|
27
|
+
};
|
28
|
+
/**
|
29
|
+
* Hook to get correlation metadata from the nearest correlation provider.
|
30
|
+
*
|
31
|
+
* @public
|
32
|
+
*/
|
33
|
+
export const useCorrelationData = () => {
|
34
|
+
return React.useContext(CorrelationContext);
|
35
|
+
};
|
36
|
+
/**
|
37
|
+
* Hook to get a backend instance with correlation metadata from context,
|
38
|
+
* and optionally merge them with additional correlation metadata provided as a parameter.
|
39
|
+
*
|
40
|
+
* @remarks
|
41
|
+
* This hook enhances the backend from useBackend() with correlation metadata
|
42
|
+
* from the nearest CorrelationProvider.
|
43
|
+
*
|
44
|
+
* @param backend - optional backend override
|
45
|
+
* @param correlationMetadata - optional correlation metadata to merge with the context data
|
46
|
+
* @public
|
47
|
+
*/
|
48
|
+
export const useBackendWithCorrelation = (backend, correlationMetadata) => {
|
49
|
+
const contextBackend = useBackend();
|
50
|
+
const effectiveBackend = backend ?? contextBackend;
|
51
|
+
const correlationData = useCorrelationData();
|
52
|
+
const memoizedAdditionalCorrelationData = useMemo(() => {
|
53
|
+
return correlationMetadata;
|
54
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
55
|
+
}, [JSON.stringify(correlationMetadata)]);
|
56
|
+
// Merge correlation data from context with metadata parameter, giving priority to context data
|
57
|
+
const mergedCorrelationData = useMemo(() => {
|
58
|
+
return { ...correlationData, ...memoizedAdditionalCorrelationData };
|
59
|
+
}, [correlationData, memoizedAdditionalCorrelationData]);
|
60
|
+
return useMemo(() => {
|
61
|
+
if (!effectiveBackend || Object.keys(mergedCorrelationData).length === 0) {
|
62
|
+
return effectiveBackend;
|
63
|
+
}
|
64
|
+
return effectiveBackend.withCorrelation(mergedCorrelationData);
|
65
|
+
}, [effectiveBackend, mergedCorrelationData]);
|
66
|
+
};
|
67
|
+
/**
|
68
|
+
* Combined provider for both backend and correlation metadata.
|
69
|
+
* This is a convenience component that wraps BackendProvider and CorrelationProvider
|
70
|
+
* to provide both a backend instance and correlation metadata to components.
|
71
|
+
*
|
72
|
+
* @public
|
73
|
+
*/
|
74
|
+
export const BackendProviderWithCorrelation = ({ backend: externalBackend, correlationData, children, }) => {
|
75
|
+
// Get existing backend from context if not provided
|
76
|
+
const contextBackend = useBackend();
|
77
|
+
const baseBackend = externalBackend || contextBackend;
|
78
|
+
// Get parent correlation metadata and merge
|
79
|
+
const parentCorrelationData = useCorrelationData();
|
80
|
+
const memoizedAdditionalCorrelationData = useMemo(() => {
|
81
|
+
return correlationData;
|
82
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
83
|
+
}, [JSON.stringify(correlationData)]);
|
84
|
+
const mergedData = useMemo(() => {
|
85
|
+
return { ...parentCorrelationData, ...memoizedAdditionalCorrelationData };
|
86
|
+
}, [parentCorrelationData, memoizedAdditionalCorrelationData]);
|
87
|
+
// Create enhanced backend with correlation metadata
|
88
|
+
const enhancedBackend = useMemo(() => {
|
89
|
+
if (!baseBackend) {
|
90
|
+
return baseBackend;
|
91
|
+
}
|
92
|
+
return baseBackend.withCorrelation(mergedData);
|
93
|
+
}, [baseBackend, mergedData]);
|
94
|
+
// If we have no backend at all, just provide the correlation metadata
|
95
|
+
if (!baseBackend) {
|
96
|
+
return React.createElement(CorrelationProvider, { correlationData: correlationData }, children);
|
97
|
+
}
|
98
|
+
// Otherwise provide both enhanced backend and correlation metadata
|
99
|
+
return (React.createElement(CorrelationContext.Provider, { value: mergedData }, enhancedBackend ? React.createElement(BackendProvider, { backend: enhancedBackend }, children) : null));
|
100
|
+
};
|
101
|
+
//# sourceMappingURL=CorrelationContext.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CorrelationContext.js","sourceRoot":"","sources":["../../../src/base/react/CorrelationContext.tsx"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// (C) 2007-
|
1
|
+
// (C) 2007-2025 GoodData Corporation
|
2
2
|
import { makeCancelable } from "./CancelablePromise.js";
|
3
3
|
import values from "lodash/values.js";
|
4
4
|
/**
|
@@ -54,7 +54,7 @@ export class PromiseCache {
|
|
54
54
|
if (cachedPromise) {
|
55
55
|
return cachedPromise.promise;
|
56
56
|
}
|
57
|
-
const cancelablePromise = makeCancelable(this.handler(params));
|
57
|
+
const cancelablePromise = makeCancelable(() => this.handler(params));
|
58
58
|
cancelablePromise.promise
|
59
59
|
.then((result) => (this.results[cacheKey] = result))
|
60
60
|
.catch((error) => (this.errors[cacheKey] = error));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"PromiseCache.js","sourceRoot":"","sources":["../../../src/base/react/PromiseCache.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAsB,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC;;;;GAIG;AACH,MAAM,OAAO,YAAY;IAeA;IACA;IAfb,QAAQ,GAEZ,EAAE,CAAC;IACC,MAAM,GAEV,EAAE,CAAC;IACC,OAAO,GAEX,EAAE,CAAC;IACC,MAAM,GAEV,EAAE,CAAC;IAEP,YACqB,OAA8C,EAC9C,cAA2C,IAAI,CAAC,SAAS;QADzD,YAAO,GAAP,OAAO,CAAuC;QAC9C,gBAAW,GAAX,WAAW,CAA8C;IAC3E,CAAC;IAEG,SAAS,GAAG,CAAC,MAAe,EAAuB,EAAE;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC,CAAC;IAEK,QAAQ,GAAG,CAAC,MAAe,EAAsB,EAAE;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC,CAAC;IAEK,UAAU,GAAG,CAAC,MAAe,EAAgC,EAAE;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACvC,OAAO,aAAa,CAAC,OAAO,CAAC;QACjC,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IAEK,KAAK,GAAG,GAAS,EAAE;QACtB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC,CAAC;IAEK,MAAM,GAAG,CAAC,MAAe,EAAQ,EAAE;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,iBAAiB,EAAE,CAAC;YACpB,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC/B,CAAC;IACL,CAAC,CAAC;IAEK,IAAI,GAAG,CAAC,MAAe,EAAoB,EAAE;QAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,aAAa,EAAE,CAAC;YAChB,OAAO,aAAa,CAAC,OAAO,CAAC;QACjC,CAAC;QACD,MAAM,iBAAiB,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"PromiseCache.js","sourceRoot":"","sources":["../../../src/base/react/PromiseCache.ts"],"names":[],"mappings":"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"}
|
@@ -77,7 +77,14 @@ export type UseCancelablePromiseCallbacks<TResult, TError> = {
|
|
77
77
|
* @public
|
78
78
|
*/
|
79
79
|
export type UseCancelablePromiseOptions<TResult, TError> = UseCancelablePromiseCallbacks<TResult, TError> & {
|
80
|
-
promise: (() => Promise<TResult>) | undefined | null;
|
80
|
+
promise: ((signal: AbortSignal) => Promise<TResult>) | undefined | null;
|
81
|
+
/**
|
82
|
+
* Optionally enable the AbortController that will be aborted when the dependency list changes, if the promise is still running.
|
83
|
+
*
|
84
|
+
* Note that the provided promise implementation must support cancellation by handling
|
85
|
+
* the AbortSignal parameter.
|
86
|
+
*/
|
87
|
+
enableAbortController?: boolean;
|
81
88
|
};
|
82
89
|
/**
|
83
90
|
* This hook provides easy way to work with Promises in React components.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useCancelablePromise.d.ts","sourceRoot":"","sources":["../../../src/base/react/useCancelablePromise.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAuB,MAAM,OAAO,CAAC;AAM5D;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAErF;;;GAGG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC3C,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC3C,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,8BAA8B,CAAC,MAAM,IAAI;IACjD,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gCAAgC,CAAC,OAAO,IAAI;IACpD,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,yBAAyB,CAAC,OAAO,EAAE,MAAM,IAC/C,gCAAgC,GAChC,gCAAgC,GAChC,8BAA8B,CAAC,MAAM,CAAC,GACtC,gCAAgC,CAAC,OAAO,CAAC,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,6BAA6B,CAAC,OAAO,EAAE,MAAM,IAAI;IACzD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,CAAC,OAAO,EAAE,MAAM,IAAI,6BAA6B,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG;IACxG,OAAO,EAAE,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;
|
1
|
+
{"version":3,"file":"useCancelablePromise.d.ts","sourceRoot":"","sources":["../../../src/base/react/useCancelablePromise.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAuB,MAAM,OAAO,CAAC;AAM5D;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAErF;;;GAGG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC3C,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC3C,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,8BAA8B,CAAC,MAAM,IAAI;IACjD,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gCAAgC,CAAC,OAAO,IAAI;IACpD,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,yBAAyB,CAAC,OAAO,EAAE,MAAM,IAC/C,gCAAgC,GAChC,gCAAgC,GAChC,8BAA8B,CAAC,MAAM,CAAC,GACtC,gCAAgC,CAAC,OAAO,CAAC,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,6BAA6B,CAAC,OAAO,EAAE,MAAM,IAAI;IACzD;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,CAAC,OAAO,EAAE,MAAM,IAAI,6BAA6B,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG;IACxG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IACxE;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,EACtD,OAAO,EAAE,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,EACrD,IAAI,CAAC,EAAE,cAAc,GACtB,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAoG5C"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// (C) 2019-
|
1
|
+
// (C) 2019-2025 GoodData Corporation
|
2
2
|
import { useEffect, useState } from "react";
|
3
3
|
import { makeCancelable } from "./CancelablePromise.js";
|
4
4
|
import noop from "lodash/noop.js";
|
@@ -21,7 +21,7 @@ import { safeSerialize } from "./safeSerialize.js";
|
|
21
21
|
* @public
|
22
22
|
*/
|
23
23
|
export function useCancelablePromise(options, deps) {
|
24
|
-
const { promise, onLoading = noop, onPending = noop, onCancel = noop, onSuccess = noop, onError = noop, } = options;
|
24
|
+
const { promise, onLoading = noop, onPending = noop, onCancel = noop, onSuccess = noop, onError = noop, enableAbortController = false, } = options;
|
25
25
|
const getInitialState = () => ({
|
26
26
|
result: undefined,
|
27
27
|
error: undefined,
|
@@ -50,7 +50,7 @@ export function useCancelablePromise(options, deps) {
|
|
50
50
|
}
|
51
51
|
onLoading();
|
52
52
|
}
|
53
|
-
const cancelablePromise = makeCancelable(promise());
|
53
|
+
const cancelablePromise = makeCancelable((signal) => promise(signal), enableAbortController);
|
54
54
|
cancelablePromise.promise
|
55
55
|
.then((result) => {
|
56
56
|
// Because promises have their own lifecycle independent on react lifecycle,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useCancelablePromise.js","sourceRoot":"","sources":["../../../src/base/react/useCancelablePromise.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAkB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
1
|
+
{"version":3,"file":"useCancelablePromise.js","sourceRoot":"","sources":["../../../src/base/react/useCancelablePromise.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAkB,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAqGnD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,oBAAoB,CAChC,OAAqD,EACrD,IAAqB;IAErB,MAAM,EACF,OAAO,EACP,SAAS,GAAG,IAAI,EAChB,SAAS,GAAG,IAAI,EAChB,QAAQ,GAAG,IAAI,EACf,SAAS,GAAG,IAAI,EAChB,OAAO,GAAG,IAAI,EACd,qBAAqB,GAAG,KAAK,GAChC,GAAG,OAAO,CAAC;IAEZ,MAAM,eAAe,GAAG,GAA+C,EAAE,CAAC,CAAC;QACvE,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;KAC1C,CAAC,CAAC;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,QAAQ,CAAC;oBACL,MAAM,EAAE,SAAS;oBACjB,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,SAAS;iBACnB,CAAC,CAAC;YACP,CAAC;YACD,SAAS,EAAE,CAAC;YACZ,OAAO;QACX,CAAC;aAAM,CAAC;YACJ,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,QAAQ,CAAC;oBACL,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,SAAS;iBACpB,CAAC,CAAC;YACP,CAAC;YACD,SAAS,EAAE,CAAC;QAChB,CAAC;QAED,MAAM,iBAAiB,GAAG,cAAc,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAE7F,iBAAiB,CAAC,OAAO;aACpB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACb,4EAA4E;YAC5E,iFAAiF;YACjF,sCAAsC;YACtC,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC;gBACtC,QAAQ,CAAC;oBACL,MAAM,EAAE,SAAS;oBACjB,MAAM;oBACN,KAAK,EAAE,SAAS;iBACnB,CAAC,CAAC;gBACH,SAAS,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;QACL,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,4EAA4E;YAC5E,iFAAiF;YACjF,sCAAsC;YACtC,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,CAAC;gBACtC,QAAQ,CAAC;oBACL,MAAM,EAAE,OAAO;oBACf,MAAM,EAAE,SAAS;oBACjB,KAAK;iBACR,CAAC,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACL,CAAC,CAAC,CAAC;QAEP,OAAO,GAAG,EAAE;YACR,sEAAsE;YACtE,2GAA2G;YAC3G,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE,CAAC;gBACvC,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAC3B,QAAQ,EAAE,CAAC;YACf,CAAC;QACL,CAAC,CAAC;IACN,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,iFAAiF;IACjF,8CAA8C;IAC9C,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,QAAQ,EAAE,MAAM,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,kBAAkB,CACxB;;YAEA,aAAa,CAAC,QAAQ,CAAC;YACvB,aAAa,CAAC,IAAI,CAAC,EAAE,CACxB,CAAC;IACN,CAAC;IAED,IAAI,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;QACvC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvB,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
package/esm/base/vis/export.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
// (C) 2007-
|
1
|
+
// (C) 2007-2025 GoodData Corporation
|
2
2
|
const escapeFileName = (str) => str?.replace(/[/?<>\\:*|"]/g, "");
|
3
3
|
function buildExportRequestConfig(exportConfig, exportTitle) {
|
4
4
|
const { format, includeFilterContext, mergeHeaders, title: customTitle } = exportConfig;
|
@@ -52,6 +52,12 @@ export declare class DataViewLoader {
|
|
52
52
|
* @alpha
|
53
53
|
*/
|
54
54
|
withTotals: (...totals: ITotal[]) => DataViewLoader;
|
55
|
+
/**
|
56
|
+
* Runs execution with the provided AbortSignal.
|
57
|
+
*
|
58
|
+
* @alpha
|
59
|
+
*/
|
60
|
+
withSignal: (signal: AbortSignal) => DataViewLoader;
|
55
61
|
/**
|
56
62
|
* Loads subset of the result data and wraps them in {@link DataViewFacade}.
|
57
63
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DataViewLoader.d.ts","sourceRoot":"","sources":["../../src/execution/DataViewLoader.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1G,OAAO,EAAE,kBAAkB,EAAoB,MAAM,2BAA2B,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"DataViewLoader.d.ts","sourceRoot":"","sources":["../../src/execution/DataViewLoader.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC1G,OAAO,EAAE,kBAAkB,EAAoB,MAAM,2BAA2B,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAmBlD;;;;GAIG;AACH,qBAAa,cAAc;IAEnB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAH5B,OAAO;IAMP;;;;OAIG;WACW,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc;IAIjF;;;;;;;;OAQG;IACI,UAAU,oCAAqC,mBAAmB,EAAE,KAAG,cAAc,CAE1F;IAEF;;;;OAIG;IACI,UAAU,kBAAmB,UAAU,EAAE,KAAG,cAAc,CAE/D;IAEF;;;;OAIG;IACI,QAAQ,eAAgB,eAAe,EAAE,KAAG,cAAc,CAE/D;IAEF;;;;OAIG;IACI,MAAM,aAAc,SAAS,EAAE,KAAG,cAAc,CAErD;IAEF;;;;OAIG;IACI,UAAU,cAAe,MAAM,EAAE,KAAG,cAAc,CAEvD;IAEF;;;;OAIG;IACI,UAAU,WAAY,WAAW,KAAG,cAAc,CAEvD;IAEF;;;;OAIG;IACI,UAAU,eAAsB,cAAc,KAAG,QAAQ,cAAc,CAAC,CAI7E;IAEF;;;;OAIG;IACI,OAAO,QAAa,QAAQ,cAAc,CAAC,CAIhD;IAEF,OAAO,CAAC,UAAU,CAgBhB;IAEF,OAAO,CAAC,oBAAoB,CAE1B;CACL"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// (C) 2019-
|
1
|
+
// (C) 2019-2025 GoodData Corporation
|
2
2
|
import { invariant } from "ts-invariant";
|
3
3
|
import { createExecution } from "./createExecution.js";
|
4
4
|
import { DataViewFacade } from "../base/index.js";
|
@@ -68,6 +68,14 @@ export class DataViewLoader {
|
|
68
68
|
withTotals = (...totals) => {
|
69
69
|
return this.newLoaderWithOptions({ totals });
|
70
70
|
};
|
71
|
+
/**
|
72
|
+
* Runs execution with the provided AbortSignal.
|
73
|
+
*
|
74
|
+
* @alpha
|
75
|
+
*/
|
76
|
+
withSignal = (signal) => {
|
77
|
+
return this.newLoaderWithOptions({ signal });
|
78
|
+
};
|
71
79
|
/**
|
72
80
|
* Loads subset of the result data and wraps them in {@link DataViewFacade}.
|
73
81
|
*
|
@@ -90,13 +98,16 @@ export class DataViewLoader {
|
|
90
98
|
};
|
91
99
|
loadResult = async () => {
|
92
100
|
invariant(this.options.seriesBy, "You need to specify series before loading the results.");
|
93
|
-
|
101
|
+
let execution = createExecution({
|
94
102
|
backend: this.backend,
|
95
103
|
workspace: this.workspace,
|
96
104
|
seriesBy: this.options.seriesBy,
|
97
105
|
componentName: "DataViewLoader",
|
98
106
|
...this.options,
|
99
107
|
});
|
108
|
+
if (this.options.signal) {
|
109
|
+
execution = execution.withSignal(this.options.signal);
|
110
|
+
}
|
100
111
|
return execution.execute();
|
101
112
|
};
|
102
113
|
newLoaderWithOptions = (options) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DataViewLoader.js","sourceRoot":"","sources":["../../src/execution/DataViewLoader.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"DataViewLoader.js","sourceRoot":"","sources":["../../src/execution/DataViewLoader.tsx"],"names":[],"mappings":"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"}
|
@@ -89,6 +89,15 @@ export interface IExecuteProps extends IWithLoadingEvents<IExecuteProps> {
|
|
89
89
|
* If not specified, all data will be loaded.
|
90
90
|
*/
|
91
91
|
window?: DataViewWindow;
|
92
|
+
/**
|
93
|
+
* Optionally enable real execution cancellation.
|
94
|
+
*
|
95
|
+
* This means that if the execution request is not yet finished and the execution changes,
|
96
|
+
* the request will be cancelled and the new execution will be started.
|
97
|
+
*
|
98
|
+
* Default: false
|
99
|
+
*/
|
100
|
+
enableExecutionCancelling?: boolean;
|
92
101
|
/**
|
93
102
|
* Child component to which rendering is delegated.
|
94
103
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Execute.d.ts","sourceRoot":"","sources":["../../src/execution/Execute.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAElG,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAGH,gCAAgC,EAChC,wBAAwB,EACxB,oBAAoB,EACpB,6BAA6B,EAC7B,mBAAmB,EAEtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEnF;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,kBAAkB,CAAC,aAAa,CAAC;IACpE;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,gCAAgC,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IAEpC;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,6BAA6B,CAAC;IAExC;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAE7B;;OAEG;IACH,6BAA6B,CAAC,EAAE,GAAG,CAAC;IAEpC;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;;;;OAOG;IACH,QAAQ,EAAE,CAAC,eAAe,EAAE,iBAAiB,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAE5E;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAE5C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;CAC3C;
|
1
|
+
{"version":3,"file":"Execute.d.ts","sourceRoot":"","sources":["../../src/execution/Execute.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAElG,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAGH,gCAAgC,EAChC,wBAAwB,EACxB,oBAAoB,EACpB,6BAA6B,EAC7B,mBAAmB,EAEtB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEnF;;;GAGG;AACH,MAAM,WAAW,aAAc,SAAQ,kBAAkB,CAAC,aAAa,CAAC;IACpE;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,EAAE,gCAAgC,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IAEpC;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,6BAA6B,CAAC;IAExC;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAE7B;;OAEG;IACH,6BAA6B,CAAC,EAAE,GAAG,CAAC;IAEpC;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;;;;OAOG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;;;;;OAOG;IACH,QAAQ,EAAE,CAAC,eAAe,EAAE,iBAAiB,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAE5E;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAE5C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAoGD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,OAAO,UAAW,aAAa,sBAO3C,CAAC"}
|
package/esm/execution/Execute.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
// (C) 2019-
|
1
|
+
// (C) 2019-2025 GoodData Corporation
|
2
2
|
import React from "react";
|
3
3
|
import { withExecution } from "./withExecution.js";
|
4
4
|
import isEqual from "lodash/isEqual.js";
|
@@ -29,6 +29,7 @@ function exportTitle(props) {
|
|
29
29
|
return props.exportTitle || componentName(props);
|
30
30
|
}
|
31
31
|
const WrappedExecute = withContexts(withExecution({
|
32
|
+
enableExecutionCancelling: (props) => props.enableExecutionCancelling ?? false,
|
32
33
|
exportTitle,
|
33
34
|
execution: (props) => {
|
34
35
|
const { seriesBy, slicesBy, totals, filters, sortBy } = props;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Execute.js","sourceRoot":"","sources":["../../src/execution/Execute.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EACH,gCAAgC,EAChC,YAAY,EAMZ,kBAAkB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
1
|
+
{"version":3,"file":"Execute.js","sourceRoot":"","sources":["../../src/execution/Execute.tsx"],"names":[],"mappings":"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"}
|
@@ -101,6 +101,15 @@ export interface IExecuteInsightProps extends IWithLoadingEvents<IExecuteInsight
|
|
101
101
|
* this mode.
|
102
102
|
*/
|
103
103
|
executeByReference?: boolean;
|
104
|
+
/**
|
105
|
+
* Optionally enable real execution cancellation.
|
106
|
+
*
|
107
|
+
* This means that if the execution request is not yet finished and the execution changes,
|
108
|
+
* the request will be cancelled and the new execution will be started.
|
109
|
+
*
|
110
|
+
* Default: false
|
111
|
+
*/
|
112
|
+
enableExecutionCancelling?: boolean;
|
104
113
|
/**
|
105
114
|
* Child component to which rendering is delegated.
|
106
115
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ExecuteInsight.d.ts","sourceRoot":"","sources":["../../src/execution/ExecuteInsight.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAGnF;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB,CAAC,oBAAoB,CAAC;IAClF;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,KAAK,SAAS,EAAE,CAAC,CAAC;IAEhG;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,KAAK,UAAU,EAAE,CAAC,CAAC;IAEvG;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,KAAK,MAAM,CAAC,CAAC;IAE3F;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAE5B;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;;OAOG;IACH,QAAQ,EAAE,CAAC,eAAe,EAAE,iBAAiB,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAE5E;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAE5C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAmCD;;;;GAIG;AACH,eAAO,MAAM,cAAc,
|
1
|
+
{"version":3,"file":"ExecuteInsight.d.ts","sourceRoot":"","sources":["../../src/execution/ExecuteInsight.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAGnF;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB,CAAC,oBAAoB,CAAC;IAClF;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,KAAK,SAAS,EAAE,CAAC,CAAC;IAEhG;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,KAAK,UAAU,EAAE,CAAC,CAAC;IAEvG;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,oBAAoB,KAAK,MAAM,CAAC,CAAC;IAE3F;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAE5B;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;;OAOG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;;;;;OAOG;IACH,QAAQ,EAAE,CAAC,eAAe,EAAE,iBAAiB,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAE5E;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAE5C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAmCD;;;;GAIG;AACH,eAAO,MAAM,cAAc,2CA6F1B,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// (C) 2019-
|
1
|
+
// (C) 2019-2025 GoodData Corporation
|
2
2
|
import React from "react";
|
3
3
|
import { withExecution } from "./withExecution.js";
|
4
4
|
import isEqual from "lodash/isEqual.js";
|
@@ -34,6 +34,7 @@ function exportTitle(props) {
|
|
34
34
|
* @public
|
35
35
|
*/
|
36
36
|
export const ExecuteInsight = withContexts(withExecution({
|
37
|
+
enableExecutionCancelling: (props) => props.enableExecutionCancelling ?? false,
|
37
38
|
exportTitle,
|
38
39
|
execution: async (props) => {
|
39
40
|
const { insight: insightRef, filters, sorts, dimensions, dateFormat, backend, workspace, executeByReference, } = props;
|
@@ -42,7 +43,7 @@ export const ExecuteInsight = withContexts(withExecution({
|
|
42
43
|
const insight = await backend.workspace(workspace).insights().getInsight(insightRef);
|
43
44
|
const executionFactory = backend.workspace(workspace).execution();
|
44
45
|
const executeFn = (executeByReference ? executionFactory.forInsightByRef : executionFactory.forInsight).bind(executionFactory);
|
45
|
-
let insightExecution = executeFn(insight, filters);
|
46
|
+
let insightExecution = executeFn(insight, filters); //
|
46
47
|
if (sorts) {
|
47
48
|
const resolvedSorts = typeof sorts === "function" ? sorts(insightExecution.definition, props) : sorts;
|
48
49
|
insightExecution = insightExecution.withSorting(...resolvedSorts);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ExecuteInsight.js","sourceRoot":"","sources":["../../src/execution/ExecuteInsight.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"ExecuteInsight.js","sourceRoot":"","sources":["../../src/execution/ExecuteInsight.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAyJzC,MAAM,WAAW,GAAoB,CAAC,KAAY,EAAE,EAAE;IAClD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE/F,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;QAC1B,OAAO,oBAAC,cAAc,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;IAC5C,CAAC;IAED,IAAI,gBAAgB,IAAI,SAAS,EAAE,CAAC;QAChC,OAAO,oBAAC,gBAAgB,OAAG,CAAC;IAChC,CAAC;IAED,IAAI,gBAAgB,IAAI,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,QAAQ,CAAC;QACZ,KAAK;QACL,SAAS;QACT,MAAM;QACN,MAAM;KACT,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,SAAS,aAAa,CAAC,KAA2B;IAC9C,OAAO,KAAK,CAAC,aAAa,IAAI,gBAAgB,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,KAA2B;IAC5C,OAAO,KAAK,CAAC,WAAW,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CACtC,aAAa,CAAuB;IAChC,yBAAyB,EAAE,CAAC,KAA2B,EAAE,EAAE,CAAC,KAAK,CAAC,yBAAyB,IAAI,KAAK;IACpG,WAAW;IACX,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,EACF,OAAO,EAAE,UAAU,EACnB,OAAO,EACP,KAAK,EACL,UAAU,EACV,UAAU,EACV,OAAO,EACP,SAAS,EACT,kBAAkB,GACrB,GAAG,KAAK,CAAC;QACV,SAAS,CACL,OAAO,EACP,wIAAwI,CAC3I,CAAC;QACF,SAAS,CACL,SAAS,EACT,4IAA4I,CAC/I,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAErF,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC;QAElE,MAAM,SAAS,GAAG,CACd,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CACtF,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEzB,IAAI,gBAAgB,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE;QAEtD,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,aAAa,GACf,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACpF,gBAAgB,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,aAAa,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,kBAAkB,GACpB,OAAO,UAAU,KAAK,UAAU;gBAC5B,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChD,CAAC,CAAC,UAAU,CAAC;YACrB,gBAAgB,GAAG,gBAAgB,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,kBAAkB,GACpB,OAAO,UAAU,KAAK,UAAU;gBAC5B,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC;gBAChD,CAAC,CAAC,UAAU,CAAC;YACrB,gBAAgB,GAAG,gBAAgB,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAC3E,CAAC;QAED,OAAO,gBAAgB,CAAC;IAC5B,CAAC;IACD,MAAM,EAAE,CAAC,KAA2B,EAAE,EAAE;QACpC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;QAE5F,OAAO;YACH,OAAO;YACP,gBAAgB;YAChB,eAAe;YACf,cAAc;YACd,aAAa;SAChB,CAAC;IACN,CAAC;IACD,aAAa,EAAE,CAAC,SAA+B,EAAE,SAA+B,EAAE,EAAE;QAChF,MAAM,aAAa,GAAsC;YACrD,SAAS;YACT,kBAAkB;YAClB,iBAAiB;YACjB,gBAAgB;SACnB,CAAC;QAEF,MAAM,sBAAsB,GAAsC;YAC9D,SAAS;YACT,SAAS;YACT,QAAQ;SACX,CAAC;QAEF,OAAO,CACH,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC7E,sBAAsB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAChG,CAAC;IACN,CAAC;IACD,WAAW,EAAE,CAAC,KAA4B,EAAE,EAAE;QAC1C,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;QAE3C,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,MAAM,EAAE,CAAC,KAA2B,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM;CACxD,CAAC,CAAC,WAAW,CAAC,CAClB,CAAC"}
|
@@ -41,6 +41,15 @@ export interface IRawExecuteProps extends IWithLoadingEvents<IRawExecuteProps> {
|
|
41
41
|
* to trigger the execution and loading.
|
42
42
|
*/
|
43
43
|
loadOnMount?: boolean;
|
44
|
+
/**
|
45
|
+
* Optionally enable real execution cancellation.
|
46
|
+
*
|
47
|
+
* This means that if the execution request is not yet finished and the execution changes,
|
48
|
+
* the request will be cancelled and the new execution will be started.
|
49
|
+
*
|
50
|
+
* Default: false
|
51
|
+
*/
|
52
|
+
enableExecutionCancelling?: boolean;
|
44
53
|
/**
|
45
54
|
* Child component to which rendering is delegated.
|
46
55
|
*
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RawExecute.d.ts","sourceRoot":"","sources":["../../src/execution/RawExecute.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAElG,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEnF;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB,CAAC,gBAAgB,CAAC;IAC1E;;OAEG;IACH,SAAS,EAAE,kBAAkB,CAAC;IAE9B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;OAOG;IACH,QAAQ,EAAE,CAAC,eAAe,EAAE,iBAAiB,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAE5E;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAE5C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AA+BD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,UAAU,
|
1
|
+
{"version":3,"file":"RawExecute.d.ts","sourceRoot":"","sources":["../../src/execution/RawExecute.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAElG,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAEnF;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB,CAAC,gBAAgB,CAAC;IAC1E;;OAEG;IACH,SAAS,EAAE,kBAAkB,CAAC;IAE9B;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;;;;OASG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;OAOG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;;;;;OAOG;IACH,QAAQ,EAAE,CAAC,eAAe,EAAE,iBAAiB,KAAK,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;IAE5E;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,wBAAwB,CAAC;IAE5C;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AA+BD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,UAAU,6CAqCP,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// (C) 2019-
|
1
|
+
// (C) 2019-2025 GoodData Corporation
|
2
2
|
import React from "react";
|
3
3
|
import { withExecution } from "./withExecution.js";
|
4
4
|
import isEqual from "lodash/isEqual.js";
|
@@ -39,6 +39,7 @@ function exportTitle(props) {
|
|
39
39
|
* @public
|
40
40
|
*/
|
41
41
|
export const RawExecute = withExecution({
|
42
|
+
enableExecutionCancelling: (props) => props.enableExecutionCancelling ?? false,
|
42
43
|
exportTitle,
|
43
44
|
execution: (props) => props.execution,
|
44
45
|
events: (props) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RawExecute.js","sourceRoot":"","sources":["../../src/execution/RawExecute.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,OAAO,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"RawExecute.js","sourceRoot":"","sources":["../../src/execution/RawExecute.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,OAAO,MAAM,mBAAmB,CAAC;AAuFxC,MAAM,YAAY,GAAoB,CAAC,KAAY,EAAE,EAAE;IACnD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IAE/F,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;QAC1B,OAAO,oBAAC,cAAc,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;IAC5C,CAAC;IAED,IAAI,gBAAgB,IAAI,SAAS,EAAE,CAAC;QAChC,OAAO,oBAAC,gBAAgB,OAAG,CAAC;IAChC,CAAC;IAED,IAAI,gBAAgB,IAAI,cAAc,IAAI,CAAC,MAAM,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,QAAQ,CAAC;QACZ,KAAK;QACL,SAAS;QACT,MAAM;QACN,MAAM;KACT,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,SAAS,WAAW,CAAC,KAAuB;IACxC,OAAO,KAAK,CAAC,WAAW,IAAI,YAAY,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAmB;IACtD,yBAAyB,EAAE,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,yBAAyB,IAAI,KAAK;IAChG,WAAW;IACX,SAAS,EAAE,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;IACvD,MAAM,EAAE,CAAC,KAAuB,EAAE,EAAE;QAChC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;QAE5F,OAAO;YACH,OAAO;YACP,gBAAgB;YAChB,eAAe;YACf,cAAc;YACd,aAAa;SAChB,CAAC;IACN,CAAC;IACD,aAAa,EAAE,CAAC,SAA2B,EAAE,SAA2B,EAAE,EAAE;QACxE,MAAM,aAAa,GAAkC;YACjD,SAAS;YACT,kBAAkB;YAClB,iBAAiB;YACjB,gBAAgB;SACnB,CAAC;QAEF,MAAM,sBAAsB,GAAkC,CAAC,QAAQ,CAAC,CAAC;QAEzE,OAAO,CACH,aAAa,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC7E,sBAAsB,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7F,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAC1E,CAAC;IACN,CAAC;IACD,WAAW,EAAE,CAAC,KAAuB,EAAE,EAAE;QACrC,MAAM,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;QAErC,OAAO,WAAW,CAAC;IACvB,CAAC;IACD,MAAM,EAAE,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM;CACpD,CAAC,CAAC,YAAY,CAAC,CAAC"}
|
@@ -78,6 +78,15 @@ export interface IUseExecutionDataViewConfig {
|
|
78
78
|
* workspace here, then the executor MUST be rendered within an existing WorkspaceContext.
|
79
79
|
*/
|
80
80
|
workspace?: string;
|
81
|
+
/**
|
82
|
+
* Optionally enable real execution cancellation.
|
83
|
+
*
|
84
|
+
* This means that if the execution request is not yet finished and the execution changes,
|
85
|
+
* the request will be cancelled and the new execution will be started.
|
86
|
+
*
|
87
|
+
* Default: false
|
88
|
+
*/
|
89
|
+
enableExecutionCancelling?: boolean;
|
81
90
|
}
|
82
91
|
/**
|
83
92
|
* Callbacks for {@link useExecutionDataView} hook.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useExecutionDataView.d.ts","sourceRoot":"","sources":["../../src/execution/useExecutionDataView.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EACH,cAAc,EACd,gBAAgB,EAGhB,yBAAyB,EAEzB,gCAAgC,EAChC,wBAAwB,EACxB,6BAA6B,EAC7B,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,EAGhC,MAAM,kBAAkB,CAAC;AAI1B;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC;;;OAGG;IACH,QAAQ,EAAE,gCAAgC,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IAEpC;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,6BAA6B,CAAC;IAExC;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAE7B;;OAEG;IACH,6BAA6B,CAAC,EAAE,GAAG,CAAC;IAEpC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AASD;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IACxC;;OAEG;IACH,SAAS,CAAC,EAAE,kBAAkB,GAAG,uBAAuB,CAAC;IAEzD;;;;;OAKG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"useExecutionDataView.d.ts","sourceRoot":"","sources":["../../src/execution/useExecutionDataView.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EACH,cAAc,EACd,gBAAgB,EAGhB,yBAAyB,EAEzB,gCAAgC,EAChC,wBAAwB,EACxB,6BAA6B,EAC7B,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,EAGhC,MAAM,kBAAkB,CAAC;AAI1B;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC;;;OAGG;IACH,QAAQ,EAAE,gCAAgC,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IAEpC;;OAEG;IACH,MAAM,CAAC,EAAE,oBAAoB,CAAC;IAE9B;;OAEG;IACH,OAAO,CAAC,EAAE,6BAA6B,CAAC;IAExC;;OAEG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAE7B;;OAEG;IACH,6BAA6B,CAAC,EAAE,GAAG,CAAC;IAEpC;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AASD;;;;;GAKG;AACH,MAAM,WAAW,2BAA2B;IACxC;;OAEG;IACH,SAAS,CAAC,EAAE,kBAAkB,GAAG,uBAAuB,CAAC;IAEzD;;;;;OAKG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GAAG,6BAA6B,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAE5G;;;;GAIG;AACH,wBAAgB,oBAAoB,CAChC,MAAM,EAAE,2BAA2B,GAAG,6BAA6B,EACnE,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,GAC5B,yBAAyB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAgF7D"}
|
@@ -13,7 +13,7 @@ function isExecutionConfiguration(obj) {
|
|
13
13
|
* @public
|
14
14
|
*/
|
15
15
|
export function useExecutionDataView(config, deps) {
|
16
|
-
const { execution, window, onCancel, onError, onLoading, onPending, onSuccess } = config;
|
16
|
+
const { execution, window, enableExecutionCancelling = false, onCancel, onError, onLoading, onPending, onSuccess, } = config;
|
17
17
|
const backend = useBackendStrict(config.backend, "useExecutionDataView");
|
18
18
|
const workspace = useWorkspaceStrict(config.workspace, "useExecutionDataView");
|
19
19
|
const effectiveDeps = deps ?? [];
|
@@ -38,18 +38,25 @@ export function useExecutionDataView(config, deps) {
|
|
38
38
|
})
|
39
39
|
: execution;
|
40
40
|
return useCancelablePromise({
|
41
|
+
enableAbortController: enableExecutionCancelling,
|
41
42
|
promise: preparedExecution
|
42
|
-
? () =>
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
43
|
+
? (signal) => {
|
44
|
+
let effectiveExecution = preparedExecution;
|
45
|
+
if (enableExecutionCancelling) {
|
46
|
+
effectiveExecution = preparedExecution.withSignal(signal);
|
47
|
+
}
|
48
|
+
return effectiveExecution
|
49
|
+
.execute()
|
50
|
+
.then((executionResult) => window
|
51
|
+
? executionResult.readWindow(window.offset, window.size)
|
52
|
+
: executionResult.readAll())
|
53
|
+
.then((dataView) => {
|
54
|
+
return DataViewFacade.for(dataView);
|
55
|
+
})
|
56
|
+
.catch((error) => {
|
57
|
+
throw convertError(error);
|
58
|
+
});
|
59
|
+
}
|
53
60
|
: null,
|
54
61
|
onCancel,
|
55
62
|
onError,
|
@@ -62,6 +69,7 @@ export function useExecutionDataView(config, deps) {
|
|
62
69
|
preparedExecution?.fingerprint() ?? "__executionFingerprint__",
|
63
70
|
window?.offset ?? "__offset__",
|
64
71
|
window?.size ?? "__size__",
|
72
|
+
enableExecutionCancelling,
|
65
73
|
...effectiveDeps,
|
66
74
|
]);
|
67
75
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useExecutionDataView.js","sourceRoot":"","sources":["../../src/execution/useExecutionDataView.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,cAAc,EAEd,gBAAgB,EAChB,kBAAkB,EAElB,gCAAgC,EAOhC,oBAAoB,EACpB,YAAY,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAmDvD;;GAEG;AACH,SAAS,wBAAwB,CAAC,GAAY;IAC1C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAE,GAA+B,EAAE,QAAQ,CAAC;AACzE,CAAC;
|
1
|
+
{"version":3,"file":"useExecutionDataView.js","sourceRoot":"","sources":["../../src/execution/useExecutionDataView.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,cAAc,EAEd,gBAAgB,EAChB,kBAAkB,EAElB,gCAAgC,EAOhC,oBAAoB,EACpB,YAAY,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAmDvD;;GAEG;AACH,SAAS,wBAAwB,CAAC,GAAY;IAC1C,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAE,GAA+B,EAAE,QAAQ,CAAC;AACzE,CAAC;AA0DD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAChC,MAAmE,EACnE,IAA2B;IAE3B,MAAM,EACF,SAAS,EACT,MAAM,EACN,yBAAyB,GAAG,KAAK,EACjC,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,GACZ,GAAG,MAAM,CAAC;IACX,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;IACzE,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;IAC/E,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;IAEjC,MAAM,cAAc,GAAG,8BAA8B,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACxE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,gCAAgC,CAClF;QACI,cAAc,CAAC,QAAQ;QACvB,cAAc,CAAC,QAAQ;QACvB,cAAc,CAAC,MAAM;QACrB,cAAc,CAAC,OAAO;QACtB,cAAc,CAAC,MAAM;KACxB,EACD,cAAc,CAAC,6BAA6B,CAC/C,CAAC;IAEF,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,SAAS,CAAC;QACzD,CAAC,CAAC,eAAe,CAAC;YACZ,GAAG,SAAS;YACZ,QAAQ,EAAE,QAAS;YACnB,QAAQ;YACR,MAAM;YACN,OAAO;YACP,MAAM;YACN,OAAO;YACP,SAAS;SACZ,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;IAEhB,OAAO,oBAAoB,CACvB;QACI,qBAAqB,EAAE,yBAAyB;QAChD,OAAO,EAAE,iBAAiB;YACtB,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE;gBACP,IAAI,kBAAkB,GAAG,iBAAiB,CAAC;gBAC3C,IAAI,yBAAyB,EAAE,CAAC;oBAC5B,kBAAkB,GAAG,iBAAiB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC9D,CAAC;gBACD,OAAO,kBAAkB;qBACpB,OAAO,EAAE;qBACT,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE,CACtB,MAAM;oBACF,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;oBACxD,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,CAClC;qBACA,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACf,OAAO,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxC,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBACb,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;YACX,CAAC;YACH,CAAC,CAAC,IAAI;QACV,QAAQ;QACR,OAAO;QACP,SAAS;QACT,SAAS;QACT,SAAS;KACZ,EACD;QACI,OAAO;QACP,SAAS;QACT,iBAAiB,EAAE,WAAW,EAAE,IAAI,0BAA0B;QAC9D,MAAM,EAAE,MAAM,IAAI,YAAY;QAC9B,MAAM,EAAE,IAAI,IAAI,UAAU;QAC1B,yBAAyB;QACzB,GAAG,aAAa;KACnB,CACJ,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,8BAA8B,CACnC,SAAwD;IAExD,IAAI,wBAAwB,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,EAAE,CAAC;AACd,CAAC"}
|
@@ -72,6 +72,15 @@ export interface IUseInsightDataViewConfig {
|
|
72
72
|
* workspace here, then the executor MUST be rendered within an existing WorkspaceContext.
|
73
73
|
*/
|
74
74
|
workspace?: string;
|
75
|
+
/**
|
76
|
+
* Optionally enable real execution cancellation.
|
77
|
+
*
|
78
|
+
* This means that if the execution request is not yet finished and the execution changes,
|
79
|
+
* the request will be cancelled and the new execution will be started.
|
80
|
+
*
|
81
|
+
* Default: false
|
82
|
+
*/
|
83
|
+
enableExecutionCancelling?: boolean;
|
75
84
|
}
|
76
85
|
/**
|
77
86
|
* Callbacks for {@link useInsightDataView} hook.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"useInsightDataView.d.ts","sourceRoot":"","sources":["../../src/execution/useInsightDataView.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAKH,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EAChB,6BAA6B,EAChC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACtC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,oBAAoB,KAAK,SAAS,EAAE,CAAC,CAAC;IAEnE;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,oBAAoB,KAAK,UAAU,EAAE,CAAC,CAAC;IAE1E;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,oBAAoB,KAAK,MAAM,CAAC,CAAC;IAE9D;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAE5B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"useInsightDataView.d.ts","sourceRoot":"","sources":["../../src/execution/useInsightDataView.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAKH,yBAAyB,EACzB,cAAc,EACd,gBAAgB,EAChB,6BAA6B,EAChC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACtC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,oBAAoB,KAAK,SAAS,EAAE,CAAC,CAAC;IAEnE;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,oBAAoB,KAAK,UAAU,EAAE,CAAC,CAAC;IAE1E;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,oBAAoB,KAAK,MAAM,CAAC,CAAC;IAE9D;;OAEG;IACH,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAE5B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;;;;;;;;;;;;OAeG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAE7B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;OAOG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACvC;AAED;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG,6BAA6B,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAE1G;;;;GAIG;AACH,wBAAgB,kBAAkB,CAC9B,MAAM,EAAE,yBAAyB,GAAG,2BAA2B,EAC/D,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,GAC5B,yBAAyB,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAsE7D"}
|
@@ -7,7 +7,7 @@ import { useInsight } from "./useInsight.js";
|
|
7
7
|
* @public
|
8
8
|
*/
|
9
9
|
export function useInsightDataView(config, deps) {
|
10
|
-
const { insight: insightRef, sorts, dateFormat, dimensions, filters, window, executeByReference, onCancel, onError, onLoading, onPending, onSuccess, } = config;
|
10
|
+
const { insight: insightRef, sorts, dateFormat, dimensions, filters, window, executeByReference, enableExecutionCancelling = false, onCancel, onError, onLoading, onPending, onSuccess, } = config;
|
11
11
|
const backend = useBackendStrict(config.backend, "useInsightDataView");
|
12
12
|
const workspace = useWorkspaceStrict(config.workspace, "useInsightDataView");
|
13
13
|
const effectiveDeps = deps ?? [];
|
@@ -34,6 +34,7 @@ export function useInsightDataView(config, deps) {
|
|
34
34
|
window,
|
35
35
|
backend,
|
36
36
|
workspace,
|
37
|
+
enableExecutionCancelling,
|
37
38
|
onCancel,
|
38
39
|
onError,
|
39
40
|
onLoading,
|