@gooddata/sdk-ui-dashboard 11.10.0-alpha.4 → 11.10.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 (387) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/_staging/dashboard/dashboardLayout.d.ts +2 -0
  4. package/esm/_staging/dashboard/dashboardLayout.d.ts.map +1 -1
  5. package/esm/_staging/dashboard/dashboardLayout.js.map +1 -1
  6. package/esm/kdaDialog/composition/hooks/usePeriodChangeHandler.d.ts.map +1 -1
  7. package/esm/kdaDialog/composition/hooks/usePeriodChangeHandler.js +1 -0
  8. package/esm/kdaDialog/composition/hooks/usePeriodChangeHandler.js.map +1 -1
  9. package/esm/model/commandHandlers/common/validateDrills.js +2 -2
  10. package/esm/model/commandHandlers/common/validateDrills.js.map +1 -1
  11. package/esm/model/commandHandlers/dashboard/common/stateInitializers.d.ts.map +1 -1
  12. package/esm/model/commandHandlers/dashboard/common/stateInitializers.js +46 -40
  13. package/esm/model/commandHandlers/dashboard/common/stateInitializers.js.map +1 -1
  14. package/esm/model/commandHandlers/dashboard/exportDashboardToPdfHandler.d.ts.map +1 -1
  15. package/esm/model/commandHandlers/dashboard/exportDashboardToPdfHandler.js +5 -3
  16. package/esm/model/commandHandlers/dashboard/exportDashboardToPdfHandler.js.map +1 -1
  17. package/esm/model/commandHandlers/dashboard/exportDashboardToPdfPresentationHandler.d.ts.map +1 -1
  18. package/esm/model/commandHandlers/dashboard/exportDashboardToPdfPresentationHandler.js +7 -1
  19. package/esm/model/commandHandlers/dashboard/exportDashboardToPdfPresentationHandler.js.map +1 -1
  20. package/esm/model/commandHandlers/dashboard/exportDashboardToPptPresentationHandler.d.ts.map +1 -1
  21. package/esm/model/commandHandlers/dashboard/exportDashboardToPptPresentationHandler.js +7 -1
  22. package/esm/model/commandHandlers/dashboard/exportDashboardToPptPresentationHandler.js.map +1 -1
  23. package/esm/model/commandHandlers/dashboard/exportToTabularHandler.d.ts.map +1 -1
  24. package/esm/model/commandHandlers/dashboard/exportToTabularHandler.js +5 -2
  25. package/esm/model/commandHandlers/dashboard/exportToTabularHandler.js.map +1 -1
  26. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +9 -9
  27. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js.map +1 -1
  28. package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js +5 -4
  29. package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js.map +1 -1
  30. package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.d.ts.map +1 -1
  31. package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.js +96 -12
  32. package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.js.map +1 -1
  33. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.d.ts +3 -1
  34. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.d.ts.map +1 -1
  35. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.js +67 -34
  36. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.js.map +1 -1
  37. package/esm/model/commandHandlers/drill/drillDownHandler.js +1 -1
  38. package/esm/model/commandHandlers/drill/drillDownHandler.js.map +1 -1
  39. package/esm/model/commandHandlers/drill/drillToAttributeUrlHandler.d.ts.map +1 -1
  40. package/esm/model/commandHandlers/drill/drillToAttributeUrlHandler.js +2 -1
  41. package/esm/model/commandHandlers/drill/drillToAttributeUrlHandler.js.map +1 -1
  42. package/esm/model/commandHandlers/drill/drillToDashboardHandler.js +1 -1
  43. package/esm/model/commandHandlers/drill/drillToDashboardHandler.js.map +1 -1
  44. package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.js +1 -1
  45. package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.js.map +1 -1
  46. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.js +1 -1
  47. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.js.map +1 -1
  48. package/esm/model/commandHandlers/drillTargets/addDrillTargetsHandler.js +1 -1
  49. package/esm/model/commandHandlers/drillTargets/addDrillTargetsHandler.js.map +1 -1
  50. package/esm/model/commandHandlers/filterContext/attributeFilter/addAttributeFilterHandler.js +1 -1
  51. package/esm/model/commandHandlers/filterContext/attributeFilter/addAttributeFilterHandler.js.map +1 -1
  52. package/esm/model/commandHandlers/filterContext/attributeFilter/removeAttributeFiltersHandler.d.ts.map +1 -1
  53. package/esm/model/commandHandlers/filterContext/attributeFilter/removeAttributeFiltersHandler.js +2 -3
  54. package/esm/model/commandHandlers/filterContext/attributeFilter/removeAttributeFiltersHandler.js.map +1 -1
  55. package/esm/model/commandHandlers/filterContext/dateFilter/removeDateFiltersHandler.d.ts.map +1 -1
  56. package/esm/model/commandHandlers/filterContext/dateFilter/removeDateFiltersHandler.js +1 -2
  57. package/esm/model/commandHandlers/filterContext/dateFilter/removeDateFiltersHandler.js.map +1 -1
  58. package/esm/model/commandHandlers/index.d.ts.map +1 -1
  59. package/esm/model/commandHandlers/index.js +6 -0
  60. package/esm/model/commandHandlers/index.js.map +1 -1
  61. package/esm/model/commandHandlers/layout/addLayoutSectionHandler.js +3 -3
  62. package/esm/model/commandHandlers/layout/addLayoutSectionHandler.js.map +1 -1
  63. package/esm/model/commandHandlers/layout/addSectionItemsHandler.d.ts.map +1 -1
  64. package/esm/model/commandHandlers/layout/addSectionItemsHandler.js +3 -3
  65. package/esm/model/commandHandlers/layout/addSectionItemsHandler.js.map +1 -1
  66. package/esm/model/commandHandlers/layout/changeLayoutSectionHeaderHandler.d.ts.map +1 -1
  67. package/esm/model/commandHandlers/layout/changeLayoutSectionHeaderHandler.js +3 -3
  68. package/esm/model/commandHandlers/layout/changeLayoutSectionHeaderHandler.js.map +1 -1
  69. package/esm/model/commandHandlers/layout/containerHeightSanitization.d.ts +1 -1
  70. package/esm/model/commandHandlers/layout/containerHeightSanitization.js +3 -3
  71. package/esm/model/commandHandlers/layout/containerHeightSanitization.js.map +1 -1
  72. package/esm/model/commandHandlers/layout/moveLayoutSectionHandler.d.ts.map +1 -1
  73. package/esm/model/commandHandlers/layout/moveLayoutSectionHandler.js +4 -3
  74. package/esm/model/commandHandlers/layout/moveLayoutSectionHandler.js.map +1 -1
  75. package/esm/model/commandHandlers/layout/moveSectionItemHandler.d.ts.map +1 -1
  76. package/esm/model/commandHandlers/layout/moveSectionItemHandler.js +5 -5
  77. package/esm/model/commandHandlers/layout/moveSectionItemHandler.js.map +1 -1
  78. package/esm/model/commandHandlers/layout/moveSectionItemToNewSectionHandler.d.ts.map +1 -1
  79. package/esm/model/commandHandlers/layout/moveSectionItemToNewSectionHandler.js +6 -6
  80. package/esm/model/commandHandlers/layout/moveSectionItemToNewSectionHandler.js.map +1 -1
  81. package/esm/model/commandHandlers/layout/removeLayoutSectionHandler.d.ts.map +1 -1
  82. package/esm/model/commandHandlers/layout/removeLayoutSectionHandler.js +3 -3
  83. package/esm/model/commandHandlers/layout/removeLayoutSectionHandler.js.map +1 -1
  84. package/esm/model/commandHandlers/layout/removeSectionItemByWidgetRefHandler.d.ts.map +1 -1
  85. package/esm/model/commandHandlers/layout/removeSectionItemByWidgetRefHandler.js +2 -1
  86. package/esm/model/commandHandlers/layout/removeSectionItemByWidgetRefHandler.js.map +1 -1
  87. package/esm/model/commandHandlers/layout/removeSectionItemHandler.d.ts +1 -1
  88. package/esm/model/commandHandlers/layout/removeSectionItemHandler.d.ts.map +1 -1
  89. package/esm/model/commandHandlers/layout/removeSectionItemHandler.js +5 -4
  90. package/esm/model/commandHandlers/layout/removeSectionItemHandler.js.map +1 -1
  91. package/esm/model/commandHandlers/layout/replaceSectionItemHandler.d.ts.map +1 -1
  92. package/esm/model/commandHandlers/layout/replaceSectionItemHandler.js +3 -3
  93. package/esm/model/commandHandlers/layout/replaceSectionItemHandler.js.map +1 -1
  94. package/esm/model/commandHandlers/layout/resizeHeightHandler.js +3 -3
  95. package/esm/model/commandHandlers/layout/resizeHeightHandler.js.map +1 -1
  96. package/esm/model/commandHandlers/layout/resizeWidthHandler.js +3 -3
  97. package/esm/model/commandHandlers/layout/resizeWidthHandler.js.map +1 -1
  98. package/esm/model/commandHandlers/layout/rowContainerSanitization.js +3 -3
  99. package/esm/model/commandHandlers/layout/rowContainerSanitization.js.map +1 -1
  100. package/esm/model/commandHandlers/layout/setScreenSizeHandler.d.ts.map +1 -1
  101. package/esm/model/commandHandlers/layout/setScreenSizeHandler.js +3 -2
  102. package/esm/model/commandHandlers/layout/setScreenSizeHandler.js.map +1 -1
  103. package/esm/model/commandHandlers/layout/toggleLayoutDirectionHandler.d.ts.map +1 -1
  104. package/esm/model/commandHandlers/layout/toggleLayoutDirectionHandler.js +5 -4
  105. package/esm/model/commandHandlers/layout/toggleLayoutDirectionHandler.js.map +1 -1
  106. package/esm/model/commandHandlers/layout/toggleLayoutSectionHeadersHandler.d.ts.map +1 -1
  107. package/esm/model/commandHandlers/layout/toggleLayoutSectionHeadersHandler.js +3 -2
  108. package/esm/model/commandHandlers/layout/toggleLayoutSectionHeadersHandler.js.map +1 -1
  109. package/esm/model/commandHandlers/layout/undoLayoutChangesHandler.d.ts.map +1 -1
  110. package/esm/model/commandHandlers/layout/undoLayoutChangesHandler.js +4 -3
  111. package/esm/model/commandHandlers/layout/undoLayoutChangesHandler.js.map +1 -1
  112. package/esm/model/commandHandlers/layout/validation/stashValidation.d.ts +1 -1
  113. package/esm/model/commandHandlers/layout/validation/stashValidation.d.ts.map +1 -1
  114. package/esm/model/commandHandlers/renderMode/changeRenderModeHandler.d.ts.map +1 -1
  115. package/esm/model/commandHandlers/renderMode/changeRenderModeHandler.js +1 -1
  116. package/esm/model/commandHandlers/renderMode/changeRenderModeHandler.js.map +1 -1
  117. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.d.ts.map +1 -1
  118. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.js +42 -21
  119. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.js.map +1 -1
  120. package/esm/model/commandHandlers/tabs/cancelRenamingDashboardTabHandler.d.ts +9 -0
  121. package/esm/model/commandHandlers/tabs/cancelRenamingDashboardTabHandler.d.ts.map +1 -0
  122. package/esm/model/commandHandlers/tabs/cancelRenamingDashboardTabHandler.js +27 -0
  123. package/esm/model/commandHandlers/tabs/cancelRenamingDashboardTabHandler.js.map +1 -0
  124. package/esm/model/commandHandlers/tabs/createDashboardTabHandler.d.ts.map +1 -1
  125. package/esm/model/commandHandlers/tabs/createDashboardTabHandler.js +22 -9
  126. package/esm/model/commandHandlers/tabs/createDashboardTabHandler.js.map +1 -1
  127. package/esm/model/commandHandlers/tabs/deleteDashboardTabHandler.d.ts.map +1 -1
  128. package/esm/model/commandHandlers/tabs/deleteDashboardTabHandler.js +12 -12
  129. package/esm/model/commandHandlers/tabs/deleteDashboardTabHandler.js.map +1 -1
  130. package/esm/model/commandHandlers/tabs/renameDashboardTabHandler.d.ts +9 -0
  131. package/esm/model/commandHandlers/tabs/renameDashboardTabHandler.d.ts.map +1 -0
  132. package/esm/model/commandHandlers/tabs/renameDashboardTabHandler.js +29 -0
  133. package/esm/model/commandHandlers/tabs/renameDashboardTabHandler.js.map +1 -0
  134. package/esm/model/commandHandlers/tabs/repositionDashboardTabHandler.d.ts.map +1 -1
  135. package/esm/model/commandHandlers/tabs/repositionDashboardTabHandler.js +3 -3
  136. package/esm/model/commandHandlers/tabs/repositionDashboardTabHandler.js.map +1 -1
  137. package/esm/model/commandHandlers/tabs/startRenamingDashboardTabHandler.d.ts +9 -0
  138. package/esm/model/commandHandlers/tabs/startRenamingDashboardTabHandler.d.ts.map +1 -0
  139. package/esm/model/commandHandlers/tabs/startRenamingDashboardTabHandler.js +36 -0
  140. package/esm/model/commandHandlers/tabs/startRenamingDashboardTabHandler.js.map +1 -0
  141. package/esm/model/commandHandlers/tabs/switchDashboardTabHandler.d.ts.map +1 -1
  142. package/esm/model/commandHandlers/tabs/switchDashboardTabHandler.js +5 -6
  143. package/esm/model/commandHandlers/tabs/switchDashboardTabHandler.js.map +1 -1
  144. package/esm/model/commandHandlers/widgets/addDrillDownForInsightWidgetHandler.js +5 -5
  145. package/esm/model/commandHandlers/widgets/addDrillDownForInsightWidgetHandler.js.map +1 -1
  146. package/esm/model/commandHandlers/widgets/addVisualizationToSwitcherWidgetHandler.js +3 -3
  147. package/esm/model/commandHandlers/widgets/addVisualizationToSwitcherWidgetHandler.js.map +1 -1
  148. package/esm/model/commandHandlers/widgets/changeInsightWidgetDescriptionHandler.d.ts.map +1 -1
  149. package/esm/model/commandHandlers/widgets/changeInsightWidgetDescriptionHandler.js +4 -3
  150. package/esm/model/commandHandlers/widgets/changeInsightWidgetDescriptionHandler.js.map +1 -1
  151. package/esm/model/commandHandlers/widgets/changeInsightWidgetFilterSettingsHandler.js +3 -3
  152. package/esm/model/commandHandlers/widgets/changeInsightWidgetFilterSettingsHandler.js.map +1 -1
  153. package/esm/model/commandHandlers/widgets/changeInsightWidgetHeaderHandler.d.ts.map +1 -1
  154. package/esm/model/commandHandlers/widgets/changeInsightWidgetHeaderHandler.js +4 -3
  155. package/esm/model/commandHandlers/widgets/changeInsightWidgetHeaderHandler.js.map +1 -1
  156. package/esm/model/commandHandlers/widgets/changeInsightWidgetIgnoreCrossFilteringHandler.js +3 -3
  157. package/esm/model/commandHandlers/widgets/changeInsightWidgetIgnoreCrossFilteringHandler.js.map +1 -1
  158. package/esm/model/commandHandlers/widgets/changeInsightWidgetInsightHandler.js +4 -4
  159. package/esm/model/commandHandlers/widgets/changeInsightWidgetInsightHandler.js.map +1 -1
  160. package/esm/model/commandHandlers/widgets/changeInsightWidgetVisConfigurationHandler.js +3 -3
  161. package/esm/model/commandHandlers/widgets/changeInsightWidgetVisConfigurationHandler.js.map +1 -1
  162. package/esm/model/commandHandlers/widgets/changeInsightWidgetVisPropertiesHandler.js +3 -3
  163. package/esm/model/commandHandlers/widgets/changeInsightWidgetVisPropertiesHandler.js.map +1 -1
  164. package/esm/model/commandHandlers/widgets/changeKpiWidgetComparisonHandler.d.ts.map +1 -1
  165. package/esm/model/commandHandlers/widgets/changeKpiWidgetComparisonHandler.js +4 -3
  166. package/esm/model/commandHandlers/widgets/changeKpiWidgetComparisonHandler.js.map +1 -1
  167. package/esm/model/commandHandlers/widgets/changeKpiWidgetConfigurationHandler.js +3 -3
  168. package/esm/model/commandHandlers/widgets/changeKpiWidgetConfigurationHandler.js.map +1 -1
  169. package/esm/model/commandHandlers/widgets/changeKpiWidgetDescriptionHandler.d.ts.map +1 -1
  170. package/esm/model/commandHandlers/widgets/changeKpiWidgetDescriptionHandler.js +4 -3
  171. package/esm/model/commandHandlers/widgets/changeKpiWidgetDescriptionHandler.js.map +1 -1
  172. package/esm/model/commandHandlers/widgets/changeKpiWidgetFilterSettingsHandler.js +3 -3
  173. package/esm/model/commandHandlers/widgets/changeKpiWidgetFilterSettingsHandler.js.map +1 -1
  174. package/esm/model/commandHandlers/widgets/changeKpiWidgetHeaderHandler.d.ts.map +1 -1
  175. package/esm/model/commandHandlers/widgets/changeKpiWidgetHeaderHandler.js +4 -3
  176. package/esm/model/commandHandlers/widgets/changeKpiWidgetHeaderHandler.js.map +1 -1
  177. package/esm/model/commandHandlers/widgets/changeKpiWidgetMeasureHandler.d.ts.map +1 -1
  178. package/esm/model/commandHandlers/widgets/changeKpiWidgetMeasureHandler.js +6 -5
  179. package/esm/model/commandHandlers/widgets/changeKpiWidgetMeasureHandler.js.map +1 -1
  180. package/esm/model/commandHandlers/widgets/changeRichTextWidgetContentHandler.js +3 -3
  181. package/esm/model/commandHandlers/widgets/changeRichTextWidgetContentHandler.js.map +1 -1
  182. package/esm/model/commandHandlers/widgets/changeRichTextWidgetFilterSettingsHandler.js +3 -3
  183. package/esm/model/commandHandlers/widgets/changeRichTextWidgetFilterSettingsHandler.js.map +1 -1
  184. package/esm/model/commandHandlers/widgets/exportImageInsightWidgetHandler.d.ts.map +1 -1
  185. package/esm/model/commandHandlers/widgets/exportImageInsightWidgetHandler.js +3 -0
  186. package/esm/model/commandHandlers/widgets/exportImageInsightWidgetHandler.js.map +1 -1
  187. package/esm/model/commandHandlers/widgets/exportInsightWidgetHandler.d.ts.map +1 -1
  188. package/esm/model/commandHandlers/widgets/exportInsightWidgetHandler.js +4 -1
  189. package/esm/model/commandHandlers/widgets/exportInsightWidgetHandler.js.map +1 -1
  190. package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.d.ts.map +1 -1
  191. package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.js +8 -3
  192. package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.js.map +1 -1
  193. package/esm/model/commandHandlers/widgets/exportSlidesInsightWidgetHandler.d.ts.map +1 -1
  194. package/esm/model/commandHandlers/widgets/exportSlidesInsightWidgetHandler.js +3 -0
  195. package/esm/model/commandHandlers/widgets/exportSlidesInsightWidgetHandler.js.map +1 -1
  196. package/esm/model/commandHandlers/widgets/modifyDrillDownForInsightWidgetHandler.js +4 -4
  197. package/esm/model/commandHandlers/widgets/modifyDrillDownForInsightWidgetHandler.js.map +1 -1
  198. package/esm/model/commandHandlers/widgets/modifyDrillsForInsightWidgetHandler.js +4 -4
  199. package/esm/model/commandHandlers/widgets/modifyDrillsForInsightWidgetHandler.js.map +1 -1
  200. package/esm/model/commandHandlers/widgets/refreshInsightWidgetHandler.d.ts.map +1 -1
  201. package/esm/model/commandHandlers/widgets/refreshInsightWidgetHandler.js +2 -1
  202. package/esm/model/commandHandlers/widgets/refreshInsightWidgetHandler.js.map +1 -1
  203. package/esm/model/commandHandlers/widgets/removeDrillDownForInsightWidgetHandler.js +4 -4
  204. package/esm/model/commandHandlers/widgets/removeDrillDownForInsightWidgetHandler.js.map +1 -1
  205. package/esm/model/commandHandlers/widgets/removeDrillForKpiWidgetHandler.js +3 -3
  206. package/esm/model/commandHandlers/widgets/removeDrillForKpiWidgetHandler.js.map +1 -1
  207. package/esm/model/commandHandlers/widgets/removeDrillsForInsightWidgetHandler.js +3 -3
  208. package/esm/model/commandHandlers/widgets/removeDrillsForInsightWidgetHandler.js.map +1 -1
  209. package/esm/model/commandHandlers/widgets/setDrillForKpiWidgetHandler.js +3 -3
  210. package/esm/model/commandHandlers/widgets/setDrillForKpiWidgetHandler.js.map +1 -1
  211. package/esm/model/commandHandlers/widgets/updateVisualizationsFromSwitcherWidgetHandler.d.ts.map +1 -1
  212. package/esm/model/commandHandlers/widgets/updateVisualizationsFromSwitcherWidgetHandler.js +4 -3
  213. package/esm/model/commandHandlers/widgets/updateVisualizationsFromSwitcherWidgetHandler.js.map +1 -1
  214. package/esm/model/commandHandlers/widgets/validation/kpiDrillValidationUtils.d.ts.map +1 -1
  215. package/esm/model/commandHandlers/widgets/validation/kpiDrillValidationUtils.js +1 -1
  216. package/esm/model/commandHandlers/widgets/validation/kpiDrillValidationUtils.js.map +1 -1
  217. package/esm/model/commands/base.d.ts +1 -1
  218. package/esm/model/commands/base.d.ts.map +1 -1
  219. package/esm/model/commands/index.d.ts +4 -4
  220. package/esm/model/commands/index.d.ts.map +1 -1
  221. package/esm/model/commands/index.js +1 -1
  222. package/esm/model/commands/index.js.map +1 -1
  223. package/esm/model/commands/tabs.d.ts +84 -1
  224. package/esm/model/commands/tabs.d.ts.map +1 -1
  225. package/esm/model/commands/tabs.js +36 -1
  226. package/esm/model/commands/tabs.js.map +1 -1
  227. package/esm/model/events/base.d.ts +1 -1
  228. package/esm/model/events/base.d.ts.map +1 -1
  229. package/esm/model/events/base.js.map +1 -1
  230. package/esm/model/events/index.d.ts +4 -4
  231. package/esm/model/events/index.d.ts.map +1 -1
  232. package/esm/model/events/index.js +1 -1
  233. package/esm/model/events/index.js.map +1 -1
  234. package/esm/model/events/tabs.d.ts +88 -0
  235. package/esm/model/events/tabs.d.ts.map +1 -1
  236. package/esm/model/events/tabs.js +51 -0
  237. package/esm/model/events/tabs.js.map +1 -1
  238. package/esm/model/queryServices/queryWidgetAlertCount.d.ts.map +1 -1
  239. package/esm/model/queryServices/queryWidgetAlertCount.js +2 -1
  240. package/esm/model/queryServices/queryWidgetAlertCount.js.map +1 -1
  241. package/esm/model/queryServices/queryWidgetFilters.js +1 -1
  242. package/esm/model/queryServices/queryWidgetFilters.js.map +1 -1
  243. package/esm/model/react/useInitializeDashboardStore.js +1 -1
  244. package/esm/model/react/useInitializeDashboardStore.js.map +1 -1
  245. package/esm/model/store/_infra/undoEnhancer.d.ts +4 -1
  246. package/esm/model/store/_infra/undoEnhancer.d.ts.map +1 -1
  247. package/esm/model/store/_infra/undoEnhancer.js.map +1 -1
  248. package/esm/model/store/config/configSelectors.d.ts +6 -0
  249. package/esm/model/store/config/configSelectors.d.ts.map +1 -1
  250. package/esm/model/store/config/configSelectors.js +11 -0
  251. package/esm/model/store/config/configSelectors.js.map +1 -1
  252. package/esm/model/store/dashboardStore.d.ts.map +1 -1
  253. package/esm/model/store/dashboardStore.js +0 -2
  254. package/esm/model/store/dashboardStore.js.map +1 -1
  255. package/esm/model/store/executionResults/executionResultsSelectors.js +1 -1
  256. package/esm/model/store/executionResults/executionResultsSelectors.js.map +1 -1
  257. package/esm/model/store/index.d.ts +7 -4
  258. package/esm/model/store/index.d.ts.map +1 -1
  259. package/esm/model/store/index.js +3 -3
  260. package/esm/model/store/index.js.map +1 -1
  261. package/esm/model/store/insights/insightsSelectors.d.ts.map +1 -1
  262. package/esm/model/store/insights/insightsSelectors.js +1 -1
  263. package/esm/model/store/insights/insightsSelectors.js.map +1 -1
  264. package/esm/model/store/keyDriverAnalysis/const.d.ts.map +1 -1
  265. package/esm/model/store/keyDriverAnalysis/const.js +1 -0
  266. package/esm/model/store/keyDriverAnalysis/const.js.map +1 -1
  267. package/esm/model/store/meta/metaSelectors.d.ts.map +1 -1
  268. package/esm/model/store/meta/metaSelectors.js +14 -14
  269. package/esm/model/store/meta/metaSelectors.js.map +1 -1
  270. package/esm/model/store/tabs/attributeFilterConfigs/attributeFilterConfigsSelectors.js +4 -4
  271. package/esm/model/store/tabs/attributeFilterConfigs/attributeFilterConfigsSelectors.js.map +1 -1
  272. package/esm/model/store/tabs/dateFilterConfig/dateFilterConfigSelectors.d.ts.map +1 -1
  273. package/esm/model/store/tabs/dateFilterConfig/dateFilterConfigSelectors.js +13 -11
  274. package/esm/model/store/tabs/dateFilterConfig/dateFilterConfigSelectors.js.map +1 -1
  275. package/esm/model/store/tabs/dateFilterConfigs/dateFilterConfigsReducers.d.ts.map +1 -1
  276. package/esm/model/store/tabs/dateFilterConfigs/dateFilterConfigsReducers.js +2 -2
  277. package/esm/model/store/tabs/dateFilterConfigs/dateFilterConfigsReducers.js.map +1 -1
  278. package/esm/model/store/tabs/dateFilterConfigs/dateFilterConfigsSelectors.js +4 -4
  279. package/esm/model/store/tabs/dateFilterConfigs/dateFilterConfigsSelectors.js.map +1 -1
  280. package/esm/model/store/tabs/filterContext/filterContextReducers.d.ts +11 -0
  281. package/esm/model/store/tabs/filterContext/filterContextReducers.d.ts.map +1 -1
  282. package/esm/model/store/tabs/filterContext/filterContextReducers.js +22 -0
  283. package/esm/model/store/tabs/filterContext/filterContextReducers.js.map +1 -1
  284. package/esm/model/store/tabs/filterContext/filterContextSelectors.js +5 -5
  285. package/esm/model/store/tabs/filterContext/filterContextSelectors.js.map +1 -1
  286. package/esm/model/store/tabs/index.d.ts +322 -4
  287. package/esm/model/store/tabs/index.d.ts.map +1 -1
  288. package/esm/model/store/tabs/index.js +3 -1
  289. package/esm/model/store/tabs/index.js.map +1 -1
  290. package/esm/model/store/tabs/layout/layoutReducers.d.ts +220 -0
  291. package/esm/model/store/tabs/layout/layoutReducers.d.ts.map +1 -0
  292. package/esm/model/store/{layout → tabs/layout}/layoutReducers.js +237 -86
  293. package/esm/model/store/tabs/layout/layoutReducers.js.map +1 -0
  294. package/esm/model/store/{layout → tabs/layout}/layoutSelectors.d.ts +6 -6
  295. package/esm/model/store/tabs/layout/layoutSelectors.d.ts.map +1 -0
  296. package/esm/model/store/{layout → tabs/layout}/layoutSelectors.js +19 -11
  297. package/esm/model/store/tabs/layout/layoutSelectors.js.map +1 -0
  298. package/esm/model/store/{layout → tabs/layout}/layoutState.d.ts +3 -3
  299. package/esm/model/store/tabs/layout/layoutState.d.ts.map +1 -0
  300. package/esm/model/store/{layout → tabs/layout}/layoutState.js +1 -1
  301. package/esm/model/store/tabs/layout/layoutState.js.map +1 -0
  302. package/esm/model/store/{layout → tabs/layout}/layoutUtils.d.ts +2 -2
  303. package/esm/model/store/tabs/layout/layoutUtils.d.ts.map +1 -0
  304. package/esm/model/store/{layout → tabs/layout}/layoutUtils.js +1 -1
  305. package/esm/model/store/tabs/layout/layoutUtils.js.map +1 -0
  306. package/esm/model/store/tabs/tabsReducers.d.ts +17 -3
  307. package/esm/model/store/tabs/tabsReducers.d.ts.map +1 -1
  308. package/esm/model/store/tabs/tabsReducers.js +34 -9
  309. package/esm/model/store/tabs/tabsReducers.js.map +1 -1
  310. package/esm/model/store/tabs/tabsSelectors.d.ts +3 -3
  311. package/esm/model/store/tabs/tabsSelectors.d.ts.map +1 -1
  312. package/esm/model/store/tabs/tabsSelectors.js +8 -8
  313. package/esm/model/store/tabs/tabsSelectors.js.map +1 -1
  314. package/esm/model/store/tabs/tabsState.d.ts +11 -4
  315. package/esm/model/store/tabs/tabsState.d.ts.map +1 -1
  316. package/esm/model/store/tabs/tabsState.js +3 -3
  317. package/esm/model/store/tabs/tabsState.js.map +1 -1
  318. package/esm/model/store/topBar/topBarSelectors.js +1 -1
  319. package/esm/model/store/topBar/topBarSelectors.js.map +1 -1
  320. package/esm/model/store/types.d.ts +0 -3
  321. package/esm/model/store/types.d.ts.map +1 -1
  322. package/esm/model/store/ui/uiSelectors.js +1 -1
  323. package/esm/model/store/ui/uiSelectors.js.map +1 -1
  324. package/esm/model/store/widgetDrills/widgetDrillSelectors.js +1 -1
  325. package/esm/model/store/widgetDrills/widgetDrillSelectors.js.map +1 -1
  326. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.d.ts.map +1 -1
  327. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.js +65 -9
  328. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.js.map +1 -1
  329. package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentBasic.d.ts +15 -0
  330. package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentBasic.d.ts.map +1 -0
  331. package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentBasic.js +28 -0
  332. package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentBasic.js.map +1 -0
  333. package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentEnhanced.d.ts +12 -0
  334. package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentEnhanced.d.ts.map +1 -0
  335. package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentEnhanced.js +49 -0
  336. package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentEnhanced.js.map +1 -0
  337. package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.d.ts.map +1 -1
  338. package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.js +6 -48
  339. package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.js.map +1 -1
  340. package/esm/presentation/constants/automations.d.ts +1 -1
  341. package/esm/presentation/constants/automations.js +1 -1
  342. package/esm/presentation/dashboard/DashboardHeader/DashboardTabs.d.ts +7 -4
  343. package/esm/presentation/dashboard/DashboardHeader/DashboardTabs.d.ts.map +1 -1
  344. package/esm/presentation/dashboard/DashboardHeader/DashboardTabs.js +58 -17
  345. package/esm/presentation/dashboard/DashboardHeader/DashboardTabs.js.map +1 -1
  346. package/esm/presentation/localization/bundles/en-US.json +12 -0
  347. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +3 -0
  348. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  349. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +3 -0
  350. package/esm/presentation/localization/bundles/en-US.localization-bundle.js.map +1 -1
  351. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.d.ts.map +1 -1
  352. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js +6 -60
  353. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js.map +1 -1
  354. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentBasic.d.ts +13 -0
  355. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentBasic.d.ts.map +1 -0
  356. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentBasic.js +32 -0
  357. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentBasic.js.map +1 -0
  358. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentEnhanced.d.ts +11 -0
  359. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentEnhanced.d.ts.map +1 -0
  360. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentEnhanced.js +63 -0
  361. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentEnhanced.js.map +1 -0
  362. package/esm/sdk-ui-dashboard.d.ts +589 -16
  363. package/esm/types.d.ts +2 -2
  364. package/esm/types.d.ts.map +1 -1
  365. package/esm/types.js.map +1 -1
  366. package/package.json +20 -21
  367. package/styles/css/dashboard.css +33 -0
  368. package/styles/css/dashboard.css.map +1 -1
  369. package/styles/css/main.css +33 -0
  370. package/styles/css/main.css.map +1 -1
  371. package/styles/css/notifications_channels_dialog.css +30 -0
  372. package/styles/css/notifications_channels_dialog.css.map +1 -1
  373. package/styles/scss/dashboard.scss +4 -0
  374. package/styles/scss/notifications_channels_dialog.scss +36 -0
  375. package/esm/model/store/layout/index.d.ts +0 -173
  376. package/esm/model/store/layout/index.d.ts.map +0 -1
  377. package/esm/model/store/layout/index.js +0 -18
  378. package/esm/model/store/layout/index.js.map +0 -1
  379. package/esm/model/store/layout/layoutReducers.d.ts +0 -207
  380. package/esm/model/store/layout/layoutReducers.d.ts.map +0 -1
  381. package/esm/model/store/layout/layoutReducers.js.map +0 -1
  382. package/esm/model/store/layout/layoutSelectors.d.ts.map +0 -1
  383. package/esm/model/store/layout/layoutSelectors.js.map +0 -1
  384. package/esm/model/store/layout/layoutState.d.ts.map +0 -1
  385. package/esm/model/store/layout/layoutState.js.map +0 -1
  386. package/esm/model/store/layout/layoutUtils.d.ts.map +0 -1
  387. package/esm/model/store/layout/layoutUtils.js.map +0 -1
