@gooddata/sdk-ui-dashboard 11.51.0-alpha.1 → 11.51.0-alpha.3

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 (234) hide show
  1. package/NOTICE +4 -4
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/assets/timezone.svg +1 -0
  5. package/esm/index.d.ts +11 -2
  6. package/esm/index.d.ts.map +1 -1
  7. package/esm/index.js +10 -2
  8. package/esm/model/react/useWidgetExecConfig.d.ts +9 -0
  9. package/esm/model/react/useWidgetExecConfig.d.ts.map +1 -1
  10. package/esm/model/react/useWidgetExecConfig.js +21 -3
  11. package/esm/model/store/config/configSelectors.d.ts +6 -0
  12. package/esm/model/store/config/configSelectors.d.ts.map +1 -1
  13. package/esm/model/store/config/configSelectors.js +8 -0
  14. package/esm/model/store/meta/index.d.ts +1 -0
  15. package/esm/model/store/meta/index.d.ts.map +1 -1
  16. package/esm/model/store/meta/metaReducers.d.ts +5 -1
  17. package/esm/model/store/meta/metaReducers.d.ts.map +1 -1
  18. package/esm/model/store/meta/metaReducers.js +9 -0
  19. package/esm/model/store/meta/metaSelectors.d.ts +35 -1
  20. package/esm/model/store/meta/metaSelectors.d.ts.map +1 -1
  21. package/esm/model/store/meta/metaSelectors.js +51 -2
  22. package/esm/model/store/meta/metaState.d.ts +1 -1
  23. package/esm/model/store/meta/metaState.d.ts.map +1 -1
  24. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts +1 -1
  25. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
  26. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +9 -9
  27. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultLoadingAlertingDialog.d.ts +7 -2
  28. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultLoadingAlertingDialog.d.ts.map +1 -1
  29. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultLoadingAlertingDialog.js +1 -1
  30. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useEditAlert.d.ts +6 -8
  31. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useEditAlert.d.ts.map +1 -1
  32. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useEditAlert.js +5 -2
  33. package/esm/presentation/automations/alerting/types.d.ts +30 -5
  34. package/esm/presentation/automations/alerting/types.d.ts.map +1 -1
  35. package/esm/presentation/automations/connectors/AlertingConnector.d.ts.map +1 -1
  36. package/esm/presentation/automations/connectors/AlertingConnector.js +22 -25
  37. package/esm/presentation/automations/connectors/AlertingConnector.test.js +71 -5
  38. package/esm/presentation/automations/connectors/ScheduledEmailConnector.d.ts.map +1 -1
  39. package/esm/presentation/automations/connectors/ScheduledEmailConnector.js +30 -32
  40. package/esm/presentation/automations/connectors/ScheduledEmailConnector.test.js +90 -9
  41. package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.d.ts +7 -1
  42. package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.d.ts.map +1 -1
  43. package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.js +12 -2
  44. package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.test.js +28 -2
  45. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.d.ts +8 -1
  46. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.d.ts.map +1 -1
  47. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.js +12 -3
  48. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.test.js +38 -8
  49. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailManagementDialogContext.d.ts +6 -1
  50. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailManagementDialogContext.d.ts.map +1 -1
  51. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailManagementDialogContext.js +6 -1
  52. package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailManagementDialogContext.test.js +7 -1
  53. package/esm/presentation/automations/contexts/AlertingDialogContext.d.ts +29 -1
  54. package/esm/presentation/automations/contexts/AlertingDialogContext.d.ts.map +1 -1
  55. package/esm/presentation/automations/contexts/AlertingDialogContext.js +12 -0
  56. package/esm/presentation/automations/contexts/AlertingManagementDialogContext.d.ts +14 -0
  57. package/esm/presentation/automations/contexts/AlertingManagementDialogContext.d.ts.map +1 -1
  58. package/esm/presentation/automations/contexts/AlertingManagementDialogContext.js +12 -0
  59. package/esm/presentation/automations/contexts/AutomationsContext.d.ts +13 -0
  60. package/esm/presentation/automations/contexts/AutomationsContext.d.ts.map +1 -1
  61. package/esm/presentation/automations/contexts/AutomationsContext.js +9 -0
  62. package/esm/presentation/automations/contexts/ScheduledEmailDialogContext.d.ts +35 -1
  63. package/esm/presentation/automations/contexts/ScheduledEmailDialogContext.d.ts.map +1 -1
  64. package/esm/presentation/automations/contexts/ScheduledEmailDialogContext.js +14 -0
  65. package/esm/presentation/automations/contexts/ScheduledEmailManagementDialogContext.d.ts +20 -1
  66. package/esm/presentation/automations/contexts/ScheduledEmailManagementDialogContext.d.ts.map +1 -1
  67. package/esm/presentation/automations/contexts/ScheduledEmailManagementDialogContext.js +12 -0
  68. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultLoadingScheduledEmailDialog.d.ts +7 -2
  69. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultLoadingScheduledEmailDialog.d.ts.map +1 -1
  70. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts +1 -1
  71. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
  72. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +17 -25
  73. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts +6 -12
  74. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts.map +1 -1
  75. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.js +5 -1
  76. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useElementHeightSnapshot.d.ts +12 -0
  77. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useElementHeightSnapshot.d.ts.map +1 -0
  78. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useElementHeightSnapshot.js +41 -0
  79. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.d.ts +1 -1
  80. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.d.ts.map +1 -1
  81. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js +2 -2
  82. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContent.d.ts +1 -3
  83. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContent.d.ts.map +1 -1
  84. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContent.js +2 -2
  85. package/esm/presentation/automations/scheduledEmail/types.d.ts +35 -5
  86. package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
  87. package/esm/presentation/automations/scheduledEmail/utils/timezone.d.ts +4 -1
  88. package/esm/presentation/automations/scheduledEmail/utils/timezone.d.ts.map +1 -1
  89. package/esm/presentation/automations/scheduledEmail/utils/timezone.js +14 -138
  90. package/esm/presentation/dashboard/DashboardHeader/SettingsDialogProvider.d.ts.map +1 -1
  91. package/esm/presentation/dashboard/DashboardHeader/SettingsDialogProvider.js +1 -0
  92. package/esm/presentation/dashboard/components/DashboardLoading.js +1 -1
  93. package/esm/presentation/dashboardContexts/useSlideData.d.ts +5 -10
  94. package/esm/presentation/dashboardContexts/useSlideData.d.ts.map +1 -1
  95. package/esm/presentation/dashboardContexts/useSlideData.js +16 -10
  96. package/esm/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.d.ts.map +1 -1
  97. package/esm/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.js +52 -14
  98. package/esm/presentation/dashboardSettingsDialog/TimezoneOption.d.ts +11 -0
  99. package/esm/presentation/dashboardSettingsDialog/TimezoneOption.d.ts.map +1 -0
  100. package/esm/presentation/dashboardSettingsDialog/TimezoneOption.js +36 -0
  101. package/esm/presentation/dashboardSettingsDialog/types.d.ts +2 -1
  102. package/esm/presentation/dashboardSettingsDialog/types.d.ts.map +1 -1
  103. package/esm/presentation/dashboardSettingsDialog/useDialogData.d.ts.map +1 -1
  104. package/esm/presentation/dashboardSettingsDialog/useDialogData.js +4 -1
  105. package/esm/presentation/filterBar/dateFilter/DefaultDashboardDateFilter.d.ts.map +1 -1
  106. package/esm/presentation/filterBar/dateFilter/DefaultDashboardDateFilter.js +30 -1
  107. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.d.ts.map +1 -1
  108. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSection.js +29 -8
  109. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.d.ts.map +1 -1
  110. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/DashboardLayoutSectionHeaderDescription.js +3 -5
  111. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.d.ts.map +1 -1
  112. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/EditableHeader/SectionHeaderEditable.js +3 -5
  113. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/ExportableDashboardLayoutSectionRenderer.d.ts +1 -1
  114. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/ExportableDashboardLayoutSectionRenderer.d.ts.map +1 -1
  115. package/esm/presentation/flexibleLayout/DefaultDashboardLayoutRenderer/ExportableDashboardLayoutSectionRenderer.js +2 -5
  116. package/esm/presentation/insightList/InsightList.d.ts.map +1 -1
  117. package/esm/presentation/insightList/InsightList.js +4 -5
  118. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +11 -0
  119. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  120. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +11 -0
  121. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +11 -0
  122. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  123. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +11 -0
  124. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +11 -0
  125. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  126. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +11 -0
  127. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +48 -0
  128. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  129. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +48 -0
  130. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +11 -0
  131. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  132. package/esm/presentation/localization/bundles/es-419.localization-bundle.js +11 -0
  133. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +11 -0
  134. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  135. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +11 -0
  136. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +11 -0
  137. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  138. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +11 -0
  139. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +11 -0
  140. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  141. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +11 -0
  142. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +11 -0
  143. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  144. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +11 -0
  145. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +11 -0
  146. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  147. package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +11 -0
  148. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +11 -0
  149. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  150. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +11 -0
  151. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +11 -0
  152. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  153. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +11 -0
  154. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +11 -0
  155. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  156. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +11 -0
  157. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +11 -0
  158. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  159. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +11 -0
  160. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +11 -0
  161. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  162. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +11 -0
  163. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +11 -0
  164. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  165. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +11 -0
  166. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +11 -0
  167. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  168. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +11 -0
  169. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +11 -0
  170. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  171. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +11 -0
  172. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +11 -0
  173. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  174. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +11 -0
  175. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +11 -0
  176. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  177. package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +11 -0
  178. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +11 -0
  179. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  180. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +11 -0
  181. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +11 -0
  182. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  183. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +13 -2
  184. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +11 -0
  185. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  186. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +11 -0
  187. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +11 -0
  188. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  189. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +11 -0
  190. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +11 -0
  191. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  192. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +11 -0
  193. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +11 -0
  194. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  195. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +12 -1
  196. package/esm/presentation/topBar/timezoneIndicator/DefaultTimezoneIndicator.d.ts +10 -0
  197. package/esm/presentation/topBar/timezoneIndicator/DefaultTimezoneIndicator.d.ts.map +1 -0
  198. package/esm/presentation/topBar/timezoneIndicator/DefaultTimezoneIndicator.js +19 -0
  199. package/esm/presentation/topBar/timezoneIndicator/TimezoneIndicator.d.ts +13 -0
  200. package/esm/presentation/topBar/timezoneIndicator/TimezoneIndicator.d.ts.map +1 -0
  201. package/esm/presentation/topBar/timezoneIndicator/TimezoneIndicator.js +27 -0
  202. package/esm/presentation/topBar/timezoneIndicator/resolveDashboardTimezoneInfo.d.ts +13 -0
  203. package/esm/presentation/topBar/timezoneIndicator/resolveDashboardTimezoneInfo.d.ts.map +1 -0
  204. package/esm/presentation/topBar/timezoneIndicator/resolveDashboardTimezoneInfo.js +20 -0
  205. package/esm/presentation/topBar/timezoneIndicator/types.d.ts +47 -0
  206. package/esm/presentation/topBar/timezoneIndicator/types.d.ts.map +1 -0
  207. package/esm/presentation/topBar/timezoneIndicator/types.js +2 -0
  208. package/esm/presentation/topBar/topBar/DefaultTopBar.d.ts.map +1 -1
  209. package/esm/presentation/topBar/topBar/DefaultTopBar.js +15 -4
  210. package/esm/presentation/topBar/topBar/types.d.ts +2 -0
  211. package/esm/presentation/topBar/topBar/types.d.ts.map +1 -1
  212. package/esm/presentation/widget/description/ExportModeInsightWidgetDescription.d.ts.map +1 -1
  213. package/esm/presentation/widget/description/ExportModeInsightWidgetDescription.js +3 -5
  214. package/esm/presentation/widget/description/InsightWidgetDescriptionTrigger.d.ts.map +1 -1
  215. package/esm/presentation/widget/description/InsightWidgetDescriptionTrigger.js +3 -6
  216. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.d.ts.map +1 -1
  217. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.js +5 -6
  218. package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescription.d.ts.map +1 -1
  219. package/esm/presentation/widget/insight/configuration/InsightDescriptionConfig/InsightDescription.js +3 -6
  220. package/esm/presentation/widget/richText/EditModeDashboardRichText.d.ts.map +1 -1
  221. package/esm/presentation/widget/richText/EditModeDashboardRichText.js +3 -5
  222. package/esm/presentation/widget/richText/ViewModeDashboardRichText.d.ts.map +1 -1
  223. package/esm/presentation/widget/richText/ViewModeDashboardRichText.js +3 -5
  224. package/esm/sdk-ui-dashboard.d.ts +528 -12
  225. package/package.json +21 -21
  226. package/styles/css/main.css +28 -1
  227. package/styles/css/main.css.map +1 -1
  228. package/styles/css/timezoneIndicator.css +20 -0
  229. package/styles/css/timezoneIndicator.css.map +1 -0
  230. package/styles/css/topBar.css +9 -1
  231. package/styles/css/topBar.css.map +1 -1
  232. package/styles/scss/main.scss +1 -0
  233. package/styles/scss/timezoneIndicator.scss +23 -0
  234. package/styles/scss/topBar.scss +13 -2
