@gooddata/sdk-ui-dashboard 11.58.0-alpha.4 → 11.58.0-alpha.6

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 (166) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/_staging/insight/insightWidgetDescription.d.ts +9 -0
  4. package/esm/_staging/insight/insightWidgetDescription.d.ts.map +1 -0
  5. package/esm/_staging/insight/insightWidgetDescription.js +12 -0
  6. package/esm/_staging/sharedHooks/useRichTextFilters.d.ts +4 -22
  7. package/esm/_staging/sharedHooks/useRichTextFilters.d.ts.map +1 -1
  8. package/esm/_staging/sharedHooks/useRichTextFilters.js +11 -15
  9. package/esm/_staging/sharedHooks/useRichTextInputs.d.ts +35 -0
  10. package/esm/_staging/sharedHooks/useRichTextInputs.d.ts.map +1 -0
  11. package/esm/_staging/sharedHooks/useRichTextInputs.js +37 -0
  12. package/esm/index.d.ts +2 -2
  13. package/esm/index.d.ts.map +1 -1
  14. package/esm/index.js +1 -1
  15. package/esm/model/DashboardTester.d.ts.map +1 -1
  16. package/esm/model/DashboardTester.js +2 -4
  17. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
  18. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +21 -13
  19. package/esm/model/commandHandlers/parameters/dashboardParameterRoots.d.ts +20 -0
  20. package/esm/model/commandHandlers/parameters/dashboardParameterRoots.d.ts.map +1 -0
  21. package/esm/model/commandHandlers/parameters/dashboardParameterRoots.js +61 -0
  22. package/esm/model/commandHandlers/parameters/loadParameterDependencies.d.ts +27 -0
  23. package/esm/model/commandHandlers/parameters/loadParameterDependencies.d.ts.map +1 -0
  24. package/esm/model/commandHandlers/parameters/loadParameterDependencies.js +114 -0
  25. package/esm/model/commandHandlers/parameters/parameterDependenciesWorker.d.ts +6 -0
  26. package/esm/model/commandHandlers/parameters/parameterDependenciesWorker.d.ts.map +1 -0
  27. package/esm/model/commandHandlers/parameters/parameterDependenciesWorker.js +107 -0
  28. package/esm/model/react/useInitializeDashboardStore.d.ts.map +1 -1
  29. package/esm/model/react/useInitializeDashboardStore.js +2 -4
  30. package/esm/model/react/useTextParameters.d.ts +34 -0
  31. package/esm/model/react/useTextParameters.d.ts.map +1 -0
  32. package/esm/model/react/useTextParameters.js +68 -0
  33. package/esm/model/react/useWidgetExecConfig.d.ts.map +1 -1
  34. package/esm/model/react/useWidgetExecConfig.js +3 -2
  35. package/esm/model/store/catalog/catalogReducers.d.ts +8 -8
  36. package/esm/model/store/catalog/catalogReducers.d.ts.map +1 -1
  37. package/esm/model/store/catalog/catalogReducers.js +25 -12
  38. package/esm/model/store/catalog/catalogSelectors.d.ts +8 -16
  39. package/esm/model/store/catalog/catalogSelectors.d.ts.map +1 -1
  40. package/esm/model/store/catalog/catalogSelectors.js +7 -15
  41. package/esm/model/store/catalog/catalogState.d.ts +15 -30
  42. package/esm/model/store/catalog/catalogState.d.ts.map +1 -1
  43. package/esm/model/store/catalog/catalogState.js +1 -2
  44. package/esm/model/store/catalog/index.d.ts +4 -4
  45. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +25 -9
  46. package/esm/model/store/tabs/parameters/parametersHelpers.d.ts.map +1 -1
  47. package/esm/model/store/tabs/parameters/parametersHelpers.js +46 -13
  48. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +9 -9
  49. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
  50. package/esm/model/store/tabs/parameters/parametersSelectors.js +26 -22
  51. package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeContext.d.ts.map +1 -1
  52. package/esm/presentation/dashboard/DashboardSidebar/SidebarResizeContext.js +7 -1
  53. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.d.ts.map +1 -1
  54. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.js +3 -10
  55. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.d.ts.map +1 -1
  56. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.js +5 -10
  57. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +6 -1
  58. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  59. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +8 -3
  60. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +6 -1
  61. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  62. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +8 -3
  63. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +6 -1
  64. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  65. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +8 -3
  66. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +6 -1
  67. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  68. package/esm/presentation/localization/bundles/es-419.localization-bundle.js +13 -8
  69. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +6 -1
  70. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  71. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +8 -3
  72. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +6 -1
  73. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  74. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +8 -3
  75. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +6 -1
  76. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  77. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +8 -3
  78. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +6 -1
  79. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  80. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +8 -3
  81. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +6 -1
  82. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  83. package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +8 -3
  84. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +6 -1
  85. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  86. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +10 -5
  87. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +6 -1
  88. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  89. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +8 -3
  90. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +6 -1
  91. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  92. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +9 -4
  93. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +6 -1
  94. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  95. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +8 -3
  96. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +6 -1
  97. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  98. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +8 -3
  99. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +6 -1
  100. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  101. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +8 -3
  102. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +6 -1
  103. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  104. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +8 -3
  105. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +6 -1
  106. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  107. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +8 -3
  108. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +6 -1
  109. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  110. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +9 -4
  111. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +6 -1
  112. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  113. package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +9 -4
  114. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +6 -1
  115. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  116. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +9 -4
  117. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +6 -1
  118. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  119. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +18 -13
  120. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +6 -1
  121. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  122. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +9 -4
  123. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +6 -1
  124. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  125. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +10 -5
  126. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +6 -1
  127. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  128. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +9 -4
  129. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +6 -1
  130. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  131. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +12 -7
  132. package/esm/presentation/topBar/buttonBar/button/saveButton/DefaultSaveButton.d.ts.map +1 -1
  133. package/esm/presentation/topBar/buttonBar/button/saveButton/DefaultSaveButton.js +3 -2
  134. package/esm/presentation/widget/description/ExportModeInsightWidgetDescription.d.ts.map +1 -1
  135. package/esm/presentation/widget/description/ExportModeInsightWidgetDescription.js +4 -11
  136. package/esm/presentation/widget/description/InsightWidgetDescriptionTrigger.d.ts.map +1 -1
  137. package/esm/presentation/widget/description/InsightWidgetDescriptionTrigger.js +4 -9
  138. package/esm/presentation/widget/description/types.d.ts +3 -5
  139. package/esm/presentation/widget/description/types.d.ts.map +1 -1
  140. package/esm/presentation/widget/description/useInsightWidgetDescription.d.ts.map +1 -1
  141. package/esm/presentation/widget/description/useInsightWidgetDescription.js +2 -5
  142. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.d.ts.map +1 -1
  143. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.js +5 -10
  144. package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescription.d.ts +4 -3
  145. package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescription.d.ts.map +1 -1
  146. package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescription.js +5 -7
  147. package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescriptionConfig.d.ts.map +1 -1
  148. package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescriptionConfig.js +1 -3
  149. package/esm/presentation/widget/richText/EditModeDashboardRichText.d.ts.map +1 -1
  150. package/esm/presentation/widget/richText/EditModeDashboardRichText.js +5 -9
  151. package/esm/presentation/widget/richText/ViewModeDashboardRichText.d.ts.map +1 -1
  152. package/esm/presentation/widget/richText/ViewModeDashboardRichText.js +4 -10
  153. package/esm/sdk-ui-dashboard.d.ts +34 -60
  154. package/package.json +21 -21
  155. package/esm/model/commandHandlers/parameters/filterParameterDependenciesWorker.d.ts +0 -45
  156. package/esm/model/commandHandlers/parameters/filterParameterDependenciesWorker.d.ts.map +0 -1
  157. package/esm/model/commandHandlers/parameters/filterParameterDependenciesWorker.js +0 -99
  158. package/esm/model/commandHandlers/parameters/insightParameterDependenciesWorker.d.ts +0 -11
  159. package/esm/model/commandHandlers/parameters/insightParameterDependenciesWorker.d.ts.map +0 -1
  160. package/esm/model/commandHandlers/parameters/insightParameterDependenciesWorker.js +0 -71
  161. package/esm/model/commandHandlers/parameters/loadFilterParameterDependencies.d.ts +0 -22
  162. package/esm/model/commandHandlers/parameters/loadFilterParameterDependencies.d.ts.map +0 -1
  163. package/esm/model/commandHandlers/parameters/loadFilterParameterDependencies.js +0 -39
  164. package/esm/model/commandHandlers/parameters/loadInsightParameterDependencies.d.ts +0 -21
  165. package/esm/model/commandHandlers/parameters/loadInsightParameterDependencies.d.ts.map +0 -1
  166. package/esm/model/commandHandlers/parameters/loadInsightParameterDependencies.js +0 -86
