@gooddata/sdk-ui 10.22.0-alpha.1 → 10.22.0-alpha.11

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 (58) hide show
  1. package/esm/base/index.d.ts +1 -1
  2. package/esm/base/index.d.ts.map +1 -1
  3. package/esm/base/index.js +1 -1
  4. package/esm/base/index.js.map +1 -1
  5. package/esm/base/react/CancelablePromise.d.ts +1 -1
  6. package/esm/base/react/CancelablePromise.d.ts.map +1 -1
  7. package/esm/base/react/CancelablePromise.js +32 -18
  8. package/esm/base/react/CancelablePromise.js.map +1 -1
  9. package/esm/base/react/PromiseCache.js +2 -2
  10. package/esm/base/react/PromiseCache.js.map +1 -1
  11. package/esm/base/react/legacy/withEntireDataView.d.ts.map +1 -1
  12. package/esm/base/react/legacy/withEntireDataView.js +16 -2
  13. package/esm/base/react/legacy/withEntireDataView.js.map +1 -1
  14. package/esm/base/react/useCancelablePromise.d.ts +8 -1
  15. package/esm/base/react/useCancelablePromise.d.ts.map +1 -1
  16. package/esm/base/react/useCancelablePromise.js +3 -3
  17. package/esm/base/react/useCancelablePromise.js.map +1 -1
  18. package/esm/base/vis/VisualizationProps.d.ts +5 -0
  19. package/esm/base/vis/VisualizationProps.d.ts.map +1 -1
  20. package/esm/base/vis/VisualizationProps.js +1 -1
  21. package/esm/base/vis/export.d.ts +8 -1
  22. package/esm/base/vis/export.d.ts.map +1 -1
  23. package/esm/base/vis/export.js +10 -1
  24. package/esm/base/vis/export.js.map +1 -1
  25. package/esm/execution/DataViewLoader.d.ts +6 -0
  26. package/esm/execution/DataViewLoader.d.ts.map +1 -1
  27. package/esm/execution/DataViewLoader.js +13 -2
  28. package/esm/execution/DataViewLoader.js.map +1 -1
  29. package/esm/execution/Execute.d.ts +9 -0
  30. package/esm/execution/Execute.d.ts.map +1 -1
  31. package/esm/execution/Execute.js +2 -1
  32. package/esm/execution/Execute.js.map +1 -1
  33. package/esm/execution/ExecuteInsight.d.ts +9 -0
  34. package/esm/execution/ExecuteInsight.d.ts.map +1 -1
  35. package/esm/execution/ExecuteInsight.js +3 -2
  36. package/esm/execution/ExecuteInsight.js.map +1 -1
  37. package/esm/execution/RawExecute.d.ts +9 -0
  38. package/esm/execution/RawExecute.d.ts.map +1 -1
  39. package/esm/execution/RawExecute.js +2 -1
  40. package/esm/execution/RawExecute.js.map +1 -1
  41. package/esm/execution/useExecutionDataView.d.ts +9 -0
  42. package/esm/execution/useExecutionDataView.d.ts.map +1 -1
  43. package/esm/execution/useExecutionDataView.js +20 -12
  44. package/esm/execution/useExecutionDataView.js.map +1 -1
  45. package/esm/execution/useInsightDataView.d.ts +9 -0
  46. package/esm/execution/useInsightDataView.d.ts.map +1 -1
  47. package/esm/execution/useInsightDataView.js +2 -1
  48. package/esm/execution/useInsightDataView.js.map +1 -1
  49. package/esm/execution/withExecution.d.ts +9 -0
  50. package/esm/execution/withExecution.d.ts.map +1 -1
  51. package/esm/execution/withExecution.js +11 -4
  52. package/esm/execution/withExecution.js.map +1 -1
  53. package/esm/execution/withExecutionLoading.d.ts +11 -1
  54. package/esm/execution/withExecutionLoading.d.ts.map +1 -1
  55. package/esm/execution/withExecutionLoading.js +7 -4
  56. package/esm/execution/withExecutionLoading.js.map +1 -1
  57. package/esm/sdk-ui.d.ts +93 -3
  58. package/package.json +8 -8
