@gooddata/sdk-ui-dashboard 11.65.0-alpha.1 → 11.65.0-alpha.10

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 (391) hide show
  1. package/NOTICE +72077 -4
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.d.ts.map +1 -1
  4. package/esm/__version.js +1 -1
  5. package/esm/assets/type-csv-formatted.svg +1 -1
  6. package/esm/assets/type-csv-raw.svg +1 -1
  7. package/esm/index.d.ts +7 -4
  8. package/esm/index.d.ts.map +1 -1
  9. package/esm/index.js +3 -2
  10. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.d.ts.map +1 -1
  11. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.js +1 -3
  12. package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeDisplayFormHandler.d.ts.map +1 -1
  13. package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeDisplayFormHandler.js +8 -7
  14. package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeFilterSelectionHandler.d.ts.map +1 -1
  15. package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeFilterSelectionHandler.js +19 -28
  16. package/esm/model/commandHandlers/filterContext/attributeFilter/removeAttributeFiltersHandler.d.ts.map +1 -1
  17. package/esm/model/commandHandlers/filterContext/attributeFilter/removeAttributeFiltersHandler.js +4 -5
  18. package/esm/model/commandHandlers/filterContext/attributeFilter/replaceAttributeFilterItemSelectionHandler.d.ts.map +1 -1
  19. package/esm/model/commandHandlers/filterContext/attributeFilter/replaceAttributeFilterItemSelectionHandler.js +14 -15
  20. package/esm/model/commandHandlers/filterContext/attributeFilter/resolveDisplayFormMetadata.d.ts +4 -1
  21. package/esm/model/commandHandlers/filterContext/attributeFilter/resolveDisplayFormMetadata.d.ts.map +1 -1
  22. package/esm/model/commandHandlers/filterContext/attributeFilter/resolveDisplayFormMetadata.js +11 -2
  23. package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.d.ts.map +1 -1
  24. package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.js +23 -45
  25. package/esm/model/commandHandlers/filterContext/common.d.ts +6 -5
  26. package/esm/model/commandHandlers/filterContext/common.d.ts.map +1 -1
  27. package/esm/model/commandHandlers/filterContext/common.js +12 -18
  28. package/esm/model/commandHandlers/filterContext/dateFilter/changeDateFilterSelectionHandler.d.ts.map +1 -1
  29. package/esm/model/commandHandlers/filterContext/dateFilter/changeDateFilterSelectionHandler.js +30 -36
  30. package/esm/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterConditionHandler.d.ts.map +1 -1
  31. package/esm/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterConditionHandler.js +11 -17
  32. package/esm/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterDimensionalityHandler.d.ts.map +1 -1
  33. package/esm/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterDimensionalityHandler.js +7 -10
  34. package/esm/model/commandHandlers/filterContext/tabSync/expandActionsForTabSync.d.ts +15 -0
  35. package/esm/model/commandHandlers/filterContext/tabSync/expandActionsForTabSync.d.ts.map +1 -0
  36. package/esm/model/commandHandlers/filterContext/tabSync/expandActionsForTabSync.js +88 -0
  37. package/esm/model/commandHandlers/filterContext/tabSync/tabSyncRules.d.ts +11 -0
  38. package/esm/model/commandHandlers/filterContext/tabSync/tabSyncRules.d.ts.map +1 -0
  39. package/esm/model/commandHandlers/filterContext/tabSync/tabSyncRules.js +335 -0
  40. package/esm/model/commandHandlers/filterContext/tabSync/tabSyncSaga.d.ts +52 -0
  41. package/esm/model/commandHandlers/filterContext/tabSync/tabSyncSaga.d.ts.map +1 -0
  42. package/esm/model/commandHandlers/filterContext/tabSync/tabSyncSaga.js +60 -0
  43. package/esm/model/commandHandlers/filterContext/tabSync/tabSyncScope.d.ts +69 -0
  44. package/esm/model/commandHandlers/filterContext/tabSync/tabSyncScope.d.ts.map +1 -0
  45. package/esm/model/commandHandlers/filterContext/tabSync/tabSyncScope.js +2 -0
  46. package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.d.ts +2 -1
  47. package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.d.ts.map +1 -1
  48. package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.js +41 -10
  49. package/esm/model/commands/parameters.d.ts +11 -1
  50. package/esm/model/commands/parameters.d.ts.map +1 -1
  51. package/esm/model/commands/parameters.js +2 -1
  52. package/esm/model/events/base.d.ts +1 -1
  53. package/esm/model/events/base.d.ts.map +1 -1
  54. package/esm/model/events/index.d.ts +2 -1
  55. package/esm/model/events/index.d.ts.map +1 -1
  56. package/esm/model/events/insightEditor.d.ts +128 -0
  57. package/esm/model/events/insightEditor.d.ts.map +1 -0
  58. package/esm/model/events/insightEditor.js +74 -0
  59. package/esm/model/react/useInitializeDashboardStore.d.ts.map +1 -1
  60. package/esm/model/react/useInitializeDashboardStore.js +4 -9
  61. package/esm/model/store/config/configReducers.d.ts +4 -8
  62. package/esm/model/store/config/configReducers.d.ts.map +1 -1
  63. package/esm/model/store/config/configReducers.js +6 -12
  64. package/esm/model/store/config/configSelectors.d.ts +24 -0
  65. package/esm/model/store/config/configSelectors.d.ts.map +1 -1
  66. package/esm/model/store/config/configSelectors.js +30 -4
  67. package/esm/model/store/config/index.d.ts +2 -3
  68. package/esm/model/store/config/index.d.ts.map +1 -1
  69. package/esm/model/store/tabs/attributeFilterConfigs/attributeFilterConfigsReducers.d.ts +75 -5
  70. package/esm/model/store/tabs/attributeFilterConfigs/attributeFilterConfigsReducers.d.ts.map +1 -1
  71. package/esm/model/store/tabs/attributeFilterConfigs/attributeFilterConfigsReducers.js +35 -60
  72. package/esm/model/store/tabs/dateFilterConfigs/dateFilterConfigsReducers.js +1 -1
  73. package/esm/model/store/tabs/filterContext/filterContextReducers.d.ts +139 -31
  74. package/esm/model/store/tabs/filterContext/filterContextReducers.d.ts.map +1 -1
  75. package/esm/model/store/tabs/filterContext/filterContextReducers.js +314 -529
  76. package/esm/model/store/tabs/filterContext/filterSync.d.ts +35 -13
  77. package/esm/model/store/tabs/filterContext/filterSync.d.ts.map +1 -1
  78. package/esm/model/store/tabs/filterContext/filterSync.js +79 -58
  79. package/esm/model/store/tabs/index.d.ts +10 -12
  80. package/esm/model/store/tabs/index.d.ts.map +1 -1
  81. package/esm/model/store/tabs/layout/layoutReducers.d.ts +1 -0
  82. package/esm/model/store/tabs/layout/layoutReducers.d.ts.map +1 -1
  83. package/esm/model/store/tabs/measureValueFilterConfigs/measureValueFilterConfigsReducers.d.ts.map +1 -1
  84. package/esm/model/store/tabs/parameters/parametersReducers.d.ts +0 -5
  85. package/esm/model/store/tabs/parameters/parametersReducers.d.ts.map +1 -1
  86. package/esm/model/store/tabs/parameters/parametersReducers.js +8 -7
  87. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +7 -0
  88. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
  89. package/esm/model/store/tabs/parameters/parametersSelectors.js +16 -0
  90. package/esm/model/store/tabs/tabsReducers.d.ts +8 -4
  91. package/esm/model/store/tabs/tabsReducers.d.ts.map +1 -1
  92. package/esm/model/store/tabs/tabsReducers.js +15 -18
  93. package/esm/model/store/tabs/tabsState.d.ts +0 -10
  94. package/esm/model/store/tabs/tabsState.d.ts.map +1 -1
  95. package/esm/model/store/tabs/tabsState.js +0 -20
  96. package/esm/model/store/ui/index.d.ts +2 -0
  97. package/esm/model/store/ui/index.d.ts.map +1 -1
  98. package/esm/model/store/ui/uiReducers.d.ts +6 -0
  99. package/esm/model/store/ui/uiReducers.d.ts.map +1 -1
  100. package/esm/model/store/ui/uiReducers.js +8 -0
  101. package/esm/model/store/ui/uiSelectors.d.ts +7 -0
  102. package/esm/model/store/ui/uiSelectors.d.ts.map +1 -1
  103. package/esm/model/store/ui/uiSelectors.js +6 -0
  104. package/esm/model/store/ui/uiState.d.ts +5 -0
  105. package/esm/model/store/ui/uiState.d.ts.map +1 -1
  106. package/esm/model/store/ui/uiState.js +1 -0
  107. package/esm/model/types/commonTypes.d.ts +38 -22
  108. package/esm/model/types/commonTypes.d.ts.map +1 -1
  109. package/esm/model/types/insightEditorTypes.d.ts +43 -0
  110. package/esm/model/types/insightEditorTypes.d.ts.map +1 -0
  111. package/esm/model/types/insightEditorTypes.js +2 -0
  112. package/esm/model/utils/attributeFilterMatching.d.ts +10 -0
  113. package/esm/model/utils/attributeFilterMatching.d.ts.map +1 -1
  114. package/esm/model/utils/attributeFilterMatching.js +14 -3
  115. package/esm/model/utils/attributeFilterSelectionTypeCompatibility.d.ts +8 -0
  116. package/esm/model/utils/attributeFilterSelectionTypeCompatibility.d.ts.map +1 -1
  117. package/esm/model/utils/attributeFilterSelectionTypeCompatibility.js +14 -4
  118. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/LiveRegionLastSelectContainer.d.ts +9 -0
  119. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/LiveRegionLastSelectContainer.d.ts.map +1 -0
  120. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/LiveRegionLastSelectContainer.js +12 -0
  121. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.d.ts.map +1 -1
  122. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +3 -3
  123. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.d.ts.map +1 -1
  124. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.js +14 -7
  125. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectionDescription.d.ts +12 -0
  126. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectionDescription.d.ts.map +1 -0
  127. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectionDescription.js +30 -0
  128. package/esm/presentation/automations/scheduledEmail/utils/users.d.ts +1 -0
  129. package/esm/presentation/automations/scheduledEmail/utils/users.d.ts.map +1 -1
  130. package/esm/presentation/automations/scheduledEmail/utils/users.js +3 -0
  131. package/esm/presentation/automations/shared/automationFilters/utils.d.ts +4 -0
  132. package/esm/presentation/automations/shared/automationFilters/utils.d.ts.map +1 -1
  133. package/esm/presentation/automations/shared/automationFilters/utils.js +12 -5
  134. package/esm/presentation/dashboard/DashboardHeader/DashboardHeader.d.ts +1 -1
  135. package/esm/presentation/dashboard/DashboardHeader/DashboardHeader.d.ts.map +1 -1
  136. package/esm/presentation/dashboard/DashboardHeader/DashboardHeader.js +2 -11
  137. package/esm/presentation/dashboard/DashboardSidebar/CreationPanel.d.ts.map +1 -1
  138. package/esm/presentation/dashboard/DashboardSidebar/CreationPanel.js +10 -1
  139. package/esm/presentation/dashboard/DefaultDashboardContent/DashboardContentLoader.d.ts +5 -0
  140. package/esm/presentation/dashboard/DefaultDashboardContent/DashboardContentLoader.d.ts.map +1 -0
  141. package/esm/presentation/dashboard/DefaultDashboardContent/DashboardContentLoader.js +27 -0
  142. package/esm/presentation/dashboard/DefaultDashboardContent/DefaultDashboardMainContent.d.ts.map +1 -1
  143. package/esm/presentation/dashboard/DefaultDashboardContent/DefaultDashboardMainContent.js +7 -2
  144. package/esm/presentation/dashboard/components/DashboardAiComposingOverlay.d.ts +4 -0
  145. package/esm/presentation/dashboard/components/DashboardAiComposingOverlay.d.ts.map +1 -0
  146. package/esm/presentation/dashboard/components/DashboardAiComposingOverlay.js +151 -0
  147. package/esm/presentation/dashboard/components/DashboardInner.d.ts.map +1 -1
  148. package/esm/presentation/dashboard/components/DashboardInner.js +17 -14
  149. package/esm/presentation/dashboard/components/DashboardInteractionComposing.d.ts +8 -0
  150. package/esm/presentation/dashboard/components/DashboardInteractionComposing.d.ts.map +1 -0
  151. package/esm/presentation/dashboard/components/DashboardInteractionComposing.js +23 -0
  152. package/esm/presentation/dashboard/components/DashboardInteractionLock.d.ts +8 -0
  153. package/esm/presentation/dashboard/components/DashboardInteractionLock.d.ts.map +1 -0
  154. package/esm/presentation/dashboard/components/DashboardInteractionLock.js +29 -0
  155. package/esm/presentation/dashboard/hooks/useDashboard.d.ts.map +1 -1
  156. package/esm/presentation/dashboard/hooks/useDashboard.js +3 -2
  157. package/esm/presentation/dashboard/types.d.ts +5 -0
  158. package/esm/presentation/dashboard/types.d.ts.map +1 -1
  159. package/esm/presentation/dragAndDrop/draggableWidget/AddDashboardLayoutWidgetButton.d.ts.map +1 -1
  160. package/esm/presentation/dragAndDrop/draggableWidget/AddDashboardLayoutWidgetButton.js +2 -4
  161. package/esm/presentation/dragAndDrop/draggableWidget/AddRichTextWidgetButton.d.ts.map +1 -1
  162. package/esm/presentation/dragAndDrop/draggableWidget/AddRichTextWidgetButton.js +3 -3
  163. package/esm/presentation/dragAndDrop/draggableWidget/AddVisualizationSwitcherWidgetButton.d.ts.map +1 -1
  164. package/esm/presentation/dragAndDrop/draggableWidget/AddVisualizationSwitcherWidgetButton.js +2 -4
  165. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AddAttributeFilterPlaceholder.d.ts.map +1 -1
  166. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AddAttributeFilterPlaceholder.js +3 -2
  167. package/esm/presentation/filterBar/filterBar/hooks/useResetFiltersButton.d.ts.map +1 -1
  168. package/esm/presentation/filterBar/filterBar/hooks/useResetFiltersButton.js +4 -1
  169. package/esm/presentation/insightEditor/InsightEditorContent.d.ts +26 -0
  170. package/esm/presentation/insightEditor/InsightEditorContent.d.ts.map +1 -0
  171. package/esm/presentation/insightEditor/InsightEditorContent.js +158 -0
  172. package/esm/presentation/insightEditor/InsightEditorCreatePanelItem.d.ts +7 -0
  173. package/esm/presentation/insightEditor/InsightEditorCreatePanelItem.d.ts.map +1 -0
  174. package/esm/presentation/insightEditor/InsightEditorCreatePanelItem.js +25 -0
  175. package/esm/presentation/insightEditor/InsightEditorOverlay.d.ts +6 -0
  176. package/esm/presentation/insightEditor/InsightEditorOverlay.d.ts.map +1 -0
  177. package/esm/presentation/insightEditor/InsightEditorOverlay.js +110 -0
  178. package/esm/presentation/insightEditor/InsightEditorPermissionsContext.d.ts +10 -0
  179. package/esm/presentation/insightEditor/InsightEditorPermissionsContext.d.ts.map +1 -0
  180. package/esm/presentation/insightEditor/InsightEditorPermissionsContext.js +18 -0
  181. package/esm/presentation/insightEditor/InsightEditorPlaceholder.d.ts +7 -0
  182. package/esm/presentation/insightEditor/InsightEditorPlaceholder.d.ts.map +1 -0
  183. package/esm/presentation/insightEditor/InsightEditorPlaceholder.js +15 -0
  184. package/esm/presentation/insightEditor/filterContext/attributeFilters.d.ts +4 -0
  185. package/esm/presentation/insightEditor/filterContext/attributeFilters.d.ts.map +1 -0
  186. package/esm/presentation/insightEditor/filterContext/attributeFilters.js +115 -0
  187. package/esm/presentation/insightEditor/filterContext/dateFilters.d.ts +5 -0
  188. package/esm/presentation/insightEditor/filterContext/dateFilters.d.ts.map +1 -0
  189. package/esm/presentation/insightEditor/filterContext/dateFilters.js +117 -0
  190. package/esm/presentation/insightEditor/filterContext/filterIntersection.d.ts +7 -0
  191. package/esm/presentation/insightEditor/filterContext/filterIntersection.d.ts.map +1 -0
  192. package/esm/presentation/insightEditor/filterContext/filterIntersection.js +149 -0
  193. package/esm/presentation/insightEditor/filterContext/insightFilterContext.d.ts +26 -0
  194. package/esm/presentation/insightEditor/filterContext/insightFilterContext.d.ts.map +1 -0
  195. package/esm/presentation/insightEditor/filterContext/insightFilterContext.js +72 -0
  196. package/esm/presentation/insightEditor/filterContext/measureValueFilters.d.ts +20 -0
  197. package/esm/presentation/insightEditor/filterContext/measureValueFilters.d.ts.map +1 -0
  198. package/esm/presentation/insightEditor/filterContext/measureValueFilters.js +76 -0
  199. package/esm/presentation/insightEditor/filterContext/objQualifiers.d.ts +11 -0
  200. package/esm/presentation/insightEditor/filterContext/objQualifiers.d.ts.map +1 -0
  201. package/esm/presentation/insightEditor/filterContext/objQualifiers.js +18 -0
  202. package/esm/presentation/insightEditor/insightEditorEscapeGuard.d.ts +18 -0
  203. package/esm/presentation/insightEditor/insightEditorEscapeGuard.d.ts.map +1 -0
  204. package/esm/presentation/insightEditor/insightEditorEscapeGuard.js +24 -0
  205. package/esm/presentation/insightEditor/insightEditorRoute.d.ts +34 -0
  206. package/esm/presentation/insightEditor/insightEditorRoute.d.ts.map +1 -0
  207. package/esm/presentation/insightEditor/insightEditorRoute.js +48 -0
  208. package/esm/presentation/insightEditor/types.d.ts +7 -0
  209. package/esm/presentation/insightEditor/types.d.ts.map +1 -0
  210. package/esm/presentation/insightEditor/types.js +2 -0
  211. package/esm/presentation/insightEditor/useCanCreateInsightInEditor.d.ts +5 -0
  212. package/esm/presentation/insightEditor/useCanCreateInsightInEditor.d.ts.map +1 -0
  213. package/esm/presentation/insightEditor/useCanCreateInsightInEditor.js +14 -0
  214. package/esm/presentation/insightEditor/useExploreFilterTransfer.d.ts +21 -0
  215. package/esm/presentation/insightEditor/useExploreFilterTransfer.d.ts.map +1 -0
  216. package/esm/presentation/insightEditor/useExploreFilterTransfer.js +193 -0
  217. package/esm/presentation/insightEditor/useInsightEditPermissions.d.ts +17 -0
  218. package/esm/presentation/insightEditor/useInsightEditPermissions.d.ts.map +1 -0
  219. package/esm/presentation/insightEditor/useInsightEditPermissions.js +42 -0
  220. package/esm/presentation/insightEditor/useInsightEditorMenuItems.d.ts +23 -0
  221. package/esm/presentation/insightEditor/useInsightEditorMenuItems.d.ts.map +1 -0
  222. package/esm/presentation/insightEditor/useInsightEditorMenuItems.js +126 -0
  223. package/esm/presentation/insightEditor/useInsightEditorSession.d.ts +19 -0
  224. package/esm/presentation/insightEditor/useInsightEditorSession.d.ts.map +1 -0
  225. package/esm/presentation/insightEditor/useInsightEditorSession.js +141 -0
  226. package/esm/presentation/insightList/InsightList.d.ts.map +1 -1
  227. package/esm/presentation/insightList/InsightList.js +10 -5
  228. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +6 -0
  229. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  230. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +48 -42
  231. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +6 -0
  232. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  233. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +6 -0
  234. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +6 -0
  235. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  236. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +11 -5
  237. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +56 -0
  238. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  239. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +56 -0
  240. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +6 -0
  241. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  242. package/esm/presentation/localization/bundles/es-419.localization-bundle.js +6 -0
  243. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +6 -0
  244. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  245. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +6 -0
  246. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +6 -0
  247. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  248. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +6 -0
  249. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +6 -0
  250. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  251. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +6 -0
  252. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +6 -0
  253. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  254. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +187 -181
  255. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +6 -0
  256. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  257. package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +6 -0
  258. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +6 -0
  259. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  260. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +6 -0
  261. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +6 -0
  262. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  263. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +6 -0
  264. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +6 -0
  265. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  266. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +6 -0
  267. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +6 -0
  268. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  269. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +6 -0
  270. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +6 -0
  271. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  272. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +6 -0
  273. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +6 -0
  274. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  275. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +6 -0
  276. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +6 -0
  277. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  278. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +6 -0
  279. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +6 -0
  280. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  281. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +6 -0
  282. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +6 -0
  283. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  284. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +6 -0
  285. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +6 -0
  286. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  287. package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +6 -0
  288. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +6 -0
  289. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  290. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +6 -0
  291. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +6 -0
  292. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  293. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +6 -0
  294. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +6 -0
  295. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  296. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +6 -0
  297. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +6 -0
  298. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  299. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +6 -0
  300. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +6 -0
  301. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  302. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +6 -0
  303. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +6 -0
  304. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  305. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +7 -1
  306. package/esm/presentation/topBar/buttonBar/button/saveAsButton/DefaultSaveAsNewButton.d.ts.map +1 -1
  307. package/esm/presentation/topBar/buttonBar/button/saveAsButton/DefaultSaveAsNewButton.js +3 -2
  308. package/esm/presentation/topBar/buttonBar/button/saveButton/DefaultSaveButton.d.ts.map +1 -1
  309. package/esm/presentation/topBar/buttonBar/button/saveButton/DefaultSaveButton.js +3 -2
  310. package/esm/presentation/topBar/buttonBar/button/settingButton/DefaultSettingButton.d.ts.map +1 -1
  311. package/esm/presentation/topBar/buttonBar/button/settingButton/DefaultSettingButton.js +3 -2
  312. package/esm/presentation/topBar/buttonBar/button/shareButton/DefaultShareButton.d.ts.map +1 -1
  313. package/esm/presentation/topBar/buttonBar/button/shareButton/DefaultShareButton.js +3 -2
  314. package/esm/presentation/topBar/title/EditableTitle.d.ts.map +1 -1
  315. package/esm/presentation/topBar/title/EditableTitle.js +6 -0
  316. package/esm/presentation/widget/insight/DefaultDashboardInsightComponentSetFactory.d.ts +1 -1
  317. package/esm/presentation/widget/insight/DefaultDashboardInsightComponentSetFactory.d.ts.map +1 -1
  318. package/esm/presentation/widget/insight/DefaultDashboardInsightComponentSetFactory.js +13 -1
  319. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/index.d.ts.map +1 -1
  320. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/index.js +10 -1
  321. package/esm/presentation/widget/richText/EditModeDashboardRichText.js +1 -1
  322. package/esm/presentation/widget/visualizationSwitcher/EditModeDashboardVisualizationSwitcher.js +1 -1
  323. package/esm/presentation/widget/visualizationSwitcher/configuration/ToolbarTop.js +2 -2
  324. package/esm/presentation/widget/widget/InsightWidget/useEditableInsightMenu.d.ts.map +1 -1
  325. package/esm/presentation/widget/widget/InsightWidget/useEditableInsightMenu.js +5 -1
  326. package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.d.ts.map +1 -1
  327. package/esm/presentation/widget/widget/InsightWidget/useInsightMenu.js +4 -1
  328. package/esm/sdk-ui-dashboard.d.ts +523 -68
  329. package/package.json +23 -21
  330. package/styles/css/alerting.css +1 -1
  331. package/styles/css/alerting.css.map +1 -1
  332. package/styles/css/attributeFilterConfig.css +3 -3
  333. package/styles/css/automationFilters.css +1 -1
  334. package/styles/css/configurationPanel.css +2 -2
  335. package/styles/css/configurationPanel.css.map +1 -1
  336. package/styles/css/dashboard.css +141 -87
  337. package/styles/css/dashboard.css.map +1 -1
  338. package/styles/css/dashboardContentLoader.css +45 -0
  339. package/styles/css/dashboardContentLoader.css.map +1 -0
  340. package/styles/css/dashboardNestedLayoutToolbar.css.map +1 -1
  341. package/styles/css/dashboardNestedLayoutWidget.css +1 -1
  342. package/styles/css/dashboardSettingsDialog.css +1 -1
  343. package/styles/css/dragAndDrop.css +0 -8
  344. package/styles/css/dragAndDrop.css.map +1 -1
  345. package/styles/css/drillConfigPanel.css +7 -7
  346. package/styles/css/drillConfigPanel.css.map +1 -1
  347. package/styles/css/filterBar.css +4 -4
  348. package/styles/css/filterBar.css.map +1 -1
  349. package/styles/css/grouped-navigation.css +2 -2
  350. package/styles/css/grouped-navigation.css.map +1 -1
  351. package/styles/css/icons.css.map +1 -1
  352. package/styles/css/insightConfiguration.css +1 -1
  353. package/styles/css/insightConfiguration.css.map +1 -1
  354. package/styles/css/insightEditor.css +46 -0
  355. package/styles/css/insightEditor.css.map +1 -0
  356. package/styles/css/kpi.css +2 -2
  357. package/styles/css/kpi.css.map +1 -1
  358. package/styles/css/kpi_alert_dialog.css +2 -2
  359. package/styles/css/layout.css +5 -5
  360. package/styles/css/layout.css.map +1 -1
  361. package/styles/css/main.css +335 -219
  362. package/styles/css/main.css.map +1 -1
  363. package/styles/css/notifications_channels_dialog.css +2 -2
  364. package/styles/css/notifications_channels_dialog.css.map +1 -1
  365. package/styles/css/resizing.css.map +1 -1
  366. package/styles/css/richTextWidget.css.map +1 -1
  367. package/styles/css/saveAsDialog.css.map +1 -1
  368. package/styles/css/sidebar.css +35 -10
  369. package/styles/css/sidebar.css.map +1 -1
  370. package/styles/css/topBar.css.map +1 -1
  371. package/styles/css/visualization.css.map +1 -1
  372. package/styles/css/visualizationSwitcherHeader.css.map +1 -1
  373. package/styles/css/visualizationSwitcherToolbar.css +1 -1
  374. package/styles/css/visualizationSwitcherToolbar.css.map +1 -1
  375. package/styles/css/visualizationSwitcherWidget.css +1 -1
  376. package/styles/css/visualizationSwitcherWidget.css.map +1 -1
  377. package/styles/scss/_variables.scss +3 -2
  378. package/styles/scss/_zIndexes.scss +4 -0
  379. package/styles/scss/attributeFilterConfig.scss +1 -1
  380. package/styles/scss/configurationPanel.scss +1 -1
  381. package/styles/scss/dashboard.scss +104 -96
  382. package/styles/scss/dashboardContentLoader.scss +45 -0
  383. package/styles/scss/dragAndDrop.scss +2 -9
  384. package/styles/scss/drillConfigPanel.scss +3 -3
  385. package/styles/scss/insightEditor.scss +53 -0
  386. package/styles/scss/layout.scss +1 -1
  387. package/styles/scss/main.scss +1 -0
  388. package/styles/scss/sidebar.scss +47 -12
  389. package/esm/presentation/dashboard/components/DashboardSkeleton.d.ts +0 -5
  390. package/esm/presentation/dashboard/components/DashboardSkeleton.d.ts.map +0 -1
  391. package/esm/presentation/dashboard/components/DashboardSkeleton.js +0 -20