@@ -1,4 +1,5 @@
1
1
  // (C) 2021-2026 GoodData Corporation
2
+ import { serializeObjRef, } from "@gooddata/sdk-model";
2
3
  const setCatalogItems = (state, action) => {
3
4
  const { attributes, measures, dateDatasets, facts, attributeHierarchies, computedAttributes, dateHierarchyTemplates, } = action.payload;
4
5
  state.attributes = attributes;
@@ -33,18 +34,30 @@ const deleteAttributeHierarchy = (state, action) => {
33
34
  const setCatalogParameters = (state, action) => {
34
35
  state.parameters = action.payload;
35
36
  };
36
- const setCatalogInsightParameters = (state, action) => {
37
- state.insightParameters = action.payload;
37
+ const setCatalogParameterDependencies = (state, action) => {
38
+ state.parameterDependencies = action.payload;
38
39
  };
39
- const mergeCatalogInsightParameters = (state, action) => {
40
- Object.assign(state.insightParameters.byInsight, action.payload);
40
+ const mergeCatalogParameterDependencies = (state, action) => {
41
+ Object.assign(state.parameterDependencies.byRoot, action.payload);
42
+ for (const key of Object.keys(action.payload)) {
43
+ delete state.parameterDependencies.requestedRoots[key];
44
+ }
41
45
  };
42
- const setCatalogFilterParameters = (state, action) => {
43
- state.filterParameters = action.payload;
46
+ const markParameterDependenciesPending = (state, action) => {
47
+ markRequestedRoots(state, action.payload, "pending");
44
48
  };
45
- const mergeCatalogFilterParameters = (state, action) => {
46
- Object.assign(state.filterParameters.byRef, action.payload);
49
+ /**
50
+ * Marks roots the references service rejected, or that nothing can load. They are never requested
51
+ * again, and a text waiting for them executes with the parameters it has.
52
+ */
53
+ const markParameterDependenciesFailed = (state, action) => {
54
+ markRequestedRoots(state, action.payload, "failed");
47
55
  };
56
+ function markRequestedRoots(state, roots, mark) {
57
+ for (const root of roots) {
58
+ state.parameterDependencies.requestedRoots[serializeObjRef(root)] = mark;
59
+ }
60
+ }
48
61
  export const catalogReducers = {
49
62
  setCatalogItems,
50
63
  setCatalogMeasuresAndFacts,
@@ -52,8 +65,8 @@ export const catalogReducers = {
52
65
  updateAttributeHierarchy,
53
66
  deleteAttributeHierarchy,
54
67
  setCatalogParameters,
55
- setCatalogInsightParameters,
56
- mergeCatalogInsightParameters,
57
- setCatalogFilterParameters,
58
- mergeCatalogFilterParameters,
68
+ setCatalogParameterDependencies,
69
+ mergeCatalogParameterDependencies,
70
+ markParameterDependenciesPending,
71
+ markParameterDependenciesFailed,
59
72
  };
@@ -2,7 +2,7 @@ import { type IAttributeDisplayFormMetadataObject, type ICatalogAttribute, type
2
2
  import { type CatalogDateAttributeWithDataset } from "../../../_staging/catalog/dateAttributeWithDatasetMap.js";
3
3
  import { type ObjRefMap } from "../../../_staging/metadata/objRefMap.js";
4
4
  import { type DashboardSelector, type DashboardState } from "../types.js";
5
- import { type CatalogFilterParametersStatus, type CatalogInsightParametersStatus, type CatalogParametersStatus } from "./catalogState.js";
5
+ import { type CatalogParameterDependenciesStatus, type CatalogParametersStatus } from "./catalogState.js";
6
6
  /**
7
7
  * @public
8
8
  */
@@ -53,33 +53,25 @@ export declare const selectCatalogParametersStatus: DashboardSelector<CatalogPar
53
53
  */
54
54
  export declare const selectCatalogParametersIsLoaded: DashboardSelector<boolean>;
55
55
  /**
56
- * Returns the dashboard-wide map from serialized insight ref to the parameter refs the insight depends on.
56
+ * Returns the dashboard-wide map from serialized root ref to the parameter refs that root depends on.
57
57
  * The map is populated during dashboard initialization from the workspace references service and extended
58
- * when insights are added later.
58
+ * when insights, text references, or dashboard filters add roots later.
59
59
  *
60
60
  * @alpha
61
61
  */
62
- export declare const selectCatalogInsightParameters: DashboardSelector<Record<string, IdentifierRef[]>>;
62
+ export declare const selectCatalogParameterDependencies: DashboardSelector<Record<string, IdentifierRef[]>>;
63
63
  /**
64
- * Returns the load status of the dashboard-wide insight → parameter dependency map.
64
+ * Returns the load status of the dashboard-wide root → parameter dependency map.
65
65
  *
66
66
  * @alpha
67
67
  */
68
- export declare const selectCatalogInsightParametersStatus: DashboardSelector<CatalogInsightParametersStatus>;
68
+ export declare const selectCatalogParameterDependenciesStatus: DashboardSelector<CatalogParameterDependenciesStatus>;
69
69
  /**
70
- * Returns the dashboard-wide map from the serialized ref of an object a dashboard filter reads (a computed
71
- * attribute, a metric) to the parameter refs it depends on. Populated during dashboard initialization from
72
- * the workspace references service and extended when the filter context gains filters on other objects.
70
+ * Returns pending and failed dependency requests, keyed by serialized root ref.
73
71
  *
74
72
  * @alpha
75
73
  */
76
- export declare const selectCatalogFilterParameters: DashboardSelector<Record<string, IdentifierRef[]>>;
77
- /**
78
- * Returns the load status of the dashboard-wide dashboard-filter → parameter dependency map.
79
- *
80
- * @alpha
81
- */
82
- export declare const selectCatalogFilterParametersStatus: DashboardSelector<CatalogFilterParametersStatus>;
74
+ export declare const selectCatalogRequestedParameterRoots: DashboardSelector<Record<string, "pending" | "failed">>;
83
75
  /**
84
76
  * @alpha
85
77
  */
@@ -1 +1 @@
1
- {"version":3,"file":"catalogSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/catalog/catalogSelectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalogSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/catalog/catalogSelectors.ts"],"names":[],"mappings":"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"}
@@ -64,33 +64,25 @@ export const selectCatalogParametersStatus = createSelector(selectSelf, (state)
64
64
  */
65
65
  export const selectCatalogParametersIsLoaded = createSelector(selectCatalogParametersStatus, (status) => status === "loaded");
66
66
  /**
67
- * Returns the dashboard-wide map from serialized insight ref to the parameter refs the insight depends on.
67
+ * Returns the dashboard-wide map from serialized root ref to the parameter refs that root depends on.
68
68
  * The map is populated during dashboard initialization from the workspace references service and extended
69
- * when insights are added later.
69
+ * when insights, text references, or dashboard filters add roots later.
70
70
  *
71
71
  * @alpha
72
72
  */
73
- export const selectCatalogInsightParameters = createSelector(selectSelf, (state) => state.insightParameters.byInsight);
73
+ export const selectCatalogParameterDependencies = createSelector(selectSelf, (state) => state.parameterDependencies.byRoot);
74
74
  /**
75
- * Returns the load status of the dashboard-wide insight → parameter dependency map.
75
+ * Returns the load status of the dashboard-wide root → parameter dependency map.
76
76
  *
77
77
  * @alpha
78
78
  */
79
- export const selectCatalogInsightParametersStatus = createSelector(selectSelf, (state) => state.insightParameters.status);
79
+ export const selectCatalogParameterDependenciesStatus = createSelector(selectSelf, (state) => state.parameterDependencies.status);
80
80
  /**
81
- * Returns the dashboard-wide map from the serialized ref of an object a dashboard filter reads (a computed
82
- * attribute, a metric) to the parameter refs it depends on. Populated during dashboard initialization from
83
- * the workspace references service and extended when the filter context gains filters on other objects.
81
+ * Returns pending and failed dependency requests, keyed by serialized root ref.
84
82
  *
85
83
  * @alpha
86
84
  */
87
- export const selectCatalogFilterParameters = createSelector(selectSelf, (state) => state.filterParameters.byRef);
88
- /**
89
- * Returns the load status of the dashboard-wide dashboard-filter → parameter dependency map.
90
- *
91
- * @alpha
92
- */
93
- export const selectCatalogFilterParametersStatus = createSelector(selectSelf, (state) => state.filterParameters.status);
85
+ export const selectCatalogRequestedParameterRoots = createSelector(selectSelf, (state) => state.parameterDependencies.requestedRoots);
94
86
  /**
95
87
  * @alpha
96
88
  */
@@ -15,40 +15,27 @@ export interface ICatalogParametersState {
15
15
  parameters: IParameterMetadataObject[];
16
16
  }
17
17
  /**
18
- * Status of the dashboard-wide insight → parameter dependency map.
18
+ * Status of the dashboard-wide root → parameter dependency map.
19
19
  *
20
20
  * @alpha
21
21
  */
22
- export type CatalogInsightParametersStatus = "uninitialized" | "loading" | "loaded" | "failed";
22
+ export type CatalogParameterDependenciesStatus = "uninitialized" | "loaded";
23
23
  /**
24
- * Maps each dashboard insight (keyed by `serializeObjRef(insightRef)`) to the parameter refs it
25
- * depends on through its metrics and computed attributes, as reported by the workspace references
26
- * service. Drives runtime parameter applicability for widget execution.
24
+ * Maps each dependency root (an insight, a text reference, or an object a dashboard filter reads; keyed by
25
+ * `serializeObjRef` of the ref exactly as the caller supplied it) to the parameter refs it depends
26
+ * on through its metrics and computed attributes, as reported by the workspace references service.
27
+ * Drives runtime parameter applicability for execution and for display.
27
28
  *
28
29
  * @alpha
29
30
  */
30
- export interface ICatalogInsightParametersState {
31
- status: CatalogInsightParametersStatus;
32
- byInsight: Record<string, IdentifierRef[]>;
33
- }
34
- /**
35
- * Status of the dashboard-wide dashboard-filter → parameter dependency map.
36
- *
37
- * @alpha
38
- */
39
- export type CatalogFilterParametersStatus = "uninitialized" | "loading" | "loaded" | "failed";
40
- /**
41
- * Maps each object a dashboard filter reads (keyed by `serializeObjRef(ref)`: the computed attribute
42
- * of an attribute filter, the metric or a computed-attribute dimension of a measure value filter) to
43
- * the parameter refs it depends on, as reported by the workspace references service. Complements
44
- * {@link ICatalogInsightParametersState} for the parameters a widget reaches only through dashboard
45
- * filters, which are not part of its insight.
46
- *
47
- * @alpha
48
- */
49
- export interface ICatalogFilterParametersState {
50
- status: CatalogFilterParametersStatus;
51
- byRef: Record<string, IdentifierRef[]>;
31
+ export interface ICatalogParameterDependenciesState {
32
+ status: CatalogParameterDependenciesStatus;
33
+ byRoot: Record<string, IdentifierRef[]>;
34
+ /**
35
+ * Request status keyed by `serializeObjRef`. Successful loads clear the entry. Failed roots
36
+ * are skipped until initialization or an insight update requests them again.
37
+ */
38
+ requestedRoots: Record<string, "pending" | "failed">;
52
39
  }
53
40
  /**
54
41
  * @public
@@ -76,9 +63,7 @@ export type CatalogState = {
76
63
  /** @alpha */
77
64
  parameters: ICatalogParametersState;
78
65
  /** @alpha */
79
- insightParameters: ICatalogInsightParametersState;
80
- /** @alpha */
81
- filterParameters: ICatalogFilterParametersState;
66
+ parameterDependencies: ICatalogParameterDependenciesState;
82
67
  };
83
68
  export declare const catalogInitialState: CatalogState;
84
69
  //# sourceMappingURL=catalogState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalogState.d.ts","sourceRoot":"","sources":["../../../../src/model/store/catalog/catalogState.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EACrB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEtG;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,uBAAuB,CAAC;IAChC,UAAU,EAAE,wBAAwB,EAAE,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,MAAM,8BAA8B,GAAG,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE/F;;;;;;GAMG;AACH,MAAM,WAAW,8BAA8B;IAC3C,MAAM,EAAE,8BAA8B,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;CAC9C;AAED;;;;GAIG;AACH,MAAM,MAAM,6BAA6B,GAAG,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9F;;;;;;;;GAQG;AACH,MAAM,WAAW,6BAA6B;IAC1C,MAAM,EAAE,6BAA6B,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,YAAY;IACZ,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,YAAY;IACZ,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,YAAY;IACZ,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,YAAY;IACZ,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,YAAY;IACZ,oBAAoB,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACpD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACjD,YAAY;IACZ,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAClD,aAAa;IACb,UAAU,EAAE,uBAAuB,CAAC;IACpC,aAAa;IACb,iBAAiB,EAAE,8BAA8B,CAAC;IAClD,aAAa;IACb,gBAAgB,EAAE,6BAA6B,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAWjC,CAAC"}
1
+ {"version":3,"file":"catalogState.d.ts","sourceRoot":"","sources":["../../../../src/model/store/catalog/catalogState.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EACrB,MAAM,qBAAqB,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,uBAAuB,GAAG,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEtG;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACpC,MAAM,EAAE,uBAAuB,CAAC;IAChC,UAAU,EAAE,wBAAwB,EAAE,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,MAAM,kCAAkC,GAAG,eAAe,GAAG,QAAQ,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,WAAW,kCAAkC;IAC/C,MAAM,EAAE,kCAAkC,CAAC;IAC3C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACxC;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,YAAY;IACZ,UAAU,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACjC,YAAY;IACZ,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,YAAY;IACZ,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC,YAAY;IACZ,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,YAAY;IACZ,oBAAoB,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACpD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IACjD,YAAY;IACZ,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAClD,aAAa;IACb,UAAU,EAAE,uBAAuB,CAAC;IACpC,aAAa;IACb,qBAAqB,EAAE,kCAAkC,CAAC;CAC7D,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,YAUjC,CAAC"}
@@ -8,6 +8,5 @@ export const catalogInitialState = {
8
8
  computedAttributes: undefined,
9
9
  dateHierarchyTemplates: undefined,
10
10
  parameters: { status: "uninitialized", parameters: [] },
11
- insightParameters: { status: "uninitialized", byInsight: {} },
12
- filterParameters: { status: "uninitialized", byRef: {} },
11
+ parameterDependencies: { status: "uninitialized", byRoot: {}, requestedRoots: {} },
13
12
  };
@@ -11,9 +11,9 @@ export declare const catalogActions: {
11
11
  updateAttributeHierarchy: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("@gooddata/sdk-model").ICatalogAttributeHierarchy, "catalog/updateAttributeHierarchy">;
12
12
  deleteAttributeHierarchy: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("@gooddata/sdk-model").ICatalogAttributeHierarchy, "catalog/deleteAttributeHierarchy">;
13
13
  setCatalogParameters: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./catalogState.js").ICatalogParametersState, "catalog/setCatalogParameters">;
14
- setCatalogInsightParameters: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./catalogState.js").ICatalogInsightParametersState, "catalog/setCatalogInsightParameters">;
15
- mergeCatalogInsightParameters: import("@reduxjs/toolkit").ActionCreatorWithPayload<Record<string, import("@gooddata/sdk-model").IdentifierRef[]>, "catalog/mergeCatalogInsightParameters">;
16
- setCatalogFilterParameters: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./catalogState.js").ICatalogFilterParametersState, "catalog/setCatalogFilterParameters">;
17
- mergeCatalogFilterParameters: import("@reduxjs/toolkit").ActionCreatorWithPayload<Record<string, import("@gooddata/sdk-model").IdentifierRef[]>, "catalog/mergeCatalogFilterParameters">;
14
+ setCatalogParameterDependencies: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("./catalogState.js").ICatalogParameterDependenciesState, "catalog/setCatalogParameterDependencies">;
15
+ mergeCatalogParameterDependencies: import("@reduxjs/toolkit").ActionCreatorWithPayload<Record<string, import("@gooddata/sdk-model").IdentifierRef[]>, "catalog/mergeCatalogParameterDependencies">;
16
+ markParameterDependenciesPending: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("@gooddata/sdk-model").IdentifierRef[], "catalog/markParameterDependenciesPending">;
17
+ markParameterDependenciesFailed: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("@gooddata/sdk-model").IdentifierRef[], "catalog/markParameterDependenciesFailed">;
18
18
  };
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -38,12 +38,17 @@ export declare function collectFilterParameterRoots(filters: ReadonlyArray<Filte
38
38
  */
39
39
  export declare function isDashboardFilterIgnoredByWidget(ignoreDashboardFilters: ReadonlyArray<IDashboardFilterReference>, filter: FilterContextItem): boolean;
40
40
  /**
41
- * The parameter refs a widget depends on through the dashboard filters of its tab that it does not
42
- * ignore, resolved against the filter → parameter dependency map (`catalog.filterParameters.byRef`).
41
+ * The dependency roots of the dashboard filters of a tab that a widget does not ignore.
43
42
  *
44
43
  * @internal
45
44
  */
46
- export declare function collectWidgetFilterParameterRefs(ignoreDashboardFilters: ReadonlyArray<IDashboardFilterReference>, tab: ITabState, filterParameters: Record<string, IdentifierRef[]>): IdentifierRef[];
45
+ export declare function collectWidgetFilterParameterRoots(ignoreDashboardFilters: ReadonlyArray<IDashboardFilterReference>, tab: ITabState): IdentifierRef[];
46
+ /**
47
+ * The parameter refs the given roots depend on, deduped. A root the map does not hold adds none.
48
+ *
49
+ * @internal
50
+ */
51
+ export declare function collectRootParameterRefs(dependenciesByRoot: Record<string, IdentifierRef[]>, roots: ReadonlyArray<ObjRef>): IdentifierRef[];
47
52
  /**
48
53
  * Effective execution parameters, limited to `referencedRefs`. Precedence per ref: the dashboard
49
54
  * `runtimeOverride`, else the insight's own parameter value, else nothing (backend uses the workspace
@@ -56,19 +61,30 @@ export declare function collectWidgetFilterParameterRefs(ignoreDashboardFilters:
56
61
  export declare function resolveEffectiveParameterValuesForRefs(entries: IDashboardParameterEntry[], referencedRefs: IdentifierRef[], insightParameterValues: IInsightParameterValue[], workspaceParameterByRef: Map<string, IParameterMetadataObject>): IInsightParameterValue[];
57
62
  interface IParameterResolutionContext {
58
63
  entries: IDashboardParameterEntry[];
59
- insightParameters: Record<string, IdentifierRef[]>;
60
- filterParameterRefs: IdentifierRef[];
64
+ dependenciesByRoot: Record<string, IdentifierRef[]>;
65
+ filterRoots: IdentifierRef[];
61
66
  workspaceParameterByRef: Map<string, IParameterMetadataObject>;
62
67
  isStringEnabled: boolean;
63
68
  }
64
69
  /**
65
- * Effective execution parameters for `insight` given a widget's parameter context: looks up the refs
66
- * the insight depends on, adds those the widget's dashboard filters depend on, then applies
67
- * {@link resolveEffectiveParameterValuesForRefs}.
70
+ * Effective execution parameters for what `roots` depend on, given a widget's parameter context:
71
+ * unions the refs of every root and of every root of the widget's dashboard filters, then applies
72
+ * {@link resolveEffectiveParameterValuesForRefs}. An insight is passed by the hosts that execute one,
73
+ * so its authored values take part; a text has none. Roots are looked up exactly as they are spelled
74
+ * here, the way they were loaded.
75
+ *
76
+ * @internal
77
+ */
78
+ export declare function resolveEffectiveParameterValuesForRoots(context: IParameterResolutionContext | undefined, roots: ObjRef[], insight?: IInsight): IInsightParameterValue[];
79
+ /**
80
+ * The text every parameter of the workspace shows, by parameter identifier. Values resolve exactly
81
+ * as an execution resolves them - chip, then insight-authored value, then the workspace default,
82
+ * with an invalid value recovered to the default - and are then titled through
83
+ * {@link getParameterValueTitle}, so a constrained value reads as its allowed-value title.
68
84
  *
69
85
  * @internal
70
86
  */
71
- export declare function resolveEffectiveParameterValuesForInsight(context: IParameterResolutionContext | undefined, insight: IInsight): IInsightParameterValue[];
87
+ export declare function resolveParameterDisplayValues(context: IParameterResolutionContext, insight?: IInsight): ReadonlyMap<string, string>;
72
88
  /**
73
89
  * The value hydration seeds into `runtimeOverride`: the dashboard parameter's `value`, else the
74
90
  * workspace default when the workspace parameter is of the matching type, else `undefined`.
@@ -1 +1 @@
1
- {"version":3,"file":"parametersHelpers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersHelpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parametersHelpers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,cAAc,EAetB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EACH,KAAK,wBAAwB,EAGhC,MAAM,sBAAsB,CAAC;AAK9B;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAM,CAAC;AAE9F;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,KAAK,EAAE,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,GAAG,aAAa,EAAE,CAazG;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa,EAAE,CAe/E;AAWD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC,GAAG,aAAa,EAAE,CAEtG;AAED;;;;;;;;;GASG;AACH,wBAAgB,gCAAgC,CAC5C,sBAAsB,EAAE,aAAa,CAAC,yBAAyB,CAAC,EAChE,MAAM,EAAE,iBAAiB,GAC1B,OAAO,CAiBT;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC7C,sBAAsB,EAAE,aAAa,CAAC,yBAAyB,CAAC,EAChE,GAAG,EAAE,SAAS,GACf,aAAa,EAAE,CAKjB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACpC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,EACnD,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,GAC7B,aAAa,EAAE,CAIjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sCAAsC,CAClD,OAAO,EAAE,wBAAwB,EAAE,EACnC,cAAc,EAAE,aAAa,EAAE,EAC/B,sBAAsB,EAAE,sBAAsB,EAAE,EAChD,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,GAC/D,sBAAsB,EAAE,CAkC1B;AAED,UAAU,2BAA2B;IACjC,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACpC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IAGpD,WAAW,EAAE,aAAa,EAAE,CAAC;IAC7B,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAC/D,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,uCAAuC,CACnD,OAAO,EAAE,2BAA2B,GAAG,SAAS,EAChD,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,QAAQ,GACnB,sBAAsB,EAAE,CAc1B;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CACzC,OAAO,EAAE,2BAA2B,EACpC,OAAO,CAAC,EAAE,QAAQ,GACnB,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAqB7B;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC1C,SAAS,EAAE,mBAAmB,EAC9B,kBAAkB,EAAE,wBAAwB,GAAG,SAAS,GACzD,cAAc,GAAG,SAAS,CAK5B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACjC,SAAS,EAAE,mBAAmB,EAC9B,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,GAC/D,wBAAwB,CAQ1B;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACvC,SAAS,EAAE,mBAAmB,EAC9B,kBAAkB,EAAE,wBAAwB,GAAG,SAAS,GACzD,oBAAoB,GAAG,SAAS,CAGlC;AAmBD;;;;;;;GAOG;AACH,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,SAAS,GAAG,cAAc,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,WAAW,6BAA6B;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,uBAAuB,CAAC;CACjC;AAED;;;;;;;;;GASG;AACH,wBAAgB,+BAA+B,CAC3C,kBAAkB,EAAE,mBAAmB,EACvC,kBAAkB,EAAE,wBAAwB,GAAG,SAAS,GACzD,uBAAuB,GAAG,SAAS,CAcrC;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC3C,OAAO,EAAE,wBAAwB,EAAE,EACnC,mBAAmB,EAAE,wBAAwB,EAAE,GAChD,6BAA6B,EAAE,CAsBjC;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CACzC,OAAO,EAAE,wBAAwB,EAAE,EACnC,eAAe,EAAE,OAAO,GACzB,sBAAsB,EAAE,CAS1B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,wBAAwB,EAAE,eAAe,EAAE,OAAO,GAAG,OAAO,CAErG;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,OAAO,GAAG,OAAO,CAE3F;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,GAAG,wBAAwB,EAAE,CAItG;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CACzC,OAAO,EAAE,kBAAkB,EAC3B,eAAe,EAAE,OAAO,GACzB,sBAAsB,EAAE,CAE1B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,SAAS,EAAE,mBAAmB,EAC9B,kBAAkB,EAAE,wBAAwB,GAAG,SAAS,GACzD,MAAM,CAER;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CACzC,mBAAmB,EAAE,wBAAwB,EAAE,GAChD,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAEvC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,wBAAwB,GAAG,cAAc,GAAG,SAAS,CAE3F;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,wBAAwB,GAAG,mBAAmB,CAEzF;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,wBAAwB,GAAG,mBAAmB,CAEzF;AAYD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,CACpC,KAAK,EAAE,wBAAwB,EAC/B,kBAAkB,EAAE,wBAAwB,GAAG,SAAS,GACzD,yBAAyB,GAAG,SAAS,CAWvC;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,wBAAwB,EAC/B,kBAAkB,EAAE,wBAAwB,GAC7C,mBAAmB,CAYrB;AAYD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACrC,aAAa,EAAE,aAAa,CAAC,aAAa,CAAC,EAC3C,uBAAuB,EAAE,mBAAmB,EAAE,GAC/C,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAW/C;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACtC,KAAK,EAAE,wBAAwB,EAC/B,kBAAkB,EAAE,wBAAwB,GAAG,SAAS,EACxD,YAAY,EAAE,OAAO,GACtB,cAAc,GAAG,SAAS,CAc5B;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CACxC,OAAO,EAAE,wBAAwB,EAAE,EACnC,mBAAmB,EAAE,wBAAwB,EAAE,EAC/C,YAAY,EAAE,OAAO,GACtB,sBAAsB,EAAE,CAqB1B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAClC,IAAI,EAAE,aAAa,CAAC,SAAS,CAAC,EAC9B,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,EAC9D,eAAe,EAAE,OAAO,GACzB,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAS7C"}
@@ -1,5 +1,5 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { DashboardParameterModeValues, areObjRefsEqual, dashboardAttributeFilterItemDisplayForm, insightParameters, insightRef, isComputedAttributeRef, isDashboardAttributeFilterItem, isDashboardAttributeFilterReference, isDashboardMeasureValueFilter, isDashboardMeasureValueFilterReference, isIdentifierRef, isValidParameterValue, objRefToString, sanitizeParameterValue, serializeObjRef, } from "@gooddata/sdk-model";
2
+ import { DashboardParameterModeValues, areObjRefsEqual, dashboardAttributeFilterItemDisplayForm, getParameterValueTitle, insightParameters, isComputedAttributeRef, isDashboardAttributeFilterItem, isDashboardAttributeFilterReference, isDashboardMeasureValueFilter, isDashboardMeasureValueFilterReference, isIdentifierRef, isValidParameterValue, objRefToString, sanitizeParameterValue, serializeObjRef, } from "@gooddata/sdk-model";
3
3
  import { parametersInitialState, pickTabParametersSource, } from "./parametersState.js";
4
4
  const EMPTY_PARAMETERS = [];
5
5
  const EMPTY_PARAMETER_VALUES = [];
@@ -90,16 +90,21 @@ export function isDashboardFilterIgnoredByWidget(ignoreDashboardFilters, filter)
90
90
  return false;
91
91
  }
92
92
  /**
93
- * The parameter refs a widget depends on through the dashboard filters of its tab that it does not
94
- * ignore, resolved against the filter → parameter dependency map (`catalog.filterParameters.byRef`).
93
+ * The dependency roots of the dashboard filters of a tab that a widget does not ignore.
95
94
  *
96
95
  * @internal
97
96
  */
98
- export function collectWidgetFilterParameterRefs(ignoreDashboardFilters, tab, filterParameters) {
97
+ export function collectWidgetFilterParameterRoots(ignoreDashboardFilters, tab) {
99
98
  const filters = tab.filterContext?.filterContextDefinition?.filters ?? [];
100
- const roots = collectFilterParameterRoots(filters.filter((filter) => !isDashboardFilterIgnoredByWidget(ignoreDashboardFilters, filter)));
101
- const result = unionParameterRefs(...roots.map((root) => filterParameters[serializeObjRef(root)] ?? EMPTY_REFS));
102
- return result.length === 0 ? EMPTY_REFS : result;
99
+ return collectFilterParameterRoots(filters.filter((filter) => !isDashboardFilterIgnoredByWidget(ignoreDashboardFilters, filter)));
100
+ }
101
+ /**
102
+ * The parameter refs the given roots depend on, deduped. A root the map does not hold adds none.
103
+ *
104
+ * @internal
105
+ */
106
+ export function collectRootParameterRefs(dependenciesByRoot, roots) {
107
+ return unionParameterRefs(...roots.map((root) => dependenciesByRoot[serializeObjRef(root)] ?? EMPTY_REFS));
103
108
  }
104
109
  /**
105
110
  * Effective execution parameters, limited to `referencedRefs`. Precedence per ref: the dashboard
@@ -143,18 +148,46 @@ export function resolveEffectiveParameterValuesForRefs(entries, referencedRefs,
143
148
  return result.length === 0 ? EMPTY_PARAMETER_VALUES : result;
144
149
  }
145
150
  /**
146
- * Effective execution parameters for `insight` given a widget's parameter context: looks up the refs
147
- * the insight depends on, adds those the widget's dashboard filters depend on, then applies
148
- * {@link resolveEffectiveParameterValuesForRefs}.
151
+ * Effective execution parameters for what `roots` depend on, given a widget's parameter context:
152
+ * unions the refs of every root and of every root of the widget's dashboard filters, then applies
153
+ * {@link resolveEffectiveParameterValuesForRefs}. An insight is passed by the hosts that execute one,
154
+ * so its authored values take part; a text has none. Roots are looked up exactly as they are spelled
155
+ * here, the way they were loaded.
149
156
  *
150
157
  * @internal
151
158
  */
152
- export function resolveEffectiveParameterValuesForInsight(context, insight) {
159
+ export function resolveEffectiveParameterValuesForRoots(context, roots, insight) {
153
160
  if (!context) {
154
161
  return EMPTY_PARAMETER_VALUES;
155
162
  }
156
- const referencedRefs = unionParameterRefs(context.insightParameters[serializeObjRef(insightRef(insight))] ?? EMPTY_REFS, context.filterParameterRefs);
157
- return resolveEffectiveParameterValuesForRefs(context.entries, referencedRefs, ungatedInsightParameterValues(insight, context.isStringEnabled), context.workspaceParameterByRef);
163
+ const referencedRefs = collectRootParameterRefs(context.dependenciesByRoot, [
164
+ ...roots,
165
+ ...context.filterRoots,
166
+ ]);
167
+ return resolveEffectiveParameterValuesForRefs(context.entries, referencedRefs, insight ? ungatedInsightParameterValues(insight, context.isStringEnabled) : [], context.workspaceParameterByRef);
168
+ }
169
+ /**
170
+ * The text every parameter of the workspace shows, by parameter identifier. Values resolve exactly
171
+ * as an execution resolves them - chip, then insight-authored value, then the workspace default,
172
+ * with an invalid value recovered to the default - and are then titled through
173
+ * {@link getParameterValueTitle}, so a constrained value reads as its allowed-value title.
174
+ *
175
+ * @internal
176
+ */
177
+ export function resolveParameterDisplayValues(context, insight) {
178
+ const workspaceParameters = [...context.workspaceParameterByRef.values()];
179
+ const effectiveValues = resolveEffectiveParameterValuesForRefs(context.entries, workspaceParameters.map((parameter) => parameter.ref).filter(isIdentifierRef), insight ? ungatedInsightParameterValues(insight, context.isStringEnabled) : [], context.workspaceParameterByRef);
180
+ const valueByRef = new Map(effectiveValues.map((effective) => [objRefToString(effective.ref), effective.value]));
181
+ const displayValues = new Map();
182
+ for (const { definition, ref } of workspaceParameters) {
183
+ // a text names a parameter by identifier, so one referenced by uri cannot be written at all
184
+ if (!isIdentifierRef(ref)) {
185
+ continue;
186
+ }
187
+ const value = valueByRef.get(objRefToString(ref)) ?? definition.defaultValue;
188
+ displayValues.set(ref.identifier, getParameterValueTitle(definition, value));
189
+ }
190
+ return displayValues;
158
191
  }
159
192
  /**
160
193
  * The value hydration seeds into `runtimeOverride`: the dashboard parameter's `value`, else the
@@ -152,20 +152,20 @@ export declare const selectParameterReconciliations: DashboardSelector<IParamete
152
152
  export declare const selectParameterReconciliationByRef: (ref: ObjRef) => DashboardSelector<ParameterReconciliation | undefined>;
153
153
  interface IWidgetParameterContext {
154
154
  entries: IDashboardParameterEntry[];
155
- insightParameters: Record<string, IdentifierRef[]>;
156
- filterParameterRefs: IdentifierRef[];
155
+ dependenciesByRoot: Record<string, IdentifierRef[]>;
156
+ filterRoots: IdentifierRef[];
157
157
  workspaceParameterByRef: Map<string, IParameterMetadataObject>;
158
- widgetInsightRef: ObjRef;
158
+ widgetInsightRef: ObjRef | undefined;
159
159
  isStringEnabled: boolean;
160
160
  }
161
161
  /**
162
- * Owning-tab parameter entries, the insight → parameter map and the widget's dashboard-filter
163
- * parameter refs for a widget, keyed by ref.
162
+ * Owning-tab parameter entries, the root → parameter map and the widget's dashboard-filter parameter
163
+ * refs for a widget of any kind, keyed by ref. A ref of `undefined` takes the active tab, for the
164
+ * hosts that sit outside any widget; such a host ignores no filter, and thus takes every filter of
165
+ * its tab.
164
166
  *
165
- * @remarks
166
- * The filter half degrades to "no filter dependencies" while its map is not loaded (or failed to load),
167
- * so a dashboard whose filter dependency request failed still injects the parameters its insights
168
- * depend on.
167
+ * The dependency map's load status is not a gate. Each available root contributes its dependencies,
168
+ * while a missing or failed root contributes none.
169
169
  *
170
170
  * @internal
171
171
  */
@@ -1 +1 @@
1
- {"version":3,"file":"parametersSelectors.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersSelectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parametersSelectors.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersSelectors.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  // (C) 2026 GoodData Corporation
2
2
  import { createSelector } from "@reduxjs/toolkit";
3
3
  import { isEqual, uniq } from "lodash-es";
4
- import { areObjRefsEqual, insightRef, objRefToString, serializeObjRef, } from "@gooddata/sdk-model";
4
+ import { areObjRefsEqual, insightRef, isInsightWidget, isWidget, objRefToString, } from "@gooddata/sdk-model";
5
5
  import { createMemoizedSelector } from "../../_infra/selectors.js";
6
- import { selectCatalogFilterParameters, selectCatalogFilterParametersStatus, selectCatalogInsightParameters, selectCatalogInsightParametersStatus, selectCatalogParameterByRef, selectCatalogParameters, selectCatalogParametersIsLoaded, } from "../../catalog/catalogSelectors.js";
6
+ import { selectCatalogParameterByRef, selectCatalogParameterDependencies, selectCatalogParameters, selectCatalogParametersIsLoaded, } from "../../catalog/catalogSelectors.js";
7
7
  import { selectEnableParameters, selectEnableStringParameters } from "../../config/configSelectors.js";
8
8
  import { selectInsightsMap } from "../../insights/insightsSelectors.js";
9
9
  import { selectIsInEditMode } from "../../renderMode/renderModeSelectors.js";
10
10
  import { selectAllTabsInsightWidgetContexts, selectAllTabsWidgetContexts, } from "../layout/layoutSelectors.js";
11
11
  import { selectActiveOrDefaultTabLocalIdentifier, selectActiveTab, selectTabs } from "../tabsSelectors.js";
12
12
  import { DEFAULT_TAB_ID } from "../tabsState.js";
13
- import { EMPTY_EXPORT_PARAMETERS_BY_TAB, applyDisplayOverride, applyRuntimeOverride, buildPersistedByTabAndRef, buildWorkspaceParametersByRef, classifyParameterReconciliation, collectAppliedParameterValues, collectExportOverrides, collectParameterReconciliations, collectWidgetFilterParameterRefs, computeParameterResetTargets, computeParameterResetValue, displayOverride, hydrateParameterEntry, isGatedStringEntry, resolveEffectiveParameterValuesForRefs, smartPersistResolvedEntry, ungatedInsightParameterValues, ungatedTabEntries, unionParameterRefs, } from "./parametersHelpers.js";
13
+ import { EMPTY_EXPORT_PARAMETERS_BY_TAB, applyDisplayOverride, applyRuntimeOverride, buildPersistedByTabAndRef, buildWorkspaceParametersByRef, classifyParameterReconciliation, collectAppliedParameterValues, collectExportOverrides, collectParameterReconciliations, collectRootParameterRefs, collectWidgetFilterParameterRoots, computeParameterResetTargets, computeParameterResetValue, displayOverride, hydrateParameterEntry, isGatedStringEntry, resolveEffectiveParameterValuesForRefs, smartPersistResolvedEntry, ungatedInsightParameterValues, ungatedTabEntries, } from "./parametersHelpers.js";
14
14
  import { parametersInitialState, pickTabParametersSource, } from "./parametersState.js";
15
15
  const EMPTY_PARAMETERS = [];
16
16
  const EMPTY_EXPORT_PARAMETERS = [];
@@ -18,7 +18,6 @@ const EMPTY_PARAMETER_VALUES = [];
18
18
  const EMPTY_TABS = [];
19
19
  const EMPTY_RESET_TARGETS = [];
20
20
  const EMPTY_RECONCILIATIONS = [];
21
- const EMPTY_REFS = [];
22
21
  const EMPTY_WORKSPACE_PARAMETERS_BY_REF = new Map();
23
22
  const selectParametersState = createSelector(selectActiveTab, (activeTab) => activeTab?.parameters ?? parametersInitialState);
24
23
  const selectPersistedParametersFromMeta = (state) => state.meta?.persistedDashboard?.parameters ?? EMPTY_PARAMETERS;
@@ -275,33 +274,35 @@ export const selectParameterReconciliationByRef = createMemoizedSelector((ref) =
275
274
  return classifyParameterReconciliation(applyDisplayOverride(entry), workspaceParameter);
276
275
  }));
277
276
  /**
278
- * Owning-tab parameter entries, the insight → parameter map and the widget's dashboard-filter
279
- * parameter refs for a widget, keyed by ref.
277
+ * Owning-tab parameter entries, the root → parameter map and the widget's dashboard-filter parameter
278
+ * refs for a widget of any kind, keyed by ref. A ref of `undefined` takes the active tab, for the
279
+ * hosts that sit outside any widget; such a host ignores no filter, and thus takes every filter of
280
+ * its tab.
280
281
  *
281
- * @remarks
282
- * The filter half degrades to "no filter dependencies" while its map is not loaded (or failed to load),
283
- * so a dashboard whose filter dependency request failed still injects the parameters its insights
284
- * depend on.
282
+ * The dependency map's load status is not a gate. Each available root contributes its dependencies,
283
+ * while a missing or failed root contributes none.
285
284
  *
286
285
  * @internal
287
286
  */
288
- export const selectWidgetParameterContext = createMemoizedSelector((ref) => createSelector(selectAllTabsInsightWidgetContexts, selectEnableParameters, selectEnableStringParameters, selectCatalogInsightParameters, selectCatalogInsightParametersStatus, selectCatalogFilterParameters, selectCatalogFilterParametersStatus, selectWorkspaceParametersByRef, (contexts, isEnabled, isStringEnabled, insightParameters, insightParametersStatus, filterParameters, filterParametersStatus, workspaceParameterByRef) => {
289
- if (!isEnabled || !ref || insightParametersStatus !== "loaded") {
287
+ export const selectWidgetParameterContext = createMemoizedSelector((ref) => createSelector(selectAllTabsWidgetContexts, selectActiveTab, selectEnableParameters, selectEnableStringParameters, selectCatalogParameterDependencies, selectWorkspaceParametersByRef, (contexts, activeTab, isEnabled, isStringEnabled, dependenciesByRoot, workspaceParameterByRef) => {
288
+ if (!isEnabled) {
290
289
  return undefined;
291
290
  }
292
- const context = contexts.find((ctx) => areObjRefsEqual(ctx.widget.ref, ref));
291
+ const context = ref
292
+ ? contexts.find((ctx) => areObjRefsEqual(ctx.widget.ref, ref))
293
+ : activeTab && { tab: activeTab, widget: undefined };
293
294
  if (!context) {
294
295
  return undefined;
295
296
  }
296
- const filterParameterRefs = filterParametersStatus === "loaded"
297
- ? collectWidgetFilterParameterRefs(context.widget.ignoreDashboardFilters, context.tab, filterParameters)
298
- : EMPTY_REFS;
297
+ const filterRoots = collectWidgetFilterParameterRoots(isWidget(context.widget) ? context.widget.ignoreDashboardFilters : [], context.tab);
299
298
  return {
300
299
  entries: ungatedTabEntries(context.tab, isStringEnabled),
301
- insightParameters,
302
- filterParameterRefs,
300
+ dependenciesByRoot,
301
+ filterRoots,
303
302
  workspaceParameterByRef,
304
- widgetInsightRef: context.widget.insight,
303
+ widgetInsightRef: context.widget && isInsightWidget(context.widget)
304
+ ? context.widget.insight
305
+ : undefined,
305
306
  isStringEnabled,
306
307
  };
307
308
  }));
@@ -311,12 +312,15 @@ const selectWidgetInsightAndReferencedRefs = createMemoizedSelector((ref) => cre
311
312
  if (!resolved) {
312
313
  return undefined;
313
314
  }
314
- const { entries, insightParameters, filterParameterRefs, workspaceParameterByRef, widgetInsightRef, isStringEnabled, } = resolved;
315
- const insight = insights.get(widgetInsightRef);
315
+ const { entries, dependenciesByRoot, filterRoots, workspaceParameterByRef, widgetInsightRef, isStringEnabled, } = resolved;
316
+ const insight = widgetInsightRef ? insights.get(widgetInsightRef) : undefined;
316
317
  if (!insight) {
317
318
  return undefined;
318
319
  }
319
- const referencedRefs = unionParameterRefs(insightParameters[serializeObjRef(insightRef(insight))] ?? EMPTY_REFS, filterParameterRefs);
320
+ const referencedRefs = collectRootParameterRefs(dependenciesByRoot, [
321
+ insightRef(insight),
322
+ ...filterRoots,
323
+ ]);
320
324
  const insightParameterValues = ungatedInsightParameterValues(insight, isStringEnabled);
321
325
  return { insightParameterValues, referencedRefs, entries, workspaceParameterByRef };
322
326
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarResizeContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardSidebar/SidebarResizeContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAA2D,MAAM,OAAO,CAAC;AAwChG,UAAU,iBAAiB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9C;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,IAAI,iBAAiB,CAiE5D;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,EACrC,KAAK,EACL,QAAQ,GACX,EAAE;IACC,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;CACvB,2CAEA;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,iBAAiB,CAEvD"}
1
+ {"version":3,"file":"SidebarResizeContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/dashboard/DashboardSidebar/SidebarResizeContext.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAA2D,MAAM,OAAO,CAAC;AAwChG,UAAU,iBAAiB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9C;AAmBD;;;;;;;;;;GAUG;AACH,wBAAgB,wBAAwB,IAAI,iBAAiB,CAwE5D;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,EACrC,KAAK,EACL,QAAQ,GACX,EAAE;IACC,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;CACvB,2CAEA;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,iBAAiB,CAEvD"}