@@ -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,2CA4F1B,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-2022 GoodData Corporation
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;AA+IzC,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,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;QAEnD,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"}
1
+ {"version":3,"file":"ExecuteInsight.js","sourceRoot":"","sources":["../../src/execution/ExecuteInsight.tsx"],"names":[],"mappings":"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"}
@@ -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,6CAoCP,CAAC"}
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-2022 GoodData Corporation
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;AA6ExC,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,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"}
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;CACtB;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,CAgE7D"}
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
- ? () => preparedExecution
43
- .execute()
44
- .then((executionResult) => window
45
- ? executionResult.readWindow(window.offset, window.size)
46
- : executionResult.readAll())
47
- .then((dataView) => {
48
- return DataViewFacade.for(dataView);
49
- })
50
- .catch((error) => {
51
- throw convertError(error);
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;AAgDD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAChC,MAAmE,EACnE,IAA2B;IAE3B,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACzF,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,OAAO,EAAE,iBAAiB;YACtB,CAAC,CAAC,GAAG,EAAE,CACD,iBAAiB;iBACZ,OAAO,EAAE;iBACT,IAAI,CAAC,CAAC,eAAe,EAAE,EAAE,CACtB,MAAM;gBACF,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;gBACxD,CAAC,CAAC,eAAe,CAAC,OAAO,EAAE,CAClC;iBACA,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACf,OAAO,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACb,MAAM,YAAY,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC,CAAC;YACZ,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,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"}
1
+ {"version":3,"file":"useExecutionDataView.js","sourceRoot":"","sources":["../../src/execution/useExecutionDataView.ts"],"names":[],"mappings":"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"}
@@ -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;CACtB;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,CAoE7D"}
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,
@@ -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":"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"}
1
+ {"version":3,"file":"withExecutionLoading.js","sourceRoot":"","sources":["../../src/execution/withExecutionLoading.tsx"],"names":[],"mappings":"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"}
package/esm/sdk-ui.d.ts CHANGED
@@ -388,6 +388,14 @@ export declare function createExportErrorFunction(error: GoodDataSdkError): IExp
388
388
  */
389
389
  export declare function createExportFunction(result: IExecutionResult, exportTitle?: string): IExportFunction;
390
390
 
391
+ /**
392
+ * Creates function to export Raw data in the provided result.
393
+ *
394
+ * @param result - data view that will be exported
395
+ * @internal
396
+ */
397
+ export declare function createExportRawFunction(result: IExecutionResult, filename: string): Promise<IExportResult>;
398
+
391
399
  /**
392
400
  * @internal
393
401
  */
@@ -761,6 +769,12 @@ export declare class DataViewLoader {
761
769
  * @alpha
762
770
  */
763
771
  withTotals: (...totals: ITotal[]) => DataViewLoader;
772
+ /**
773
+ * Runs execution with the provided AbortSignal.
774
+ *
775
+ * @alpha
776
+ */
777
+ withSignal: (signal: AbortSignal) => DataViewLoader;
764
778
  /**
765
779
  * Loads subset of the result data and wraps them in {@link DataViewFacade}.
766
780
  *
@@ -1618,6 +1632,11 @@ export declare interface IDataVisualizationProps extends IVisualizationProps, IV
1618
1632
  * @beta
1619
1633
  */
1620
1634
  clusteringConfig?: IClusteringConfig;
1635
+ /**
1636
+ * Whether to enable execution cancelling.
1637
+ * @internal
1638
+ */
1639
+ enableExecutionCancelling?: boolean;
1621
1640
  }
1622
1641
 
1623
1642
  /**
@@ -1929,6 +1948,15 @@ export declare interface IExecuteInsightProps extends IWithLoadingEvents<IExecut
1929
1948
  * this mode.
1930
1949
  */
1931
1950
  executeByReference?: boolean;
1951
+ /**
1952
+ * Optionally enable real execution cancellation.
1953
+ *
1954
+ * This means that if the execution request is not yet finished and the execution changes,
1955
+ * the request will be cancelled and the new execution will be started.
1956
+ *
1957
+ * Default: false
1958
+ */
1959
+ enableExecutionCancelling?: boolean;
1932
1960
  /**
1933
1961
  * Child component to which rendering is delegated.
1934
1962
  *
@@ -2048,6 +2076,15 @@ export declare interface IExecuteProps extends IWithLoadingEvents<IExecuteProps>
2048
2076
  * If not specified, all data will be loaded.
2049
2077
  */
2050
2078
  window?: DataViewWindow;
2079
+ /**
2080
+ * Optionally enable real execution cancellation.
2081
+ *
2082
+ * This means that if the execution request is not yet finished and the execution changes,
2083
+ * the request will be cancelled and the new execution will be started.
2084
+ *
2085
+ * Default: false
2086
+ */
2087
+ enableExecutionCancelling?: boolean;
2051
2088
  /**
2052
2089
  * Child component to which rendering is delegated.
2053
2090
  *
@@ -2551,6 +2588,15 @@ export declare interface IRawExecuteProps extends IWithLoadingEvents<IRawExecute
2551
2588
  * to trigger the execution and loading.
2552
2589
  */
2553
2590
  loadOnMount?: boolean;
2591
+ /**
2592
+ * Optionally enable real execution cancellation.
2593
+ *
2594
+ * This means that if the execution request is not yet finished and the execution changes,
2595
+ * the request will be cancelled and the new execution will be started.
2596
+ *
2597
+ * Default: false
2598
+ */
2599
+ enableExecutionCancelling?: boolean;
2554
2600
  /**
2555
2601
  * Child component to which rendering is delegated.
2556
2602
  *
@@ -3063,6 +3109,15 @@ export declare interface IUseExecutionDataViewConfig {
3063
3109
  * workspace here, then the executor MUST be rendered within an existing WorkspaceContext.
3064
3110
  */
3065
3111
  workspace?: string;
3112
+ /**
3113
+ * Optionally enable real execution cancellation.
3114
+ *
3115
+ * This means that if the execution request is not yet finished and the execution changes,
3116
+ * the request will be cancelled and the new execution will be started.
3117
+ *
3118
+ * Default: false
3119
+ */
3120
+ enableExecutionCancelling?: boolean;
3066
3121
  }
3067
3122
 
3068
3123
  /**
@@ -3134,6 +3189,15 @@ export declare interface IUseInsightDataViewConfig {
3134
3189
  * workspace here, then the executor MUST be rendered within an existing WorkspaceContext.
3135
3190
  */
3136
3191
  workspace?: string;
3192
+ /**
3193
+ * Optionally enable real execution cancellation.
3194
+ *
3195
+ * This means that if the execution request is not yet finished and the execution changes,
3196
+ * the request will be cancelled and the new execution will be started.
3197
+ *
3198
+ * Default: false
3199
+ */
3200
+ enableExecutionCancelling?: boolean;
3137
3201
  }