@@ -1,18 +1,63 @@
1
+ // (C) 2021-2025 GoodData Corporation
1
2
  import { invariant } from "ts-invariant";
2
3
  import { areObjRefsEqual, isDashboardAttributeFilterReference, isDashboardDateFilterReference, isDashboardLayout, isDashboardLayoutItem, isInsightWidget, isKpiWidget, isRichTextWidget, isVisualizationSwitcherWidget, } from "@gooddata/sdk-model";
4
+ import { layoutInitialState } from "./layoutState.js";
3
5
  import { getWidgetCoordinatesAndItem, resizeInsightWidget } from "./layoutUtils.js";
4
- import { findItem, findSection, findSections, getItemIndex } from "../../../_staging/layout/coordinates.js";
5
- import { newMapForObjectWithIdentity } from "../../../_staging/metadata/objRefMap.js";
6
- import { setOrDelete } from "../../../_staging/objectUtils/setOrDelete.js";
7
- import { isCustomWidget, } from "../../types/layoutTypes.js";
8
- import { addArrayElements, removeArrayElement } from "../../utils/arrayOps.js";
9
- import { resetUndoReducer, undoReducer, withUndo } from "../_infra/undoEnhancer.js";
6
+ import { findItem, findSection, findSections, getItemIndex, } from "../../../../_staging/layout/coordinates.js";
7
+ import { newMapForObjectWithIdentity } from "../../../../_staging/metadata/objRefMap.js";
8
+ import { setOrDelete } from "../../../../_staging/objectUtils/setOrDelete.js";
9
+ import { isCustomWidget, } from "../../../types/layoutTypes.js";
10
+ import { addArrayElements, removeArrayElement } from "../../../utils/arrayOps.js";
11
+ import { resetUndoReducer, undoReducer, withUndo } from "../../_infra/undoEnhancer.js";
12
+ /**
13
+ * Adapts a core layout reducer (for LayoutState) to a tabs reducer (for TabsState).
14
+ * Automatically applies the reducer to the active tab's layout state.
15
+ */
16
+ function adaptLayoutReducer(coreLayoutReducer) {
17
+ return (state, action) => {
18
+ const activeTab = state.tabs?.find((tab) => tab.localIdentifier === state.activeTabLocalIdentifier);
19
+ if (!activeTab)
20
+ return;
21
+ const layoutState = activeTab.layout;
22
+ if (!layoutState)
23
+ return;
24
+ // Call the reducer - it may mutate the draft or return a new state (e.g., when wrapped with withUndo)
25
+ const result = coreLayoutReducer(layoutState, action);
26
+ // If the reducer returns a new state (like withUndo does), replace the layout
27
+ if (result !== undefined) {
28
+ activeTab.layout = result;
29
+ }
30
+ };
31
+ }
32
+ /**
33
+ * Helper function to get the active tab's layout state.
34
+ * Initializes the layout if it doesn't exist.
35
+ * Returns undefined if no active tab is found.
36
+ */
37
+ function getActiveTabLayout(state) {
38
+ if (!state.tabs || !state.activeTabLocalIdentifier) {
39
+ return undefined;
40
+ }
41
+ const activeTab = state.tabs.find((tab) => tab.localIdentifier === state.activeTabLocalIdentifier);
42
+ if (!activeTab) {
43
+ return undefined;
44
+ }
45
+ // Initialize layout state if it doesn't exist
46
+ if (!activeTab.layout) {
47
+ activeTab.layout = { ...layoutInitialState };
48
+ }
49
+ return activeTab.layout;
50
+ }
10
51
  //
