@gooddata/sdk-ui 10.22.0-alpha.5 → 10.22.0-alpha.50

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.
Files changed (74) hide show
  1. package/esm/base/index.d.ts +2 -0
  2. package/esm/base/index.d.ts.map +1 -1
  3. package/esm/base/index.js +2 -1
  4. package/esm/base/index.js.map +1 -1
  5. package/esm/base/localization/bundles/de-DE.json +9 -1
  6. package/esm/base/localization/bundles/en-AU.json +9 -1
  7. package/esm/base/localization/bundles/en-GB.json +9 -1
  8. package/esm/base/localization/bundles/en-US.json +31 -1
  9. package/esm/base/localization/bundles/es-419.json +9 -1
  10. package/esm/base/localization/bundles/es-ES.json +9 -1
  11. package/esm/base/localization/bundles/fi-FI.json +9 -1
  12. package/esm/base/localization/bundles/fr-CA.json +9 -1
  13. package/esm/base/localization/bundles/fr-FR.json +9 -1
  14. package/esm/base/localization/bundles/it-IT.json +9 -1
  15. package/esm/base/localization/bundles/ja-JP.json +9 -1
  16. package/esm/base/localization/bundles/nl-NL.json +9 -1
  17. package/esm/base/localization/bundles/pt-BR.json +9 -1
  18. package/esm/base/localization/bundles/pt-PT.json +9 -1
  19. package/esm/base/localization/bundles/zh-HK.json +9 -1
  20. package/esm/base/localization/bundles/zh-Hans.json +9 -1
  21. package/esm/base/localization/bundles/zh-Hant.json +9 -1
  22. package/esm/base/react/CancelablePromise.d.ts +1 -1
  23. package/esm/base/react/CancelablePromise.d.ts.map +1 -1
  24. package/esm/base/react/CancelablePromise.js +32 -18
  25. package/esm/base/react/CancelablePromise.js.map +1 -1
  26. package/esm/base/react/CorrelationContext.d.ts +70 -0
  27. package/esm/base/react/CorrelationContext.d.ts.map +1 -0
  28. package/esm/base/react/CorrelationContext.js +101 -0
  29. package/esm/base/react/CorrelationContext.js.map +1 -0
  30. package/esm/base/react/PromiseCache.js +2 -2
  31. package/esm/base/react/PromiseCache.js.map +1 -1
  32. package/esm/base/react/useCancelablePromise.d.ts +8 -1
  33. package/esm/base/react/useCancelablePromise.d.ts.map +1 -1
  34. package/esm/base/react/useCancelablePromise.js +3 -3
  35. package/esm/base/react/useCancelablePromise.js.map +1 -1
  36. package/esm/base/vis/export.js +1 -1
  37. package/esm/execution/DataViewLoader.d.ts +6 -0
  38. package/esm/execution/DataViewLoader.d.ts.map +1 -1
  39. package/esm/execution/DataViewLoader.js +13 -2
  40. package/esm/execution/DataViewLoader.js.map +1 -1
  41. package/esm/execution/Execute.d.ts +9 -0
  42. package/esm/execution/Execute.d.ts.map +1 -1
  43. package/esm/execution/Execute.js +2 -1
  44. package/esm/execution/Execute.js.map +1 -1
  45. package/esm/execution/ExecuteInsight.d.ts +9 -0
  46. package/esm/execution/ExecuteInsight.d.ts.map +1 -1
  47. package/esm/execution/ExecuteInsight.js +3 -2
  48. package/esm/execution/ExecuteInsight.js.map +1 -1
  49. package/esm/execution/RawExecute.d.ts +9 -0
  50. package/esm/execution/RawExecute.d.ts.map +1 -1
  51. package/esm/execution/RawExecute.js +2 -1
  52. package/esm/execution/RawExecute.js.map +1 -1
  53. package/esm/execution/useExecutionDataView.d.ts +9 -0
  54. package/esm/execution/useExecutionDataView.d.ts.map +1 -1
  55. package/esm/execution/useExecutionDataView.js +20 -12
  56. package/esm/execution/useExecutionDataView.js.map +1 -1
  57. package/esm/execution/useInsightDataView.d.ts +9 -0
  58. package/esm/execution/useInsightDataView.d.ts.map +1 -1
  59. package/esm/execution/useInsightDataView.js +2 -1
  60. package/esm/execution/useInsightDataView.js.map +1 -1
  61. package/esm/execution/withExecution.d.ts +9 -0
  62. package/esm/execution/withExecution.d.ts.map +1 -1
  63. package/esm/execution/withExecution.js +11 -4
  64. package/esm/execution/withExecution.js.map +1 -1
  65. package/esm/execution/withExecutionLoading.d.ts +11 -1
  66. package/esm/execution/withExecutionLoading.d.ts.map +1 -1
  67. package/esm/execution/withExecutionLoading.js +7 -4
  68. package/esm/execution/withExecutionLoading.js.map +1 -1
  69. package/esm/index.d.ts +2 -0
  70. package/esm/index.d.ts.map +1 -1
  71. package/esm/index.js +2 -1
  72. package/esm/index.js.map +1 -1
  73. package/esm/sdk-ui.d.ts +154 -3
  74. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"useInsightDataView.js","sourceRoot":"","sources":["../../src/execution/useInsightDataView.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,gBAAgB,EAChB,kBAAkB,EAClB,kCAAkC,EAClC,iCAAiC,GAKpC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAwF7C;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAC9B,MAA+D,EAC/D,IAA2B;IAE3B,MAAM,EACF,OAAO,EAAE,UAAU,EACnB,KAAK,EACL,UAAU,EACV,UAAU,EACV,OAAO,EACP,MAAM,EACN,kBAAkB,EAClB,QAAQ,EACR,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,GACZ,GAAG,MAAM,CAAC;IACX,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,IAAI,IAAI,EAAE,CAAC;IAEjC,MAAM,cAAc,GAAG,UAAU,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,aAAa,CAAC,CAAC;IAE9F,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC;IAElE,MAAM,SAAS,GAAG,CACd,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CACtF,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEzB,IAAI,gBAAgB,GAAG,cAAc,CAAC,MAAM,IAAI,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE1F,IAAI,gBAAgB,EAAE,CAAC;QACnB,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,aAAa,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC/F,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,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC5F,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,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC5F,gBAAgB,GAAG,gBAAgB,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC;IAED,MAAM,wBAAwB,GAAG,oBAAoB,CACjD;QACI,SAAS,EAAE,gBAAgB;QAC3B,MAAM;QACN,OAAO;QACP,SAAS;QACT,QAAQ;QACR,OAAO;QACP,SAAS;QACT,SAAS;QACT,SAAS;KACZ,EACD,IAAI,CACP,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;IAEtE,OAAO;QACH,MAAM,EAAE,wBAAwB,CAAC,MAAM;QACvC,KAAK,EAAE,iCAAiC,CAAC,kBAAkB,CAAC;QAC5D,MAAM,EAAE,kCAAkC,CAAC,kBAAkB,CAAC;KACF,CAAC;AACrE,CAAC"}