3138
3202
 
3139
3203
  /**
@@ -3265,6 +3329,15 @@ export declare interface IWithExecution<T> {
3265
3329
  * Specify event callbacks which the HOC will trigger in different situations.
3266
3330
  */
3267
3331
  events?: IWithLoadingEvents<T> | ((props: T) => IWithLoadingEvents<T>);
3332
+ /**
3333
+ * Optionally enable real execution cancellation.
3334
+ *
3335
+ * This means that if the execution request is not yet finished and the execution changes,
3336
+ * the request will be cancelled and the new execution will be started.
3337
+ *
3338
+ * Default: false
3339
+ */
3340
+ enableExecutionCancelling?: boolean | ((props: T) => boolean);
3268
3341
  /**
3269
3342
  * Customize, whether execution & data loading should start as soon as component is mounted.
3270
3343
  *
@@ -3310,8 +3383,9 @@ export declare interface IWithExecutionLoading<TProps> {
3310
3383
  *
3311
3384
  * @param props - wrapped component props
3312
3385
  * @param window - data view window to retrieve, not specified in case all data should be retrieved
3386
+ * @param signal - abort signal, will be used to cancel the execution
3313
3387
  */
3314
- promiseFactory: (props: TProps, window?: DataViewWindow) => Promise<DataViewFacade>;
3388
+ promiseFactory: (props: TProps, window?: DataViewWindow, signal?: AbortSignal) => Promise<DataViewFacade>;
3315
3389
  /**
3316
3390
  * Specify data view window to retrieve from backend.
3317
3391
  *
@@ -3338,6 +3412,15 @@ export declare interface IWithExecutionLoading<TProps> {
3338
3412
  * @param nextProps - next props
3339
3413
  */
3340
3414
  shouldRefetch?: (prevProps: TProps, nextProps: TProps) => boolean;
3415
+ /**
3416
+ * Optionally enable real execution cancellation.
3417
+ *
3418
+ * This means that if the execution request is not yet finished and the execution changes,
3419
+ * the request will be cancelled and the new execution will be started.
3420
+ *
3421
+ * Default: false
3422
+ */
3423
+ enableExecutionCancelling?: boolean | ((props: TProps) => boolean);
3341
3424
  }
3342
3425
 
3343
3426
  /**
@@ -3450,7 +3533,7 @@ export declare function localIdentifierMatch(localIdOrMeasure: string | IMeasure
3450
3533
  *
3451
3534
  * @internal
3452
3535
  */
3453
- export declare function makeCancelable<T>(promise: Promise<T>): ICancelablePromise<T>;
3536
+ export declare function makeCancelable<T>(promise: (signal: AbortSignal) => Promise<T>, enableAbortController?: boolean): ICancelablePromise<T>;
3454
3537
 
3455
3538
  /**
3456
3539
  * Generate union of measures from union of measure definitions.
@@ -4083,7 +4166,14 @@ export declare type UseCancelablePromiseLoadingState = {
4083
4166
  * @public
4084
4167
  */
4085
4168
  export declare type UseCancelablePromiseOptions<TResult, TError> = UseCancelablePromiseCallbacks<TResult, TError> & {
4086
- promise: (() => Promise<TResult>) | undefined | null;
4169
+ promise: ((signal: AbortSignal) => Promise<TResult>) | undefined | null;
4170
+ /**
4171
+ * Optionally enable the AbortController that will be aborted when the dependency list changes, if the promise is still running.
4172
+ *
4173
+ * Note that the provided promise implementation must support cancellation by handling
4174
+ * the AbortSignal parameter.
4175
+ */
4176
+ enableAbortController?: boolean;
4087
4177
  };
4088
4178
 
4089
4179
  /**