11
52
  //
12
53
  //
13
54
  const setLayout = (state, action) => {
14
- state.layout = action.payload;
15
- resetUndoReducer(state);
55
+ const layoutState = getActiveTabLayout(state);
56
+ if (!layoutState) {
57
+ return;
58
+ }
59
+ layoutState.layout = action.payload;
60
+ resetUndoReducer(layoutState);
16
61
  };
17
62
  //
18
63
  //
@@ -38,10 +83,31 @@ function recurseLayoutAndUpdateWidgetIds(layout, mapping) {
38
83
  });
39
84
  }
40
85
  const updateWidgetIdentities = (state, action) => {
41
- invariant(state.layout);
42
- recurseLayoutAndUpdateWidgetIds(state.layout, action.payload);
86
+ const layoutState = getActiveTabLayout(state);
87
+ invariant(layoutState?.layout);
88
+ recurseLayoutAndUpdateWidgetIds(layoutState.layout, action.payload);
89
+ };
90
+ /**
91
+ * Updates widget identities for a specific tab after a dashboard save.
92
+ * This ensures that temporary widget IDs are replaced with persistent IDs
93
+ * for widgets in the specified tab's layout.
94
+ *
95
+ * @param state - The tabs state
96
+ * @param action - Object containing tabId and the identity mapping for that tab's widgets
97
+ */
98
+ const updateWidgetIdentitiesForTab = (state, action) => {
99
+ if (!state.tabs) {
100
+ return;
101
+ }
102
+ const { tabId, mapping } = action.payload;
103
+ const tab = state.tabs.find((t) => t.localIdentifier === tabId);
104
+ if (!tab?.layout?.layout) {
105
+ return;
106
+ }
107
+ recurseLayoutAndUpdateWidgetIds(tab.layout.layout, mapping);
43
108
  };
