@gooddata/sdk-ui-dashboard 11.37.0-alpha.4 → 11.37.0

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 (265) hide show
  1. package/NOTICE +6 -6
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/_staging/dashboard/dashboardFilterContext.d.ts +6 -1
  5. package/esm/_staging/dashboard/dashboardFilterContext.js +10 -3
  6. package/esm/index.d.ts +12 -11
  7. package/esm/index.js +10 -9
  8. package/esm/internal.d.ts +6 -6
  9. package/esm/internal.js +5 -5
  10. package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.js +3 -5
  11. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.js +22 -8
  12. package/esm/model/events/base.d.ts +1 -1
  13. package/esm/model/events/index.d.ts +2 -1
  14. package/esm/model/events/parameters.d.ts +21 -0
  15. package/esm/model/events/parameters.js +19 -0
  16. package/esm/model/events/userInteraction.d.ts +1 -1
  17. package/esm/model/react/useDashboardCommand.d.ts +1 -0
  18. package/esm/model/react/useDashboardCommandProcessing.d.ts +4 -0
  19. package/esm/model/react/useDashboardUserInteraction.d.ts +1 -0
  20. package/esm/model/react/useDashboardUserInteraction.js +4 -0
  21. package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +37 -1
  22. package/esm/model/store/tabs/parameters/parametersSelectors.js +69 -13
  23. package/esm/presentation/{alerting → automations/alerting}/AlertingDialog.js +1 -1
  24. package/esm/presentation/{alerting → automations/alerting}/AlertingManagementDialog.js +1 -1
  25. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/AlertingDialogHeader.js +1 -1
  26. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/DefaultAlertingDialog.js +13 -13
  27. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/DefaultLoadingAlertingDialog.js +1 -1
  28. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/constants.js +1 -1
  29. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useAlertValidation.js +4 -4
  30. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useAttributeValuesFromExecResults.d.ts +1 -1
  31. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useCreateAlert.d.ts +1 -1
  32. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useCreateAlert.js +2 -2
  33. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useEditAlert.d.ts +1 -1
  34. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useEditAlert.js +12 -12
  35. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useOperators.js +1 -1
  36. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useThresholdValue.js +1 -1
  37. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useUpdateAlert.d.ts +1 -1
  38. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useUpdateAlert.js +2 -2
  39. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/cron.js +1 -1
  40. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/granularity.js +1 -0
  41. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/guards.js +1 -1
  42. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/responsive.js +1 -1
  43. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/threshold.js +1 -1
  44. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentBasic.js +5 -5
  45. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentEnhanced.js +10 -10
  46. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.js +3 -3
  47. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/Alert.js +6 -6
  48. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/AlertDropdown.js +1 -1
  49. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/AlertsList.js +1 -1
  50. package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/DeleteAlertConfirmDialog.js +3 -3
  51. package/esm/presentation/{alerting → automations/alerting}/hooks/useAlertingDialogAccessibility.js +3 -3
  52. package/esm/presentation/{alerting → automations/alerting}/hooks/useGetSupportedMeasures.js +3 -3
  53. package/esm/presentation/{alerting → automations/alerting}/types.d.ts +1 -1
  54. package/esm/presentation/automations/contexts/AutomationsContext.d.ts +9 -0
  55. package/esm/presentation/automations/contexts/AutomationsContext.js +11 -0
  56. package/esm/presentation/automations/contexts/AutomationsContext.test.d.ts +1 -0
  57. package/esm/presentation/automations/contexts/AutomationsContext.test.js +9 -0
  58. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/DefaultLoadingScheduledEmailDialog.js +1 -1
  59. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +20 -18
  60. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentSettings.js +1 -1
  61. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentsSelect.js +1 -1
  62. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentsWrapper.js +1 -1
  63. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.js +1 -1
  64. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.js +1 -1
  65. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.js +1 -1
  66. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Header/ScheduleEmailDialogHeader.js +1 -1
  67. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/MessageForm/MessageForm.js +1 -1
  68. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +1 -1
  69. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.js +1 -1
  70. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/SubjectForm/SubjectForm.js +1 -1
  71. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Textarea.js +1 -1
  72. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useCreateScheduledEmail.d.ts +1 -1
  73. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useCreateScheduledEmail.js +2 -2
  74. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts +2 -2
  75. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.js +10 -10
  76. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.d.ts +1 -1
  77. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.js +5 -5
  78. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useScheduleValidation.js +2 -2
  79. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useUpdateScheduledEmail.d.ts +1 -1
  80. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useUpdateScheduledEmail.js +2 -2
  81. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js +3 -3
  82. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentBasic.js +9 -9
  83. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentEnhanced.js +10 -10
  84. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/components/DeleteScheduleConfirmDialog.js +3 -3
  85. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.js +5 -5
  86. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.js +1 -1
  87. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/ScheduledEmailDialog.js +1 -1
  88. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/ScheduledEmailManagementDialog.js +1 -1
  89. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/hooks/useScheduleEmailDialogAccessibility.js +3 -3
  90. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/hooks/useWidgetAutomationFilters.d.ts +2 -2
  91. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/hooks/useWidgetAutomationFilters.js +3 -3
  92. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/types.d.ts +1 -1
  93. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/cron.js +1 -1
  94. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/date.js +1 -1
  95. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/filters.js +1 -1
  96. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/responsive.js +1 -1
  97. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/timezone.js +1 -1
  98. package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/users.js +1 -1
  99. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationAttributeFilter.js +1 -1
  100. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationDateFilter.js +4 -4
  101. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationDateFilterContext.js +1 -1
  102. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationFiltersSelect.d.ts +1 -1
  103. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationFiltersSelect.js +2 -2
  104. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationMeasureValueFilter.js +1 -1
  105. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useAutomationVisibleFilters.js +2 -2
  106. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useDefaultSelectedFiltersForExistingAutomation.d.ts +1 -1
  107. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useDefaultSelectedFiltersForExistingAutomation.js +43 -9
  108. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useDefaultSelectedFiltersForNewAutomation.d.ts +1 -1
  109. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useDefaultSelectedFiltersForNewAutomation.js +3 -3
  110. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useValidateExistingAutomationFilters.d.ts +1 -1
  111. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useValidateExistingAutomationFilters.js +10 -7
  112. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/useAutomationFilters.d.ts +1 -1
  113. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/useAutomationFilters.js +9 -9
  114. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/useAutomationFiltersSelect.d.ts +2 -2
  115. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/useAutomationFiltersSelect.js +3 -3
  116. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/utils.d.ts +1 -1
  117. package/esm/presentation/{automationFilters → automations/shared/automationFilters}/utils.js +2 -2
  118. package/esm/presentation/dashboard/DashboardHeader/AlertingDialogProviderNew.js +2 -2
  119. package/esm/presentation/dashboard/DashboardHeader/ScheduledEmailDialogProvider.js +4 -4
  120. package/esm/presentation/dashboard/components/DashboardRenderer.js +4 -4
  121. package/esm/presentation/dashboard/types.d.ts +2 -2
  122. package/esm/presentation/dashboardContexts/DashboardComponentsContext.d.ts +2 -2
  123. package/esm/presentation/filterBar/filterBar/DefaultFilterBarContainer.js +3 -1
  124. package/esm/presentation/filterBar/filterBar/ResetFiltersButton.js +0 -3
  125. package/esm/presentation/filterBar/filterBar/hooks/useResetFiltersButton.js +46 -18
  126. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +3 -3
  127. package/esm/presentation/widget/common/useInsightExport.js +1 -1
  128. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.d.ts +1 -1
  129. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.js +1 -1
  130. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertsList.js +2 -2
  131. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts +2 -2
  132. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts +2 -2
  133. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js +14 -14
  134. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlertConfiguration.js +1 -1
  135. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts +2 -2
  136. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js +4 -4
  137. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightWidgetAlerting.d.ts +3 -3
  138. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightWidgetAlerting.js +6 -6
  139. package/esm/presentation/widget/insight/configuration/InsightAlertsNew.js +4 -4
  140. package/esm/sdk-ui-dashboard.d.ts +39 -3
  141. package/package.json +20 -20
  142. package/styles/css/filterBar.css +3 -0
  143. package/styles/css/filterBar.css.map +1 -1
  144. package/styles/css/main.css +3 -0
  145. package/styles/css/main.css.map +1 -1
  146. package/styles/scss/filterBar.scss +4 -0
  147. /package/esm/presentation/{alerting → automations/alerting}/AlertingDialog.d.ts +0 -0
  148. /package/esm/presentation/{alerting → automations/alerting}/AlertingManagementDialog.d.ts +0 -0
  149. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/AlertingDialogHeader.d.ts +0 -0
  150. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/DefaultAlertingDialog.d.ts +0 -0
  151. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/DefaultLoadingAlertingDialog.d.ts +0 -0
  152. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertAttributeSelect.d.ts +0 -0
  153. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertAttributeSelect.js +0 -0
  154. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.d.ts +0 -0
  155. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.js +0 -0
  156. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.d.ts +0 -0
  157. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.js +0 -0
  158. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertDeleteDialog.d.ts +0 -0
  159. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertDeleteDialog.js +0 -0
  160. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertDestinationSelect.d.ts +0 -0
  161. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertDestinationSelect.js +0 -0
  162. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertGranularitySelect.d.ts +0 -0
  163. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertGranularitySelect.js +0 -0
  164. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertMeasureSelect.d.ts +0 -0
  165. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertMeasureSelect.js +0 -0
  166. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertSensitivitySelect.d.ts +0 -0
  167. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertSensitivitySelect.js +0 -0
  168. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertThresholdInput.d.ts +0 -0
  169. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertThresholdInput.js +0 -0
  170. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertTriggerIntervalSelect.d.ts +0 -0
  171. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertTriggerIntervalSelect.js +0 -0
  172. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertTriggerModeSelect.d.ts +0 -0
  173. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertTriggerModeSelect.js +0 -0
  174. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/constants.d.ts +0 -0
  175. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useAlertValidation.d.ts +0 -0
  176. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useAttributeValuesFromExecResults.js +0 -0
  177. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useOperators.d.ts +0 -0
  178. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useSaveAlertToBackend.d.ts +0 -0
  179. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useSaveAlertToBackend.js +0 -0
  180. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useThresholdValue.d.ts +0 -0
  181. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/messages.d.ts +0 -0
  182. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/messages.js +0 -0
  183. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/convertors.d.ts +0 -0
  184. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/convertors.js +0 -0
  185. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/cron.d.ts +0 -0
  186. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/getters.d.ts +0 -0
  187. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/getters.js +0 -0
  188. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/granularity.d.ts +0 -0
  189. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/guards.d.ts +0 -0
  190. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/items.d.ts +0 -0
  191. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/items.js +0 -0
  192. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/responsive.d.ts +0 -0
  193. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/threshold.d.ts +0 -0
  194. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/transformation.d.ts +0 -0
  195. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/transformation.js +0 -0
  196. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentBasic.d.ts +0 -0
  197. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentEnhanced.d.ts +0 -0
  198. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.d.ts +0 -0
  199. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/Alert.d.ts +0 -0
  200. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/AlertDropdown.d.ts +0 -0
  201. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/AlertsList.d.ts +0 -0
  202. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/DeleteAlertConfirmDialog.d.ts +0 -0
  203. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/PauseAlertRunner.d.ts +0 -0
  204. /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/PauseAlertRunner.js +0 -0
  205. /package/esm/presentation/{alerting → automations/alerting}/hooks/useAlertingDialogAccessibility.d.ts +0 -0
  206. /package/esm/presentation/{alerting → automations/alerting}/hooks/useGetSupportedMeasures.d.ts +0 -0
  207. /package/esm/presentation/{alerting → automations/alerting}/types.js +0 -0
  208. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/DefaultLoadingScheduledEmailDialog.d.ts +0 -0
  209. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts +0 -0
  210. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentSettings.d.ts +0 -0
  211. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentsList.d.ts +0 -0
  212. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentsList.js +0 -0
  213. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentsSelect.d.ts +0 -0
  214. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentsWrapper.d.ts +0 -0
  215. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts +0 -0
  216. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/SlidesTemplateSettings.d.ts +0 -0
  217. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/SlidesTemplateSettings.js +0 -0
  218. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts +0 -0
  219. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/DestinationSelect/DestinationSelect.d.ts +0 -0
  220. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/DestinationSelect/DestinationSelect.js +0 -0
  221. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/ErrorWrapper/ErrorWrapper.d.ts +0 -0
  222. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/ErrorWrapper/ErrorWrapper.js +0 -0
  223. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.d.ts +0 -0
  224. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Header/ScheduleEmailDialogHeader.d.ts +0 -0
  225. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/MessageForm/MessageForm.d.ts +0 -0
  226. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.d.ts +0 -0
  227. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.d.ts +0 -0
  228. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/SubjectForm/SubjectForm.d.ts +0 -0
  229. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Textarea.d.ts +0 -0
  230. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/constants.d.ts +0 -0
  231. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/constants.js +0 -0
  232. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.d.ts +0 -0
  233. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.js +0 -0
  234. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useScheduleValidation.d.ts +0 -0
  235. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.d.ts +0 -0
  236. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentBasic.d.ts +0 -0
  237. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentEnhanced.d.ts +0 -0
  238. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/components/DeleteScheduleConfirmDialog.d.ts +0 -0
  239. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.d.ts +0 -0
  240. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.d.ts +0 -0
  241. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/ScheduledEmailDialog.d.ts +0 -0
  242. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/ScheduledEmailManagementDialog.d.ts +0 -0
  243. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/hooks/useScheduleEmailDialogAccessibility.d.ts +0 -0
  244. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/types.js +0 -0
  245. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/cron.d.ts +0 -0
  246. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/date.d.ts +0 -0
  247. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/filters.d.ts +0 -0
  248. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/pdfPageSize.d.ts +0 -0
  249. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/pdfPageSize.js +0 -0
  250. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/responsive.d.ts +0 -0
  251. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/timezone.d.ts +0 -0
  252. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/users.d.ts +0 -0
  253. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/validate.d.ts +0 -0
  254. /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/validate.js +0 -0
  255. /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/ApplyLatestFiltersConfirmDialog.d.ts +0 -0
  256. /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/ApplyLatestFiltersConfirmDialog.js +0 -0
  257. /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationAttributeFilter.d.ts +0 -0
  258. /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationAttributeFilterContext.d.ts +0 -0
  259. /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationAttributeFilterContext.js +0 -0
  260. /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationDateFilter.d.ts +0 -0
  261. /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationDateFilterContext.d.ts +0 -0
  262. /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationMeasureValueFilter.d.ts +0 -0
  263. /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationMeasureValueFilterContext.d.ts +0 -0
  264. /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationMeasureValueFilterContext.js +0 -0
  265. /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useAutomationVisibleFilters.d.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  import { type FilterContextItem, type ICatalogAttribute, type ICatalogDateDataset, type IDashboardAttributeFilterConfig, type IDashboardDateFilterConfigItem, type ObjRef } from "@gooddata/sdk-model";