1
+ {"version":3,"file":"useInsightDataView.js","sourceRoot":"","sources":["../../src/execution/useInsightDataView.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,15 @@ export interface IWithExecution<T> {
31
31
  * Specify event callbacks which the HOC will trigger in different situations.
32
32
  */
33
33
  events?: IWithLoadingEvents<T> | ((props: T) => IWithLoadingEvents<T>);
34
+ /**
35
+ * Optionally enable real execution cancellation.
36
+ *
37
+ * This means that if the execution request is not yet finished and the execution changes,
38
+ * the request will be cancelled and the new execution will be started.
39
+ *
40
+ * Default: false
41
+ */
42
+ enableExecutionCancelling?: boolean | ((props: T) => boolean);
34
43
  /**
35
44
  * Customize, whether execution & data loading should start as soon as component is mounted.
36
45
  *
@@ -1 +1 @@
1
- {"version":3,"file":"withExecution.d.ts","sourceRoot":"","sources":["../../src/execution/withExecution.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAiB,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAEH,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACjB,MAAM,2BAA2B,CAAC;AAGnC;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC7B;;OAEG;IACH,SAAS,EACH,kBAAkB,GAClB,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,kBAAkB,CAAC,GAClC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAElD;;;;OAIG;IACH,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC;IAE7C;;;;OAIG;IACH,MAAM,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,cAAc,GAAG,SAAS,CAAC,CAAC;IAErE;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC;IAEhD;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,OAAO,CAAC;CAC3D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC3B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,CAAC,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,iBAAiB,CAAC,KAAK,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CAgChG"}
1
+ {"version":3,"file":"withExecution.d.ts","sourceRoot":"","sources":["../../src/execution/withExecution.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAiB,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAEH,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACjB,MAAM,2BAA2B,CAAC;AAGnC;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC7B;;OAEG;IACH,SAAS,EACH,kBAAkB,GAClB,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,kBAAkB,CAAC,GAClC,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAElD;;;;OAIG;IACH,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC;IAE7C;;;;OAIG;IACH,MAAM,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,cAAc,GAAG,SAAS,CAAC,CAAC;IAErE;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvE;;;;;;;OAOG;IACH,yBAAyB,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC;IAE9D;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC;IAEhD;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,OAAO,CAAC;CAC3D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC3B,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,GAC1B,CAAC,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,iBAAiB,CAAC,KAAK,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,CA4ChG"}
@@ -1,4 +1,4 @@
1
- // (C) 2019-2022 GoodData Corporation
1
+ // (C) 2019-2025 GoodData Corporation
2
2
  import { isNoDataError } from "@gooddata/sdk-backend-spi";
3
3
  import { withExecutionLoading, } from "./withExecutionLoading.js";
4
4
  import { DataViewFacade } from "../base/index.js";
@@ -10,11 +10,18 @@ import { DataViewFacade } from "../base/index.js";
10
10
  * @internal
11
11
  */
12
12
  export function withExecution(params) {
13
- const { execution, events, loadOnMount, shouldRefetch, window, exportTitle } = params;
13
+ const { execution, events, loadOnMount, shouldRefetch, window, exportTitle, enableExecutionCancelling } = params;
14
14
  return (WrappedComponent) => {
15
15
  const withLoadingParams = {
16
- promiseFactory: async (props, window) => {
17
- const _execution = typeof execution === "function" ? await execution(props) : execution;
16
+ enableExecutionCancelling,
17
+ promiseFactory: async (props, window, signal) => {
18
+ let _execution = typeof execution === "function" ? await execution(props) : execution;
19
+ const enableRealCancellation = typeof enableExecutionCancelling === "function"
20
+ ? enableExecutionCancelling(props)
21
+ : enableExecutionCancelling;
22
+ if (enableRealCancellation && signal) {
23
+ _execution = _execution.withSignal(signal);
24
+ }
18
25
  const executionResult = await _execution.execute();
19
26
  try {
20
27
  const dataView = !window
@@ -1 +1 @@
1
- {"version":3,"file":"withExecution.js","sourceRoot":"","sources":["../../src/execution/withExecution.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAsB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACH,oBAAoB,GAIvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA0DlD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CACzB,MAAyB;IAEzB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;IAEtF,OAAO,CAAC,gBAA4D,EAAE,EAAE;QACpE,MAAM,iBAAiB,GAAG;YACtB,cAAc,EAAE,KAAK,EAAE,KAAQ,EAAE,MAAuB,EAAE,EAAE;gBACxD,MAAM,UAAU,GAAG,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACxF,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;gBACnD,IAAI,CAAC;oBACD,MAAM,QAAQ,GAAG,CAAC,MAAM;wBACpB,CAAC,CAAC,MAAM,eAAe,CAAC,OAAO,EAAE;wBACjC,CAAC,CAAC,MAAM,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;oBAEnE,OAAO,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,iGAAiG;oBACjG,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACrC,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,QAAS,CAAC,CAAC;oBAC7C,CAAC;oBAED,MAAM,GAAG,CAAC;gBACd,CAAC;YACL,CAAC;YACD,WAAW;YACX,WAAW;YACX,MAAM;YACN,aAAa;YACb,MAAM;SACT,CAAC;QAEF,OAAO,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACrE,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"withExecution.js","sourceRoot":"","sources":["../../src/execution/withExecution.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAsB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACH,oBAAoB,GAIvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAoElD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CACzB,MAAyB;IAEzB,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,EAAE,GACnG,MAAM,CAAC;IAEX,OAAO,CAAC,gBAA4D,EAAE,EAAE;QACpE,MAAM,iBAAiB,GAAG;YACtB,yBAAyB;YACzB,cAAc,EAAE,KAAK,EAAE,KAAQ,EAAE,MAAuB,EAAE,MAAoB,EAAE,EAAE;gBAC9E,IAAI,UAAU,GAAG,OAAO,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAEtF,MAAM,sBAAsB,GACxB,OAAO,yBAAyB,KAAK,UAAU;oBAC3C,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC;oBAClC,CAAC,CAAC,yBAAyB,CAAC;gBAEpC,IAAI,sBAAsB,IAAI,MAAM,EAAE,CAAC;oBACnC,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC/C,CAAC;gBAED,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;gBACnD,IAAI,CAAC;oBACD,MAAM,QAAQ,GAAG,CAAC,MAAM;wBACpB,CAAC,CAAC,MAAM,eAAe,CAAC,OAAO,EAAE;wBACjC,CAAC,CAAC,MAAM,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;oBAEnE,OAAO,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACxC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,iGAAiG;oBACjG,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACrC,OAAO,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,QAAS,CAAC,CAAC;oBAC7C,CAAC;oBAED,MAAM,GAAG,CAAC;gBACd,CAAC;YACL,CAAC;YACD,WAAW;YACX,WAAW;YACX,MAAM;YACN,aAAa;YACb,MAAM;SACT,CAAC;QAEF,OAAO,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACrE,CAAC,CAAC;AACN,CAAC"}
@@ -104,8 +104,9 @@ export interface IWithExecutionLoading<TProps> {
104
104
  *
105
105
  * @param props - wrapped component props
106
106
  * @param window - data view window to retrieve, not specified in case all data should be retrieved
107
+ * @param signal - abort signal, will be used to cancel the execution
107
108
  */
108
- promiseFactory: (props: TProps, window?: DataViewWindow) => Promise<DataViewFacade>;
109
+ promiseFactory: (props: TProps, window?: DataViewWindow, signal?: AbortSignal) => Promise<DataViewFacade>;
109
110
  /**
110
111
  * Specify data view window to retrieve from backend.
111
112
  *
@@ -132,6 +133,15 @@ export interface IWithExecutionLoading<TProps> {
132
133
  * @param nextProps - next props
133
134
  */
134
135
  shouldRefetch?: (prevProps: TProps, nextProps: TProps) => boolean;
136
+ /**
137
+ * Optionally enable real execution cancellation.
138
+ *
139
+ * This means that if the execution request is not yet finished and the execution changes,
140
+ * the request will be cancelled and the new execution will be started.
141
+ *
142
+ * Default: false
143
+ */
144
+ enableExecutionCancelling?: boolean | ((props: TProps) => boolean);
135
145
  }
136
146
  /**
137
147
  * A React HOC responsible for orchestrating resolution of a data promise (e.g. data to load).
@@ -1 +1 @@
1
- {"version":3,"file":"withExecutionLoading.d.ts","sourceRoot":"","sources":["../../src/execution/withExecutionLoading.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAKH,cAAc,EACd,gBAAgB,EAEhB,eAAe,EAGlB,MAAM,kBAAkB,CAAC;AAE1B;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B;;;OAGG;IACH,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAEpC;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,MAAM;IACtC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE3D;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAElE;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/D;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5E;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAqB,CAAC,MAAM;IACzC;;;;OAIG;IACH,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAElD;;;;;;;;OAQG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpF;;;;;OAKG;IACH,MAAM,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAC,CAAC;IAE1E;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtF;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IAErD;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;CACrE;AAQD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EACvC,MAAM,EAAE,qBAAqB,CAAC,MAAM,CAAC,GACtC,CAAC,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,iBAAiB,CAAC,KAAK,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAuMrG"}
1
+ {"version":3,"file":"withExecutionLoading.d.ts","sourceRoot":"","sources":["../../src/execution/withExecutionLoading.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAKH,cAAc,EACd,gBAAgB,EAEhB,eAAe,EAGlB,MAAM,kBAAkB,CAAC;AAE1B;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB;;OAEG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B;;;OAGG;IACH,MAAM,EAAE,cAAc,GAAG,SAAS,CAAC;IAEnC;;OAEG;IACH,KAAK,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAEpC;;;OAGG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,MAAM;IACtC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE3D;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAElE;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAE/D;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5E;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAqB,CAAC,MAAM;IACzC;;;;OAIG;IACH,WAAW,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAElD;;;;;;;;;OASG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;IAE1G;;;;;OAKG;IACH,MAAM,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAC,CAAC;IAE1E;;OAEG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtF;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;IAErD;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAElE;;;;;;;OAOG;IACH,yBAAyB,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;CACtE;AAQD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EACvC,MAAM,EAAE,qBAAqB,CAAC,MAAM,CAAC,GACtC,CAAC,gBAAgB,EAAE,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,iBAAiB,CAAC,KAAK,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CA+MrG"}
@@ -1,4 +1,4 @@
1
- // (C) 2019-2022 GoodData Corporation
1
+ // (C) 2019-2025 GoodData Corporation
2
2
  import React from "react";
3
3
  import noop from "lodash/noop.js";
4
4
  import hoistNonReactStatics from "hoist-non-react-statics";
@@ -12,7 +12,7 @@ import { CancelledSdkError, convertError, createExportErrorFunction, createExpor
12
12
  * @internal
13
13
  */
14
14
  export function withExecutionLoading(params) {
15
- const { promiseFactory, loadOnMount = true, events = {}, shouldRefetch = () => false, window, exportTitle, } = params;
15
+ const { promiseFactory, loadOnMount = true, events = {}, shouldRefetch = () => false, window, exportTitle, enableExecutionCancelling = false, } = params;
16
16
  return (WrappedComponent) => {
17
17
  class WithLoading extends React.Component {
18
18
  isWithExecutionLoadingUnmounted = false;
@@ -89,8 +89,11 @@ export function withExecutionLoading(params) {
89
89
  }
90
90
  this.startLoading();
91
91
  const readWindow = typeof window === "function" ? window(this.props) : window;
92
- const promise = promiseFactory(this.props, readWindow);
93
- this.cancelablePromise = makeCancelable(promise);
92
+ const enableRealCancellation = typeof enableExecutionCancelling === "function"
93
+ ? enableExecutionCancelling(this.props)
94
+ : enableExecutionCancelling;
95
+ const promise = (signal) => promiseFactory(this.props, readWindow, signal);
96
+ this.cancelablePromise = makeCancelable((signal) => promise(enableRealCancellation ? signal : undefined), enableRealCancellation);
94
97
  try {
95
98
  const result = await this.cancelablePromise.promise;
96
99
  if (!this.isWithExecutionLoadingUnmounted) {
@@ -1 +1 @@
1
- {"version":3,"file":"withExecutionLoading.js","sourceRoot":"","sources":["../../src/execution/withExecutionLoading.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACH,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,EACzB,oBAAoB,EAKpB,aAAa,EACb,cAAc,GACjB,MAAM,kBAAkB,CAAC;AA8J1B;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAChC,MAAqC;IAErC,MAAM,EACF,cAAc,EACd,WAAW,GAAG,IAAI,EAClB,MAAM,GAAG,EAAE,EACX,aAAa,GAAG,GAAG,EAAE,CAAC,KAAK,EAC3B,MAAM,EACN,WAAW,GACd,GAAG,MAAM,CAAC;IAEX,OAAO,CACH,gBAAiE,EACrC,EAAE;QAC9B,MAAM,WAAY,SAAQ,KAAK,CAAC,SAAmC;YACvD,+BAA+B,GAAY,KAAK,CAAC;YACjD,iBAAiB,CAAiD;YAClE,cAAc,CAAqB;YAEpC,KAAK,GAAqB;gBAC7B,KAAK,EAAE,SAAS;gBAChB,SAAS,EAAE,KAAK;gBAChB,MAAM,EAAE,SAAS;aACpB,CAAC;YAEF,YAAY,KAAa;gBACrB,KAAK,CAAC,KAAK,CAAC,CAAC;gBAEb,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;YAEO,SAAS;gBACb,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC3E,MAAM,EACF,OAAO,GAAG,IAAI,EACd,gBAAgB,GAAG,IAAI,EACvB,eAAe,GAAG,IAAI,EACtB,cAAc,GAAG,IAAI,EACrB,aAAa,GAAG,IAAI,GACvB,GAAG,OAAO,CAAC;gBAEZ,OAAO;oBACH,OAAO;oBACP,gBAAgB;oBAChB,eAAe;oBACf,cAAc;oBACd,aAAa;iBAChB,CAAC;YACN,CAAC;YAEO,YAAY;gBAChB,MAAM,EAAE,cAAc,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAE9D,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEnC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;gBAChC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACtB,GAAG,KAAK;oBACR,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,SAAS;oBAChB,MAAM,EAAE,SAAS;iBACpB,CAAC,CAAC,CAAC;YACR,CAAC;YAEO,QAAQ,CAAC,KAAuB;gBACpC,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAEtE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3B,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpC,aAAa,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAEhD,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACtB,GAAG,KAAK;oBACR,SAAS,EAAE,KAAK;oBAChB,KAAK;iBACR,CAAC,CAAC,CAAC;YACR,CAAC;YAEO,SAAS,CAAC,MAAsB;gBACpC,MAAM,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC9E,MAAM,KAAK,GAAG,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBAExF,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACpC,aAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;gBAE5D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC;gBACjC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBACtB,GAAG,KAAK;oBACR,SAAS,EAAE,KAAK;oBAChB,KAAK,EAAE,SAAS;oBAChB,MAAM;iBACT,CAAC,CAAC,CAAC;YACR,CAAC;YAEO,KAAK,CAAC,KAAK;gBACf,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;oBAChC,uFAAuF;oBACvF,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE,CAAC;wBAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;oBAC3C,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBAEpB,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC9E,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBACvD,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;gBAEjD,IAAI,CAAC;oBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;oBACpD,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC;wBACxC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBAC3B,CAAC;gBACL,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,0FAA0F;oBAC1F,6EAA6E;oBAC7E,kCAAkC;oBAClC,IAAI,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC/D,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;wBACnC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC5B,CAAC;gBACL,CAAC;YACL,CAAC;YAEO,aAAa;gBACjB,OAAO,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC/F,CAAC;YAEM,iBAAiB;gBACpB,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC;gBAC7C,MAAM,YAAY,GACd,OAAO,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBAE9E,IAAI,YAAY,EAAE,CAAC;oBACf,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjB,CAAC;YACL,CAAC;YAEM,kBAAkB,CAAC,SAAiB;gBACvC,IAAI,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACvC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjB,CAAC;YACL,CAAC;YAEM,oBAAoB;gBACvB,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC;gBAC5C,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACzB,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;oBAChC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE,CAAC;wBAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC;oBAC3C,CAAC;gBACL,CAAC;YACL,CAAC;YAEM,MAAM;gBACT,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;gBAEhD,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;oBACvB;;;;;;;;;uBASG;oBACH,MAAM,eAAe,GAAG;wBACpB,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,IAAI;wBACf,KAAK,EAAE,SAAS;wBAChB,MAAM,EAAE,IAAI,CAAC,KAAK;qBACrB,CAAC;oBAEF,OAAO,oBAAC,gBAAgB,OAAK,IAAI,CAAC,KAAK,KAAM,eAAe,GAAI,CAAC;gBACrE,CAAC;gBAED,MAAM,eAAe,GAAG;oBACpB,MAAM;oBACN,SAAS;oBACT,KAAK;oBACL,MAAM,EAAE,IAAI,CAAC,KAAK;iBACrB,CAAC;gBAEF,OAAO,oBAAC,gBAAgB,OAAK,IAAI,CAAC,KAAK,KAAM,eAAe,GAAI,CAAC;YACrE,CAAC;SACJ;QAED,oBAAoB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAEpD,OAAO,WAAW,CAAC;IACvB,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"withExecutionLoading.js","sourceRoot":"","sources":["../../src/execution/withExecutionLoading.tsx"],"names":[],"mappings":"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"}
package/esm/index.d.ts CHANGED
@@ -20,4 +20,6 @@ export * from "./locales.js";
20
20
  * @public
21
21
  */
22
22
  export type { ISeparators } from "@gooddata/sdk-model";
23
+ export { CorrelationProvider, useCorrelationData, useBackendWithCorrelation, BackendProviderWithCorrelation, } from "./base/react/CorrelationContext.js";
24
+ export type { ICorrelationProviderProps, IBackendProviderWithCorrelationProps, } from "./base/react/CorrelationContext.js";
23
25
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;GAYG;AAIH,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAE7B;;;GAGG;AACH,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;GAYG;AAIH,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAE7B;;;GAGG;AACH,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EACH,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,GACjC,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EACR,yBAAyB,EACzB,oCAAoC,GACvC,MAAM,oCAAoC,CAAC"}
package/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
- // (C) 2007-2024 GoodData Corporation
1
+ // (C) 2007-2025 GoodData Corporation
2
2
  /**
3
3
  * This package provides base functionality useful for building React visualizations on top of GoodData.
4
4
  *
@@ -17,4 +17,5 @@ export * from "./base/index.js";
17
17
  export * from "./execution/index.js";
18
18
  export * from "./kpi/index.js";
19
19
  export * from "./locales.js";
20
+ export { CorrelationProvider, useCorrelationData, useBackendWithCorrelation, BackendProviderWithCorrelation, } from "./base/react/CorrelationContext.js";
20
21
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC;;;;;;;;;;;;GAYG;AAEH,cAAc;AAEd,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC;;;;;;;;;;;;GAYG;AAEH,cAAc;AAEd,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAQ7B,OAAO,EACH,mBAAmB,EACnB,kBAAkB,EAClB,yBAAyB,EACzB,8BAA8B,GACjC,MAAM,oCAAoC,CAAC"}
package/esm/sdk-ui.d.ts CHANGED
@@ -56,6 +56,7 @@ import { IPositiveAttributeFilter } from '@gooddata/sdk-model';
56
56
  import { IPreparedExecution } from '@gooddata/sdk-backend-spi';
57
57
  import { IRankingFilter } from '@gooddata/sdk-model';
58
58
  import { IRelativeDateFilter } from '@gooddata/sdk-model';
59
+ import { IRequestCorrelationMetadata } from '@gooddata/sdk-backend-spi';
59
60
  import { IResultAttributeHeader } from '@gooddata/sdk-model';
60
61
  import { IResultAttributeHeaderItem } from '@gooddata/sdk-model';
61
62
  import { IResultHeader } from '@gooddata/sdk-model';
@@ -209,6 +210,15 @@ export declare type AttributesOrPlaceholders = ValuesOrPlaceholders<IAttribute>;
209
210
  */
210
211
  export declare const BackendProvider: React_2.FC<IBackendProviderProps>;
211
212
 
213
+ /**
214
+ * Combined provider for both backend and correlation metadata.
215
+ * This is a convenience component that wraps BackendProvider and CorrelationProvider
216
+ * to provide both a backend instance and correlation metadata to components.
217
+ *
218
+ * @public
219
+ */
220
+ export declare const BackendProviderWithCorrelation: React_2.FC<IBackendProviderWithCorrelationProps>;
221
+
212
222
  /**
213
223
  * This error means that server could not understand the request due to invalid syntax.
214
224
  *
@@ -369,6 +379,14 @@ export declare function convertDrillableItemsToPredicates(drillableItems: Explic
369
379
  */
370
380
  export declare function convertError(error: unknown): GoodDataSdkError;
371
381
 
382
+ /**
383
+ * CorrelationProvider provides request correlation metadata to components.
384
+ * When nested, correlation metadata from ancestor providers is merged with the current provider.
385
+ *
386
+ * @public
387
+ */
388
+ export declare const CorrelationProvider: React_2.FC<ICorrelationProviderProps>;
389
+
372
390
  /**
373
391
  * Creates function that should be passed to onExportReady in the event that the backend execution
374
392
  * fails and export is not possible.
@@ -761,6 +779,12 @@ export declare class DataViewLoader {
761
779
  * @alpha
762
780
  */
763
781
  withTotals: (...totals: ITotal[]) => DataViewLoader;
782
+ /**
783
+ * Runs execution with the provided AbortSignal.
784
+ *
785
+ * @alpha
786
+ */
787
+ withSignal: (signal: AbortSignal) => DataViewLoader;
764
788
  /**
765
789
  * Loads subset of the result data and wraps them in {@link DataViewFacade}.
766
790
  *
@@ -1263,6 +1287,26 @@ export declare interface IBackendProviderProps {
1263
1287
  children?: React_2.ReactNode;
1264
1288
  }
1265
1289
 
1290
+ /**
1291
+ * Combined provider for both backend and correlation metadata.
1292
+ *
1293
+ * @public
1294
+ */
1295
+ export declare interface IBackendProviderWithCorrelationProps {
1296
+ /**
1297
+ * Backend instance to use or enhance with correlation
1298
+ */
1299
+ backend?: IAnalyticalBackend;
1300
+ /**
1301
+ * Key-value pairs of correlation metadata to be used for telemetry
1302
+ */
1303
+ correlationData: IRequestCorrelationMetadata;
1304
+ /**
1305
+ * React children
1306
+ */
1307
+ children?: React_2.ReactNode;
1308
+ }
1309
+
1266
1310
  /**
1267
1311
  * @internal
1268
1312
  */
@@ -1402,6 +1446,21 @@ export declare interface IComposedPlaceholder<TReturn, TValue extends any[], TCo
1402
1446
  use: IUseComposedPlaceholderHook<IComposedPlaceholder<TReturn, TValue, TContext>>;
1403
1447
  }
1404
1448
 
1449
+ /**
1450
+ * Props of the {@link CorrelationProvider} component.
1451
+ * @public
1452
+ */
1453
+ export declare interface ICorrelationProviderProps {
1454
+ /**
1455
+ * Key-value pairs of correlation metadata to be used for telemetry
1456
+ */
1457
+ correlationData: Record<string, string>;
1458
+ /**
1459
+ * React children
1460
+ */
1461
+ children?: React_2.ReactNode;
1462
+ }
1463
+
1405
1464
  /**
1406
1465
  * Defines methods to access data in the data view.
1407
1466
  *
@@ -1934,6 +1993,15 @@ export declare interface IExecuteInsightProps extends IWithLoadingEvents<IExecut
1934
1993
  * this mode.
1935
1994
  */
1936
1995
  executeByReference?: boolean;
1996
+ /**
1997
+ * Optionally enable real execution cancellation.
1998
+ *
1999
+ * This means that if the execution request is not yet finished and the execution changes,
2000
+ * the request will be cancelled and the new execution will be started.
2001
+ *
2002
+ * Default: false
2003
+ */
2004
+ enableExecutionCancelling?: boolean;
1937
2005
  /**
1938
2006
  * Child component to which rendering is delegated.
1939
2007
  *
@@ -2053,6 +2121,15 @@ export declare interface IExecuteProps extends IWithLoadingEvents<IExecuteProps>
2053
2121
  * If not specified, all data will be loaded.
2054
2122
  */
2055
2123
  window?: DataViewWindow;
2124
+ /**
2125
+ * Optionally enable real execution cancellation.
2126
+ *
2127
+ * This means that if the execution request is not yet finished and the execution changes,
2128
+ * the request will be cancelled and the new execution will be started.
2129
+ *
2130
+ * Default: false
2131
+ */
2132
+ enableExecutionCancelling?: boolean;
2056
2133
  /**
2057
2134
  * Child component to which rendering is delegated.
2058
2135
  *
@@ -2556,6 +2633,15 @@ export declare interface IRawExecuteProps extends IWithLoadingEvents<IRawExecute
2556
2633
  * to trigger the execution and loading.
2557
2634
  */
2558
2635
  loadOnMount?: boolean;
2636
+ /**
2637
+ * Optionally enable real execution cancellation.
2638
+ *
2639
+ * This means that if the execution request is not yet finished and the execution changes,
2640
+ * the request will be cancelled and the new execution will be started.
2641
+ *
2642
+ * Default: false
2643
+ */
2644
+ enableExecutionCancelling?: boolean;
2559
2645
  /**
2560
2646
  * Child component to which rendering is delegated.
2561
2647
  *
@@ -3068,6 +3154,15 @@ export declare interface IUseExecutionDataViewConfig {
3068
3154
  * workspace here, then the executor MUST be rendered within an existing WorkspaceContext.
3069
3155
  */
3070
3156
  workspace?: string;
3157
+ /**
3158
+ * Optionally enable real execution cancellation.
3159
+ *
3160
+ * This means that if the execution request is not yet finished and the execution changes,
3161
+ * the request will be cancelled and the new execution will be started.
3162
+ *
3163
+ * Default: false
3164
+ */
3165
+ enableExecutionCancelling?: boolean;
3071
3166
  }
3072
3167
 
3073
3168
  /**
@@ -3139,6 +3234,15 @@ export declare interface IUseInsightDataViewConfig {
3139
3234
  * workspace here, then the executor MUST be rendered within an existing WorkspaceContext.
3140
3235
  */
3141
3236
  workspace?: string;
3237
+ /**
3238
+ * Optionally enable real execution cancellation.
3239
+ *
3240
+ * This means that if the execution request is not yet finished and the execution changes,
3241
+ * the request will be cancelled and the new execution will be started.
3242
+ *
3243
+ * Default: false
3244
+ */
3245
+ enableExecutionCancelling?: boolean;
3142
3246
  }
3143
3247
 
3144
3248
  /**
@@ -3270,6 +3374,15 @@ export declare interface IWithExecution<T> {
3270
3374
  * Specify event callbacks which the HOC will trigger in different situations.
3271
3375
  */
3272
3376
  events?: IWithLoadingEvents<T> | ((props: T) => IWithLoadingEvents<T>);
3377
+ /**
3378
+ * Optionally enable real execution cancellation.
3379
+ *
3380
+ * This means that if the execution request is not yet finished and the execution changes,
3381
+ * the request will be cancelled and the new execution will be started.
3382
+ *
3383
+ * Default: false
3384
+ */
3385
+ enableExecutionCancelling?: boolean | ((props: T) => boolean);
3273
3386
  /**
3274
3387
  * Customize, whether execution & data loading should start as soon as component is mounted.
3275
3388
  *
@@ -3315,8 +3428,9 @@ export declare interface IWithExecutionLoading<TProps> {
3315
3428
  *
3316
3429
  * @param props - wrapped component props
3317
3430
  * @param window - data view window to retrieve, not specified in case all data should be retrieved
3431
+ * @param signal - abort signal, will be used to cancel the execution
3318
3432
  */
3319
- promiseFactory: (props: TProps, window?: DataViewWindow) => Promise<DataViewFacade>;
3433
+ promiseFactory: (props: TProps, window?: DataViewWindow, signal?: AbortSignal) => Promise<DataViewFacade>;
3320
3434
  /**
3321
3435
  * Specify data view window to retrieve from backend.
3322
3436
  *
@@ -3343,6 +3457,15 @@ export declare interface IWithExecutionLoading<TProps> {
3343
3457
  * @param nextProps - next props
3344
3458
  */
3345
3459
  shouldRefetch?: (prevProps: TProps, nextProps: TProps) => boolean;
3460
+ /**
3461
+ * Optionally enable real execution cancellation.
3462
+ *
3463
+ * This means that if the execution request is not yet finished and the execution changes,
3464
+ * the request will be cancelled and the new execution will be started.
3465
+ *
3466
+ * Default: false
3467
+ */
3468
+ enableExecutionCancelling?: boolean | ((props: TProps) => boolean);
3346
3469
  }
3347
3470
 
3348
3471
  /**
@@ -3455,7 +3578,7 @@ export declare function localIdentifierMatch(localIdOrMeasure: string | IMeasure
3455
3578
  *
3456
3579
  * @internal
3457
3580
  */
3458
- export declare function makeCancelable<T>(promise: Promise<T>): ICancelablePromise<T>;
3581
+ export declare function makeCancelable<T>(promise: (signal: AbortSignal) => Promise<T>, enableAbortController?: boolean): ICancelablePromise<T>;
3459
3582
 
3460
3583
  /**
3461
3584
  * Generate union of measures from union of measure definitions.
@@ -4017,6 +4140,20 @@ export declare const useBackend: (backend?: IAnalyticalBackend) => IAnalyticalBa
4017
4140
  */
4018
4141
  export declare const useBackendStrict: (backend?: IAnalyticalBackend, context?: string) => IAnalyticalBackend;
4019
4142
 
4143
+ /**
4144
+ * Hook to get a backend instance with correlation metadata from context,
4145
+ * and optionally merge them with additional correlation metadata provided as a parameter.
4146
+ *
4147
+ * @remarks
4148
+ * This hook enhances the backend from useBackend() with correlation metadata
4149
+ * from the nearest CorrelationProvider.
4150
+ *
4151
+ * @param backend - optional backend override
4152
+ * @param correlationMetadata - optional correlation metadata to merge with the context data
4153
+ * @public
4154
+ */
4155
+ export declare const useBackendWithCorrelation: (backend?: IAnalyticalBackend, correlationMetadata?: IRequestCorrelationMetadata) => IAnalyticalBackend | undefined;
4156
+
4020
4157
  /**
4021
4158
  * This hook provides easy way to work with Promises in React components.
4022
4159
  *
@@ -4088,7 +4225,14 @@ export declare type UseCancelablePromiseLoadingState = {
4088
4225
  * @public
4089
4226
  */
4090
4227
  export declare type UseCancelablePromiseOptions<TResult, TError> = UseCancelablePromiseCallbacks<TResult, TError> & {
4091
- promise: (() => Promise<TResult>) | undefined | null;
4228
+ promise: ((signal: AbortSignal) => Promise<TResult>) | undefined | null;
4229
+ /**
4230
+ * Optionally enable the AbortController that will be aborted when the dependency list changes, if the promise is still running.
4231
+ *
4232
+ * Note that the provided promise implementation must support cancellation by handling
4233
+ * the AbortSignal parameter.
4234
+ */
4235
+ enableAbortController?: boolean;
4092
4236
  };
4093
4237
 
4094
4238
  /**
@@ -4159,6 +4303,13 @@ export declare const useClientWorkspaceStatus: () => UseCancelablePromiseStatus;
4159
4303
  */
4160
4304
  export declare function useComposedPlaceholder<TContext, TPlaceholder extends IComposedPlaceholder<any, any, TContext>>(placeholder: TPlaceholder, resolutionContext?: TContext): PlaceholderResolvedValue<TPlaceholder>;
4161
4305
 
4306
+ /**
4307
+ * Hook to get correlation metadata from the nearest correlation provider.
4308
+ *
4309
+ * @public
4310
+ */
4311
+ export declare const useCorrelationData: () => Record<string, string>;
4312
+
4162
4313
  /**
4163
4314
  * This hook provides easy way to export data in your preferred format (csv/xlsx/raw) for the provided {@link @gooddata/sdk-backend-spi#IPreparedExecution}.
4164
4315
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-ui",
3
- "version": "10.22.0-alpha.5",
3
+ "version": "10.22.0-alpha.50",
4
4
  "description": "GoodData.UI SDK - Core",
5
5
  "repository": {
6
6
  "type": "git",
@@ -41,9 +41,9 @@
41
41
  "ts-invariant": "^0.7.5",
42
42
  "tslib": "^2.5.0",
43
43
  "uuid": "^8.3.2",
44
- "@gooddata/sdk-backend-spi": "10.22.0-alpha.5",
45
- "@gooddata/util": "10.22.0-alpha.5",
46
- "@gooddata/sdk-model": "10.22.0-alpha.5"
44
+ "@gooddata/sdk-backend-spi": "10.22.0-alpha.50",
45
+ "@gooddata/sdk-model": "10.22.0-alpha.50",
46
+ "@gooddata/util": "10.22.0-alpha.50"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "react": "^16.10.0 || ^17.0.0 || ^18.0.0",
@@ -94,10 +94,10 @@
94
94
  "typescript": "5.3.3",
95
95
  "vitest": "1.0.4",
96
96
  "vitest-dom": "0.1.1",
97
- "@gooddata/reference-workspace": "10.22.0-alpha.5",
98
- "@gooddata/i18n-toolkit": "10.22.0-alpha.5",
99
- "@gooddata/sdk-backend-base": "10.22.0-alpha.5",
100
- "@gooddata/sdk-backend-mockingbird": "10.22.0-alpha.5"
97
+ "@gooddata/i18n-toolkit": "10.22.0-alpha.50",
98
+ "@gooddata/reference-workspace": "10.22.0-alpha.50",
99
+ "@gooddata/sdk-backend-base": "10.22.0-alpha.50",
100
+ "@gooddata/sdk-backend-mockingbird": "10.22.0-alpha.50"
101
101
  },
102
102
  "scripts": {
103
103
  "clean": "rm -rf ci dist esm coverage *.log tsconfig.tsbuildinfo",