@@ -31,7 +31,6 @@ vi.mock("../../../../model/commands/scheduledEmail.js", () => ({
31
31
  }));
32
32
  vi.mock("../../../../model/store/filtering/dashboardFilterSelectors.js", () => ({
33
33
  selectAutomationCommonDateFilterId: () => "common-date-id",
34
- selectAutomationDefaultSelectedFilters: () => [{ id: "filter-1" }],
35
34
  selectDashboardHiddenFilters: () => [],
36
35
  }));
37
36
  vi.mock("../../../../model/store/meta/metaSelectors.js", () => ({
@@ -76,19 +75,50 @@ vi.mock("./sanitizeAutomationForSave.js", () => ({
76
75
  }));
77
76
  import { createScheduledEmail as createScheduledEmailCmd, saveScheduledEmail as saveScheduledEmailCmd, } from "../../../../model/commands/scheduledEmail.js";
78
77
  import { sanitizeAutomationForSave } from "./sanitizeAutomationForSave.js";
79
- import { useBuildScheduledEmailDialogContext } from "./useBuildScheduledEmailDialogContext.js";
78
+ import { useBuildScheduledEmailDialogContext, } from "./useBuildScheduledEmailDialogContext.js";
80
79
  // ---------------------------------------------------------------------------
81
80
  // Tests
82
81
  // ---------------------------------------------------------------------------
82
+ // The builder's create/edit inputs (users, notificationChannels, isLoading) are required options;
83
+ // tests that don't care about them use this minimal, valid base and override what they need.
84
+ const BASE_OPTS = {
85
+ users: [],
86
+ notificationChannels: [],
87
+ isLoading: false,
88
+ };
83
89
  describe("useBuildScheduledEmailDialogContext", () => {
84
- it("exposes dashboardId, dashboardTitle, and dashboardFilters from the store selectors", () => {
85
- const { result } = renderHook(() => useBuildScheduledEmailDialogContext({}));
90
+ it("exposes dashboardId and dashboardTitle from the store selectors", () => {
91
+ const { result } = renderHook(() => useBuildScheduledEmailDialogContext(BASE_OPTS));
86
92
  expect(result.current.dashboardId).toBe("dashboard-1");
87
93
  expect(result.current.dashboardTitle).toBe("My Dashboard");
88
- expect(result.current.dashboardFilters).toEqual([{ id: "filter-1" }]);
94
+ });
95
+ it("passes the create/edit inputs through and carries the effective dashboard filters", () => {
96
+ const scheduledExportToEdit = { id: "schedule-1", title: "Weekly" };
97
+ const users = [
98
+ { ref: idRef("user-1"), uri: "/users/user-1", login: "user-1", email: "user-1@example.com" },
99
+ ];
100
+ const notificationChannels = [
101
+ { id: "channel-1", type: "notificationChannel" },
102
+ ];
103
+ const dashboardFilters = [];
104
+ const { result } = renderHook(() => useBuildScheduledEmailDialogContext({
105
+ scheduledExportToEdit,
106
+ users,
107
+ usersError: undefined,
108
+ notificationChannels,
109
+ isLoading: true,
110
+ dashboardFilters,
111
+ }));
112
+ expect(result.current.scheduledExportToEdit).toBe(scheduledExportToEdit);
113
+ expect(result.current.users).toBe(users);
114
+ expect(result.current.notificationChannels).toBe(notificationChannels);
115
+ expect(result.current.isLoading).toBe(true);
116
+ // the connector computes `saved ?? getAppliedDashboardFilters(...)` and passes the result in;
117
+ // the builder must not re-derive it from selectAutomationDefaultSelectedFilters
118
+ expect(result.current.dashboardFilters).toBe(dashboardFilters);
89
119
  });
90
120
  it("createScheduledEmail applies sanitizeAutomationForSave before dispatching the command", async () => {
91
- const { result } = renderHook(() => useBuildScheduledEmailDialogContext({}));
121
+ const { result } = renderHook(() => useBuildScheduledEmailDialogContext(BASE_OPTS));
92
122
  const draft = {
93
123
  type: "automation",
94
124
  title: "New Schedule",
@@ -117,7 +147,7 @@ describe("useBuildScheduledEmailDialogContext", () => {
117
147
  await expect(promise).resolves.toEqual(createdSE);
118
148
  });
119
149
  it("saveScheduledEmail applies sanitizeAutomationForSave before dispatching the command", async () => {
120
- const { result } = renderHook(() => useBuildScheduledEmailDialogContext({}));
150
+ const { result } = renderHook(() => useBuildScheduledEmailDialogContext(BASE_OPTS));
121
151
  const existing = {
122
152
  type: "automation",
123
153
  id: "se-2",
@@ -137,7 +167,7 @@ describe("useBuildScheduledEmailDialogContext", () => {
137
167
  await expect(promise).resolves.toEqual(existing);
138
168
  });
139
169
  it("createScheduledEmail rejects with error when the command fails", async () => {
140
- const { result } = renderHook(() => useBuildScheduledEmailDialogContext({}));
170
+ const { result } = renderHook(() => useBuildScheduledEmailDialogContext(BASE_OPTS));
141
171
  const draft = {
142
172
  type: "automation",
143
173
  title: "Fail Schedule",
@@ -1,3 +1,8 @@
1
+ import type { IAutomationMetadataObject } from "@gooddata/sdk-model";
1
2
  import type { IScheduledEmailManagementDialogContextValue } from "../../contexts/ScheduledEmailManagementDialogContext.js";
2
- export declare function useBuildScheduledEmailManagementDialogContext(): IScheduledEmailManagementDialogContextValue;
3
+ export interface IUseBuildScheduledEmailManagementDialogContextOpts {
4
+ automations: IAutomationMetadataObject[];
5
+ isLoading: boolean;
6
+ }
7
+ export declare function useBuildScheduledEmailManagementDialogContext(opts: IUseBuildScheduledEmailManagementDialogContextOpts): IScheduledEmailManagementDialogContextValue;
3
8
  //# sourceMappingURL=useBuildScheduledEmailManagementDialogContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useBuildScheduledEmailManagementDialogContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/connectors/hooks/useBuildScheduledEmailManagementDialogContext.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,2CAA2C,EAAE,MAAM,yDAAyD,CAAC;AAE3H,wBAAgB,6CAA6C,IAAI,2CAA2C,CAkC3G"}
1
+ {"version":3,"file":"useBuildScheduledEmailManagementDialogContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/connectors/hooks/useBuildScheduledEmailManagementDialogContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAiBrE,OAAO,KAAK,EAAE,2CAA2C,EAAE,MAAM,yDAAyD,CAAC;AAE3H,MAAM,WAAW,kDAAkD;IAC/D,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACzC,SAAS,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,6CAA6C,CACzD,IAAI,EAAE,kDAAkD,GACzD,2CAA2C,CAwC7C"}
@@ -6,7 +6,8 @@ import { selectEnableAccessibilityMode, selectIsEmbedded, } from "../../../../mo
6
6
  import { selectEntitlementMaxAutomations, selectEntitlementUnlimitedAutomations, } from "../../../../model/store/entitlements/entitlementsSelectors.js";
7
7
  import { selectDashboardId, selectDashboardTitle } from "../../../../model/store/meta/metaSelectors.js";
8
8
  import { selectAutomationsInvalidationId, selectIsScheduleEmailDialogOpen, } from "../../../../model/store/ui/uiSelectors.js";
9
- export function useBuildScheduledEmailManagementDialogContext() {
9
+ export function useBuildScheduledEmailManagementDialogContext(opts) {
10
+ const { automations, isLoading } = opts;
10
11
  const isScheduleEmailDialogOpen = useDashboardSelector(selectIsScheduleEmailDialogOpen);
11
12
  const automationsInvalidationId = useDashboardSelector(selectAutomationsInvalidationId);
12
13
  const isEmbedded = useDashboardSelector(selectIsEmbedded);
@@ -25,6 +26,8 @@ export function useBuildScheduledEmailManagementDialogContext() {
25
26
  dashboardTitle,
26
27
  maxAutomations,
27
28
  unlimitedAutomations,
29
+ automations,
30
+ isLoading,
28
31
  }), [
29
32
  isScheduleEmailDialogOpen,
30
33
  automationsInvalidationId,
@@ -34,5 +37,7 @@ export function useBuildScheduledEmailManagementDialogContext() {
34
37
  dashboardTitle,
35
38
  maxAutomations,
36
39
  unlimitedAutomations,
40
+ automations,
41
+ isLoading,
37
42
  ]);
38
43
  }
@@ -29,7 +29,7 @@ import { useBuildScheduledEmailManagementDialogContext } from "./useBuildSchedul
29
29
  // ---------------------------------------------------------------------------
30
30
  describe("useBuildScheduledEmailManagementDialogContext", () => {
31
31
  it("returns store-derived fields correctly", () => {
32
- const { result } = renderHook(() => useBuildScheduledEmailManagementDialogContext());
32
+ const { result } = renderHook(() => useBuildScheduledEmailManagementDialogContext({ automations: [], isLoading: false }));
33
33
  expect(result.current.isScheduleEmailDialogOpen).toBe(false);
34
34
  expect(result.current.automationsInvalidationId).toBe(42);
35
35
  expect(result.current.isEmbedded).toBe(false);
@@ -39,4 +39,10 @@ describe("useBuildScheduledEmailManagementDialogContext", () => {
39
39
  expect(result.current.maxAutomations).toBe(10);
40
40
  expect(result.current.unlimitedAutomations).toBe(false);
41
41
  });
42
+ it("passes the automation list and loading flag through to the context", () => {
43
+ const automations = [{ id: "schedule-1", title: "Weekly" }];
44
+ const { result } = renderHook(() => useBuildScheduledEmailManagementDialogContext({ automations, isLoading: true }));
45
+ expect(result.current.automations).toBe(automations);
46
+ expect(result.current.isLoading).toBe(true);
47
+ });
42
48
  });
@@ -1,11 +1,14 @@
1
1
  import type { IExecutionResult } from "@gooddata/sdk-backend-spi";
2
- import type { FilterContextItem, IAutomationMetadataObject, IAutomationMetadataObjectDefinition, IInsight, IInsightParameterValue, IWidget, ObjRef } from "@gooddata/sdk-model";
2
+ import type { FilterContextItem, IAutomationMetadataObject, IAutomationMetadataObjectDefinition, IInsight, IInsightParameterValue, INotificationChannelIdentifier, INotificationChannelMetadataObject, IWidget, IWorkspaceUser, ObjRef } from "@gooddata/sdk-model";
3
+ import type { GoodDataSdkError } from "@gooddata/sdk-ui";
3
4
  /**
4
5
  * Sub-context for the alerting create/edit dialog.
5
6
  *
6
7
  * The connector hydrates this from dashboard state and provides the CRUD callbacks; the dialog and its
7
8
  * hooks read it instead of reaching into the dashboard store. That direction is enforced by the
8
9
  * `no-model-imports-in-clean-alerting` rule in `.dependency-cruiser.js`.
10
+ *
11
+ * @alpha
9
12
  */
10
13
  export interface IAlertingDialogContextValue {
11
14
  mode: "create" | "edit";
@@ -26,7 +29,32 @@ export interface IAlertingDialogContextValue {
26
29
  createAlert(alert: IAutomationMetadataObjectDefinition): Promise<IAutomationMetadataObject>;
27
30
  saveAlert(alert: IAutomationMetadataObject): Promise<IAutomationMetadataObject>;
28
31
  deleteAlert(alert: IAutomationMetadataObject): Promise<void>;
32
+ /** The alert being edited; undefined when creating a new one. */
33
+ alertToEdit?: IAutomationMetadataObject;
34
+ /**
35
+ * Workspace users available as alert recipients. Loaded only while the create/edit dialog is
36
+ * mounted, so opening the management dialog alone does not trigger the load.
37
+ */
38
+ users: IWorkspaceUser[];
39
+ /** Error from loading workspace users, if any. */
40
+ usersError?: GoodDataSdkError;
41
+ /** Notification channels available as alert destinations. */
42
+ notificationChannels: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
43
+ /** True while the dialog's initial data (automations, workspace users) is still loading. */
44
+ isLoading: boolean;
29
45
  }
30
46
  export declare const AlertingDialogContextProvider: import("react").Provider<IAlertingDialogContextValue | undefined>;
47
+ /**
48
+ * Reads the alerting create/edit dialog context.
49
+ *
50
+ * A replacement for `AlertingDialogComponent` renders inside this context and reads the dialog's widget
51
+ * and insight, the dashboard filter context it should apply, the alert being edited, the available
52
+ * workspace users and notification channels, and the create/save/delete callbacks from here.
53
+ *
54
+ * Some members exist to wire internal machinery (`executionResultByRef`, `widgetLocalIdToTabIdMap`,
55
+ * `parameterValues`) and are not intended as a customization surface.
56
+ *
57
+ * @alpha
58
+ */
31
59
  export declare function useAlertingDialogContext(): IAlertingDialogContextValue;
32
60
  //# sourceMappingURL=AlertingDialogContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AlertingDialogContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/contexts/AlertingDialogContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EACR,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,EACnC,QAAQ,EACR,sBAAsB,EACtB,OAAO,EACP,MAAM,EACT,MAAM,qBAAqB,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IACxC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK;QAAE,eAAe,CAAC,EAAE,gBAAgB,CAAA;KAAE,GAAG,SAAS,CAAC;IACtG,+HAA+H;IAC/H,eAAe,EAAE,sBAAsB,EAAE,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,WAAW,CAAC,KAAK,EAAE,mCAAmC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC5F,SAAS,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAChF,WAAW,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AAID,eAAO,MAAM,6BAA6B,mEAAiC,CAAC;AAE5E,wBAAgB,wBAAwB,IAAI,2BAA2B,CAMtE"}
1
+ {"version":3,"file":"AlertingDialogContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/contexts/AlertingDialogContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,EACR,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,EACnC,QAAQ,EACR,sBAAsB,EACtB,8BAA8B,EAC9B,kCAAkC,EAClC,OAAO,EACP,cAAc,EACd,MAAM,EACT,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;GAQG;AACH,MAAM,WAAW,2BAA2B;IACxC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK;QAAE,eAAe,CAAC,EAAE,gBAAgB,CAAA;KAAE,GAAG,SAAS,CAAC;IACtG,+HAA+H;IAC/H,eAAe,EAAE,sBAAsB,EAAE,CAAC;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,WAAW,CAAC,KAAK,EAAE,mCAAmC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAC5F,SAAS,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAChF,WAAW,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,iEAAiE;IACjE,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC;;;OAGG;IACH,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,kDAAkD;IAClD,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,6DAA6D;IAC7D,oBAAoB,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IAC9F,4FAA4F;IAC5F,SAAS,EAAE,OAAO,CAAC;CACtB;AAID,eAAO,MAAM,6BAA6B,mEAAiC,CAAC;AAE5E;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,IAAI,2BAA2B,CAMtE"}
@@ -2,6 +2,18 @@
2
2
  import { createContext, useContext } from "react";
3
3
  const AlertingDialogContext = createContext(undefined);
4
4
  export const AlertingDialogContextProvider = AlertingDialogContext.Provider;
5
+ /**
6
+ * Reads the alerting create/edit dialog context.
7
+ *
8
+ * A replacement for `AlertingDialogComponent` renders inside this context and reads the dialog's widget
9
+ * and insight, the dashboard filter context it should apply, the alert being edited, the available
10
+ * workspace users and notification channels, and the create/save/delete callbacks from here.
11
+ *
12
+ * Some members exist to wire internal machinery (`executionResultByRef`, `widgetLocalIdToTabIdMap`,
13
+ * `parameterValues`) and are not intended as a customization surface.
14
+ *
15
+ * @alpha
16
+ */
5
17
  export function useAlertingDialogContext() {
6
18
  const ctx = useContext(AlertingDialogContext);
7
19
  if (!ctx) {
@@ -3,6 +3,8 @@ import type { IAutomationMetadataObject, IInsight, IUser, IWidget, ObjRef } from
3
3
  * Sub-context for the alerting management dialog.
4
4
  * The connector hydrates this from dashboard state.
5
5
  * The management dialog tree reads from this context instead of calling useDashboardSelector directly.
6
+ *
7
+ * @alpha
6
8
  */
7
9
  export interface IAlertingManagementDialogContextValue {
8
10
  currentUser?: IUser;
@@ -23,5 +25,17 @@ export interface IAlertingManagementDialogContextValue {
23
25
  resumeAlert(alert: IAutomationMetadataObject): Promise<IAutomationMetadataObject>;
24
26
  }
25
27
  export declare const AlertingManagementDialogContextProvider: import("react").Provider<IAlertingManagementDialogContextValue | undefined>;
28
+ /**
29
+ * Reads the alerting management dialog context.
30
+ *
31
+ * A replacement for the alerting management dialog renders inside this context and reads the current
32
+ * user, the dashboard it's rendered on, the widget/insight lookups (`getWidgetByRef`,
33
+ * `getInsightByWidgetRef`), and the pause/resume callbacks from here.
34
+ *
35
+ * Some members exist to wire internal machinery (`automationsInvalidationId`, `managementDialogContext`)
36
+ * and are not intended as a customization surface.
37
+ *
38
+ * @alpha
39
+ */
26
40
  export declare function useAlertingManagementDialogContext(): IAlertingManagementDialogContextValue;
27
41
  //# sourceMappingURL=AlertingManagementDialogContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AlertingManagementDialogContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/contexts/AlertingManagementDialogContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEvG;;;;GAIG;AACH,MAAM,WAAW,qCAAqC;IAClD,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,uBAAuB,EAAE,OAAO,CAAC;IACjC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,GAAG,SAAS,CAAC;IACjE,qBAAqB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC;IACzE,UAAU,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACjF,WAAW,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACrF;AAMD,eAAO,MAAM,uCAAuC,6EAA2C,CAAC;AAEhG,wBAAgB,kCAAkC,IAAI,qCAAqC,CAQ1F"}
1
+ {"version":3,"file":"AlertingManagementDialogContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/contexts/AlertingManagementDialogContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAEvG;;;;;;GAMG;AACH,MAAM,WAAW,qCAAqC;IAClD,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,uBAAuB,EAAE,OAAO,CAAC;IACjC,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,GAAG,SAAS,CAAC;IACjE,qBAAqB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC;IACzE,UAAU,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACjF,WAAW,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACrF;AAMD,eAAO,MAAM,uCAAuC,6EAA2C,CAAC;AAEhG;;;;;;;;;;;GAWG;AACH,wBAAgB,kCAAkC,IAAI,qCAAqC,CAQ1F"}
@@ -2,6 +2,18 @@
2
2
  import { createContext, useContext } from "react";
3
3
  const AlertingManagementDialogContext = createContext(undefined);
4
4
  export const AlertingManagementDialogContextProvider = AlertingManagementDialogContext.Provider;
5
+ /**
6
+ * Reads the alerting management dialog context.
7
+ *
8
+ * A replacement for the alerting management dialog renders inside this context and reads the current
9
+ * user, the dashboard it's rendered on, the widget/insight lookups (`getWidgetByRef`,
10
+ * `getInsightByWidgetRef`), and the pause/resume callbacks from here.
11
+ *
12
+ * Some members exist to wire internal machinery (`automationsInvalidationId`, `managementDialogContext`)
13
+ * and are not intended as a customization surface.
14
+ *
15
+ * @alpha
16
+ */
5
17
  export function useAlertingManagementDialogContext() {
6
18
  const ctx = useContext(AlertingManagementDialogContext);
7
19
  if (!ctx) {
@@ -5,6 +5,8 @@ import type { IAutomationFiltersTab } from "../../../model/store/filtering/types
5
5
  /**
6
6
  * Date filter configuration provided by the dashboard connector so that AutomationDateFilter
7
7
  * does not need to read dashboard selectors directly.
8
+ *
9
+ * @alpha
8
10
  */
9
11
  export interface IAutomationsDateFilterConfig {
10
12
  availableGranularities: DateFilterGranularity[];
@@ -15,6 +17,8 @@ export interface IAutomationsDateFilterConfig {
15
17
  /**
16
18
  * Main context shared across all automation dialogs.
17
19
  * Only fields actively consumed by migrated leaves are listed here — add fields as each leaf migrates.
20
+ *
21
+ * @alpha
18
22
  */
19
23
  export interface IAutomationsContextValue {
20
24
  locale: ILocale;
@@ -75,5 +79,14 @@ export interface IAutomationsContextValue {
75
79
  widgetExistsByRef: (ref: ObjRef | undefined) => boolean;
76
80
  }
77
81
  export declare const AutomationsContextProvider: import("react").Provider<IAutomationsContextValue | undefined>;
82
+ /**
83
+ * Reads the automation dialogs' shared context.
84
+ *
85
+ * The alerting and scheduled-email dialogs (create/edit and management) render inside this context and
86
+ * read the workspace catalog, filter configuration, locale, formatting, and other cross-dialog data from
87
+ * here.
88
+ *
89
+ * @alpha
90
+ */
78
91
  export declare function useAutomationsContext(): IAutomationsContextValue;
79
92
  //# sourceMappingURL=AutomationsContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutomationsContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/contexts/AutomationsContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutomationsContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/contexts/AutomationsContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,qCAAqC,EACrC,qBAAqB,EACrB,iBAAiB,EACjB,mCAAmC,EACnC,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,+BAA+B,EAC/B,0BAA0B,EAC1B,8BAA8B,EAC9B,kCAAkC,EAClC,WAAW,EACX,SAAS,EACT,KAAK,EACL,MAAM,EACN,SAAS,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAErF;;;;;GAKG;AACH,MAAM,WAAW,4BAA4B;IACzC,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,qBAAqB,EAAE,CAAC;IACnE,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;CAC7E;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,WAAW,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,gBAAgB,EAAE,4BAA4B,CAAC;IAC/C,uBAAuB,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAChE,sBAAsB,EAAE,+BAA+B,EAAE,CAAC;IAC1D,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,EAAE,CAAC,CAAC;IAC/E,+BAA+B,EAAE,GAAG,CAAC,MAAM,EAAE,qCAAqC,GAAG,SAAS,CAAC,CAAC;IAChG,oCAAoC,EAAE,MAAM,CACxC,MAAM,EACN,GAAG,CAAC,MAAM,EAAE,qCAAqC,GAAG,SAAS,CAAC,CACjE,CAAC;IACF,iBAAiB,EAAE,8BAA8B,EAAE,CAAC;IACpD,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,EAAE,CAAC,CAAC;IACzE,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,GAAG,SAAS,CAAC,CAAC;IACvF,yBAAyB,EAAE,kCAAkC,EAAE,CAAC;IAChE,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,kCAAkC,EAAE,CAAC,CAAC;IACrF,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;IAC5C,0BAA0B,EAAE,iBAAiB,EAAE,CAAC;IAChD,wBAAwB,EAAE,MAAM,CAAC;IACjC,wBAAwB,EAAE,OAAO,CAAC;IAClC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,uBAAuB,EAAE,OAAO,CAAC;IACjC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,EAAE;QACN,mBAAmB,EAAE,OAAO,CAAC;QAC7B,0BAA0B,EAAE,OAAO,CAAC;QACpC,2BAA2B,EAAE,OAAO,CAAC;QACrC,iBAAiB,EAAE,OAAO,CAAC;QAC3B,kBAAkB,EAAE,OAAO,CAAC;QAC5B,sBAAsB,EAAE,OAAO,CAAC;QAChC,8BAA8B,EAAE,OAAO,CAAC;KAC3C,CAAC;IACF,wBAAwB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,iBAAiB,GAAG,qBAAqB,GAAG,SAAS,CAAC;IACjG,6BAA6B,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,mCAAmC,GAAG,SAAS,CAAC;IACxG;;;;OAIG;IACH,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C;;;;OAIG;IACH,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC;CAC3D;AAID,eAAO,MAAM,0BAA0B,gEAA8B,CAAC;AAEtE;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,wBAAwB,CAWhE"}
@@ -2,6 +2,15 @@
2
2
  import { createContext, useContext } from "react";
3
3
  const AutomationsContext = createContext(undefined);
4
4
  export const AutomationsContextProvider = AutomationsContext.Provider;
5
+ /**
6
+ * Reads the automation dialogs' shared context.
7
+ *
8
+ * The alerting and scheduled-email dialogs (create/edit and management) render inside this context and
9
+ * read the workspace catalog, filter configuration, locale, formatting, and other cross-dialog data from
10
+ * here.
11
+ *
12
+ * @alpha
13
+ */
5
14
  export function useAutomationsContext() {
6
15
  const ctx = useContext(AutomationsContext);
7
16
  if (!ctx) {
@@ -1,10 +1,13 @@
1
- import type { DashboardAttributeFilterConfigMode, DashboardDateFilterConfigMode, FilterContextItem, IAutomationMetadataObject, IAutomationMetadataObjectDefinition, IDashboardExportParameter, IExportTemplate, IInsight, IWidget } from "@gooddata/sdk-model";
1
+ import type { DashboardAttributeFilterConfigMode, DashboardDateFilterConfigMode, FilterContextItem, IAutomationMetadataObject, IAutomationMetadataObjectDefinition, IDashboardExportParameter, IExportTemplate, IInsight, INotificationChannelIdentifier, INotificationChannelMetadataObject, IWidget, IWorkspaceUser } from "@gooddata/sdk-model";
2
+ import type { GoodDataSdkError } from "@gooddata/sdk-ui";
2
3
  /**
3
4
  * Sub-context for the scheduled-email create/edit dialog.
4
5
  *
5
6
  * The connector hydrates this from dashboard state and provides the CRUD callbacks; the dialog and its
6
7
  * hooks read it instead of reaching into the dashboard store. That direction is enforced by the
7
8
  * `no-model-imports-in-clean-scheduled-email` rule in `.dependency-cruiser.js`.
9
+ *
10
+ * @alpha
8
11
  */
9
12
  export interface IScheduledEmailDialogContextValue {
10
13
  widget?: IWidget;
@@ -12,6 +15,10 @@ export interface IScheduledEmailDialogContextValue {
12
15
  widgetTitle?: string;
13
16
  dashboardId?: string;
14
17
  dashboardTitle: string;
18
+ /**
19
+ * Dashboard filters the export will use: the saved filters when editing, otherwise the currently
20
+ * applied dashboard filters with hidden filters resolved.
21
+ */
15
22
  dashboardFilters?: FilterContextItem[];
16
23
  /**
17
24
  * Raw dashboard hidden filters (selectDashboardHiddenFilters). Combined with edited filters via
@@ -45,7 +52,34 @@ export interface IScheduledEmailDialogContextValue {
45
52
  createScheduledEmail(se: IAutomationMetadataObjectDefinition): Promise<IAutomationMetadataObject>;
46
53
  saveScheduledEmail(se: IAutomationMetadataObject): Promise<IAutomationMetadataObject>;
47
54
  deleteScheduledEmail(se: IAutomationMetadataObject): Promise<void>;
55
+ /** The scheduled export being edited; undefined when creating a new one. */
56
+ scheduledExportToEdit?: IAutomationMetadataObject;
57
+ /**
58
+ * Workspace users available as scheduled-export recipients. Loaded only while the create/edit dialog
59
+ * is mounted, so opening the management dialog alone does not trigger the load.
60
+ */
61
+ users: IWorkspaceUser[];
62
+ /** Error from loading workspace users, if any. */
63
+ usersError?: GoodDataSdkError;
64
+ /** Notification channels available as scheduled-export destinations. */
65
+ notificationChannels: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
66
+ /** True while the dialog's initial data (automations, workspace users) is still loading. */
67
+ isLoading: boolean;
48
68
  }
49
69
  export declare const ScheduledEmailDialogContextProvider: import("react").Provider<IScheduledEmailDialogContextValue | undefined>;
70
+ /**
71
+ * Reads the scheduled-email create/edit dialog context.
72
+ *
73
+ * A replacement for the scheduled-email dialog renders inside this context and reads the dialog's widget
74
+ * and insight, the dashboard filter context and export templates it should apply, the scheduled export
75
+ * being edited, the available workspace users and notification channels, and the create/save/delete
76
+ * callbacks from here.
77
+ *
78
+ * Some members exist to wire internal machinery (`exportParametersByTab`, `widgetLocalIdToTabIdMap`,
79
+ * `commonDateFilterMode`, `dateFiltersModeMap`, `attributeFiltersModeMap`) and are not intended as a
80
+ * customization surface.
81
+ *
82
+ * @alpha
83
+ */
50
84
  export declare function useScheduledEmailDialogContext(): IScheduledEmailDialogContextValue;
51
85
  //# sourceMappingURL=ScheduledEmailDialogContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduledEmailDialogContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/contexts/ScheduledEmailDialogContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,kCAAkC,EAClC,6BAA6B,EAC7B,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,EACnC,yBAAyB,EACzB,eAAe,EACf,QAAQ,EACR,OAAO,EACV,MAAM,qBAAqB,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,WAAW,iCAAiC;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACvC;;;OAGG;IACH,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACnE;;;OAGG;IACH,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,wEAAwE;IACxE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,uFAAuF;IACvF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,4EAA4E;IAC5E,eAAe,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,oBAAoB,EAAE,6BAA6B,CAAC;IACpD,kFAAgF;IAChF,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;IAC/D,2EAAyE;IACzE,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;IAEzE,oBAAoB,CAAC,EAAE,EAAE,mCAAmC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAClG,kBAAkB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtF,oBAAoB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAID,eAAO,MAAM,mCAAmC,yEAAuC,CAAC;AAExF,wBAAgB,8BAA8B,IAAI,iCAAiC,CAQlF"}
1
+ {"version":3,"file":"ScheduledEmailDialogContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/contexts/ScheduledEmailDialogContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,kCAAkC,EAClC,6BAA6B,EAC7B,iBAAiB,EACjB,yBAAyB,EACzB,mCAAmC,EACnC,yBAAyB,EACzB,eAAe,EACf,QAAQ,EACR,8BAA8B,EAC9B,kCAAkC,EAClC,OAAO,EACP,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;;;;;;;GAQG;AACH,MAAM,WAAW,iCAAiC;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACvC;;;OAGG;IACH,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACnE;;;OAGG;IACH,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,wEAAwE;IACxE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,uFAAuF;IACvF,gBAAgB,EAAE,OAAO,CAAC;IAC1B,4EAA4E;IAC5E,eAAe,EAAE,OAAO,CAAC;IACzB,mEAAmE;IACnE,oBAAoB,EAAE,6BAA6B,CAAC;IACpD,kFAAgF;IAChF,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;IAC/D,2EAAyE;IACzE,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;IAEzE,oBAAoB,CAAC,EAAE,EAAE,mCAAmC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IAClG,kBAAkB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtF,oBAAoB,CAAC,EAAE,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,4EAA4E;IAC5E,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD;;;OAGG;IACH,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,kDAAkD;IAClD,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,wEAAwE;IACxE,oBAAoB,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IAC9F,4FAA4F;IAC5F,SAAS,EAAE,OAAO,CAAC;CACtB;AAID,eAAO,MAAM,mCAAmC,yEAAuC,CAAC;AAExF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,8BAA8B,IAAI,iCAAiC,CAQlF"}
@@ -2,6 +2,20 @@
2
2
  import { createContext, useContext } from "react";
3
3
  const ScheduledEmailDialogContext = createContext(undefined);
4
4
  export const ScheduledEmailDialogContextProvider = ScheduledEmailDialogContext.Provider;
5
+ /**
6
+ * Reads the scheduled-email create/edit dialog context.
7
+ *
8
+ * A replacement for the scheduled-email dialog renders inside this context and reads the dialog's widget
9
+ * and insight, the dashboard filter context and export templates it should apply, the scheduled export
10
+ * being edited, the available workspace users and notification channels, and the create/save/delete
11
+ * callbacks from here.
12
+ *
13
+ * Some members exist to wire internal machinery (`exportParametersByTab`, `widgetLocalIdToTabIdMap`,
14
+ * `commonDateFilterMode`, `dateFiltersModeMap`, `attributeFiltersModeMap`) and are not intended as a
15
+ * customization surface.
16
+ *
17
+ * @alpha
18
+ */
5
19
  export function useScheduledEmailDialogContext() {
6
20
  const ctx = useContext(ScheduledEmailDialogContext);
7
21
  if (!ctx) {
@@ -1,3 +1,4 @@
1
+ import type { IAutomationMetadataObject } from "@gooddata/sdk-model";
1
2
  /**
2
3
  * Sub-context for the scheduled-email management dialog.
3
4
  * The connector hydrates this from dashboard state.
@@ -6,7 +7,7 @@
6
7
  * isWhiteLabeled, isExecutionTimestampMode, externalRecipient, features.*) are NOT
7
8
  * duplicated here — consumers read those from useAutomationsContext().
8
9
  *
9
- * @internal
10
+ * @alpha
10
11
  */
11
12
  export interface IScheduledEmailManagementDialogContextValue {
12
13
  /**
@@ -48,7 +49,25 @@ export interface IScheduledEmailManagementDialogContextValue {
48
49
  * max-automations limit is not enforced.
49
50
  */
50
51
  unlimitedAutomations: boolean;
52
+ /**
53
+ * Scheduled exports visible in the management dialog, scoped to the current dashboard context.
54
+ */
55
+ automations: IAutomationMetadataObject[];
56
+ /** True while the automation list is still loading. */
57
+ isLoading: boolean;
51
58
  }
52
59
  export declare const ScheduledEmailManagementDialogContextProvider: import("react").Provider<IScheduledEmailManagementDialogContextValue | undefined>;
60
+ /**
61
+ * Reads the scheduled-email management dialog context.
62
+ *
63
+ * A replacement for the scheduled-email management dialog renders inside this context and reads the
64
+ * dashboard it's rendered on, the automations limit (`maxAutomations`, `unlimitedAutomations`), the
65
+ * scheduled exports to list (`automations`), and whether they are still loading (`isLoading`) from here.
66
+ *
67
+ * Some members exist to wire internal machinery (`automationsInvalidationId`) and are not intended as a
68
+ * customization surface.
69
+ *
70
+ * @alpha
71
+ */
53
72
  export declare function useScheduledEmailManagementDialogContext(): IScheduledEmailManagementDialogContextValue;
54
73
  //# sourceMappingURL=ScheduledEmailManagementDialogContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScheduledEmailManagementDialogContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/contexts/ScheduledEmailManagementDialogContext.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,MAAM,WAAW,2CAA2C;IACxD;;;OAGG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,oBAAoB,EAAE,OAAO,CAAC;CACjC;AAMD,eAAO,MAAM,6CAA6C,mFAAiD,CAAC;AAE5G,wBAAgB,wCAAwC,IAAI,2CAA2C,CAQtG"}
1
+ {"version":3,"file":"ScheduledEmailManagementDialogContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/contexts/ScheduledEmailManagementDialogContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAErE;;;;;;;;;GASG;AACH,MAAM,WAAW,2CAA2C;IACxD;;;OAGG;IACH,yBAAyB,EAAE,OAAO,CAAC;IACnC;;;OAGG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC;;OAEG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,WAAW,EAAE,yBAAyB,EAAE,CAAC;IACzC,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAC;CACtB;AAMD,eAAO,MAAM,6CAA6C,mFAAiD,CAAC;AAE5G;;;;;;;;;;;GAWG;AACH,wBAAgB,wCAAwC,IAAI,2CAA2C,CAQtG"}
@@ -2,6 +2,18 @@
2
2
  import { createContext, useContext } from "react";
3
3
  const ScheduledEmailManagementDialogContext = createContext(undefined);
4
4
  export const ScheduledEmailManagementDialogContextProvider = ScheduledEmailManagementDialogContext.Provider;
5
+ /**
6
+ * Reads the scheduled-email management dialog context.
7
+ *
8
+ * A replacement for the scheduled-email management dialog renders inside this context and reads the
9
+ * dashboard it's rendered on, the automations limit (`maxAutomations`, `unlimitedAutomations`), the
10
+ * scheduled exports to list (`automations`), and whether they are still loading (`isLoading`) from here.
11
+ *
12
+ * Some members exist to wire internal machinery (`automationsInvalidationId`) and are not intended as a
13
+ * customization surface.
14
+ *
15
+ * @alpha
16
+ */
5
17
  export function useScheduledEmailManagementDialogContext() {
6
18
  const ctx = useContext(ScheduledEmailManagementDialogContext);
7
19
  if (!ctx) {
@@ -1,3 +1,8 @@
1
- import { type IScheduledEmailDialogProps } from "../types.js";
2
- export declare function DefaultLoadingScheduledEmailDialog({ scheduledExportToEdit, onCancel }: Pick<IScheduledEmailDialogProps, "onCancel" | "scheduledExportToEdit">): import("react/jsx-runtime").JSX.Element;
1
+ import { type IAutomationMetadataObject } from "@gooddata/sdk-model";
2
+ interface IDefaultLoadingScheduledEmailDialogProps {
3
+ scheduledExportToEdit?: IAutomationMetadataObject;
4
+ onCancel?: () => void;
5
+ }
6
+ export declare function DefaultLoadingScheduledEmailDialog({ scheduledExportToEdit, onCancel }: IDefaultLoadingScheduledEmailDialogProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
3
8
  //# sourceMappingURL=DefaultLoadingScheduledEmailDialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultLoadingScheduledEmailDialog.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultLoadingScheduledEmailDialog.tsx"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAG9D,wBAAgB,kCAAkC,CAAC,EAC/C,qBAAqB,EACrB,QAAQ,EACX,EAAE,IAAI,CAAC,0BAA0B,EAAE,UAAU,GAAG,uBAAuB,CAAC,2CAkDxE"}
1
+ {"version":3,"file":"DefaultLoadingScheduledEmailDialog.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultLoadingScheduledEmailDialog.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAarE,UAAU,wCAAwC;IAC9C,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,wBAAgB,kCAAkC,CAAC,EAC/C,qBAAqB,EACrB,QAAQ,EACX,EAAE,wCAAwC,2CAkD1C"}
@@ -1,5 +1,5 @@
1
1
  import { type IScheduledEmailDialogProps } from "../types.js";
2
- export declare function ScheduledMailDialogRenderer({ scheduledExportToEdit, users, usersError, notificationChannels, insight, widget, dashboardFilters, widgetFilters, onBack, onCancel, onDeleteSuccess, onDeleteError, onError, onSave, onSaveError, onSaveSuccess, onSubmit, onSuccess }: IScheduledEmailDialogProps): import("react/jsx-runtime").JSX.Element;
2
+ export declare function ScheduledMailDialogRenderer({ onBack, onCancel, onDeleteSuccess, onDeleteError, onError, onSave, onSaveError, onSaveSuccess, onSubmit, onSuccess }: IScheduledEmailDialogProps): import("react/jsx-runtime").JSX.Element;
3
3
  /**
4
4
  * @alpha
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultScheduledEmailDialog.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.tsx"],"names":[],"mappings":"AA4CA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,aAAa,CAAC;AA8D9D,wBAAgB,2BAA2B,CAAC,EACxC,qBAAqB,EACrB,KAAK,EACL,UAAU,EACV,oBAAoB,EACpB,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,MAAM,EACN,QAAQ,EACR,eAAe,EACf,aAAa,EACb,OAAO,EACP,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACZ,EAAE,0BAA0B,2CAqkB5B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,2CAW5E"}
1
+ {"version":3,"file":"DefaultScheduledEmailDialog.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.tsx"],"names":[],"mappings":"AA4CA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,aAAa,CAAC;AA+D9D,wBAAgB,2BAA2B,CAAC,EACxC,MAAM,EACN,QAAQ,EACR,eAAe,EACf,aAAa,EACb,OAAO,EACP,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACZ,EAAE,0BAA0B,2CAskB5B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,0BAA0B,2CAY5E"}