2
2
  import { type OverlayPositionType } from "@gooddata/sdk-ui-kit";
3
- import type { IAutomationFiltersTab } from "../../../model/store/filtering/dashboardFilterSelectors.js";
3
+ import type { IAutomationFiltersTab } from "../../../../../model/store/filtering/dashboardFilterSelectors.js";
4
4
  export interface IAutomationFiltersProps {
5
5
  id?: string;
6
6
  filters: FilterContextItem[] | undefined;
@@ -4,8 +4,8 @@ import { useState } from "react";
4
4
  import { FormattedMessage, useIntl } from "react-intl";
5
5
  import { areObjRefsEqual, dashboardFilterLocalIdentifier, dashboardFilterObjRef, isCatalogAttribute, isCatalogDateDataset, isCatalogMeasure, isDashboardAttributeFilter, isDashboardAttributeFilterItem, isDashboardCommonDateFilter, isDashboardDateFilter, isDashboardMeasureValueFilter, } from "@gooddata/sdk-model";
6
6
  import { Bubble, BubbleHoverTrigger, Typography, UiButton, UiIconButton, UiTooltip, isActionKey, useIdPrefixed, } from "@gooddata/sdk-ui-kit";
7
- import { AUTOMATION_FILTERS_DIALOG_ID, AUTOMATION_FILTERS_DIALOG_TITLE_ID, AUTOMATION_FILTERS_GROUP_LABEL_ID, } from "../../constants/automations.js";
8
- import { AttributesDropdown } from "../../filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.js";
7
+ import { AUTOMATION_FILTERS_DIALOG_ID, AUTOMATION_FILTERS_DIALOG_TITLE_ID, AUTOMATION_FILTERS_GROUP_LABEL_ID, } from "../../../../constants/automations.js";
8
+ import { AttributesDropdown } from "../../../../filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.js";
9
9
  import { useAutomationFilters, useAutomationFiltersByTab } from "../useAutomationFilters.js";
10
10
  import { AutomationAttributeFilter } from "./AutomationAttributeFilter.js";
11
11
  import { AutomationDateFilter } from "./AutomationDateFilter.js";
@@ -4,7 +4,7 @@ import { useCallback } from "react";
4
4
  import { useIntl } from "react-intl";
5
5
  import { MeasureValueFilter } from "@gooddata/sdk-ui-filters";
6
6
  import { UiChip, UiTooltip, isActionKey, useIdPrefixed, } from "@gooddata/sdk-ui-kit";
7
- import { getSharedDashboardMvfProps, normalizeMeasureValueFilterConditions, useDashboardMeasureValueFilterData, } from "../../filterBar/measureValueFilter/useDashboardMeasureValueFilterData.js";
7
+ import { getSharedDashboardMvfProps, normalizeMeasureValueFilterConditions, useDashboardMeasureValueFilterData, } from "../../../../filterBar/measureValueFilter/useDashboardMeasureValueFilterData.js";
8
8
  import { AutomationMeasureValueFilterProvider, useAutomationMeasureValueFilterContext, } from "./AutomationMeasureValueFilterContext.js";
9
9
  export function AutomationMeasureValueFilter({ filter, onChange, onDelete, isLocked, overlayPositionType, readonly, }) {
10
10
  const intl = useIntl();
@@ -1,7 +1,7 @@
1
- // (C) 2025 GoodData Corporation
1
+ // (C) 2025-2026 GoodData Corporation
2
2
  import { useMemo } from "react";
3
3
  import { compact } from "lodash-es";
4
- import { useFiltersByTabNamings, useFiltersNamings, } from "../../../_staging/sharedHooks/useFiltersNamings.js";
4
+ import { useFiltersByTabNamings, useFiltersNamings, } from "../../../../../_staging/sharedHooks/useFiltersNamings.js";
5
5
  export const useAutomationVisibleFilters = (availableFilters = []) => {
6
6
  const filterNamings = useFiltersNamings(availableFilters);
7
7
  return useMemo(() => {
@@ -1,5 +1,5 @@
1
1
  import { type FilterContextItem, type IAutomationMetadataObject, type IAutomationVisibleFilter } from "@gooddata/sdk-model";
2
- import type { ExtendedDashboardWidget } from "../../../model/types/layoutTypes.js";
2
+ import type { ExtendedDashboardWidget } from "../../../../../model/types/layoutTypes.js";
3
3
  export declare function useDefaultSelectedFiltersForExistingAutomation(automationToEdit?: IAutomationMetadataObject, availableVisibleFilters?: IAutomationVisibleFilter[], widget?: ExtendedDashboardWidget): (import("@gooddata/sdk-model").IDashboardArbitraryAttributeFilter | import("@gooddata/sdk-model").IDashboardAttributeFilter | import("@gooddata/sdk-model").IDashboardDateFilter | import("@gooddata/sdk-model").IDashboardMatchAttributeFilter | import("@gooddata/sdk-model").IDashboardMeasureValueFilter)[];
4
4
  /**
5
5
  * Reconstructs filters per tab from saved visibleFiltersByTab and filtersByTab.
@@ -1,12 +1,12 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
2
  import { useMemo } from "react";
3
- import { dashboardFilterLocalIdentifier, filterLocalIdentifier, isDashboardAttributeFilter, isDashboardDateFilter, newAllTimeDashboardDateFilter, } from "@gooddata/sdk-model";
4
- import { getAutomationAlertFilters, getAutomationDashboardFilters, getAutomationDashboardFiltersByTab, getAutomationVisualizationFilters, } from "../../../_staging/automation/index.js";
5
- import { dashboardFilterToFilterContextItem } from "../../../_staging/dashboard/dashboardFilterContext.js";
6
- import { useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
7
- import { selectAutomationAvailableDashboardFilters, selectAutomationCommonDateFilterId, } from "../../../model/store/filtering/dashboardFilterSelectors.js";
8
- import { removeIgnoredWidgetFilters } from "../../../model/utils/widgetFilters.js";
9
- import { isDashboardFilter } from "../../../types.js";
3
+ import { dashboardFilterLocalIdentifier, filterLocalIdentifier, isDashboardArbitraryAttributeFilter, isDashboardAttributeFilter, isDashboardDateFilter, isDashboardMatchAttributeFilter, isDashboardMeasureValueFilter, newAllTimeDashboardDateFilter, } from "@gooddata/sdk-model";
4
+ import { getAutomationAlertFilters, getAutomationDashboardFilters, getAutomationDashboardFiltersByTab, getAutomationVisualizationFilters, } from "../../../../../_staging/automation/index.js";
5
+ import { dashboardFilterToFilterContextItem } from "../../../../../_staging/dashboard/dashboardFilterContext.js";
6
+ import { useDashboardSelector } from "../../../../../model/react/DashboardStoreProvider.js";
7
+ import { selectAutomationAvailableDashboardFilters, selectAutomationCommonDateFilterId, } from "../../../../../model/store/filtering/dashboardFilterSelectors.js";
8
+ import { removeIgnoredWidgetFilters } from "../../../../../model/utils/widgetFilters.js";
9
+ import { isDashboardFilter } from "../../../../../types.js";
10
10
  export function useDefaultSelectedFiltersForExistingAutomation(automationToEdit, availableVisibleFilters, widget) {
11
11
  const availableDashboardFilters = useDashboardSelector(selectAutomationAvailableDashboardFilters);
12
12
  const commonDateFilterId = useDashboardSelector(selectAutomationCommonDateFilterId);
@@ -18,7 +18,8 @@ export function useDefaultSelectedFiltersForExistingAutomation(automationToEdit,
18
18
  const savedAutomationWidgetFilters = savedWidgetAlertFilters ?? savedWidgetScheduleFilters;
19
19
  const convertedSavedWidgetFilters = savedAutomationWidgetFilters
20
20
  ?.filter(isDashboardFilter)
21
- .map((filter) => convertAndSanitizeFilter(filter, availableVisibleFilters));
21
+ .map((filter) => convertAndSanitizeFilter(filter, availableVisibleFilters))
22
+ .filter((item) => item !== undefined);
22
23
  return (savedDashboardScheduleFilters ??
23
24
  savedWidgetScheduleFilterContextItems ??
24
25
  convertedSavedWidgetFilters);
@@ -113,6 +114,9 @@ export function getDefaultSelectedFiltersByTabForExistingAutomation(automationTo
113
114
  }
114
115
  function convertAndSanitizeFilter(filter, availableVisibleFilters) {
115
116
  const convertedItem = dashboardFilterToFilterContextItem(filter, true);
117
+ if (!convertedItem) {
118
+ return undefined;
119
+ }
116
120
  // Because execution filters do not include titles, and they cannot be saved there,
117
121
  // get them from the current available visible filters.
118
122
  const titleToUse = availableVisibleFilters?.find((visibleFilter) => visibleFilter.localIdentifier === filterLocalIdentifier(filter));
@@ -126,6 +130,10 @@ function convertAndSanitizeFilter(filter, availableVisibleFilters) {
126
130
  };
127
131
  }
128
132
  else if (isDashboardDateFilter(convertedItem)) {
133
+ // IDashboardDateFilter has no `title` field on its current type, but downstream UI relies
134
+ // on the saved automation title carried alongside the filter. Preserved as pre-existing
135
+ // behavior via a structural assertion until the type is widened or the field is consumed
136
+ // from a different source.
129
137
  return {
130
138
  ...convertedItem,
131
139
  dateFilter: {
@@ -134,6 +142,32 @@ function convertAndSanitizeFilter(filter, availableVisibleFilters) {
134
142
  },
135
143
  };
136
144
  }
137
- // New filter types (arbitrary, match) - return as-is
145
+ else if (isDashboardMeasureValueFilter(convertedItem)) {
146
+ return {
147
+ ...convertedItem,
148
+ dashboardMeasureValueFilter: {
149
+ ...convertedItem.dashboardMeasureValueFilter,
150
+ title: titleToUse?.title,
151
+ },
152
+ };
153
+ }
154
+ else if (isDashboardArbitraryAttributeFilter(convertedItem)) {
155
+ return {
156
+ ...convertedItem,
157
+ arbitraryAttributeFilter: {
158
+ ...convertedItem.arbitraryAttributeFilter,
159
+ title: titleToUse?.title,
160
+ },
161
+ };
162
+ }
163
+ else if (isDashboardMatchAttributeFilter(convertedItem)) {
164
+ return {
165
+ ...convertedItem,
166
+ matchAttributeFilter: {
167
+ ...convertedItem.matchAttributeFilter,
168
+ title: titleToUse?.title,
169
+ },
170
+ };
171
+ }
138
172
  return convertedItem;
139
173
  }
@@ -1,2 +1,2 @@
1
- import type { ExtendedDashboardWidget } from "../../../model/types/layoutTypes.js";
1
+ import type { ExtendedDashboardWidget } from "../../../../../model/types/layoutTypes.js";
2
2
  export declare function useDefaultSelectedFiltersForNewAutomation(widget?: ExtendedDashboardWidget): import("@gooddata/sdk-model").FilterContextItem[];
@@ -1,7 +1,7 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
- import { useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
3
- import { selectAutomationDefaultSelectedFilters } from "../../../model/store/filtering/dashboardFilterSelectors.js";
4
- import { removeIgnoredWidgetFilters } from "../../../model/utils/widgetFilters.js";
2
+ import { useDashboardSelector } from "../../../../../model/react/DashboardStoreProvider.js";
3
+ import { selectAutomationDefaultSelectedFilters } from "../../../../../model/store/filtering/dashboardFilterSelectors.js";
4
+ import { removeIgnoredWidgetFilters } from "../../../../../model/utils/widgetFilters.js";
5
5
  export function useDefaultSelectedFiltersForNewAutomation(widget) {
6
6
  const availableDashboardFilters = useDashboardSelector(selectAutomationDefaultSelectedFilters);
7
7
  return removeIgnoredWidgetFilters(availableDashboardFilters, widget);
@@ -1,5 +1,5 @@
1
1
  import { type DashboardAttributeFilterSelectionType, type FilterContextItem, type IAutomationMetadataObject, type IAutomationVisibleFilter, type IFilter, type IInsight } from "@gooddata/sdk-model";
2
- import type { ExtendedDashboardWidget } from "../../../model/types/layoutTypes.js";
2
+ import type { ExtendedDashboardWidget } from "../../../../../model/types/layoutTypes.js";
3
3
  export interface IAutomationValidationResult {
4
4
  isValid: boolean;
5
5
  hiddenFilterIsMissingInSavedFilters: boolean;
@@ -1,12 +1,12 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
2
  import { differenceBy, omit } from "lodash-es";
3
- import { dashboardFilterLocalIdentifier, filterLocalIdentifier, isAllValuesAttributeFilter, isAllValuesDashboardAttributeFilter, isAttributeFilter, isAttributeFilterWithSelection, isDashboardAttributeFilter, isDashboardCommonDateFilter, isDateFilter, isInsightWidget, isLocalIdRef, isNegativeAttributeFilter, isPositiveAttributeFilter, isRelativeDateFilter, isSingleSelectionFilter, } from "@gooddata/sdk-model";
4
- import { getAutomationAlertFilters, getAutomationDashboardFilters, getAutomationDashboardFiltersByTab, getAutomationVisualizationFilters, } from "../../../_staging/automation/index.js";
5
- import { filterContextItemsToDashboardFiltersByWidget } from "../../../converters/filterConverters.js";
6
- import { isFilterTypeCompatibleWithSelectionType } from "../../../model/commandHandlers/dashboard/common/attributeFilterSelectionTypeCompatibility.js";
7
- import { useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
8
- import { selectAutomationCommonDateFilterId, selectAutomationFiltersByTab, selectDashboardFiltersWithoutCrossFiltering, selectDashboardHiddenFilters, selectDashboardLockedFilters, } from "../../../model/store/filtering/dashboardFilterSelectors.js";
9
- import { selectAttributeFilterConfigsSelectionTypeMap, selectAttributeFilterConfigsSelectionTypeMapByTab, } from "../../../model/store/tabs/attributeFilterConfigs/attributeFilterConfigsSelectors.js";
3
+ import { dashboardFilterLocalIdentifier, filterLocalIdentifier, isAllDashboardMeasureValueFilter, isAllValuesAttributeFilter, isAllValuesDashboardAttributeFilter, isAttributeFilter, isAttributeFilterWithSelection, isDashboardAttributeFilter, isDashboardCommonDateFilter, isDateFilter, isInsightWidget, isLocalIdRef, isNegativeAttributeFilter, isPositiveAttributeFilter, isRelativeDateFilter, isSingleSelectionFilter, } from "@gooddata/sdk-model";
4
+ import { getAutomationAlertFilters, getAutomationDashboardFilters, getAutomationDashboardFiltersByTab, getAutomationVisualizationFilters, } from "../../../../../_staging/automation/index.js";
5
+ import { filterContextItemsToDashboardFiltersByWidget } from "../../../../../converters/filterConverters.js";
6
+ import { isFilterTypeCompatibleWithSelectionType } from "../../../../../model/commandHandlers/dashboard/common/attributeFilterSelectionTypeCompatibility.js";
7
+ import { useDashboardSelector } from "../../../../../model/react/DashboardStoreProvider.js";
8
+ import { selectAutomationCommonDateFilterId, selectAutomationFiltersByTab, selectDashboardFiltersWithoutCrossFiltering, selectDashboardHiddenFilters, selectDashboardLockedFilters, } from "../../../../../model/store/filtering/dashboardFilterSelectors.js";
9
+ import { selectAttributeFilterConfigsSelectionTypeMap, selectAttributeFilterConfigsSelectionTypeMapByTab, } from "../../../../../model/store/tabs/attributeFilterConfigs/attributeFilterConfigsSelectors.js";
10
10
  import { areFiltersEqual, isFilterIgnoredByWidget, isFilterMatch, isNoopAllTimeDateFilterFixed, } from "../utils.js";
11
11
  function sanitizeCommonDateFilter(filter, commonDateFilterId) {
12
12
  // Sanitize common date filters by removing date dataSet
@@ -365,6 +365,9 @@ function validateVisibleFilters(savedAutomationFilters, savedVisibleFilters, das
365
365
  if (isAllValuesDashboardAttributeFilter(currentDashboardFilter)) {
366
366
  continue;
367
367
  }
368
+ if (isAllDashboardMeasureValueFilter(currentDashboardFilter)) {
369
+ continue;
370
+ }
368
371
  visibleFilterIsMissingInSavedFilters = true;
369
372
  }
370
373
  }
@@ -1,6 +1,6 @@
1
1
  import { type MutableRefObject } from "react";
2
2
  import { type FilterContextItem, type ICatalogAttribute, type ICatalogDateDataset, type ICatalogMeasure, type IDashboardAttributeFilterConfig, type IDashboardDateFilterConfigItem, type ObjRef } from "@gooddata/sdk-model";
3
- import { type IAutomationFiltersTab } from "../../model/store/filtering/dashboardFilterSelectors.js";
3
+ import { type IAutomationFiltersTab } from "../../../../model/store/filtering/dashboardFilterSelectors.js";
4
4
  /**
5
5
  * Processed filter data for a single tab, ready for UI rendering.
6
6
  */
@@ -2,15 +2,15 @@
2
2
  import { useCallback, useMemo, useRef, useState } from "react";
3
3
  import { useIntl } from "react-intl";
4
4
  import { areObjRefsEqual, dashboardAttributeFilterItemDisplayForm, isDashboardAttributeFilterItem, isDashboardDateFilter, isDashboardMeasureValueFilter, } from "@gooddata/sdk-model";
5
- import { useDashboardSelector } from "../../model/react/DashboardStoreProvider.js";
6
- import { selectCatalogAttributes, selectCatalogDateDatasets, selectCatalogMeasures, } from "../../model/store/catalog/catalogSelectors.js";
7
- import { selectEnableNewScheduledExport } from "../../model/store/config/configSelectors.js";
8
- import { selectAutomationCommonDateFilterId, selectDashboardLockedFilters, } from "../../model/store/filtering/dashboardFilterSelectors.js";
9
- import { selectPersistedDashboardFilterContextDateFilterConfig } from "../../model/store/meta/metaSelectors.js";
10
- import { selectAttributeFilterConfigsOverrides, selectAttributeFilterConfigsOverridesByTab, } from "../../model/store/tabs/attributeFilterConfigs/attributeFilterConfigsSelectors.js";
11
- import { selectDateFilterConfigOverridesByTab } from "../../model/store/tabs/dateFilterConfig/dateFilterConfigSelectors.js";
12
- import { selectDateFilterConfigsOverrides, selectDateFilterConfigsOverridesByTab, } from "../../model/store/tabs/dateFilterConfigs/dateFilterConfigsSelectors.js";
13
- import { selectMeasureValueFilterConfigsOverrides, selectMeasureValueFilterConfigsOverridesByTab, } from "../../model/store/tabs/measureValueFilterConfigs/measureValueFilterConfigsSelectors.js";
5
+ import { useDashboardSelector } from "../../../../model/react/DashboardStoreProvider.js";
6
+ import { selectCatalogAttributes, selectCatalogDateDatasets, selectCatalogMeasures, } from "../../../../model/store/catalog/catalogSelectors.js";
7
+ import { selectEnableNewScheduledExport } from "../../../../model/store/config/configSelectors.js";
8
+ import { selectAutomationCommonDateFilterId, selectDashboardLockedFilters, } from "../../../../model/store/filtering/dashboardFilterSelectors.js";
9
+ import { selectPersistedDashboardFilterContextDateFilterConfig } from "../../../../model/store/meta/metaSelectors.js";
10
+ import { selectAttributeFilterConfigsOverrides, selectAttributeFilterConfigsOverridesByTab, } from "../../../../model/store/tabs/attributeFilterConfigs/attributeFilterConfigsSelectors.js";
11
+ import { selectDateFilterConfigOverridesByTab } from "../../../../model/store/tabs/dateFilterConfig/dateFilterConfigSelectors.js";
12
+ import { selectDateFilterConfigsOverrides, selectDateFilterConfigsOverridesByTab, } from "../../../../model/store/tabs/dateFilterConfigs/dateFilterConfigsSelectors.js";
13
+ import { selectMeasureValueFilterConfigsOverrides, selectMeasureValueFilterConfigsOverridesByTab, } from "../../../../model/store/tabs/measureValueFilterConfigs/measureValueFilterConfigsSelectors.js";
14
14
  import { areFiltersMatchedByIdentifier, getCatalogAttributesByFilters, getCatalogDateDatasetsByFilters, getCatalogMeasuresByFilters, getFilterByCatalogItemRef, getFilterLocalIdentifier, getFilterTitle, getNonHiddenFilters, getNonSelectedFilters, } from "./utils.js";
15
15
  /**
16
16
  * Computes visible filters by removing hidden filters.
@@ -1,6 +1,6 @@
1
1
  import { type FilterContextItem, type IAutomationMetadataObject, type IAutomationVisibleFilter } from "@gooddata/sdk-model";
2
- import { type IAutomationFiltersTab } from "../../model/store/filtering/dashboardFilterSelectors.js";
3
- import type { ExtendedDashboardWidget } from "../../model/types/layoutTypes.js";
2
+ import { type IAutomationFiltersTab } from "../../../../model/store/filtering/dashboardFilterSelectors.js";
3
+ import type { ExtendedDashboardWidget } from "../../../../model/types/layoutTypes.js";
4
4
  /**
5
5
  * Edited automation filters structured by tab ID.
6
6
  * Used for storing user edits to filters when dashboard tabs are enabled.
@@ -1,9 +1,9 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
2
  import { useMemo, useState } from "react";
3
3
  import { isExportDefinitionDashboardRequestPayload, } from "@gooddata/sdk-model";
4
- import { useDashboardSelector } from "../../model/react/DashboardStoreProvider.js";
5
- import { selectAutomationCommonDateFilterId, selectAutomationFiltersByTab, selectDashboardFiltersWithoutCrossFiltering, } from "../../model/store/filtering/dashboardFilterSelectors.js";
6
- import { removeIgnoredWidgetFilters } from "../../model/utils/widgetFilters.js";
4
+ import { useDashboardSelector } from "../../../../model/react/DashboardStoreProvider.js";
5
+ import { selectAutomationCommonDateFilterId, selectAutomationFiltersByTab, selectDashboardFiltersWithoutCrossFiltering, } from "../../../../model/store/filtering/dashboardFilterSelectors.js";
6
+ import { removeIgnoredWidgetFilters } from "../../../../model/utils/widgetFilters.js";
7
7
  import { useAutomationVisibleFilters, useAutomationVisibleFiltersByTab, } from "./hooks/useAutomationVisibleFilters.js";
8
8
  import { getDefaultSelectedFiltersByTabForExistingAutomation, useDefaultSelectedFiltersForExistingAutomation, } from "./hooks/useDefaultSelectedFiltersForExistingAutomation.js";
9
9
  import { useDefaultSelectedFiltersForNewAutomation } from "./hooks/useDefaultSelectedFiltersForNewAutomation.js";
@@ -1,6 +1,6 @@
1
1
  import { type IntlShape } from "react-intl";
2
2
  import { type FilterContextItem, type IAutomationVisibleFilter, type ICatalogAttribute, type ICatalogDateDataset, type ICatalogMeasure, type IDashboardAttributeFilterConfig, type IDashboardDateFilterConfigItem, type IDashboardMeasureValueFilterConfig, type IDateFilter, type IFilter, type IInsight, type ObjRef } from "@gooddata/sdk-model";
3
- import type { ExtendedDashboardWidget } from "../../model/types/layoutTypes.js";
3
+ import type { ExtendedDashboardWidget } from "../../../../model/types/layoutTypes.js";
4
4
  export declare const getFilterLocalIdentifier: (filter: FilterContextItem) => string | undefined;
5
5
  export declare const validateAllFilterLocalIdentifiers: (filters: FilterContextItem[]) => boolean;
6
6
  export declare const areFiltersMatchedByIdentifier: (filter1: FilterContextItem, filter2: FilterContextItem) => boolean;
@@ -1,8 +1,8 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
2
  import { compact, isEqual } from "lodash-es";
3
3
  import { absoluteDateFilterValues, areObjRefsEqual, attributeLocalId, dashboardAttributeFilterItemDisplayForm, dashboardAttributeFilterItemLocalIdentifier, dashboardFilterLocalIdentifier, dashboardFilterObjRef, filterAttributeElements, filterLocalIdentifier, filterObjRef, getAttributeElementsItems, hasMeasureValueFilterConditions, insightAttributes, isAbsoluteDateFilter, isAllDashboardMeasureValueFilter, isAllTimeDateFilter, isAllValuesAttributeFilter, isAllValuesDashboardAttributeFilter, isArbitraryAttributeFilter, isAttributeFilter, isDashboardArbitraryAttributeFilter, isDashboardAttributeFilter, isDashboardAttributeFilterItem, isDashboardCommonDateFilter, isDashboardDateFilter, isDashboardMatchAttributeFilter, isDashboardMeasureValueFilter, isDateFilter, isInsightWidget, isLocalIdRef, isMatchAttributeFilter, isMeasureValueFilter, isNegativeAttributeFilter, isNoopAllTimeDashboardDateFilter, isPositiveAttributeFilter, isRelativeDateFilter, mergeFilters, relativeDateFilterValues, } from "@gooddata/sdk-model";
4
- import { filterContextItemsToDashboardFiltersByWidget } from "../../converters/filterConverters.js";
5
- import { removeIgnoredWidgetFilters } from "../../model/utils/widgetFilters.js";
4
+ import { filterContextItemsToDashboardFiltersByWidget } from "../../../../converters/filterConverters.js";
5
+ import { removeIgnoredWidgetFilters } from "../../../../model/utils/widgetFilters.js";
6
6
  export const getFilterLocalIdentifier = (filter) => {
7
7
  return dashboardFilterLocalIdentifier(filter);
8
8
  };
@@ -2,8 +2,8 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
2
2
  // (C) 2022-2026 GoodData Corporation
3
3
  import { useDashboardAlerts } from "../../../model/react/useDashboardAlerting/useDashboardAlerts.js";
4
4
  import { useWorkspaceUsers } from "../../../model/react/useWorkspaceUsers.js";
5
- import { AlertingDialog } from "../../alerting/AlertingDialog.js";
6
- import { AlertingManagementDialog } from "../../alerting/AlertingManagementDialog.js";
5
+ import { AlertingDialog } from "../../automations/alerting/AlertingDialog.js";
6
+ import { AlertingManagementDialog } from "../../automations/alerting/AlertingManagementDialog.js";
7
7
  export function AlertingDialogProviderNew() {
8
8
  const {
9
9
  // Shared Local State
@@ -5,10 +5,10 @@ import { useDashboardSelector } from "../../../model/react/DashboardStoreProvide
5
5
  import { useDashboardScheduledEmails } from "../../../model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.js";
6
6
  import { useWorkspaceUsers } from "../../../model/react/useWorkspaceUsers.js";
7
7
  import { selectAutomationDefaultSelectedFilters, selectDashboardHiddenFilters, } from "../../../model/store/filtering/dashboardFilterSelectors.js";
8
- import { useWidgetAutomationFilters } from "../../scheduledEmail/hooks/useWidgetAutomationFilters.js";
9
- import { ScheduledEmailDialog } from "../../scheduledEmail/ScheduledEmailDialog.js";
10
- import { ScheduledEmailManagementDialog } from "../../scheduledEmail/ScheduledEmailManagementDialog.js";
11
- import { getAppliedDashboardFilters } from "../../scheduledEmail/utils/filters.js";
8
+ import { useWidgetAutomationFilters } from "../../automations/scheduledEmail/hooks/useWidgetAutomationFilters.js";
9
+ import { ScheduledEmailDialog } from "../../automations/scheduledEmail/ScheduledEmailDialog.js";
10
+ import { ScheduledEmailManagementDialog } from "../../automations/scheduledEmail/ScheduledEmailManagementDialog.js";
11
+ import { getAppliedDashboardFilters } from "../../automations/scheduledEmail/utils/filters.js";
12
12
  export function ScheduledEmailDialogProvider() {
13
13
  const {
14
14
  // Shared Local State
@@ -6,8 +6,10 @@ import { BackendProvider, ErrorComponent as DefaultError, LoadingComponent as De
6
6
  import { OverlayController, OverlayControllerProvider } from "@gooddata/sdk-ui-kit";
7
7
  import { ThemeProvider } from "@gooddata/sdk-ui-theme-provider";
8
8
  import { DashboardStoreProvider } from "../../../model/react/DashboardStoreProvider.js";
9
- import { DefaultAlertingDialog } from "../../alerting/DefaultAlertingDialog/DefaultAlertingDialog.js";
10
- import { DefaultAlertingManagementDialogNew } from "../../alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.js";
9
+ import { DefaultAlertingDialog } from "../../automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js";
10
+ import { DefaultAlertingManagementDialogNew } from "../../automations/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.js";
11
+ import { DefaultScheduledEmailDialog } from "../../automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js";
12
+ import { ScheduledEmailManagementDialog as DefaultScheduledEmailManagementDialog } from "../../automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js";
11
13
  import { DASHBOARD_OVERLAYS_Z_INDEX } from "../../constants/zIndex.js";
12
14
  import { DashboardComponentsProvider } from "../../dashboardContexts/DashboardComponentsContext.js";
13
15
  import { DashboardConfigProvider } from "../../dashboardContexts/DashboardConfigContext.js";
@@ -23,8 +25,6 @@ import { LayoutResizeStateProvider } from "../../dragAndDrop/LayoutResizeContext
23
25
  import { RenderModeAwareFilterBar } from "../../filterBar/filterBar/RenderModeAwareFilterBar.js";
24
26
  import { DefaultDashboardLayout } from "../../flexibleLayout/DefaultDashboardLayout.js";
25
27
  import { DefaultSaveAsDialog } from "../../saveAs/DefaultSaveAsDialog/index.js";
26
- import { DefaultScheduledEmailDialog } from "../../scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js";
27
- import { ScheduledEmailManagementDialog as DefaultScheduledEmailManagementDialog } from "../../scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js";
28
28
  import { DefaultShareDialog } from "../../shareDialog/DefaultShareDialog.js";
29
29
  import { HiddenToolbar } from "../../toolbar/HiddenToolbar.js";
30
30
  import { DefaultSaveButton } from "../../topBar/buttonBar/button/saveButton/DefaultSaveButton.js";
@@ -6,14 +6,14 @@ import { type IErrorProps, type ILoadingProps } from "@gooddata/sdk-ui";
6
6
  import { type DashboardEventHandler } from "../../model/eventHandlers/eventHandler.js";
7
7
  import { type DashboardDispatch, type DashboardState } from "../../model/store/types.js";
8
8
  import { type DashboardConfig, type DashboardModelCustomizationFns, type WidgetsOverlayFn } from "../../model/types/commonTypes.js";
9
- import { type CustomAlertingDialogComponent, type CustomAlertingManagementDialogComponent } from "../alerting/types.js";
9
+ import { type CustomAlertingDialogComponent, type CustomAlertingManagementDialogComponent } from "../automations/alerting/types.js";
10
+ import { type CustomScheduledEmailDialogComponent, type CustomScheduledEmailManagementDialogComponent } from "../automations/scheduledEmail/types.js";
10
11
  import { type InsightComponentSetProvider } from "../componentDefinition/types.js";
11
12
  import { type InsightMenuItemsProvider, type OptionalAttributeFilterComponentProvider, type OptionalDashboardContentComponentProvider, type OptionalDashboardLayoutComponentProvider, type OptionalDateFilterComponentProvider, type OptionalDrillDialogExportDropdownComponentProvider, type OptionalFilterGroupComponentProvider, type OptionalInsightBodyComponentProvider, type OptionalInsightComponentProvider, type OptionalInsightMenuButtonComponentProvider, type OptionalInsightMenuComponentProvider, type OptionalInsightMenuTitleComponentProvider, type OptionalMeasureValueFilterComponentProvider, type OptionalRichTextComponentProvider, type OptionalRichTextMenuComponentProvider, type OptionalRichTextMenuTitleComponentProvider, type OptionalShowAsTableButtonComponentProvider, type OptionalVisualizationSwitcherComponentProvider, type OptionalVisualizationSwitcherToolbarComponentProvider, type OptionalWidgetComponentProvider, type RichTextMenuItemsProvider } from "../dashboardContexts/types.js";
12
13
  import { type CustomDashboardSettingsDialogComponent } from "../dashboardSettingsDialog/types.js";
13
14
  import { type CustomFilterBarComponent } from "../filterBar/filterBar/types.js";
14
15
  import { type CustomEmptyLayoutDropZoneBodyComponent } from "../flexibleLayout/types.js";
15
16
  import { type CustomSaveAsDialogComponent } from "../saveAs/types.js";
16
- import { type CustomScheduledEmailDialogComponent, type CustomScheduledEmailManagementDialogComponent } from "../scheduledEmail/types.js";
17
17
  import { type CustomShareDialogComponent } from "../shareDialog/types.js";
18
18
  import { type CustomToolbarComponent } from "../toolbar/types.js";
19
19
  import { type CustomSaveButtonComponent } from "../topBar/buttonBar/button/saveButton/types.js";
@@ -1,13 +1,13 @@
1
1
  import { type ComponentType, type ReactElement, type ReactNode } from "react";
2
2
  import { type IErrorProps, type ILoadingProps } from "@gooddata/sdk-ui";
3
- import { type CustomAlertingDialogComponent, type CustomAlertingManagementDialogComponent } from "../alerting/types.js";
3
+ import { type CustomAlertingDialogComponent, type CustomAlertingManagementDialogComponent } from "../automations/alerting/types.js";
4
+ import { type CustomScheduledEmailDialogComponent, type CustomScheduledEmailManagementDialogComponent } from "../automations/scheduledEmail/types.js";
4
5
  import { type AttributeFilterComponentSet, type DashboardLayoutWidgetComponentSet, type DateFilterComponentSet, type InsightWidgetComponentSet, type RichTextWidgetComponentSet, type VisualizationSwitcherWidgetComponentSet } from "../componentDefinition/types.js";
5
6
  import { type CustomSidebarComponent } from "../dashboard/DashboardSidebar/types.js";
6
7
  import { type CustomDashboardSettingsDialogComponent } from "../dashboardSettingsDialog/types.js";
7
8
  import { type CustomFilterBarComponent } from "../filterBar/filterBar/types.js";
8
9
  import { type CustomEmptyLayoutDropZoneBodyComponent } from "../flexibleLayout/types.js";
9
10
  import { type CustomSaveAsDialogComponent } from "../saveAs/types.js";
10
- import { type CustomScheduledEmailDialogComponent, type CustomScheduledEmailManagementDialogComponent } from "../scheduledEmail/types.js";
11
11
  import { type CustomShareDialogComponent } from "../shareDialog/types.js";
12
12
  import { type CustomToolbarComponent } from "../toolbar/types.js";
13
13
  import { type CustomSaveButtonComponent } from "../topBar/buttonBar/button/saveButton/types.js";
@@ -9,6 +9,7 @@ import DefaultMeasure from "react-measure";
9
9
  import { Bubble, BubbleHoverTrigger, Message, UiButton, UiTooltip, makeHorizontalKeyboardNavigation, } from "@gooddata/sdk-ui-kit";
10
10
  import { applyFilterContextWorkingSelection } from "../../../model/commands/filters.js";
11
11
  import { isDashboardFilterContextSelectionReset, isDashboardFilterContextWorkingSelectionApplied, } from "../../../model/events/filters.js";
12
+ import { isDashboardParametersSelectionReset } from "../../../model/events/parameters.js";
12
13
  import { useDashboardEventsContext } from "../../../model/react/DashboardEventsContext.js";
13
14
  import { useDashboardDispatch, useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
14
15
  import { selectEnableFilterViews, selectIsApplyFiltersAllAtOnceEnabledAndSet, selectLocale, } from "../../../model/store/config/configSelectors.js";
@@ -118,7 +119,8 @@ function MeasuredDiv({ measureRef, isAutoExpanded, children, }) {
118
119
  useEffect(() => {
119
120
  const handler = {
120
121
  eval: (event) => isDashboardFilterContextSelectionReset(event) ||
121
- isDashboardFilterContextWorkingSelectionApplied(event),
122
+ isDashboardFilterContextWorkingSelectionApplied(event) ||
123
+ isDashboardParametersSelectionReset(event),
122
124
  handler: () => {
123
125
  moveToFilterRegion();
124
126
  },
@@ -3,9 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { useEffect, useMemo, useRef, useState } from "react";
4
4
  import { useIntl } from "react-intl";
5
5
  import { IconReset, UiTooltip } from "@gooddata/sdk-ui-kit";
6
- import { useEventToastMessage } from "../../../_staging/sharedHooks/useEventToastMessage.js";
7
6
  import { messages } from "../../../locales.js";
8
- import { isDashboardFilterContextSelectionReset } from "../../../model/events/filters.js";
9
7
  import { useResetFiltersButton } from "./hooks/useResetFiltersButton.js";
10
8
  /**
11
9
  * @internal
@@ -23,7 +21,6 @@ export function ResetFiltersButton() {
23
21
  }
24
22
  };
25
23
  }, []);
26
- useEventToastMessage("success", isDashboardFilterContextSelectionReset, messages.filterResetButtonSuccess);
27
24
  // Custom focus handling with delay support
28
25
  const customFocusHandlers = useMemo(() => {
29
26
  return {
@@ -3,8 +3,11 @@ import { useCallback, useMemo } from "react";
3
3
  import { difference, isEqual, partition } from "lodash-es";
4
4
  import { generateDateFilterLocalIdentifier } from "@gooddata/sdk-backend-base";
5
5
  import { dashboardAttributeFilterItemLocalIdentifier, dashboardFilterLocalIdentifier, isDashboardAttributeFilterItem, isDashboardCommonDateFilter, isDashboardDateFilter, isDashboardMeasureValueFilter, isNoopAllTimeDashboardDateFilter, newAllTimeDashboardDateFilter, } from "@gooddata/sdk-model";
6
+ import { useToastMessage } from "@gooddata/sdk-ui-kit";
7
+ import { messages } from "../../../../locales.js";
6
8
  import { changeFilterContextSelection, removeAttributeFilters, resetFilterContextWorkingSelection, } from "../../../../model/commands/filters.js";
7
9
  import { filterContextSelectionReset } from "../../../../model/events/filters.js";
10
+ import { parametersSelectionReset } from "../../../../model/events/parameters.js";
8
11
  import { useDashboardDispatch, useDashboardSelector, } from "../../../../model/react/DashboardStoreProvider.js";
9
12
  import { useDashboardEventDispatch } from "../../../../model/react/useDashboardEventDispatch.js";
10
13
  import { useDashboardUserInteraction } from "../../../../model/react/useDashboardUserInteraction.js";
@@ -14,6 +17,8 @@ import { drillActions } from "../../../../model/store/drill/index.js";
14
17
  import { selectDisableDashboardCrossFiltering, selectDisableDashboardUserFilterReset, } from "../../../../model/store/meta/metaSelectors.js";
15
18
  import { selectIsInEditMode } from "../../../../model/store/renderMode/renderModeSelectors.js";
16
19
  import { selectFilterContextFilters, selectIsWorkingFilterContextChanged, selectOriginalFilterContextFilters, } from "../../../../model/store/tabs/filterContext/filterContextSelectors.js";
20
+ import { tabsActions } from "../../../../model/store/tabs/index.js";
21
+ import { selectActiveTabParameterResetTargets } from "../../../../model/store/tabs/parameters/parametersSelectors.js";
17
22
  import { selectActiveTabLocalIdentifier } from "../../../../model/store/tabs/tabsSelectors.js";
18
23
  const isNoopAllTimeCommonDateFilter = (filter) => {
19
24
  return isDashboardCommonDateFilter(filter) && isNoopAllTimeDashboardDateFilter(filter);
@@ -83,17 +88,18 @@ const getNewlyAddedFilterLocalIds = (currentFilters, originalFilters) => {
83
88
  .map((filter) => dashboardAttributeFilterItemLocalIdentifier(filter));
84
89
  return difference(currentFiltersLocalIds, originalAttributeFiltersLocalIds);
85
90
  };
86
- const computeCanReset = (isEditMode, normalizedCurrentFilters, normalizedOriginalFilters, disableUserFilterReset, disableUserFilterResetByConfig, newlyAddedFiltersCount, isWorkingFilterContextChanged, isApplyAllAtOnceEnabledAndSet) => {
91
+ const computeResetEligibility = (isEditMode, normalizedCurrentFilters, normalizedOriginalFilters, userFilterResetAllowed, newlyAddedFiltersCount, isWorkingFilterContextChanged, isApplyAllAtOnceEnabledAndSet, hasResettableParameter) => {
87
92
  if (isEditMode) {
88
- return false;
93
+ return { canResetFilters: false, canResetWorkingContext: false, canResetParameters: false };
89
94
  }
90
95
  const filtersChanged = !isEqual(normalizedCurrentFilters, normalizedOriginalFilters);
91
- const userFilterResetAllowed = !disableUserFilterReset && !disableUserFilterResetByConfig;
92
96
  const hasCrossFilterAddedFilters = newlyAddedFiltersCount > 0;
93
97
  // If the cross filter add some filters, we should allow the reset
94
- const canResetFromFilterChange = filtersChanged && (userFilterResetAllowed || hasCrossFilterAddedFilters);
95
- const canResetFromWorkingContext = !!isWorkingFilterContextChanged && isApplyAllAtOnceEnabledAndSet;
96
- return canResetFromFilterChange || canResetFromWorkingContext;
98
+ return {
99
+ canResetFilters: filtersChanged && (userFilterResetAllowed || hasCrossFilterAddedFilters),
100
+ canResetWorkingContext: !!isWorkingFilterContextChanged && isApplyAllAtOnceEnabledAndSet,
101
+ canResetParameters: hasResettableParameter && userFilterResetAllowed,
102
+ };
97
103
  };
98
104
  const isCrossFilteringEnabled = (enableKDCrossFiltering, supportsCrossFiltering, disableCrossFiltering, disableCrossFilteringByConfig) => {
99
105
  return (enableKDCrossFiltering &&
@@ -122,31 +128,38 @@ export const useResetFiltersButton = () => {
122
128
  const isApplyAllAtOnceEnabledAndSet = useDashboardSelector(selectIsApplyFiltersAllAtOnceEnabledAndSet);
123
129
  const enableDateFilterIdentifiers = useDashboardSelector(selectEnableDateFilterIdentifiers);
124
130
  const activeTabId = useDashboardSelector(selectActiveTabLocalIdentifier);
131
+ const parameterResetTargets = useDashboardSelector(selectActiveTabParameterResetTargets);
132
+ const hasResettableParameter = parameterResetTargets.length > 0;
133
+ const userFilterResetAllowed = !disableUserFilterReset && !disableUserFilterResetByConfig;
125
134
  const dispatch = useDashboardDispatch();
126
135
  const dispatchEvent = useDashboardEventDispatch();
127
- const { filterContextStateReset } = useDashboardUserInteraction();
136
+ const { filterContextStateReset, parametersStateReset } = useDashboardUserInteraction();
137
+ const { addSuccess } = useToastMessage();
128
138
  const newlyAddedFiltersLocalIds = useMemo(() => getNewlyAddedFilterLocalIds(currentFilters, originalFilters), [currentFilters, originalFilters]);
129
139
  const sanitizedCurrentFilters = useMemo(() => sanitizeFilters(currentFilters, originalFilters, enableDateFilterIdentifiers), [enableDateFilterIdentifiers, originalFilters, currentFilters]);
130
140
  // Normalize filters for comparison to handle "all time" common date filters consistently
131
141
  const normalizedCurrentFilters = useMemo(() => normalizeFiltersForComparison(sanitizedCurrentFilters), [sanitizedCurrentFilters]);
132
142
  const normalizedOriginalFilters = useMemo(() => normalizeFiltersForComparison(originalFilters), [originalFilters]);
133
- const canReset = useMemo(() => computeCanReset(isEditMode, normalizedCurrentFilters, normalizedOriginalFilters, disableUserFilterReset, disableUserFilterResetByConfig, newlyAddedFiltersLocalIds.length, isWorkingFilterContextChanged, isApplyAllAtOnceEnabledAndSet), [
143
+ const { canResetFilters, canResetWorkingContext, canResetParameters } = useMemo(() => computeResetEligibility(isEditMode, normalizedCurrentFilters, normalizedOriginalFilters, userFilterResetAllowed, newlyAddedFiltersLocalIds.length, isWorkingFilterContextChanged, isApplyAllAtOnceEnabledAndSet, hasResettableParameter), [
134
144
  isEditMode,
135
145
  normalizedCurrentFilters,
136
146
  normalizedOriginalFilters,
137
- disableUserFilterReset,
138
- disableUserFilterResetByConfig,
147
+ userFilterResetAllowed,
139
148
  newlyAddedFiltersLocalIds.length,
140
149
  isWorkingFilterContextChanged,
141
150
  isApplyAllAtOnceEnabledAndSet,
151
+ hasResettableParameter,
142
152
  ]);
153
+ const canReset = canResetFilters || canResetWorkingContext || canResetParameters;
143
154
  const crossFilteringEnabled = isCrossFilteringEnabled(enableKDCrossFiltering, supportsCrossFiltering, disableCrossFiltering, disableCrossFilteringByConfig);
144
155
  const resetFilters = useCallback(() => {
145
156
  if (!canReset) {
146
157
  return;
147
158
  }
148
- // If the user filter reset is disabled, we should keep the filters that were added by the user
149
- if (!disableUserFilterReset) {
159
+ const willResetFilterContext = canResetFilters || canResetWorkingContext;
160
+ // If the user filter reset is disabled (by dashboard prop OR workspace config),
161
+ // keep user-modified filters; only the cross-filter cleanup branch runs below.
162
+ if (willResetFilterContext && userFilterResetAllowed) {
150
163
  // Normalize filters to include "All time" date filter
151
164
  const [[commonDateFilter], otherFilters] = partition(originalFilters, isDashboardCommonDateFilter);
152
165
  if (isApplyAllAtOnceEnabledAndSet) {
@@ -162,28 +175,43 @@ export const useResetFiltersButton = () => {
162
175
  ]));
163
176
  }
164
177
  // If cross filtering is enabled, we need to remove all attribute filters that were added by cross filtering
165
- if (crossFilteringEnabled) {
178
+ if (willResetFilterContext && crossFilteringEnabled) {
166
179
  dispatch(removeAttributeFilters(newlyAddedFiltersLocalIds));
167
180
  dispatch(drillActions.resetCrossFiltering(activeTabId));
168
181
  }
169
- dispatchEvent(filterContextSelectionReset());
170
- // Report the reset as user interaction
171
- filterContextStateReset();
182
+ if (canResetParameters) {
183
+ dispatch(tabsActions.setParameterRuntimeValues({ values: parameterResetTargets }));
184
+ dispatchEvent(parametersSelectionReset());
185
+ parametersStateReset();
186
+ }
187
+ // Filter-context event and telemetry must only fire when filter-side work actually ran,
188
+ // so plugins/analytics don't observe a filter reset on a parameter-only click.
189
+ if (willResetFilterContext) {
190
+ dispatchEvent(filterContextSelectionReset());
191
+ filterContextStateReset();
192
+ }
193
+ addSuccess(messages.filterResetButtonSuccess);
172
194
  // eslint-disable-next-line react-hooks/exhaustive-deps
173
195
  }, [
174
196
  canReset,
197
+ canResetFilters,
198
+ canResetWorkingContext,
199
+ canResetParameters,
200
+ parameterResetTargets,
175
201
  originalFilters,
176
202
  dispatch,
177
203
  crossFilteringEnabled,
178
204
  filterContextStateReset,
205
+ parametersStateReset,
179
206
  newlyAddedFiltersLocalIds,
180
- disableUserFilterReset,
207
+ userFilterResetAllowed,
181
208
  enableDateFilterIdentifiers,
182
209
  isApplyAllAtOnceEnabledAndSet,
210
+ addSuccess,
183
211
  ]);
184
212
  return {
185
213
  canReset,
186
- resetType: disableUserFilterReset ? "crossFilter" : "all",
214
+ resetType: userFilterResetAllowed ? "all" : "crossFilter",
187
215
  resetFilters,
188
216
  };
189
217
  };
@@ -2238,15 +2238,15 @@ export const en_US = {
2238
2238
  "crowdinContext": "The tooltip helps users understand why they cannot change its value."
2239
2239
  },
2240
2240
  "filter.resetButton.tooltip": {
2241
- "text": "Reset all filters",
2241
+ "text": "Reset all to defaults",
2242
2242
  "crowdinContext": "The tooltip of the reset button in the filter bar"
2243
2243
  },
2244
2244
  "filter.resetButton.success": {
2245
- "text": "Success: Filters reset to default values.",
2245
+ "text": "Success: Reset to default values.",
2246
2246
  "crowdinContext": "Text shown after reset button in the filter bar is used."
2247
2247
  },
2248
2248
  "filter.resetButton.ariaLabel": {
2249
- "text": "Reset filters to default",
2249
+ "text": "Reset all to defaults",
2250
2250
  "crowdinContext": "The aria-label of the reset button in the filter bar"
2251
2251
  },
2252
2252
  "filter.crossFilterResetButton.tooltip": {
@@ -14,10 +14,10 @@ import { selectIsExecutionResultExportableToCsvByRef, selectIsExecutionResultExp
14
14
  import { selectShowWidgetAsTable } from "../../../model/store/showWidgetAsTable/showWidgetAsTableSelectors.js";
15
15
  import { selectSlideShowExportVisible } from "../../../model/store/topBar/topBarSelectors.js";
16
16
  import { selectIsExportableToCSV, selectIsExportableToPdfTabular, selectIsExportableToPngImage, selectIsExportableToXLSX, } from "../../../model/store/widgetExports/widgetExportsSelectors.js";
17
+ import { getDefaultPdfPageSize } from "../../automations/scheduledEmail/utils/pdfPageSize.js";
17
18
  import { useExportCsvDialogContext } from "../../dashboardContexts/ExportCsvDialogContext.js";
18
19
  import { useExportTabularPdfDialogContext } from "../../dashboardContexts/ExportTabularPdfDialogContext.js";
19
20
  import { useExportXlsxDialogContext } from "../../dashboardContexts/ExportXlsxDialogContext.js";
20
- import { getDefaultPdfPageSize } from "../../scheduledEmail/utils/pdfPageSize.js";
21
21
  import { useExportToTabular } from "../../topBar/menuButton/useExportToTabular.js";
22
22
  import { useExportWithTemplateSelection } from "../../topBar/menuButton/useExportWithTemplateSelection.js";
23
23
  import { useExportHandler } from "./useExportHandler.js";