@@ -1,15 +1,12 @@
1
1
  import { type IAttributeWithReferences } from "@gooddata/sdk-backend-spi";
2
- import { type DashboardAttributeFilterItem, type FilterContextItem, type IAttributeDisplayFormMetadataObject, type IDashboardAttributeFilterConfig, type IDashboardDateFilterConfigItem, type IDashboardFilterGroupsConfig, type IDashboardMeasureValueFilterConfig, type IFilterContextDefinition, type ObjRef } from "@gooddata/sdk-model";
3
- import { type ITabState, type ITabsState } from "../tabsState.js";
2
+ import { type DashboardAttributeFilterItem, type FilterContextItem, type IAttributeDisplayFormMetadataObject, type IDashboardAttributeFilterConfig, type IDashboardDateFilterConfigItem, type IDashboardFilterGroupsConfig, type IDashboardMeasureValueFilterConfig, type IFilterContextDefinition, type ObjRef, type ParameterValue } from "@gooddata/sdk-model";
3
+ import { type ITabState } from "../tabsState.js";
4
4
  import { type WorkingFilterContextItem } from "./filterContextState.js";
5
5
  type StagedFilter = FilterContextItem | WorkingFilterContextItem;
6
6
  /**
7
- * Cross-tab identity match. `allowListToText` enables the list-filter → text-filter migration
8
- * used when a whole filter definition is replaced. Selection-only writes leave it off so a
9
- * list selection does not convert a text filter on another tab.
7
+ * Cross-tab identity match.
10
8
  */