44
- const addSection = (state, action) => {
109
+ // Core reducer that operates directly on LayoutState (which extends UndoEnhancedState)
110
+ const addSectionCore = (state, action) => {
45
111
  invariant(state.layout);
46
112
  const { index, section, usedStashes } = action.payload;
47
113
  const sections = findSections(state.layout, index);
@@ -50,7 +116,9 @@ const addSection = (state, action) => {
50
116
  delete state.stash[stashIdentifier];
51
117
  });
52
118
  };
53
- const removeSection = (state, action) => {
119
+ // Wrap with undo and adapt to TabsState
120
+ const addSection = adaptLayoutReducer(withUndo(addSectionCore));
121
+ const removeSectionCore = (state, action) => {
54
122
  invariant(state.layout);
55
123
  const { index, stashIdentifier } = action.payload;
56
124
  if (stashIdentifier) {
@@ -59,12 +127,16 @@ const removeSection = (state, action) => {
59
127
  const sections = findSections(state.layout, index);
60
128
  removeArrayElement(sections, index.sectionIndex);
61
129
  };
62
- const changeSectionHeader = (state, action) => {
130
+ // Wrap with undo and adapt to TabsState
131
+ const removeSection = adaptLayoutReducer(withUndo(removeSectionCore));
132
+ const changeSectionHeaderCore = (state, action) => {
63
133
  invariant(state.layout);
64
134
  const { index, header } = action.payload;
65
135
  findSection(state.layout, index).header = header;
66
136
  };
67
- const toggleLayoutSectionHeaders = (state, action) => {
137
+ // Wrap with undo and adapt to TabsState
138
+ const changeSectionHeader = adaptLayoutReducer(withUndo(changeSectionHeaderCore));
139
+ const toggleLayoutSectionHeadersCore = (state, action) => {
68
140
  invariant(state.layout);
69
141
  const { layoutPath, enableSectionHeaders } = action.payload;
70
142
  const layout = layoutPath === undefined ? state.layout : findItem(state.layout, layoutPath);
@@ -81,7 +153,9 @@ const toggleLayoutSectionHeaders = (state, action) => {
81
153
  };
82
154
  }
83
155
  };
84
- const toggleLayoutDirection = (state, action) => {
156
+ // Wrap with undo and adapt to TabsState
157
+ const toggleLayoutSectionHeaders = adaptLayoutReducer(withUndo(toggleLayoutSectionHeadersCore));
158
+ const toggleLayoutDirectionCore = (state, action) => {
85
159
  invariant(state.layout);
86
160
  const { layoutPath, direction } = action.payload;
87
161
  const layout = layoutPath === undefined ? state.layout : findItem(state.layout, layoutPath);
@@ -95,10 +169,13 @@ const toggleLayoutDirection = (state, action) => {
95
169
  };
96
170
  }
97
171
  };
172
+ // Wrap with undo and adapt to TabsState
173
+ const toggleLayoutDirection = adaptLayoutReducer(withUndo(toggleLayoutDirectionCore));
98
174
  const changeItemsHeight = (state, action) => {
99
- invariant(state.layout);
175
+ const layoutState = getActiveTabLayout(state);
176
+ invariant(layoutState?.layout);
100
177
  const { sectionIndex, itemIndexes, height } = action.payload;
101
- const section = findSection(state.layout, sectionIndex);
178
+ const section = findSection(layoutState.layout, sectionIndex);
102
179
  itemIndexes.forEach((itemIndex) => {
103
180
  const item = section.items[itemIndex];
104
181
  if (isCustomWidget(item.widget)) {
@@ -114,8 +191,9 @@ const changeItemsHeight = (state, action) => {
114
191
  });
115
192
  };
116
193
  const updateHeightOfMultipleItems = (state, action) => {
117
- invariant(state.layout);
118
- const rootLayout = state.layout;
194
+ const layoutState = getActiveTabLayout(state);
195
+ invariant(layoutState?.layout);
196
+ const rootLayout = layoutState.layout;
119
197
  const { itemsWithSizes } = action.payload;
120
198
  itemsWithSizes.forEach(({ itemPath, height }) => {
121
199
  const item = findItem(rootLayout, itemPath);
@@ -132,8 +210,9 @@ const updateHeightOfMultipleItems = (state, action) => {
132
210
  });
133
211
  };
134
212
  const updateWidthOfMultipleItems = (state, action) => {
135
- invariant(state.layout);
136
- const rootLayout = state.layout;
213
+ const layoutState = getActiveTabLayout(state);
214
+ invariant(layoutState?.layout);
215
+ const rootLayout = layoutState.layout;
137
216
  const { itemsWithSizes } = action.payload;
138
217
  itemsWithSizes.forEach(({ itemPath, width }) => {
139
218
  const item = findItem(rootLayout, itemPath);
@@ -150,9 +229,10 @@ const updateWidthOfMultipleItems = (state, action) => {
150
229
  });
151
230
  };
152
231
  const changeItemWidth = (state, action) => {
153
- invariant(state.layout);
232
+ const layoutState = getActiveTabLayout(state);
233
+ invariant(layoutState?.layout);
154
234
  const { layoutPath, width } = action.payload;
155
- const item = findItem(state.layout, layoutPath);
235
+ const item = findItem(layoutState.layout, layoutPath);
156
236
  item.size = {
157
237
  ...item.size,
158
238
  xl: {
@@ -161,7 +241,7 @@ const changeItemWidth = (state, action) => {
161
241
  },
162
242
  };
163
243
  };
164
- const moveSection = (state, action) => {
244
+ const moveSectionCore = (state, action) => {
165
245
  invariant(state.layout);
166
246
  const { sectionIndex, toIndex } = action.payload;
167
247
  const originalSections = findSections(state.layout, sectionIndex);
@@ -169,7 +249,9 @@ const moveSection = (state, action) => {
169
249
  const targetSections = findSections(state.layout, toIndex);
170
250
  addArrayElements(targetSections, toIndex.sectionIndex, [movedSection]);
171
251
  };
172
- const addSectionItems = (state, action) => {
252
+ // Wrap with undo and adapt to TabsState
253
+ const moveSection = adaptLayoutReducer(withUndo(moveSectionCore));
254
+ const addSectionItemsCore = (state, action) => {
173
255
  invariant(state.layout);
174
256
  const { layoutPath, items, usedStashes } = action.payload;
175
257
  const section = findSection(state.layout, layoutPath);
@@ -180,7 +262,9 @@ const addSectionItems = (state, action) => {
180
262
  delete state.stash[stashIdentifier];
181
263
  });
182
264
  };
183
- const moveSectionItem = (state, action) => {
265
+ // Wrap with undo and adapt to TabsState
266
+ const addSectionItems = adaptLayoutReducer(withUndo(addSectionItemsCore));
267
+ const moveSectionItemCore = (state, action) => {
184
268
  invariant(state.layout);
185
269
  const { itemIndex, toItemIndex } = action.payload;
186
270
  const fromSection = findSection(state.layout, itemIndex);
@@ -193,7 +277,9 @@ const moveSectionItem = (state, action) => {
193
277
  const itemIndexAtTargetSection = getItemIndex(toItemIndex);
194
278
  addArrayElements(toSection.items, itemIndexAtTargetSection, [item]);
195
279
  };
196
- const removeSectionItem = (state, action) => {
280
+ // Wrap with undo and adapt to TabsState
281
+ const moveSectionItem = adaptLayoutReducer(withUndo(moveSectionItemCore));
282
+ const removeSectionItemCore = (state, action) => {
197
283
  invariant(state.layout);
198
284
  const { itemIndex, stashIdentifier } = action.payload;
199
285
  const section = findSection(state.layout, itemIndex);
@@ -204,7 +290,9 @@ const removeSectionItem = (state, action) => {
204
290
  state.stash[stashIdentifier] = [item];
205
291
  }
206
292
  };
207
- const replaceSectionItem = (state, action) => {
293
+ // Wrap with undo and adapt to TabsState
294
+ const removeSectionItem = adaptLayoutReducer(withUndo(removeSectionItemCore));
295
+ const replaceSectionItemCore = (state, action) => {
208
296
  invariant(state.layout);
209
297
  const { layoutPath, newItems, stashIdentifier, usedStashes } = action.payload;
210
298
  const section = findSection(state.layout, layoutPath);
@@ -228,6 +316,11 @@ const replaceSectionItem = (state, action) => {
228
316
  });
229
317
  };
230
318
  //
319
+ // Wrap with undo and adapt to TabsState
320
+ const replaceSectionItem = adaptLayoutReducer(withUndo(replaceSectionItemCore));
321
+ //
322
+ //
323
+ //
231
324
  // Layout-widget specific reducers
232
325
  //
233
326
  const processSection = (section) => {
@@ -253,7 +346,7 @@ const getWidgetByRef = (state, widgetRef) => {
253
346
  const widgets = allWidgets.filter(Boolean);
254
347
  return newMapForObjectWithIdentity(widgets).get(widgetRef);
255
348
  };
256
- const replaceWidgetHeader = (state, action) => {
349
+ const replaceWidgetHeaderCore = (state, action) => {
257
350
  invariant(state.layout);
258
351
  const { header, ref } = action.payload;
259
352
  const widget = getWidgetByRef(state, ref);
@@ -262,7 +355,9 @@ const replaceWidgetHeader = (state, action) => {
262
355
  invariant(widget && (isKpiWidget(widget) || isInsightWidget(widget)));
263
356
  widget.title = header.title ?? "";
264
357
  };
265
- const replaceWidgetDescription = (state, action) => {
358
+ // Wrap with undo and adapt to TabsState
359
+ const replaceWidgetHeader = adaptLayoutReducer(withUndo(replaceWidgetHeaderCore));
360
+ const replaceWidgetDescriptionCore = (state, action) => {
266
361
  invariant(state.layout);
267
362
  const { description, ref } = action.payload;
268
363
  const widget = getWidgetByRef(state, ref);
@@ -271,7 +366,19 @@ const replaceWidgetDescription = (state, action) => {
271
366
  invariant(widget && (isKpiWidget(widget) || isInsightWidget(widget)));
272
367
  widget.description = description.description ?? "";
273
368
  };
369
+ // Wrap with undo and adapt to TabsState
370
+ const replaceWidgetDescription = adaptLayoutReducer(withUndo(replaceWidgetDescriptionCore));
274
371
  const replaceWidgetDrill = (state, action) => {
372
+ const layoutState = getActiveTabLayout(state);
373
+ invariant(layoutState?.layout);
374
+ const { drillDefinitions, ref } = action.payload;
375
+ const widget = getWidgetByRef(layoutState, ref);
376
+ // this means command handler did not correctly validate that the widget exists before dispatching the
377
+ // reducer action
378
+ invariant(widget && (isKpiWidget(widget) || isInsightWidget(widget)));
379
+ widget.drills = drillDefinitions ?? [];
380
+ };
381
+ const replaceWidgetDrillCore = (state, action) => {
275
382
  invariant(state.layout);
276
383
  const { drillDefinitions, ref } = action.payload;
277
384
  const widget = getWidgetByRef(state, ref);
@@ -280,38 +387,47 @@ const replaceWidgetDrill = (state, action) => {
280
387
  invariant(widget && (isKpiWidget(widget) || isInsightWidget(widget)));
281
388
  widget.drills = drillDefinitions ?? [];
282
389
  };
390
+ const replaceWidgetDrills = adaptLayoutReducer(withUndo(replaceWidgetDrillCore));
283
391
  //
284
- const replaceWidgetBlacklistHierarchies = (state, action) => {
392
+ const replaceWidgetBlacklistHierarchiesCore = (state, action) => {
285
393
  invariant(state.layout);
286
394
  const { blacklistHierarchies, ref } = action.payload;
287
395
  const widget = getWidgetByRef(state, ref);
288
396
  invariant(widget && (isKpiWidget(widget) || isInsightWidget(widget)));
289
397
  widget.ignoredDrillDownHierarchies = blacklistHierarchies ?? [];
290
398
  };
399
+ // Wrap with undo and adapt to TabsState
400
+ const replaceWidgetBlacklistHierarchies = adaptLayoutReducer(withUndo(replaceWidgetBlacklistHierarchiesCore));
291
401
  //
292
- const replaceWidgetDrillDownIntersectionIgnoredAttributes = (state, action) => {
402
+ const replaceWidgetDrillDownIntersectionIgnoredAttributesCore = (state, action) => {
293
403
  invariant(state.layout);
294
404
  const { ignoredDrillDownIntersectionIgnoredAttributes, ref } = action.payload;
295
405
  const widget = getWidgetByRef(state, ref);
296
406
  invariant(widget && (isKpiWidget(widget) || isInsightWidget(widget)));
297
407
  widget.drillDownIntersectionIgnoredAttributes = ignoredDrillDownIntersectionIgnoredAttributes ?? [];
298
408
  };
299
- const replaceInsightWidgetVisProperties = (state, action) => {
409
+ // Wrap with undo and adapt to TabsState
410
+ const replaceWidgetDrillDownIntersectionIgnoredAttributes = adaptLayoutReducer(withUndo(replaceWidgetDrillDownIntersectionIgnoredAttributesCore));
411
+ const replaceInsightWidgetVisPropertiesCore = (state, action) => {
300
412
  invariant(state.layout);
301
413
  const { properties, ref } = action.payload;
302
414
  const widget = getWidgetByRef(state, ref);
303
415
  invariant(widget && isInsightWidget(widget));
304
416
  setOrDelete(widget, "properties", properties);
305
417
  };
306
- const replaceInsightWidgetVisConfiguration = (state, action) => {
418
+ // Wrap with undo and adapt to TabsState
419
+ const replaceInsightWidgetVisProperties = adaptLayoutReducer(withUndo(replaceInsightWidgetVisPropertiesCore));
420
+ const replaceInsightWidgetVisConfigurationCore = (state, action) => {
307
421
  invariant(state.layout);
308
422
  const { config, ref } = action.payload;
309
423
  const widget = getWidgetByRef(state, ref);
310
424
  invariant(widget && isInsightWidget(widget));
311
425
  setOrDelete(widget, "configuration", config);
312
426
  };
313
- const replaceInsightWidgetInsight = (state, action) => {
314
- invariant(state.layout, "State of layout is empty");
427
+ // Wrap with undo and adapt to TabsState
428
+ const replaceInsightWidgetVisConfiguration = adaptLayoutReducer(withUndo(replaceInsightWidgetVisConfigurationCore));
429
+ const replaceInsightWidgetInsightCore = (state, action) => {
430
+ invariant(state.layout);
315
431
  const { insightRef, properties, ref, header, newSize } = action.payload;
316
432
  const widget = getWidgetByRef(state, ref);
317
433
  const data = getWidgetCoordinatesAndItem(state.layout, ref);
@@ -327,7 +443,9 @@ const replaceInsightWidgetInsight = (state, action) => {
327
443
  data.item.size.xl = resizeInsightWidget(data.item.size.xl, newSize);
328
444
  }
329
445
  };
330
- const replaceWidgetFilterSettings = (state, action) => {
446
+ // Wrap with undo and adapt to TabsState
447
+ const replaceInsightWidgetInsight = adaptLayoutReducer(withUndo(replaceInsightWidgetInsightCore));
448
+ const replaceWidgetFilterSettingsCore = (state, action) => {
331
449
  invariant(state.layout);
332
450
  const { ignoreDashboardFilters, dateDataSet, ref } = action.payload;
333
451
  const widget = getWidgetByRef(state, ref);
@@ -335,6 +453,8 @@ const replaceWidgetFilterSettings = (state, action) => {
335
453
  widget.dateDataSet = dateDataSet;
336
454
  widget.ignoreDashboardFilters = ignoreDashboardFilters ?? [];
337
455
  };
456
+ // Wrap with undo and adapt to TabsState
457
+ const replaceWidgetFilterSettings = adaptLayoutReducer(withUndo(replaceWidgetFilterSettingsCore));
338
458
  const removeIgnoredAttributeFilterFromLayout = (layout, displayFormRefs) => {
339
459
  layout.sections.forEach((section) => {
340
460
  section.items.forEach((item) => {
@@ -355,16 +475,19 @@ const removeIgnoredAttributeFilterFromLayout = (layout, displayFormRefs) => {
355
475
  });
356
476
  };
357
477
  const removeIgnoredAttributeFilter = (state, action) => {
358
- invariant(state.layout);
359
- removeIgnoredAttributeFilterFromLayout(state.layout, action.payload.displayFormRefs);
478
+ const layoutState = getActiveTabLayout(state);
479
+ invariant(layoutState?.layout);
480
+ removeIgnoredAttributeFilterFromLayout(layoutState.layout, action.payload.displayFormRefs);
360
481
  };
361
- const replaceWidgetDateDataset = (state, action) => {
482
+ const replaceWidgetDateDatasetCore = (state, action) => {
362
483
  invariant(state.layout);
363
484
  const { dateDataSet, ref } = action.payload;
364
485
  const widget = getWidgetByRef(state, ref);
365
486
  invariant(widget && (isInsightWidget(widget) || isKpiWidget(widget)));
366
487
  widget.dateDataSet = dateDataSet;
367
488
  };
489
+ // Wrap with undo and adapt to TabsState
490
+ const replaceWidgetDateDataset = adaptLayoutReducer(withUndo(replaceWidgetDateDatasetCore));
368
491
  const removeIgnoredDateFilterFromLayout = (layout, dateDataSets) => {
369
492
  layout.sections.forEach((section) => {
370
493
  section.items.forEach((item) => {
@@ -384,17 +507,20 @@ const removeIgnoredDateFilterFromLayout = (layout, dateDataSets) => {
384
507
  });
385
508
  };
386
509
  const removeIgnoredDateFilter = (state, action) => {
387
- invariant(state.layout);
388
- removeIgnoredDateFilterFromLayout(state.layout, action.payload.dateDataSets);
510
+ const layoutState = getActiveTabLayout(state);
511
+ invariant(layoutState?.layout);
512
+ removeIgnoredDateFilterFromLayout(layoutState.layout, action.payload.dateDataSets);
389
513
  };
390
- const replaceKpiWidgetMeasure = (state, action) => {
514
+ const replaceKpiWidgetMeasureCore = (state, action) => {
391
515
  invariant(state.layout);
392
516
  const { ref, measureRef } = action.payload;
393
517
  const widget = getWidgetByRef(state, ref);
394
518
  invariant(widget && isKpiWidget(widget));
395
519
  widget.kpi.metric = measureRef;
396
520
  };
397
- const replaceKpiWidgetComparison = (state, action) => {
521
+ // Wrap with undo and adapt to TabsState
522
+ const replaceKpiWidgetMeasure = adaptLayoutReducer(withUndo(replaceKpiWidgetMeasureCore));
523
+ const replaceKpiWidgetComparisonCore = (state, action) => {
398
524
  invariant(state.layout);
399
525
  const { ref, comparisonType, comparisonDirection } = action.payload;
400
526
  const widget = getWidgetByRef(state, ref);
@@ -402,35 +528,45 @@ const replaceKpiWidgetComparison = (state, action) => {
402
528
  widget.kpi.comparisonType = comparisonType;
403
529
  widget.kpi.comparisonDirection = comparisonDirection;
404
530
  };
405
- const replaceKpiWidgetDrill = (state, action) => {
531
+ // Wrap with undo and adapt to TabsState
532
+ const replaceKpiWidgetComparison = adaptLayoutReducer(withUndo(replaceKpiWidgetComparisonCore));
533
+ const replaceKpiWidgetDrillCore = (state, action) => {
406
534
  invariant(state.layout);
407
535
  const { ref, drill } = action.payload;
408
536
  const widget = getWidgetByRef(state, ref);
409
537
  invariant(widget && isKpiWidget(widget));
410
538
  widget.drills = drill ? [drill] : [];
411
539
  };
412
- const replaceKpiWidgetConfiguration = (state, action) => {
540
+ // Wrap with undo and adapt to TabsState
541
+ const replaceKpiWidgetDrill = adaptLayoutReducer(withUndo(replaceKpiWidgetDrillCore));
542
+ const replaceKpiWidgetConfigurationCore = (state, action) => {
413
543
  invariant(state.layout);
414
544
  const { config, ref } = action.payload;
415
545
  const widget = getWidgetByRef(state, ref);
416
546
  invariant(widget && isKpiWidget(widget));
417
547
  setOrDelete(widget, "configuration", config);
418
548
  };
419
- const replaceRichTextWidgetContent = (state, action) => {
549
+ // Wrap with undo and adapt to TabsState
550
+ const replaceKpiWidgetConfiguration = adaptLayoutReducer(withUndo(replaceKpiWidgetConfigurationCore));
551
+ const replaceRichTextWidgetContentCore = (state, action) => {
420
552
  invariant(state.layout);
421
553
  const { content, ref } = action.payload;
422
554
  const widget = getWidgetByRef(state, ref);
423
555
  invariant(widget && isRichTextWidget(widget));
424
556
  setOrDelete(widget, "content", content);
425
557
  };
426
- const changeWidgetIgnoreCrossFiltering = (state, action) => {
558
+ // Wrap with undo and adapt to TabsState
559
+ const replaceRichTextWidgetContent = adaptLayoutReducer(withUndo(replaceRichTextWidgetContentCore));
560
+ const changeWidgetIgnoreCrossFilteringCore = (state, action) => {
427
561
  invariant(state.layout);
428
562
  const { ignoreCrossFiltering, ref } = action.payload;
429
563
  const widget = getWidgetByRef(state, ref);
430
564
  invariant(widget && (isInsightWidget(widget) || isKpiWidget(widget)));
431
565
  widget.ignoreCrossFiltering = ignoreCrossFiltering;
432
566
  };
433
- const addVisualizationSwitcherWidgetVisualization = (state, action) => {
567
+ // Wrap with undo and adapt to TabsState
568
+ const changeWidgetIgnoreCrossFiltering = adaptLayoutReducer(withUndo(changeWidgetIgnoreCrossFilteringCore));
569
+ const addVisualizationSwitcherWidgetVisualizationCore = (state, action) => {
434
570
  invariant(state.layout);
435
571
  const { visualization, ref, newSize } = action.payload;
436
572
  const widgetRef = getWidgetByRef(state, ref);
@@ -441,14 +577,18 @@ const addVisualizationSwitcherWidgetVisualization = (state, action) => {
441
577
  data.item.size.xl = resizeInsightWidget(data.item.size.xl, newSize);
442
578
  }
443
579
  };
444
- const updateVisualizationSwitcherWidgetVisualizations = (state, action) => {
580
+ // Wrap with undo and adapt to TabsState
581
+ const addVisualizationSwitcherWidgetVisualization = adaptLayoutReducer(withUndo(addVisualizationSwitcherWidgetVisualizationCore));
582
+ const updateVisualizationSwitcherWidgetVisualizationsCore = (state, action) => {
445
583
  invariant(state.layout);
446
584
  const { visualizations, ref } = action.payload;
447
585
  const widgetRef = getWidgetByRef(state, ref);
448
586
  invariant(widgetRef && isVisualizationSwitcherWidget(widgetRef));
449
587
  widgetRef.visualizations = visualizations;
450
588
  };
451
- const resizeVisualizationSwitcherOnInsightChanged = (state, action) => {
589
+ // Wrap with undo and adapt to TabsState
590
+ const updateVisualizationSwitcherWidgetVisualizations = adaptLayoutReducer(withUndo(updateVisualizationSwitcherWidgetVisualizationsCore));
591
+ const resizeVisualizationSwitcherOnInsightChangedCore = (state, action) => {
452
592
  invariant(state.layout);
453
593
  const { ref, newSize } = action.payload;
454
594
  const widgetRef = getWidgetByRef(state, ref);
@@ -458,50 +598,61 @@ const resizeVisualizationSwitcherOnInsightChanged = (state, action) => {
458
598
  data.item.size.xl = resizeInsightWidget(data.item.size.xl, newSize);
459
599
  }
460
600
  };
601
+ // Wrap with undo and adapt to TabsState
602
+ const resizeVisualizationSwitcherOnInsightChanged = adaptLayoutReducer(withUndo(resizeVisualizationSwitcherOnInsightChangedCore));
461
603
  const setScreen = (state, action) => {
462
- state.screen = action.payload.screen;
604
+ // Update screen for all tabs, not just the active one
605
+ // Screen size is a global property that affects all tabs
606
+ state.tabs?.forEach((tab) => {
607
+ if (tab.layout) {
608
+ tab.layout.screen = action.payload.screen;
609
+ }
610
+ });
463
611
  };
464
612
  export const layoutReducers = {
465
613
  setLayout,
466
614
  setScreen,
467
615
  updateWidgetIdentities,
616
+ updateWidgetIdentitiesForTab,
468
617
  removeIgnoredAttributeFilter,
469
618
  removeIgnoredDateFilter,
470
- addSection: withUndo(addSection),
471
- removeSection: withUndo(removeSection),
472
- moveSection: withUndo(moveSection),
473
- changeSectionHeader: withUndo(changeSectionHeader),
474
- addSectionItems: withUndo(addSectionItems),
475
- moveSectionItem: withUndo(moveSectionItem),
476
- removeSectionItem: withUndo(removeSectionItem),
477
- replaceSectionItem: withUndo(replaceSectionItem),
478
- replaceWidgetHeader: withUndo(replaceWidgetHeader),
479
- replaceWidgetDescription: withUndo(replaceWidgetDescription),
619
+ addSection,
620
+ removeSection,
621
+ moveSection,
622
+ changeSectionHeader,
623
+ addSectionItems,
624
+ moveSectionItem,
625
+ removeSectionItem,
626
+ replaceSectionItem,
627
+ replaceWidgetHeader,
628
+ replaceWidgetDescription,
480
629
  replaceWidgetDrillWithoutUndo: replaceWidgetDrill, // useful in internal sanitization use cases
481
- replaceWidgetDrills: withUndo(replaceWidgetDrill),
482
- replaceWidgetBlacklistHierarchies: withUndo(replaceWidgetBlacklistHierarchies),
483
- replaceWidgetDrillDownIntersectionIgnoredAttributes: withUndo(replaceWidgetDrillDownIntersectionIgnoredAttributes),
484
- replaceInsightWidgetVisProperties: withUndo(replaceInsightWidgetVisProperties),
485
- replaceInsightWidgetVisConfiguration: withUndo(replaceInsightWidgetVisConfiguration),
486
- replaceInsightWidgetInsight: withUndo(replaceInsightWidgetInsight),
487
- replaceWidgetFilterSettings: withUndo(replaceWidgetFilterSettings),
488
- replaceWidgetDateDataset: withUndo(replaceWidgetDateDataset),
489
- replaceKpiWidgetMeasure: withUndo(replaceKpiWidgetMeasure),
490
- replaceKpiWidgetComparison: withUndo(replaceKpiWidgetComparison),
491
- replaceKpiWidgetDrillWithoutUndo: replaceKpiWidgetDrill, // useful in internal sanitization use cases
492
- replaceKpiWidgetDrill: withUndo(replaceKpiWidgetDrill),
493
- replaceKpiWidgetConfiguration: withUndo(replaceKpiWidgetConfiguration),
494
- replaceRichTextWidgetContent: withUndo(replaceRichTextWidgetContent),
495
- addVisualizationSwitcherWidgetVisualization: withUndo(addVisualizationSwitcherWidgetVisualization),
496
- updateVisualizationSwitcherWidgetVisualizations: withUndo(updateVisualizationSwitcherWidgetVisualizations),
497
- undoLayout: undoReducer,
498
- clearLayoutHistory: resetUndoReducer,
499
- changeItemsHeight: changeItemsHeight,
500
- changeItemWidth: changeItemWidth,
501
- changeWidgetIgnoreCrossFiltering: withUndo(changeWidgetIgnoreCrossFiltering),
502
- resizeVisualizationSwitcherOnInsightChanged: withUndo(resizeVisualizationSwitcherOnInsightChanged),
503
- toggleLayoutSectionHeaders: withUndo(toggleLayoutSectionHeaders),
504
- toggleLayoutDirection: withUndo(toggleLayoutDirection),
630
+ replaceWidgetDrills,
631
+ replaceWidgetBlacklistHierarchies,
632
+ replaceWidgetDrillDownIntersectionIgnoredAttributes,
633
+ replaceInsightWidgetVisProperties,
634
+ replaceInsightWidgetVisConfiguration,
635
+ replaceInsightWidgetInsight,
636
+ replaceWidgetFilterSettings,
637
+ replaceWidgetDateDataset,
638
+ replaceKpiWidgetMeasure,
639
+ replaceKpiWidgetComparison,
640
+ replaceKpiWidgetDrillWithoutUndo: replaceWidgetDrill, // useful in internal sanitization use cases
641
+ replaceKpiWidgetDrill,
642
+ replaceKpiWidgetConfiguration,
643
+ replaceRichTextWidgetContent,
644
+ addVisualizationSwitcherWidgetVisualization,
645
+ updateVisualizationSwitcherWidgetVisualizations,
646
+ undoLayout: adaptLayoutReducer(undoReducer),
647
+ clearLayoutHistory: adaptLayoutReducer((state, _action) => {
648
+ resetUndoReducer(state);
649
+ }),
650
+ changeItemsHeight,
651
+ changeItemWidth,
652
+ changeWidgetIgnoreCrossFiltering,
653
+ resizeVisualizationSwitcherOnInsightChanged,
654
+ toggleLayoutSectionHeaders,
655
+ toggleLayoutDirection,
505
656
  updateHeightOfMultipleItems,
506
657
  updateWidthOfMultipleItems,
507
658
  };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layoutReducers.js","sourceRoot":"","sources":["../../../../../src/model/store/tabs/layout/layoutReducers.ts"],"names":[],"mappings":"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"}