11
9
  export interface IFindCounterpartOptions {
12
- readonly allowListToText?: boolean;
13
10
  /**
14
11
  * Cross-filtering virtual filters on the target tab are never a counterpart.
15
12
  */
@@ -31,8 +28,10 @@ export type CrossFilteringLocalIdsByTab = Readonly<Record<string, readonly strin
31
28
  export declare function isCrossFilteringVirtualFilter(tab: ITabState, localIdentifier: string | undefined, crossFilteringLocalIdsByTab: CrossFilteringLocalIdsByTab | undefined): boolean;
32
29
  /**
33
30
  * Finds the filter on `targetTab` that is the same logical filter as `sourceFilter`.
34
- * Same-type matches take precedence over list/text migrations. A missing or incompatible
35
- * counterpart is a no-op for the caller.
31
+ * An attribute filter is a counterpart only when it is of the same type (list or text), has the
32
+ * same display-as label and selection type, both with their defaults applied, and the same single
33
+ * or multiple value selection mode.
34
+ * A missing or incompatible counterpart is a no-op for the caller.
36
35
  *
37
36
  * Assumes at most one filter per display form, date data set, and measure with a given
38
37
  * dimensionality on a tab.
@@ -68,14 +67,37 @@ export declare function preserveFilterDependencies(existing: DashboardAttributeF
68
67
  */
69
68
  export declare function applyMirroredFilterValue(source: FilterContextItem, target: FilterContextItem): FilterContextItem;
70
69
  /**
71
- * After the active tab commits staged filters and parameters, copy those applied values
72
- * onto matching filters and parameters on the other tabs. Working overlays are not copied.
73
- * A target tab's own staged value for a mirrored filter or parameter is dropped, so it cannot
74
- * shadow the mirrored value; staged values of other filters on that tab are kept.
70
+ * Applied filter and parameter values committed on another tab, already fitted to the tab
71
+ * they are written to.
75
72
  *
76
73
  * @internal
77
74
  */
78
- export declare function mirrorCommittedWorkingSelection(state: ITabsState, sourceTab: ITabState, stagedFilters: readonly StagedFilter[] | undefined, stagedParameterRefs: readonly ObjRef[], crossFilteringLocalIdsByTab?: CrossFilteringLocalIdsByTab, enablePersistentFiltersAcrossTabs?: boolean): void;
75
+ export interface IMirroredSelection {
76
+ readonly filters: readonly FilterContextItem[];
77
+ readonly parameters: readonly IMirroredParameterValue[];
78
+ }
79
+ /**
80
+ * @internal
81
+ */
82
+ export interface IMirroredParameterValue {
83
+ readonly ref: ObjRef;
84
+ readonly value: ParameterValue | undefined;
85
+ }
86
+ /**
87
+ * Writes `selection` onto the matching applied filters and parameters of `tab`. The tab's own staged
88
+ * value of a written filter or parameter is dropped, so it cannot shadow the written value; staged
89
+ * values of other filters and parameters are kept. Does not create a filter or parameter, except the
90
+ * common date filter, whose absence means all time.
91
+ *
92
+ * @internal
93
+ */
94
+ export declare function writeMirroredSelection(tab: ITabState, selection: IMirroredSelection): void;
95
+ /**
96
+ * The applied filter of `tab` that a staged entry overlays.
97
+ *
98
+ * @internal
99
+ */
100
+ export declare function findAppliedFilterForStaged(tab: ITabState, staged: StagedFilter): FilterContextItem | undefined;
79
101
  /**
80
102
  * Filter state of a tab created while sync is on.
81
103
  *
@@ -1 +1 @@
1
- {"version":3,"file":"filterSync.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/filterContext/filterSync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filterSync.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/filterContext/filterSync.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  // (C) 2026 GoodData Corporation
2
- import { areObjRefsEqual, dashboardAttributeFilterItemFilterElementsBy, dashboardAttributeFilterItemFilterElementsByDate, dashboardAttributeFilterItemLocalIdentifier, dashboardAttributeFilterItemValidateElementsBy, dashboardFilterLocalIdentifier, isDashboardArbitraryAttributeFilter, isDashboardAttributeFilter, isDashboardAttributeFilterItem, isDashboardCommonDateFilter, isDashboardDateFilter, isDashboardMatchAttributeFilter, isDashboardMeasureValueFilter, } from "@gooddata/sdk-model";
3
- import { findAttributeFilterCounterpart } from "../../../utils/attributeFilterMatching.js";
2
+ import { areObjRefsEqual, dashboardAttributeFilterItemDisplayForm, dashboardAttributeFilterItemFilterElementsBy, dashboardAttributeFilterItemFilterElementsByDate, dashboardAttributeFilterItemLocalIdentifier, dashboardAttributeFilterItemValidateElementsBy, dashboardFilterLocalIdentifier, isDashboardArbitraryAttributeFilter, isDashboardAttributeFilter, isDashboardAttributeFilterItem, isDashboardCommonDateFilter, isDashboardDateFilter, isDashboardMatchAttributeFilter, isDashboardMeasureValueFilter, isSingleSelectionFilter, } from "@gooddata/sdk-model";
3
+ import { displayFormsEquivalent, findAttributeFilterCounterpart, } from "../../../utils/attributeFilterMatching.js";
4
+ import { effectiveSelectionTypeOf } from "../../../utils/attributeFilterSelectionTypeCompatibility.js";
4
5
  /**
5
6
  * True when `localIdentifier` belongs to a cross-filtering virtual filter on `tab`.
6
7
  * Those filters are applied on their own tab only and are not mirrored to or from other tabs.
@@ -15,8 +16,10 @@ export function isCrossFilteringVirtualFilter(tab, localIdentifier, crossFilteri
15
16
  }
16
17
  /**
17
18
  * Finds the filter on `targetTab` that is the same logical filter as `sourceFilter`.
18
- * Same-type matches take precedence over list/text migrations. A missing or incompatible
19
- * counterpart is a no-op for the caller.
19
+ * An attribute filter is a counterpart only when it is of the same type (list or text), has the
20
+ * same display-as label and selection type, both with their defaults applied, and the same single
21
+ * or multiple value selection mode.
22
+ * A missing or incompatible counterpart is a no-op for the caller.
20
23
  *
21
24
  * Assumes at most one filter per display form, date data set, and measure with a given
22
25
  * dimensionality on a tab.
@@ -30,12 +33,16 @@ export function findCounterpartFilter(sourceTab, sourceFilter, targetTab, attrib
30
33
  }
31
34
  const displayForms = collectDisplayForms(sourceTab, targetTab, attributesWithReferences);
32
35
  if (isDashboardAttributeFilterItem(sourceFilter)) {
33
- const result = findAttributeFilterCounterpart(sourceFilter, targets.filter(isDashboardAttributeFilterItem), {
36
+ const sourcePresentation = attributeFilterPresentation(sourceTab, sourceFilter);
37
+ const result = findAttributeFilterCounterpart(sourceFilter, targets
38
+ .filter(isDashboardAttributeFilterItem)
39
+ .filter((target) => samePresentation(sourcePresentation, attributeFilterPresentation(targetTab, target), displayForms)), {
34
40
  sourceFilterConfigs: sourceTab.attributeFilterConfigs?.attributeFilterConfigs,
35
41
  targetFilterConfigs: targetTab.attributeFilterConfigs?.attributeFilterConfigs,
36
42
  displayForms,
37
43
  attributesWithReferences,
38
- allowListToText: options?.allowListToText ?? true,
44
+ allowListToText: false,
45
+ allowTextToList: false,
39
46
  });
40
47
  return result.status === "matched" ? result.counterpart : undefined;
41
48
  }
@@ -176,55 +183,55 @@ export function applyMirroredFilterValue(source, target) {
176
183
  return target;
177
184
  }
178
185
  /**
179
- * After the active tab commits staged filters and parameters, copy those applied values
180
- * onto matching filters and parameters on the other tabs. Working overlays are not copied.
181
- * A target tab's own staged value for a mirrored filter or parameter is dropped, so it cannot
182
- * shadow the mirrored value; staged values of other filters on that tab are kept.
186
+ * Writes `selection` onto the matching applied filters and parameters of `tab`. The tab's own staged
187
+ * value of a written filter or parameter is dropped, so it cannot shadow the written value; staged
188
+ * values of other filters and parameters are kept. Does not create a filter or parameter, except the
189
+ * common date filter, whose absence means all time.
183
190
  *
184
191
  * @internal
185
192
  */
186
- export function mirrorCommittedWorkingSelection(state, sourceTab, stagedFilters, stagedParameterRefs, crossFilteringLocalIdsByTab, enablePersistentFiltersAcrossTabs) {
187
- if (!enablePersistentFiltersAcrossTabs) {
188
- return;
189
- }
190
- const others = (state.tabs ?? []).filter((tab) => tab.localIdentifier !== sourceTab.localIdentifier);
191
- if (others.length === 0) {
192
- return;
193
- }
194
- for (const staged of stagedFilters ?? []) {
195
- const applied = findAppliedFilterForStaged(sourceTab, staged);
196
- if (!applied) {
197
- continue;
193
+ export function writeMirroredSelection(tab, selection) {
194
+ for (const filter of selection.filters) {
195
+ const current = findAppliedFilterWithIdentityOf(tab, filter);
196
+ if (current) {
197
+ writeFilter(tab, current, filter);
198
198
  }
199
- if (isCrossFilteringVirtualFilter(sourceTab, dashboardFilterLocalIdentifier(applied), crossFilteringLocalIdsByTab)) {
200
- continue;
199
+ else if (isDashboardCommonDateFilter(filter)) {
200
+ tab.filterContext?.filterContextDefinition?.filters.unshift(filter);
201
201
  }
202
- for (const tab of others) {
203
- const match = findCounterpartFilter(sourceTab, applied, tab, state.attributesWithReferences, {
204
- allowListToText: false,
205
- crossFilteringLocalIdsByTab,
206
- });
207
- if (!match) {
208
- continue;
209
- }
210
- writeFilter(tab, match, applyMirroredFilterValue(applied, match));
211
- dropStagedOverlay(tab, match);
202
+ else {
203
+ continue;
212
204
  }
205
+ dropStagedOverlay(tab, filter);
213
206
  }
214
- for (const ref of stagedParameterRefs) {
215
- const sourceEntry = sourceTab.parameters?.parameters.find((entry) => areObjRefsEqual(entry.parameter.ref, ref));
216
- if (!sourceEntry) {
207
+ for (const { ref, value } of selection.parameters) {
208
+ const entry = tab.parameters?.parameters.find((candidate) => areObjRefsEqual(candidate.parameter.ref, ref));
209
+ if (!entry) {
217
210
  continue;
218
211
  }
219
- for (const tab of others) {
220
- const entry = tab.parameters?.parameters.find((candidate) => areObjRefsEqual(candidate.parameter.ref, ref));
221
- if (!entry) {
222
- continue;
223
- }
224
- delete entry.workingOverride;
225
- entry.runtimeOverride = sourceEntry.runtimeOverride;
212
+ delete entry.workingOverride;
213
+ entry.runtimeOverride = value;
214
+ }
215
+ }
216
+ /**
217
+ * The applied filter of `tab` that a staged entry overlays.
218
+ *
219
+ * @internal
220
+ */
221
+ export function findAppliedFilterForStaged(tab, staged) {
222
+ const filters = appliedFilters(tab);
223
+ if ("dateFilter" in staged && staged.dateFilter) {
224
+ if (!staged.dateFilter.dataSet) {
225
+ return filters.find(isDashboardCommonDateFilter);
226
226
  }
227
+ return filters.find((filter) => isDashboardDateFilter(filter) &&
228
+ areObjRefsEqual(filter.dateFilter.dataSet, staged.dateFilter.dataSet));
229
+ }
230
+ const localIdentifier = stagedLocalIdentifier(staged);
231
+ if (!localIdentifier) {
232
+ return undefined;
227
233
  }
234
+ return filters.find((filter) => dashboardFilterLocalIdentifier(filter) === localIdentifier);
228
235
  }
229
236
  /**
230
237
  * Seeds a new tab with the applied filters of `sourceTab` and the configs that belong to them,
@@ -288,20 +295,14 @@ function dropStagedOverlay(tab, applied) {
288
295
  filterContext.workingFilterContextDefinition = { filters: remaining };
289
296
  }
290
297
  }
291
- function findAppliedFilterForStaged(tab, staged) {
292
- const filters = appliedFilters(tab);
293
- if ("dateFilter" in staged && staged.dateFilter) {
294
- if (!staged.dateFilter.dataSet) {
295
- return filters.find(isDashboardCommonDateFilter);
296
- }
297
- return filters.find((filter) => isDashboardDateFilter(filter) &&
298
- areObjRefsEqual(filter.dateFilter.dataSet, staged.dateFilter.dataSet));
299
- }
300
- const localIdentifier = stagedLocalIdentifier(staged);
301
- if (!localIdentifier) {
302
- return undefined;
303
- }
304
- return filters.find((filter) => dashboardFilterLocalIdentifier(filter) === localIdentifier);
298
+ function findAppliedFilterWithIdentityOf(tab, filter) {
299
+ if (isDashboardDateFilter(filter)) {
300
+ return findDateCounterpart(filter, appliedFilters(tab));
301
+ }
302
+ const localIdentifier = dashboardFilterLocalIdentifier(filter);
303
+ return localIdentifier
304
+ ? appliedFilters(tab).find((item) => dashboardFilterLocalIdentifier(item) === localIdentifier)
305
+ : undefined;
305
306
  }
306
307
  function stagedLocalIdentifier(item) {
307
308
  if ("attributeFilter" in item && item.attributeFilter) {
@@ -331,6 +332,26 @@ function collectDisplayForms(sourceTab, targetTab, attributesWithReferences) {
331
332
  ...(attributesWithReferences ?? []).flatMap((entry) => entry.attribute.displayForms ?? []),
332
333
  ];
333
334
  }
335
+ function attributeFilterPresentation(tab, filter) {
336
+ const localIdentifier = dashboardAttributeFilterItemLocalIdentifier(filter);
337
+ const config = localIdentifier
338
+ ? tab.attributeFilterConfigs?.attributeFilterConfigs?.find((item) => item.localIdentifier === localIdentifier)
339
+ : undefined;
340
+ return {
341
+ displayAsLabel: config?.displayAsLabel ?? dashboardAttributeFilterItemDisplayForm(filter),
342
+ selectionType: effectiveSelectionTypeOf(config?.selectionType, filter),
343
+ isSingleSelection: isDashboardAttributeFilter(filter) && isSingleSelectionFilter(filter),
344
+ };
345
+ }
346
+ /**
347
+ * Attribute filters sync only when they show the same label, accept the same selection type
348
+ * and both select either a single value or multiple values.
349
+ */
350
+ function samePresentation(left, right, displayForms) {
351
+ return (left.selectionType === right.selectionType &&
352
+ left.isSingleSelection === right.isSingleSelection &&
353
+ displayFormsEquivalent(left.displayAsLabel, right.displayAsLabel, displayForms));
354
+ }
334
355
  function findDateCounterpart(sourceFilter, targets) {
335
356
  // Check the data set directly. `isDashboardCommonDateFilter` is typed as
336
357
  // `obj is IDashboardDateFilter`, so using it as a guard would narrow the
@@ -26,7 +26,7 @@ export declare const tabsActions: import("@reduxjs/toolkit").CaseReducerActions<
26
26
  type: string;
27
27
  }) => void | import("./tabsState.js").ITabsState | import("immer").WritableDraft<import("./tabsState.js").ITabsState>;
28
28
  readonly removeAttributeFilterDisplayForms: (state: import("immer").WritableDraft<import("./tabsState.js").ITabsState>, action: {
29
- payload: import("@gooddata/sdk-model").ObjRef;
29
+ payload: import("./filterContext/filterContextReducers.js").IRemoveAttributeFilterDisplayFormsPayload;
30
30
  type: string;
31
31
  }) => void | import("./tabsState.js").ITabsState | import("immer").WritableDraft<import("./tabsState.js").ITabsState>;
32
32
  readonly addAttributeFilterDisplayForm: (state: import("immer").WritableDraft<import("./tabsState.js").ITabsState>, action: {
@@ -42,7 +42,7 @@ export declare const tabsActions: import("@reduxjs/toolkit").CaseReducerActions<
42
42
  type: string;
43
43
  }) => void | import("./tabsState.js").ITabsState | import("immer").WritableDraft<import("./tabsState.js").ITabsState>;
44
44
  readonly addMeasureValueFilter: (state: import("immer").WritableDraft<import("./tabsState.js").ITabsState>, action: {
45
- payload: import("../../commands/filters.js").IAddMeasureValueFilterPayload;
45
+ payload: import("./filterContext/filterContextReducers.js").IAddMeasureValueFilterReducerPayload;
46
46
  type: string;
47
47
  }) => void | import("./tabsState.js").ITabsState | import("immer").WritableDraft<import("./tabsState.js").ITabsState>;
48
48
  readonly removeMeasureValueFilter: (state: import("immer").WritableDraft<import("./tabsState.js").ITabsState>, action: {
@@ -62,7 +62,7 @@ export declare const tabsActions: import("@reduxjs/toolkit").CaseReducerActions<
62
62
  type: string;
63
63
  }) => void | import("./tabsState.js").ITabsState | import("immer").WritableDraft<import("./tabsState.js").ITabsState>;
64
64
  readonly addDateFilter: (state: import("immer").WritableDraft<import("./tabsState.js").ITabsState>, action: {
65
- payload: import("../../commands/filters.js").IAddDateFilterPayload;
65
+ payload: import("./filterContext/filterContextReducers.js").IAddDateFilterReducerPayload;
66
66
  type: string;
67
67
  }) => void | import("./tabsState.js").ITabsState | import("immer").WritableDraft<import("./tabsState.js").ITabsState>;
68
68
  readonly removeDateFilter: (state: import("immer").WritableDraft<import("./tabsState.js").ITabsState>, action: {
@@ -137,16 +137,13 @@ export declare const tabsActions: import("@reduxjs/toolkit").CaseReducerActions<
137
137
  payload: {
138
138
  readonly localIdentifier: string;
139
139
  readonly dimensionality?: import("@gooddata/sdk-model").ObjRef[];
140
+ readonly tabLocalIdentifier?: string;
140
141
  readonly restoreTargetOriginal?: boolean;
141
- readonly enablePersistentFiltersAcrossTabs?: boolean;
142
142
  };
143
143
  type: string;
144
144
  }) => void | import("./tabsState.js").ITabsState | import("immer").WritableDraft<import("./tabsState.js").ITabsState>;
145
145
  readonly changeMeasureValueFilterTitle: (state: import("immer").WritableDraft<import("./tabsState.js").ITabsState>, action: {
146
- payload: {
147
- readonly filterLocalId: string;
148
- readonly title?: string;
149
- };
146
+ payload: import("./filterContext/filterContextReducers.js").IChangeMeasureValueFilterTitleReducerPayload;
150
147
  type: string;
151
148
  }) => void | import("./tabsState.js").ITabsState | import("immer").WritableDraft<import("./tabsState.js").ITabsState>;
152
149
  readonly addParameter: (state: import("immer").WritableDraft<import("./tabsState.js").ITabsState>, action: {
@@ -217,11 +214,11 @@ export declare const tabsActions: import("@reduxjs/toolkit").CaseReducerActions<
217
214
  type: string;
218
215
  }>;
219
216
  readonly changeAttributeFilterConfigMode: (state: import("immer").WritableDraft<import("./tabsState.js").ITabsState>, action: {
220
- payload: import("../../commands/dashboard.js").ISetDashboardAttributeFilterConfigModePayload;
217
+ payload: import("./attributeFilterConfigs/attributeFilterConfigsReducers.js").IChangeAttributeFilterConfigModePayload;
221
218
  type: string;
222
219
  }) => void | import("./tabsState.js").ITabsState | import("immer").WritableDraft<import("./tabsState.js").ITabsState>;
223
220
  readonly changeAttributeFilterSelectionType: (state: import("immer").WritableDraft<import("./tabsState.js").ITabsState>, action: {
224
- payload: import("../../commands/dashboard.js").ISetDashboardAttributeFilterSelectionTypePayload;
221
+ payload: import("./attributeFilterConfigs/attributeFilterConfigsReducers.js").IChangeAttributeFilterSelectionTypePayload;
225
222
  type: string;
226
223
  }) => void | import("./tabsState.js").ITabsState | import("immer").WritableDraft<import("./tabsState.js").ITabsState>;
227
224
  readonly setAttributeFilterConfigs: (state: import("immer").WritableDraft<import("./tabsState.js").ITabsState>, action: {
@@ -229,11 +226,11 @@ export declare const tabsActions: import("@reduxjs/toolkit").CaseReducerActions<
229
226
  type: string;
230
227
  }) => void | import("./tabsState.js").ITabsState | import("immer").WritableDraft<import("./tabsState.js").ITabsState>;
231
228
  readonly removeAttributeFilterConfig: import("./tabsReducers.js").TabsReducer<{
232
- payload: string;
229
+ payload: import("./attributeFilterConfigs/attributeFilterConfigsReducers.js").IRemoveAttributeFilterConfigPayload;
233
230
  type: string;
234
231
  }>;
235
232
  readonly changeDisplayAsLabel: (state: import("immer").WritableDraft<import("./tabsState.js").ITabsState>, action: {
236
- payload: import("../../commands/dashboard.js").ISetDashboardAttributeFilterConfigDisplayAsLabelPayload;
233
+ payload: import("./attributeFilterConfigs/attributeFilterConfigsReducers.js").IChangeAttributeFilterDisplayAsLabelPayload;
237
234
  type: string;
238
235
  }) => void | import("./tabsState.js").ITabsState | import("immer").WritableDraft<import("./tabsState.js").ITabsState>;
239
236
  readonly setDateFilterConfig: (state: import("immer").WritableDraft<import("./tabsState.js").ITabsState>, action: {
@@ -304,6 +301,7 @@ export declare const tabsActions: import("@reduxjs/toolkit").CaseReducerActions<
304
301
  readonly removeIgnoredAttributeFilter: (state: import("immer").WritableDraft<import("./tabsState.js").ITabsState>, action: {
305
302
  payload: {
306
303
  displayFormRefs: import("@gooddata/sdk-model").ObjRef[];
304
+ tabLocalIdentifier?: string;
307
305
  };
308
306
  type: string;
309
307
  }) => void | import("./tabsState.js").ITabsState | import("immer").WritableDraft<import("./tabsState.js").ITabsState>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/store/tabs/index.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,gBAAgB,8DAAoB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/store/tabs/index.ts"],"names":[],"mappings":"AA+BA,eAAO,MAAM,gBAAgB,8DAAoB,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAAoB,CAAC"}
@@ -126,6 +126,7 @@ type ReplaceWidgetFilterSettings = {
126
126
  };
127
127
  type RemoveIgnoredAttributeFilter = {
128
128
  displayFormRefs: ObjRef[];
129
+ tabLocalIdentifier?: string;
129
130
  };
130
131
  type ReplaceWidgetDateDataset = {
131
132
  ref: ObjRef;
@@ -1 +1 @@
1
- {"version":3,"file":"layoutReducers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/layout/layoutReducers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layoutReducers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/layout/layoutReducers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"measureValueFilterConfigsReducers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/measureValueFilterConfigs/measureValueFilterConfigsReducers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAErF,OAAO,EACH,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EAC1C,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,iBAAiB,CAAC;AAEhE,KAAK,+BAA+B,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,0CAA0C;IACvD,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,kCAAkC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACjD,yBAAyB,CAAC,EAAE,kCAAkC,EAAE,CAAC;CACpE;AAgED,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;CAI7C,CAAC"}
1
+ {"version":3,"file":"measureValueFilterConfigsReducers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/measureValueFilterConfigs/measureValueFilterConfigsReducers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAErF,OAAO,EACH,KAAK,kCAAkC,EACvC,KAAK,kCAAkC,EAC1C,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,iBAAiB,CAAC;AAEhE,KAAK,+BAA+B,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,0CAA0C;IACvD,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,kCAAkC,CAAC;CAC7C;AAkCD;;GAEG;AACH,MAAM,WAAW,oCAAoC;IACjD,yBAAyB,CAAC,EAAE,kCAAkC,EAAE,CAAC;CACpE;AAgCD,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;CAI7C,CAAC"}
@@ -20,13 +20,8 @@ export interface ISetParameterRuntimeValuesPayload {
20
20
  values: IParameterValueChange[];
21
21
  /**
22
22
  * Target tab. When omitted, the active tab is used.
23
- * With `enablePersistentFiltersAcrossTabs`, this tab is the source and every other tab is written too.
24
23
  */
25
24
  tabLocalIdentifier?: string;
26
- /**
27
- * When true, write the values onto every tab. A tab that does not define the parameter is unchanged.
28
- */
29
- enablePersistentFiltersAcrossTabs?: boolean;
30
25
  }
31
26
  /**
32
27
  * Stage a parameter value under the apply-all-at-once mode. The value is always concrete: the
@@ -1 +1 @@
1
- {"version":3,"file":"parametersReducers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersReducers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAErF,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,MAAM,EACX,KAAK,cAAc,EAEtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EACH,KAAK,SAAS,EACd,KAAK,UAAU,EAIlB,MAAM,iBAAiB,CAAC;AAIzB,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,EAAE,cAAc,CAAC;CACpC;AAoBD;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAC9C,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,iCAAiC,CAAC,EAAE,OAAO,CAAC;CAC/C;AAmBD;;;;;;GAMG;AACH,MAAM,WAAW,gCAAgC;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,cAAc,CAAC;CACzB;AAkBD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,GAAG,EAAE,MAAM,CAAC;CACf;AAoCD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAOjE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAIhE;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;CAK9B,CAAC"}
1
+ {"version":3,"file":"parametersReducers.d.ts","sourceRoot":"","sources":["../../../../../src/model/store/tabs/parameters/parametersReducers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAErF,OAAO,EACH,KAAK,mBAAmB,EACxB,KAAK,MAAM,EACX,KAAK,cAAc,EAEtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAgC,MAAM,iBAAiB,CAAC;AAIhG,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,gBAAgB,EAAE,cAAc,CAAC;CACpC;AAoBD;;GAEG;AACH,MAAM,WAAW,iCAAiC;IAC9C,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAChC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAgBD;;;;;;GAMG;AACH,MAAM,WAAW,gCAAgC;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,cAAc,CAAC;CACzB;AAkBD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,GAAG,EAAE,MAAM,CAAC;CACf;AAoCD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAOjE;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAIhE;AAED,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;CAK9B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  // (C) 2026 GoodData Corporation
2
2
  import { areObjRefsEqual, } from "@gooddata/sdk-model";
3
- import { getActiveTab, getTabOrActive, getTabsToMutate, } from "../tabsState.js";
3
+ import { getActiveTab, getTabOrActive } from "../tabsState.js";
4
4
  import { parametersInitialState } from "./parametersState.js";
5
5
  const addParameter = (state, action) => {
6
6
  const activeTab = getActiveTab(state);
@@ -20,12 +20,13 @@ const addParameter = (state, action) => {
20
20
  };
21
21
  };
22
22
  const setParameterRuntimeValues = (state, action) => {
23
- // Parameter values sync by parameter ref. A tab that does not define the parameter is a no-op.
24
- // Working overrides are not written here.
25
- for (const tab of getTabsToMutate(state, action.payload.tabLocalIdentifier, action.payload.enablePersistentFiltersAcrossTabs)) {
26
- for (const entry of action.payload.values) {
27
- setRuntimeOverrideOnTab(tab, entry);
28
- }
23
+ // A value of a parameter the tab does not define is a no-op. Working overrides are not written here.
24
+ const tab = getTabOrActive(state, action.payload.tabLocalIdentifier);
25
+ if (!tab) {
26
+ return;
27
+ }
28
+ for (const entry of action.payload.values) {
29
+ setRuntimeOverrideOnTab(tab, entry);
29
30
  }
30
31
  };
31
32
  const setParameterWorkingValue = (state, action) => {
@@ -234,5 +234,12 @@ export declare const selectExportEffectiveParameters: (widgetIds: string[] | und
234
234
  * @internal
235
235
  */
236
236
  export declare const selectActiveTabExportParameters: DashboardSelector<IDashboardExportParameter[]>;
237
+ /**
238
+ * Reset targets of every tab, keyed by tab `localIdentifier`, computed like
239
+ * {@link selectActiveTabParameterResetTargets} from each tab's own parameter entries.
240
+ *
241
+ * @internal
242
+ */
243
+ export declare const selectParameterResetTargetsByTab: DashboardSelector<Record<string, IInsightParameterValue[]>>;
237
244
  export {};
238
245
  //# sourceMappingURL=parametersSelectors.d.ts.map
@@ -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":"AAKA,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EAExB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,cAAc,EAMtB,MAAM,qBAAqB,CAAC;AAY7B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAQxD,OAAO,EAEH,KAAK,6BAA6B,EAClC,KAAK,uBAAuB,EAoB/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACH,KAAK,wBAAwB,EAGhC,MAAM,sBAAsB,CAAC;AA+B9B;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,CAG9E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAO9F,CAAC;AAEP;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAG/E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,EAAE,iBAAiB,CAAC,wBAAwB,EAAE,CAGzF,CAAC;AAYF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,GAAG,SAAS,CAGvF,CAAC;AAEN;;;;;GAKG;AACH,eAAO,MAAM,iCAAiC,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,GAAG,SAAS,CAG9F,CAAC;AAEN;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAE,iBAAiB,CAAC,sBAAsB,EAAE,CAOtF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAU7F,CAAC;AAEP;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,EAAE,CAC7C,GAAG,EAAE,MAAM,KACV,iBAAiB,CAAC,wBAAwB,GAAG,SAAS,CAI1D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC,EAAE,CAC9C,GAAG,EAAE,MAAM,KACV,iBAAiB,CAAC,cAAc,GAAG,SAAS,CAEhD,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,EAAE,CAC3C,GAAG,EAAE,MAAM,KACV,iBAAiB,CAAC,cAAc,GAAG,SAAS,CAIhD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,EAAE,iBAAiB,CAAC,OAAO,CAGvE,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,iBAAiB,CAAC,cAAc,GAAG,SAAS,CAarG,CAAC;AAEN;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kCAAkC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CA0BnG,CAAC;AA6BN;;;;;GAKG;AACH,eAAO,MAAM,kCAAkC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAetG,CAAC;AAEN;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,CAAC,OAAO,CAchE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC,EAAE,iBAAiB,CAAC,sBAAsB,EAAE,CAaxF,CAAC;AAEN;;;;;GAKG;AACH,eAAO,MAAM,0CAA0C,EAAE,iBAAiB,CAAC,OAAO,CAGjF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAE,iBAAiB,CAAC,6BAA6B,EAAE,CAezF,CAAC;AAEN;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,EAAE,CAC7C,GAAG,EAAE,MAAM,KACV,iBAAiB,CAAC,uBAAuB,GAAG,SAAS,CAczD,CAAC;AAEF,UAAU,uBAAuB;IAC7B,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACpC,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IAIpD,WAAW,EAAE,aAAa,EAAE,CAAC;IAE7B,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAG/D,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,4BAA4B,EAAE,CACvC,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,uBAAuB,GAAG,SAAS,CA2CzD,CAAC;AA8BF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,uCAAuC,EAAE,CAClD,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,sBAAsB,EAAE,CAa9C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+CAA+C,EAAE,CAC1D,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,sBAAsB,EAAE,CAa9C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,2CAA2C,EAAE,CACtD,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,mBAAmB,EAAE,CAe3C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,+BAA+B,EAAE,CAC1C,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,KAC9B,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAuBjE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,EAAE,iBAAiB,CAAC,yBAAyB,EAAE,CAI1F,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAoBpG,CAAC"}
@@ -419,3 +419,19 @@ export const selectExportEffectiveParameters = createMemoizedSelector((widgetIds
419
419
  * @internal
420
420
  */
421
421
  export const selectActiveTabExportParameters = createSelector(selectExportEffectiveParameters(undefined), selectActiveOrDefaultTabLocalIdentifier, (parametersByTab, activeTabId) => parametersByTab[activeTabId] ?? EMPTY_EXPORT_PARAMETERS);
422
+ /**
423
+ * Reset targets of every tab, keyed by tab `localIdentifier`, computed like
424
+ * {@link selectActiveTabParameterResetTargets} from each tab's own parameter entries.
425
+ *
426
+ * @internal
427
+ */
428
+ export const selectParameterResetTargetsByTab = createSelector(selectTabs, selectCatalogParameters, selectIsInEditMode, selectEnableParameters, (tabs, workspaceParameters, isInEditMode, isEnabled) => {
429
+ const result = {};
430
+ if (!isEnabled) {
431
+ return result;
432
+ }
433
+ for (const tab of tabs ?? []) {
434
+ result[tab.localIdentifier] = computeParameterResetTargets(tab.parameters?.parameters ?? [], workspaceParameters, isInEditMode);
435
+ }
436
+ return result;
437
+ });
@@ -1,6 +1,6 @@
1
1
  import { type Action, type CaseReducer } from "@reduxjs/toolkit";
2
2
  import { type ObjRef } from "@gooddata/sdk-model";
3
- import { type CrossFilteringLocalIdsByTab } from "./filterContext/filterSync.js";
3
+ import { type IMirroredSelection } from "./filterContext/filterSync.js";
4
4
  import { type ITabState, type ITabsState } from "./tabsState.js";
5
5
  /**
6
6
  * @alpha
@@ -36,10 +36,14 @@ export interface ISetDashboardAttributeFilterConfigDisplayAsLabelPayload {
36
36
  export interface IApplyWorkingSelectionPayload {
37
37
  readonly enableImmediateAttributeFilterDisplayAsLabelMigration?: boolean;
38
38
  /**
39
- * Cross-filtering virtual filters per tab. They are not mirrored to or from other tabs.
39
+ * Tab to apply. When omitted, the active tab is used.
40
40
  */
41
- readonly crossFilteringLocalIdsByTab?: CrossFilteringLocalIdsByTab;
42
- readonly enablePersistentFiltersAcrossTabs?: boolean;
41
+ readonly tabLocalIdentifier?: string;
42
+ /**
43
+ * Values another tab committed. When set, they are written onto the tab instead of committing
44
+ * its own staged values.
45
+ */
46
+ readonly mirroredSelection?: IMirroredSelection;
43
47
  }
44
48
  export declare const tabsReducers: {
45
49
  setTabs: TabsReducer<{
@@ -1 +1 @@
1
- {"version":3,"file":"tabsReducers.d.ts","sourceRoot":"","sources":["../../../../src/model/store/tabs/tabsReducers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAA+B,MAAM,kBAAkB,CAAC;AAE9F,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAOlD,OAAO,EACH,KAAK,2BAA2B,EAEnC,MAAM,+BAA+B,CAAC;AAKvC,OAAO,EAEH,KAAK,SAAS,EACd,KAAK,UAAU,EAGlB,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAEvE,KAAK,cAAc,GAAG;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IAEnB;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AA0FF;;;GAGG;AACH,MAAM,WAAW,uDAAuD;IACpE;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAkDD;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,QAAQ,CAAC,qDAAqD,CAAC,EAAE,OAAO,CAAC;IACzE;;OAEG;IACH,QAAQ,CAAC,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IACnE,QAAQ,CAAC,iCAAiC,CAAC,EAAE,OAAO,CAAC;CACxD;AAsCD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;mBA5FkC,MAAM;wBAAc,OAAO;;;;;;mBAkBlC,MAAM;mBAAS,MAAM;;;;;;gCAeA,MAAM;;;;;;;;;;;;CAsE9E,CAAC"}
1
+ {"version":3,"file":"tabsReducers.d.ts","sourceRoot":"","sources":["../../../../src/model/store/tabs/tabsReducers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAErF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAOlD,OAAO,EAAE,KAAK,kBAAkB,EAA0B,MAAM,+BAA+B,CAAC;AAKhG,OAAO,EAEH,KAAK,SAAS,EACd,KAAK,UAAU,EAGlB,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAEvE,KAAK,cAAc,GAAG;IAClB;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IAEnB;;OAEG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACrC,CAAC;AA0FF;;;GAGG;AACH,MAAM,WAAW,uDAAuD;IACpE;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAkDD;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,QAAQ,CAAC,qDAAqD,CAAC,EAAE,OAAO,CAAC;IACzE;;OAEG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;CACnD;AA6BD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;mBAvFkC,MAAM;wBAAc,OAAO;;;;;;mBAkBlC,MAAM;mBAAS,MAAM;;;;;;gCAeA,MAAM;;;;;;;;;;;;CAiE9E,CAAC"}
@@ -1,10 +1,9 @@
1
1
  // (C) 2021-2026 GoodData Corporation
2
- import { current } from "@reduxjs/toolkit";
3
2
  import { clearFilterContextWorkingValues, commitFilterContextWorkingValues, } from "./filterContext/filterContextReducers.js";
4
3
  import { initializeFilterContext } from "./filterContext/filterContextUtils.js";
5
- import { mirrorCommittedWorkingSelection, } from "./filterContext/filterSync.js";
4
+ import { writeMirroredSelection } from "./filterContext/filterSync.js";
6
5
  import { clearParameterWorkingValues, commitParameterWorkingValues, } from "./parameters/parametersReducers.js";
7
- import { DEFAULT_TAB_ID, getActiveTab, getTabsToMutate, } from "./tabsState.js";
6
+ import { DEFAULT_TAB_ID, getActiveTab, getTabOrActive, } from "./tabsState.js";
8
7
  /**
9
8
  * Applies initialization logic to a tab's filterContext if present.
10
9
  * Ensures filters have local identifiers and proper ordering.
@@ -117,26 +116,24 @@ const resolveDefaultTab = (state, action) => {
117
116
  }
118
117
  };
119
118
  const applyWorkingSelection = (state, action) => {
120
- const activeTab = getActiveTab(state);
121
- if (!activeTab) {
119
+ const tab = getTabOrActive(state, action.payload.tabLocalIdentifier);
120
+ if (!tab) {
121
+ return;
122
+ }
123
+ if (action.payload.mirroredSelection) {
124
+ writeMirroredSelection(tab, action.payload.mirroredSelection);
122
125
  return;
123
126
  }
124
- const stagedFilters = activeTab.filterContext?.workingFilterContextDefinition
125
- ? current(activeTab.filterContext.workingFilterContextDefinition).filters
126
- : undefined;
127
- const stagedParameterRefs = (activeTab.parameters?.parameters ?? [])
128
- .filter((entry) => entry.workingOverride !== undefined)
129
- .map((entry) => entry.parameter.ref);
130
- commitFilterContextWorkingValues(activeTab, action.payload.enableImmediateAttributeFilterDisplayAsLabelMigration);
131
- commitParameterWorkingValues(activeTab);
132
- // Mirror the committed applied values, not the working overlay.
133
- mirrorCommittedWorkingSelection(state, activeTab, stagedFilters, stagedParameterRefs, action.payload.crossFilteringLocalIdsByTab, action.payload.enablePersistentFiltersAcrossTabs);
127
+ commitFilterContextWorkingValues(tab, action.payload.enableImmediateAttributeFilterDisplayAsLabelMigration);
128
+ commitParameterWorkingValues(tab);
134
129
  };
135
130
  const resetWorkingSelection = (state) => {
136
- for (const tab of getTabsToMutate(state)) {
137
- clearFilterContextWorkingValues(tab);
138
- clearParameterWorkingValues(tab);
131
+ const activeTab = getActiveTab(state);
132
+ if (!activeTab) {
133
+ return;
139
134
  }
135
+ clearFilterContextWorkingValues(activeTab);
136
+ clearParameterWorkingValues(activeTab);
140
137
  };
141
138
  export const tabsReducers = {
142
139
  setTabs,