@gooddata/sdk-ui-dashboard 10.12.0-alpha.2 → 10.12.0-alpha.21

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 (292) hide show
  1. package/NOTICE +148 -8
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.d.ts.map +1 -1
  4. package/esm/__version.js +1 -1
  5. package/esm/__version.js.map +1 -1
  6. package/esm/{presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/automationHelpers.d.ts → _staging/automation/index.d.ts} +2 -4
  7. package/esm/_staging/automation/index.d.ts.map +1 -0
  8. package/esm/{presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/automationHelpers.js → _staging/automation/index.js} +9 -33
  9. package/esm/_staging/automation/index.js.map +1 -0
  10. package/esm/model/commandHandlers/dashboard/common/insightReferences.d.ts.map +1 -1
  11. package/esm/model/commandHandlers/dashboard/common/insightReferences.js +32 -8
  12. package/esm/model/commandHandlers/dashboard/common/insightReferences.js.map +1 -1
  13. package/esm/model/commandHandlers/render/renderingWorker.d.ts.map +1 -1
  14. package/esm/model/commandHandlers/render/renderingWorker.js +5 -0
  15. package/esm/model/commandHandlers/render/renderingWorker.js.map +1 -1
  16. package/esm/model/events/userInteraction.d.ts +5 -1
  17. package/esm/model/events/userInteraction.d.ts.map +1 -1
  18. package/esm/model/events/userInteraction.js.map +1 -1
  19. package/esm/model/react/index.d.ts +8 -1
  20. package/esm/model/react/index.d.ts.map +1 -1
  21. package/esm/model/react/index.js +5 -1
  22. package/esm/model/react/index.js.map +1 -1
  23. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.d.ts +41 -0
  24. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.d.ts.map +1 -0
  25. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.js +64 -0
  26. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.js.map +1 -0
  27. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsCommands.d.ts +24 -0
  28. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsCommands.d.ts.map +1 -0
  29. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsCommands.js +35 -0
  30. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsCommands.js.map +1 -0
  31. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsData.d.ts +31 -0
  32. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsData.d.ts.map +1 -0
  33. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsData.js +83 -0
  34. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsData.js.map +1 -0
  35. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsDialog.d.ts +20 -0
  36. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsDialog.d.ts.map +1 -0
  37. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsDialog.js +76 -0
  38. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsDialog.js.map +1 -0
  39. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsFilters.d.ts +20 -0
  40. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsFilters.d.ts.map +1 -0
  41. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsFilters.js +17 -0
  42. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsFilters.js.map +1 -0
  43. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsManagementDialog.d.ts +21 -0
  44. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsManagementDialog.d.ts.map +1 -0
  45. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsManagementDialog.js +72 -0
  46. package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsManagementDialog.js.map +1 -0
  47. package/esm/model/react/useDasboardScheduledEmails/useFiltersForDashboardScheduledExport.d.ts +26 -0
  48. package/esm/model/react/useDasboardScheduledEmails/useFiltersForDashboardScheduledExport.d.ts.map +1 -0
  49. package/esm/model/react/useDasboardScheduledEmails/useFiltersForDashboardScheduledExport.js +45 -0
  50. package/esm/model/react/useDasboardScheduledEmails/useFiltersForDashboardScheduledExport.js.map +1 -0
  51. package/esm/model/react/useDasboardScheduledEmails/useFiltersForWidgetScheduledExport.d.ts +35 -0
  52. package/esm/model/react/useDasboardScheduledEmails/useFiltersForWidgetScheduledExport.d.ts.map +1 -0
  53. package/esm/model/react/useDasboardScheduledEmails/useFiltersForWidgetScheduledExport.js +69 -0
  54. package/esm/model/react/useDasboardScheduledEmails/useFiltersForWidgetScheduledExport.js.map +1 -0
  55. package/esm/model/react/useDashboardUserInteraction.d.ts +2 -1
  56. package/esm/model/react/useDashboardUserInteraction.d.ts.map +1 -1
  57. package/esm/model/react/useDashboardUserInteraction.js +5 -1
  58. package/esm/model/react/useDashboardUserInteraction.js.map +1 -1
  59. package/esm/{presentation/widget/common → model/react}/useWidgetFilters.d.ts +2 -1
  60. package/esm/model/react/useWidgetFilters.d.ts.map +1 -0
  61. package/esm/{presentation/widget/common → model/react}/useWidgetFilters.js +5 -2
  62. package/esm/model/react/useWidgetFilters.js.map +1 -0
  63. package/esm/model/store/dashboardStore.d.ts.map +1 -1
  64. package/esm/model/store/dashboardStore.js +2 -0
  65. package/esm/model/store/dashboardStore.js.map +1 -1
  66. package/esm/model/store/drill/drillSelectors.d.ts +4 -0
  67. package/esm/model/store/drill/drillSelectors.d.ts.map +1 -1
  68. package/esm/model/store/drill/drillSelectors.js +4 -0
  69. package/esm/model/store/drill/drillSelectors.js.map +1 -1
  70. package/esm/model/store/executed/executedReducers.d.ts +9 -0
  71. package/esm/model/store/executed/executedReducers.d.ts.map +1 -0
  72. package/esm/model/store/executed/executedReducers.js +11 -0
  73. package/esm/model/store/executed/executedReducers.js.map +1 -0
  74. package/esm/model/store/executed/executedSelectors.d.ts +11 -0
  75. package/esm/model/store/executed/executedSelectors.d.ts.map +1 -0
  76. package/esm/model/store/executed/executedSelectors.js +12 -0
  77. package/esm/model/store/executed/executedSelectors.js.map +1 -0
  78. package/esm/model/store/executed/executedState.d.ts +8 -0
  79. package/esm/model/store/executed/executedState.d.ts.map +1 -0
  80. package/esm/model/store/executed/executedState.js +3 -0
  81. package/esm/model/store/executed/executedState.js.map +1 -0
  82. package/esm/model/store/executed/index.d.ts +6 -0
  83. package/esm/model/store/executed/index.d.ts.map +1 -0
  84. package/esm/model/store/executed/index.js +12 -0
  85. package/esm/model/store/executed/index.js.map +1 -0
  86. package/esm/model/store/index.d.ts +3 -1
  87. package/esm/model/store/index.d.ts.map +1 -1
  88. package/esm/model/store/index.js +2 -1
  89. package/esm/model/store/index.js.map +1 -1
  90. package/esm/model/store/types.d.ts +2 -0
  91. package/esm/model/store/types.d.ts.map +1 -1
  92. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
  93. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +2 -2
  94. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js.map +1 -1
  95. package/esm/presentation/dashboard/DashboardHeader/ScheduledEmailDialogProvider.d.ts.map +1 -1
  96. package/esm/presentation/dashboard/DashboardHeader/ScheduledEmailDialogProvider.js +19 -4
  97. package/esm/presentation/dashboard/DashboardHeader/ScheduledEmailDialogProvider.js.map +1 -1
  98. package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditor.d.ts.map +1 -1
  99. package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditor.js +1 -2
  100. package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditor.js.map +1 -1
  101. package/esm/presentation/localization/bundles/en-US.json +5 -0
  102. package/esm/presentation/presentationComponents/DashboardItems/DashboardItemBase.d.ts +1 -1
  103. package/esm/presentation/presentationComponents/DashboardItems/DashboardItemBase.d.ts.map +1 -1
  104. package/esm/presentation/presentationComponents/DashboardItems/DashboardItemBase.js +2 -2
  105. package/esm/presentation/presentationComponents/DashboardItems/DashboardItemBase.js.map +1 -1
  106. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts +1 -1
  107. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
  108. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +67 -81
  109. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js.map +1 -1
  110. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFilters.d.ts +1 -1
  111. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFilters.d.ts.map +1 -1
  112. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFilters.js.map +1 -1
  113. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFiltersList.d.ts +1 -1
  114. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFiltersList.d.ts.map +1 -1
  115. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts +14 -0
  116. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts.map +1 -0
  117. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.js +46 -0
  118. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.js.map +1 -0
  119. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts +16 -0
  120. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts.map +1 -0
  121. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.js +31 -0
  122. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.js.map +1 -0
  123. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +1 -1
  124. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js.map +1 -1
  125. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts +30 -9
  126. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts.map +1 -1
  127. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.js +90 -63
  128. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.js.map +1 -1
  129. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.d.ts +23 -0
  130. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.d.ts.map +1 -0
  131. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.js +30 -0
  132. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.js.map +1 -0
  133. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.d.ts +1 -1
  134. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.d.ts.map +1 -1
  135. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.js +1 -1
  136. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.js.map +1 -1
  137. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.d.ts.map +1 -1
  138. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js +2 -2
  139. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js.map +1 -1
  140. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.d.ts +3 -3
  141. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.d.ts.map +1 -1
  142. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.js +3 -3
  143. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.js.map +1 -1
  144. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.d.ts +3 -3
  145. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.d.ts.map +1 -1
  146. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.js +2 -2
  147. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.js.map +1 -1
  148. package/esm/presentation/scheduledEmail/index.d.ts +1 -1
  149. package/esm/presentation/scheduledEmail/index.d.ts.map +1 -1
  150. package/esm/presentation/scheduledEmail/types.d.ts +71 -44
  151. package/esm/presentation/scheduledEmail/types.d.ts.map +1 -1
  152. package/esm/presentation/topBar/menuButton/useDefaultMenuItems.d.ts.map +1 -1
  153. package/esm/presentation/topBar/menuButton/useDefaultMenuItems.js +1 -1
  154. package/esm/presentation/topBar/menuButton/useDefaultMenuItems.js.map +1 -1
  155. package/esm/presentation/widget/common/index.d.ts +0 -1
  156. package/esm/presentation/widget/common/index.d.ts.map +1 -1
  157. package/esm/presentation/widget/common/index.js +1 -2
  158. package/esm/presentation/widget/common/index.js.map +1 -1
  159. package/esm/presentation/widget/common/useCustomWidgetExecutionDataView.d.ts.map +1 -1
  160. package/esm/presentation/widget/common/useCustomWidgetExecutionDataView.js +2 -2
  161. package/esm/presentation/widget/common/useCustomWidgetExecutionDataView.js.map +1 -1
  162. package/esm/presentation/widget/common/useCustomWidgetInsightDataView.d.ts.map +1 -1
  163. package/esm/presentation/widget/common/useCustomWidgetInsightDataView.js +2 -2
  164. package/esm/presentation/widget/common/useCustomWidgetInsightDataView.js.map +1 -1
  165. package/esm/presentation/widget/common/useInsightWidgetDataView.d.ts.map +1 -1
  166. package/esm/presentation/widget/common/useInsightWidgetDataView.js +2 -3
  167. package/esm/presentation/widget/common/useInsightWidgetDataView.js.map +1 -1
  168. package/esm/presentation/widget/index.d.ts +1 -1
  169. package/esm/presentation/widget/index.d.ts.map +1 -1
  170. package/esm/presentation/widget/index.js +1 -1
  171. package/esm/presentation/widget/index.js.map +1 -1
  172. package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.d.ts.map +1 -1
  173. package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.js +1 -2
  174. package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.js.map +1 -1
  175. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.d.ts.map +1 -1
  176. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.js +2 -3
  177. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.js.map +1 -1
  178. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts +2 -1
  179. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts.map +1 -1
  180. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.js +2 -2
  181. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.js.map +1 -1
  182. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts +2 -1
  183. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts.map +1 -1
  184. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js +2 -1
  185. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js.map +1 -1
  186. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/constants.d.ts +1 -0
  187. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/constants.d.ts.map +1 -1
  188. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/constants.js +1 -0
  189. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/constants.js.map +1 -1
  190. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts +3 -2
  191. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts.map +1 -1
  192. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js +3 -3
  193. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js.map +1 -1
  194. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.d.ts +1 -0
  195. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.d.ts.map +1 -1
  196. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.js +48 -38
  197. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.js.map +1 -1
  198. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.d.ts +4 -4
  199. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.d.ts.map +1 -1
  200. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.js +48 -13
  201. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.js.map +1 -1
  202. package/esm/presentation/widget/insight/configuration/InsightAlerts.d.ts.map +1 -1
  203. package/esm/presentation/widget/insight/configuration/InsightAlerts.js +3 -3
  204. package/esm/presentation/widget/insight/configuration/InsightAlerts.js.map +1 -1
  205. package/esm/presentation/widget/insight/configuration/InsightConfiguration.d.ts +2 -6
  206. package/esm/presentation/widget/insight/configuration/InsightConfiguration.d.ts.map +1 -1
  207. package/esm/presentation/widget/insight/configuration/InsightConfiguration.js +5 -4
  208. package/esm/presentation/widget/insight/configuration/InsightConfiguration.js.map +1 -1
  209. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuItemButton.js +1 -1
  210. package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuItemButton.js.map +1 -1
  211. package/esm/presentation/widget/insightMenu/types.d.ts +6 -0
  212. package/esm/presentation/widget/insightMenu/types.d.ts.map +1 -1
  213. package/esm/presentation/widget/insightMenu/types.js +3 -1
  214. package/esm/presentation/widget/insightMenu/types.js.map +1 -1
  215. package/esm/presentation/widget/kpi/common/useKpiData.d.ts.map +1 -1
  216. package/esm/presentation/widget/kpi/common/useKpiData.js +2 -3
  217. package/esm/presentation/widget/kpi/common/useKpiData.js.map +1 -1
  218. package/esm/presentation/widget/visualizationSwitcher/AllVisualizationsDashInsights.d.ts +16 -0
  219. package/esm/presentation/widget/visualizationSwitcher/AllVisualizationsDashInsights.d.ts.map +1 -0
  220. package/esm/presentation/widget/visualizationSwitcher/AllVisualizationsDashInsights.js +26 -0
  221. package/esm/presentation/widget/visualizationSwitcher/AllVisualizationsDashInsights.js.map +1 -0
  222. package/esm/presentation/widget/visualizationSwitcher/EditModeDashboardVisualizationSwitcher.js +4 -4
  223. package/esm/presentation/widget/visualizationSwitcher/EditModeDashboardVisualizationSwitcher.js.map +1 -1
  224. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.d.ts +8 -0
  225. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.d.ts.map +1 -1
  226. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js +99 -3
  227. package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js.map +1 -1
  228. package/esm/presentation/widget/visualizationSwitcher/configuration/Toolbar.d.ts +1 -0
  229. package/esm/presentation/widget/visualizationSwitcher/configuration/Toolbar.d.ts.map +1 -1
  230. package/esm/presentation/widget/visualizationSwitcher/configuration/Toolbar.js +2 -2
  231. package/esm/presentation/widget/visualizationSwitcher/configuration/Toolbar.js.map +1 -1
  232. package/esm/presentation/widget/visualizationSwitcher/configuration/VisualizationConfig.js +4 -8
  233. package/esm/presentation/widget/visualizationSwitcher/configuration/VisualizationConfig.js.map +1 -1
  234. package/esm/presentation/widget/visualizationSwitcher/configuration/VisualizationsList.d.ts.map +1 -1
  235. package/esm/presentation/widget/visualizationSwitcher/configuration/VisualizationsList.js +1 -1
  236. package/esm/presentation/widget/visualizationSwitcher/configuration/VisualizationsList.js.map +1 -1
  237. package/esm/presentation/widget/visualizationSwitcher/configuration/types.d.ts +1 -0
  238. package/esm/presentation/widget/visualizationSwitcher/configuration/types.d.ts.map +1 -1
  239. package/esm/presentation/widget/visualizationSwitcher/configuration/useVisualizationSwitcherEditableInsightMenu.d.ts +6 -0
  240. package/esm/presentation/widget/visualizationSwitcher/configuration/useVisualizationSwitcherEditableInsightMenu.d.ts.map +1 -0
  241. package/esm/presentation/widget/visualizationSwitcher/configuration/useVisualizationSwitcherEditableInsightMenu.js +33 -0
  242. package/esm/presentation/widget/visualizationSwitcher/configuration/useVisualizationSwitcherEditableInsightMenu.js.map +1 -0
  243. package/esm/presentation/widget/visualizationSwitcher/useExecutionProgress.d.ts +4 -0
  244. package/esm/presentation/widget/visualizationSwitcher/useExecutionProgress.d.ts.map +1 -0
  245. package/esm/presentation/widget/visualizationSwitcher/useExecutionProgress.js +60 -0
  246. package/esm/presentation/widget/visualizationSwitcher/useExecutionProgress.js.map +1 -0
  247. package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.d.ts.map +1 -1
  248. package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js +8 -40
  249. package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js.map +1 -1
  250. package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.d.ts +17 -0
  251. package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.d.ts.map +1 -0
  252. package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.js +52 -0
  253. package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.js.map +1 -0
  254. package/esm/presentation/widget/widget/VisualizationSwitcherWidget/EditableDashboardVisualizationSwitcherWidget.d.ts.map +1 -1
  255. package/esm/presentation/widget/widget/VisualizationSwitcherWidget/EditableDashboardVisualizationSwitcherWidget.js +21 -6
  256. package/esm/presentation/widget/widget/VisualizationSwitcherWidget/EditableDashboardVisualizationSwitcherWidget.js.map +1 -1
  257. package/esm/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.d.ts +12 -0
  258. package/esm/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.d.ts.map +1 -0
  259. package/esm/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.js +59 -0
  260. package/esm/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.js.map +1 -0
  261. package/esm/sdk-ui-dashboard.d.ts +201 -66
  262. package/package.json +15 -15
  263. package/styles/css/insightConfiguration.css +1 -0
  264. package/styles/css/insightConfiguration.css.map +1 -1
  265. package/styles/css/main.css +77 -6
  266. package/styles/css/main.css.map +1 -1
  267. package/styles/css/visualizationSwitcherHeader.css +59 -0
  268. package/styles/css/visualizationSwitcherHeader.css.map +1 -0
  269. package/styles/css/visualizationSwitcherToolbar.css +1 -1
  270. package/styles/css/visualizationSwitcherWidget.css +22 -5
  271. package/styles/css/visualizationSwitcherWidget.css.map +1 -1
  272. package/styles/scss/insightConfiguration.scss +2 -1
  273. package/styles/scss/main.scss +1 -0
  274. package/styles/scss/visualizationSwitcherHeader.scss +61 -0
  275. package/styles/scss/visualizationSwitcherToolbar.scss +1 -1
  276. package/styles/scss/visualizationSwitcherWidget.scss +24 -5
  277. package/esm/model/react/useDashboardScheduledEmails.d.ts +0 -44
  278. package/esm/model/react/useDashboardScheduledEmails.d.ts.map +0 -1
  279. package/esm/model/react/useDashboardScheduledEmails.js +0 -194
  280. package/esm/model/react/useDashboardScheduledEmails.js.map +0 -1
  281. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/Attachments.d.ts +0 -18
  282. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/Attachments.d.ts.map +0 -1
  283. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/Attachments.js +0 -66
  284. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/Attachments.js.map +0 -1
  285. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useAttachmentDashboardFilters.d.ts +0 -43
  286. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useAttachmentDashboardFilters.d.ts.map +0 -1
  287. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useAttachmentDashboardFilters.js +0 -82
  288. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useAttachmentDashboardFilters.js.map +0 -1
  289. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/automationHelpers.d.ts.map +0 -1
  290. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/automationHelpers.js.map +0 -1
  291. package/esm/presentation/widget/common/useWidgetFilters.d.ts.map +0 -1
  292. package/esm/presentation/widget/common/useWidgetFilters.js.map +0 -1
@@ -0,0 +1,41 @@
1
+ import { IAutomationMetadataObject } from "@gooddata/sdk-model";
2
+ export { DEFAULT_MAX_AUTOMATIONS } from "./useDashboardScheduledEmailsData.js";
3
+ /**
4
+ * Hook that handles schedule emailing dialogs.
5
+ *
6
+ * @alpha
7
+ */
8
+ export declare const useDashboardScheduledEmails: () => {
9
+ scheduledExportToEdit: IAutomationMetadataObject | undefined;
10
+ users: import("../../index.js").Users;
11
+ notificationChannels: (import("@gooddata/sdk-model").IWebhookDefinitionObject | import("@gooddata/sdk-model").ISmtpDefinitionObject)[];
12
+ automations: IAutomationMetadataObject[];
13
+ automationsCount: number;
14
+ numberOfAvailableDestinations: number;
15
+ widget: import("../../index.js").ExtendedDashboardWidget | undefined;
16
+ insight: import("@gooddata/sdk-model").IInsight | undefined;
17
+ automationsLoading: boolean;
18
+ automationsError: import("@gooddata/sdk-ui").GoodDataSdkError | undefined;
19
+ webhooksLoading: boolean;
20
+ webhooksError: import("@gooddata/sdk-ui").GoodDataSdkError | undefined;
21
+ isScheduledEmailingVisible: boolean;
22
+ isScheduleEmailingDialogOpen: boolean;
23
+ defaultOnScheduleEmailing: (widget?: import("@gooddata/sdk-model").IWidget | undefined) => void;
24
+ onScheduleEmailingOpen: (widget?: import("@gooddata/sdk-model").IWidget | undefined) => void;
25
+ onScheduleEmailingCancel: (widget?: import("@gooddata/sdk-model").IWidget | undefined) => void;
26
+ onScheduleEmailingCreateError: () => void;
27
+ onScheduleEmailingCreateSuccess: (widget?: import("@gooddata/sdk-model").IWidget | undefined) => void;
28
+ onScheduleEmailingSaveError: () => void;
29
+ onScheduleEmailingSaveSuccess: (widget?: import("@gooddata/sdk-model").IWidget | undefined) => void;
30
+ isScheduledManagementEmailingVisible: boolean;
31
+ isScheduleEmailingManagementDialogOpen: boolean;
32
+ defaultOnScheduleEmailingManagement: (widget?: import("@gooddata/sdk-model").IWidget | undefined) => void;
33
+ onScheduleEmailingManagementOpen: (widget?: import("@gooddata/sdk-model").IWidget | undefined) => void;
34
+ onScheduleEmailingManagementEdit: (schedule: IAutomationMetadataObject, widget?: import("@gooddata/sdk-model").IWidget | undefined) => void;
35
+ onScheduleEmailingManagementAdd: (widget?: import("@gooddata/sdk-model").IWidget | undefined) => void;
36
+ onScheduleEmailingManagementClose: () => void;
37
+ onScheduleEmailingManagementLoadingError: () => void;
38
+ onScheduleEmailingManagementDeleteSuccess: () => void;
39
+ onScheduleEmailingManagementDeleteError: () => void;
40
+ };
41
+ //# sourceMappingURL=useDashboardScheduledEmails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardScheduledEmails.d.ts","sourceRoot":"","sources":["../../../../src/model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAKhE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqFvC,CAAC"}
@@ -0,0 +1,64 @@
1
+ // (C) 2022-2024 GoodData Corporation
2
+ import { useState } from "react";
3
+ import { useDashboardScheduledEmailsData } from "./useDashboardScheduledEmailsData.js";
4
+ import { useDashboardScheduledEmailsDialog } from "./useDashboardScheduledEmailsDialog.js";
5
+ import { useDashboardScheduledEmailsManagementDialog } from "./useDashboardScheduledEmailsManagementDialog.js";
6
+ export { DEFAULT_MAX_AUTOMATIONS } from "./useDashboardScheduledEmailsData.js";
7
+ /**
8
+ * Hook that handles schedule emailing dialogs.
9
+ *
10
+ * @alpha
11
+ */
12
+ export const useDashboardScheduledEmails = () => {
13
+ /**
14
+ * Active selected scheduled export to be edited in the dialog (is available only for editing, is not used for creation)
15
+ */
16
+ const [scheduledExportToEdit, setScheduledExportToEdit] = useState();
17
+ const {
18
+ // Data
19
+ users, automations, automationsLoading, automationsError, automationsCount, webhooksLoading, webhooksError, notificationChannels, numberOfAvailableDestinations, widget, insight,
20
+ // Single Schedule Dialog
21
+ isScheduledEmailingVisible, isScheduleEmailingDialogOpen,
22
+ // List / Management Dialog
23
+ isScheduledManagementEmailingVisible, isScheduleEmailingManagementDialogOpen, } = useDashboardScheduledEmailsData({ scheduledExportToEdit });
24
+ const { defaultOnScheduleEmailing, onScheduleEmailingCancel, onScheduleEmailingCreateError, onScheduleEmailingCreateSuccess, onScheduleEmailingOpen, onScheduleEmailingSaveError, onScheduleEmailingSaveSuccess, } = useDashboardScheduledEmailsDialog({ setScheduledExportToEdit });
25
+ const { defaultOnScheduleEmailingManagement, onScheduleEmailingManagementAdd, onScheduleEmailingManagementClose, onScheduleEmailingManagementDeleteError, onScheduleEmailingManagementDeleteSuccess, onScheduleEmailingManagementEdit, onScheduleEmailingManagementLoadingError, onScheduleEmailingManagementOpen, } = useDashboardScheduledEmailsManagementDialog({ setScheduledExportToEdit });
26
+ return {
27
+ // Local state
28
+ scheduledExportToEdit,
29
+ // Data
30
+ users,
31
+ notificationChannels,
32
+ automations,
33
+ automationsCount,
34
+ numberOfAvailableDestinations,
35
+ widget,
36
+ insight,
37
+ automationsLoading,
38
+ automationsError,
39
+ webhooksLoading,
40
+ webhooksError,
41
+ // Single Schedule Dialog
42
+ isScheduledEmailingVisible,
43
+ isScheduleEmailingDialogOpen,
44
+ defaultOnScheduleEmailing,
45
+ onScheduleEmailingOpen,
46
+ onScheduleEmailingCancel,
47
+ onScheduleEmailingCreateError,
48
+ onScheduleEmailingCreateSuccess,
49
+ onScheduleEmailingSaveError,
50
+ onScheduleEmailingSaveSuccess,
51
+ // List / Management Dialog
52
+ isScheduledManagementEmailingVisible,
53
+ isScheduleEmailingManagementDialogOpen,
54
+ defaultOnScheduleEmailingManagement,
55
+ onScheduleEmailingManagementOpen,
56
+ onScheduleEmailingManagementEdit,
57
+ onScheduleEmailingManagementAdd,
58
+ onScheduleEmailingManagementClose,
59
+ onScheduleEmailingManagementLoadingError,
60
+ onScheduleEmailingManagementDeleteSuccess,
61
+ onScheduleEmailingManagementDeleteError,
62
+ };
63
+ };
64
+ //# sourceMappingURL=useDashboardScheduledEmails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardScheduledEmails.js","sourceRoot":"","sources":["../../../../src/model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AACvF,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,2CAA2C,EAAE,MAAM,kDAAkD,CAAC;AAE/G,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC5C;;OAEG;IACH,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,EAA6B,CAAC;IAEhG,MAAM;IACF,OAAO;IACP,KAAK,EACL,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,6BAA6B,EAC7B,MAAM,EACN,OAAO;IACP,yBAAyB;IACzB,0BAA0B,EAC1B,4BAA4B;IAC5B,2BAA2B;IAC3B,oCAAoC,EACpC,sCAAsC,GACzC,GAAG,+BAA+B,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAE/D,MAAM,EACF,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,+BAA+B,EAC/B,sBAAsB,EACtB,2BAA2B,EAC3B,6BAA6B,GAChC,GAAG,iCAAiC,CAAC,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAEpE,MAAM,EACF,mCAAmC,EACnC,+BAA+B,EAC/B,iCAAiC,EACjC,uCAAuC,EACvC,yCAAyC,EACzC,gCAAgC,EAChC,wCAAwC,EACxC,gCAAgC,GACnC,GAAG,2CAA2C,CAAC,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAE9E,OAAO;QACH,cAAc;QACd,qBAAqB;QACrB,OAAO;QACP,KAAK;QACL,oBAAoB;QACpB,WAAW;QACX,gBAAgB;QAChB,6BAA6B;QAC7B,MAAM;QACN,OAAO;QACP,kBAAkB;QAClB,gBAAgB;QAChB,eAAe;QACf,aAAa;QACb,yBAAyB;QACzB,0BAA0B;QAC1B,4BAA4B;QAC5B,yBAAyB;QACzB,sBAAsB;QACtB,wBAAwB;QACxB,6BAA6B;QAC7B,+BAA+B;QAC/B,2BAA2B;QAC3B,6BAA6B;QAC7B,2BAA2B;QAC3B,oCAAoC;QACpC,sCAAsC;QACtC,mCAAmC;QACnC,gCAAgC;QAChC,gCAAgC;QAChC,+BAA+B;QAC/B,iCAAiC;QACjC,wCAAwC;QACxC,yCAAyC;QACzC,uCAAuC;KAC1C,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { IWidget } from "@gooddata/sdk-model";
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare const useDashboardScheduledEmailsCommands: () => {
6
+ openScheduleEmailingDialog: (widget?: IWidget) => false | {
7
+ payload: import("../../../types.js").IScheduleEmailContext;
8
+ type: "uiSlice/openScheduleEmailDialog";
9
+ };
10
+ closeScheduleEmailingDialog: () => false | {
11
+ payload: undefined;
12
+ type: "uiSlice/closeScheduleEmailDialog";
13
+ };
14
+ openScheduleEmailingManagementDialog: (widget?: IWidget) => false | {
15
+ payload: import("../../../types.js").IScheduleEmailContext;
16
+ type: "uiSlice/openScheduleEmailManagementDialog";
17
+ };
18
+ closeScheduleEmailingManagementDialog: () => false | {
19
+ payload: undefined;
20
+ type: "uiSlice/closeScheduleEmailManagementDialog";
21
+ };
22
+ refreshAutomations: () => import("../../commands/scheduledEmail.js").RefreshAutomations;
23
+ };
24
+ //# sourceMappingURL=useDashboardScheduledEmailsCommands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardScheduledEmailsCommands.d.ts","sourceRoot":"","sources":["../../../../src/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsCommands.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAK9C;;GAEG;AACH,eAAO,MAAM,mCAAmC;0CAQ9B,OAAO;;;;;;;;oDAgBP,OAAO;;;;;;;;;CAwBxB,CAAC"}
@@ -0,0 +1,35 @@
1
+ // (C) 2022-2024 GoodData Corporation
2
+ import { useCallback } from "react";
3
+ import { selectEnableScheduling, uiActions } from "../../store/index.js";
4
+ import { useDashboardDispatch, useDashboardSelector } from "../DashboardStoreProvider.js";
5
+ import { refreshAutomations as refreshAutomationsCommand } from "../../commands/index.js";
6
+ /**
7
+ * @internal
8
+ */
9
+ export const useDashboardScheduledEmailsCommands = () => {
10
+ const dispatch = useDashboardDispatch();
11
+ // Feature Flags
12
+ const isScheduledEmailingEnabled = useDashboardSelector(selectEnableScheduling);
13
+ // Single Schedule Dialog
14
+ const openScheduleEmailingDialog = useCallback((widget) => isScheduledEmailingEnabled &&
15
+ dispatch(uiActions.openScheduleEmailDialog({
16
+ ...(widget?.ref ? { widgetRef: widget.ref } : {}),
17
+ })), [dispatch, isScheduledEmailingEnabled]);
18
+ const closeScheduleEmailingDialog = useCallback(() => isScheduledEmailingEnabled && dispatch(uiActions.closeScheduleEmailDialog()), [dispatch, isScheduledEmailingEnabled]);
19
+ // List / Management Dialog
20
+ const openScheduleEmailingManagementDialog = useCallback((widget) => isScheduledEmailingEnabled &&
21
+ dispatch(uiActions.openScheduleEmailManagementDialog({
22
+ ...(widget?.ref ? { widgetRef: widget.ref } : {}),
23
+ })), [dispatch, isScheduledEmailingEnabled]);
24
+ const closeScheduleEmailingManagementDialog = useCallback(() => isScheduledEmailingEnabled && dispatch(uiActions.closeScheduleEmailManagementDialog()), [dispatch, isScheduledEmailingEnabled]);
25
+ // Data Reload
26
+ const refreshAutomations = useCallback(() => dispatch(refreshAutomationsCommand()), [dispatch]);
27
+ return {
28
+ openScheduleEmailingDialog,
29
+ closeScheduleEmailingDialog,
30
+ openScheduleEmailingManagementDialog,
31
+ closeScheduleEmailingManagementDialog,
32
+ refreshAutomations,
33
+ };
34
+ };
35
+ //# sourceMappingURL=useDashboardScheduledEmailsCommands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardScheduledEmailsCommands.js","sourceRoot":"","sources":["../../../../src/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsCommands.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,kBAAkB,IAAI,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAE1F;;GAEG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,EAAE;IACpD,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IAExC,gBAAgB;IAChB,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;IAEhF,yBAAyB;IACzB,MAAM,0BAA0B,GAAG,WAAW,CAC1C,CAAC,MAAgB,EAAE,EAAE,CACjB,0BAA0B;QAC1B,QAAQ,CACJ,SAAS,CAAC,uBAAuB,CAAC;YAC9B,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC,CACL,EACL,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CACzC,CAAC;IACF,MAAM,2BAA2B,GAAG,WAAW,CAC3C,GAAG,EAAE,CAAC,0BAA0B,IAAI,QAAQ,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC,EAClF,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CACzC,CAAC;IAEF,2BAA2B;IAC3B,MAAM,oCAAoC,GAAG,WAAW,CACpD,CAAC,MAAgB,EAAE,EAAE,CACjB,0BAA0B;QAC1B,QAAQ,CACJ,SAAS,CAAC,iCAAiC,CAAC;YACxC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpD,CAAC,CACL,EACL,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CACzC,CAAC;IACF,MAAM,qCAAqC,GAAG,WAAW,CACrD,GAAG,EAAE,CAAC,0BAA0B,IAAI,QAAQ,CAAC,SAAS,CAAC,kCAAkC,EAAE,CAAC,EAC5F,CAAC,QAAQ,EAAE,0BAA0B,CAAC,CACzC,CAAC;IAEF,cAAc;IACd,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,yBAAyB,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEhG,OAAO;QACH,0BAA0B;QAC1B,2BAA2B;QAC3B,oCAAoC;QACpC,qCAAqC;QACrC,kBAAkB;KACrB,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { IAutomationMetadataObject } from "@gooddata/sdk-model";
2
+ /**
3
+ * @alpha
4
+ * Default maximum number of automations.
5
+ */
6
+ export declare const DEFAULT_MAX_AUTOMATIONS = "10";
7
+ interface IUseDashboardScheduledEmailsDataProps {
8
+ scheduledExportToEdit?: IAutomationMetadataObject;
9
+ }
10
+ /**
11
+ * @internal
12
+ */
13
+ export declare const useDashboardScheduledEmailsData: ({ scheduledExportToEdit, }: IUseDashboardScheduledEmailsDataProps) => {
14
+ users: import("../../index.js").Users;
15
+ notificationChannels: (import("@gooddata/sdk-model").IWebhookDefinitionObject | import("@gooddata/sdk-model").ISmtpDefinitionObject)[];
16
+ automations: IAutomationMetadataObject[];
17
+ automationsLoading: boolean;
18
+ automationsError: import("@gooddata/sdk-ui").GoodDataSdkError | undefined;
19
+ automationsCount: number;
20
+ numberOfAvailableDestinations: number;
21
+ widget: import("../../index.js").ExtendedDashboardWidget | undefined;
22
+ insight: import("@gooddata/sdk-model").IInsight | undefined;
23
+ webhooksLoading: boolean;
24
+ webhooksError: import("@gooddata/sdk-ui").GoodDataSdkError | undefined;
25
+ isScheduledEmailingVisible: boolean;
26
+ isScheduleEmailingDialogOpen: boolean;
27
+ isScheduledManagementEmailingVisible: boolean;
28
+ isScheduleEmailingManagementDialogOpen: boolean;
29
+ };
30
+ export {};
31
+ //# sourceMappingURL=useDashboardScheduledEmailsData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardScheduledEmailsData.d.ts","sourceRoot":"","sources":["../../../../src/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsData.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,yBAAyB,EAG5B,MAAM,qBAAqB,CAAC;AA0B7B;;;GAGG;AACH,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C,UAAU,qCAAqC;IAC3C,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;CACrD;AAED;;GAEG;AACH,eAAO,MAAM,+BAA+B,+BAEzC,qCAAqC;;;;;;;;;;;;;;;;CA2FvC,CAAC"}
@@ -0,0 +1,83 @@
1
+ // (C) 2022-2024 GoodData Corporation
2
+ import { useMemo } from "react";
3
+ import { isExportDefinitionVisualizationObjectRequestPayload, } from "@gooddata/sdk-model";
4
+ import { selectCanManageWorkspace, selectEnableScheduling, selectIsInViewMode, selectIsReadOnly, selectMenuButtonItemsVisibility, selectEntitlementMaxAutomations, selectWebhooks, selectSmtps, selectAutomationsCount, selectUsers, selectWebhooksIsLoading, selectAutomationsIsLoading, selectWebhooksError, selectAutomationsError, selectAutomationsSchedulesInContext, selectEntitlementUnlimitedAutomations, selectCanCreateAutomation, selectIsScheduleEmailDialogOpen, selectIsScheduleEmailDialogContext, selectIsScheduleEmailManagementDialogOpen, selectWidgetByRef, selectInsightByWidgetRef, } from "../../store/index.js";
5
+ import { useDashboardSelector } from "../DashboardStoreProvider.js";
6
+ /**
7
+ * @alpha
8
+ * Default maximum number of automations.
9
+ */
10
+ export const DEFAULT_MAX_AUTOMATIONS = "10";
11
+ /**
12
+ * @internal
13
+ */
14
+ export const useDashboardScheduledEmailsData = ({ scheduledExportToEdit, }) => {
15
+ const users = useDashboardSelector(selectUsers);
16
+ const emails = useDashboardSelector(selectSmtps);
17
+ const webhooks = useDashboardSelector(selectWebhooks);
18
+ const webhooksLoading = useDashboardSelector(selectWebhooksIsLoading);
19
+ const webhooksError = useDashboardSelector(selectWebhooksError);
20
+ const automations = useDashboardSelector(selectAutomationsSchedulesInContext(undefined));
21
+ const automationsCount = useDashboardSelector(selectAutomationsCount);
22
+ const automationsLoading = useDashboardSelector(selectAutomationsIsLoading);
23
+ const automationsError = useDashboardSelector(selectAutomationsError);
24
+ // Dashboard mode
25
+ const isReadOnly = useDashboardSelector(selectIsReadOnly);
26
+ const isInViewMode = useDashboardSelector(selectIsInViewMode);
27
+ // Visibility configuration
28
+ const menuButtonItemsVisibility = useDashboardSelector(selectMenuButtonItemsVisibility);
29
+ // Feature flags
30
+ const isScheduledEmailingEnabled = useDashboardSelector(selectEnableScheduling);
31
+ // Permissions
32
+ const isWorkspaceManager = useDashboardSelector(selectCanManageWorkspace);
33
+ const canCreateAutomation = useDashboardSelector(selectCanCreateAutomation);
34
+ // Entitlements
35
+ const maxAutomationsEntitlement = useDashboardSelector(selectEntitlementMaxAutomations);
36
+ const unlimitedAutomationsEntitlement = useDashboardSelector(selectEntitlementUnlimitedAutomations);
37
+ const maxAutomations = parseInt(maxAutomationsEntitlement?.value ?? DEFAULT_MAX_AUTOMATIONS, 10);
38
+ const notificationChannels = useMemo(() => [...emails, ...webhooks], [webhooks, emails]);
39
+ const numberOfAvailableDestinations = notificationChannels.length;
40
+ const maxAutomationsReached = automationsCount >= maxAutomations && !unlimitedAutomationsEntitlement;
41
+ /**
42
+ * We want to hide scheduling when there are no webhooks unless the user is admin.
43
+ */
44
+ const showDueToNumberOfAvailableDestinations = numberOfAvailableDestinations > 0 || isWorkspaceManager;
45
+ const isSchedulingAvailable = isInViewMode &&
46
+ !isReadOnly &&
47
+ isScheduledEmailingEnabled &&
48
+ showDueToNumberOfAvailableDestinations &&
49
+ (menuButtonItemsVisibility.scheduleEmailButton ?? true);
50
+ // Single Schedule Dialog
51
+ const isScheduledEmailingVisible = isSchedulingAvailable && canCreateAutomation && !maxAutomationsReached;
52
+ const isScheduleEmailingDialogOpen = useDashboardSelector(selectIsScheduleEmailDialogOpen) || false;
53
+ const scheduleEmailingDialogContext = useDashboardSelector(selectIsScheduleEmailDialogContext);
54
+ // List / Management Dialog
55
+ const isScheduledManagementEmailingVisible = isSchedulingAvailable && automations.length > 0;
56
+ const isScheduleEmailingManagementDialogOpen = useDashboardSelector(selectIsScheduleEmailManagementDialogOpen) || false;
57
+ // Widget and Insight
58
+ const editWidgetId = scheduledExportToEdit?.exportDefinitions?.find((exportDefinition) => isExportDefinitionVisualizationObjectRequestPayload(exportDefinition.requestPayload))?.requestPayload.content?.widget;
59
+ const editWidgetRef = editWidgetId ? { identifier: editWidgetId } : undefined;
60
+ const widget = useDashboardSelector(selectWidgetByRef(scheduleEmailingDialogContext?.widgetRef ?? editWidgetRef));
61
+ const insight = useDashboardSelector(selectInsightByWidgetRef(widget?.ref));
62
+ return {
63
+ // Data
64
+ users,
65
+ notificationChannels,
66
+ automations,
67
+ automationsLoading,
68
+ automationsError,
69
+ automationsCount,
70
+ numberOfAvailableDestinations,
71
+ widget,
72
+ insight,
73
+ webhooksLoading,
74
+ webhooksError,
75
+ // Single Schedule Dialog
76
+ isScheduledEmailingVisible,
77
+ isScheduleEmailingDialogOpen,
78
+ // List / Management Dialog
79
+ isScheduledManagementEmailingVisible,
80
+ isScheduleEmailingManagementDialogOpen,
81
+ };
82
+ };
83
+ //# sourceMappingURL=useDashboardScheduledEmailsData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardScheduledEmailsData.js","sourceRoot":"","sources":["../../../../src/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsData.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { IAutomationMetadataObject, IWidget } from "@gooddata/sdk-model";
2
+ /**
3
+ * @internal
4
+ */
5
+ export interface IUseDashboardScheduledEmailsDialogProps {
6
+ setScheduledExportToEdit: (automation?: IAutomationMetadataObject) => void;
7
+ }
8
+ /**
9
+ * @internal
10
+ */
11
+ export declare const useDashboardScheduledEmailsDialog: ({ setScheduledExportToEdit, }: IUseDashboardScheduledEmailsDialogProps) => {
12
+ defaultOnScheduleEmailing: (widget?: IWidget) => void;
13
+ onScheduleEmailingOpen: (widget?: IWidget) => void;
14
+ onScheduleEmailingCancel: (widget?: IWidget) => void;
15
+ onScheduleEmailingCreateError: () => void;
16
+ onScheduleEmailingCreateSuccess: (widget?: IWidget) => void;
17
+ onScheduleEmailingSaveError: () => void;
18
+ onScheduleEmailingSaveSuccess: (widget?: IWidget) => void;
19
+ };
20
+ //# sourceMappingURL=useDashboardScheduledEmailsDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardScheduledEmailsDialog.d.ts","sourceRoot":"","sources":["../../../../src/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsDialog.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAMzE;;GAEG;AACH,MAAM,WAAW,uCAAuC;IACpD,wBAAwB,EAAE,CAAC,UAAU,CAAC,EAAE,yBAAyB,KAAK,IAAI,CAAC;CAC9E;AAED;;GAEG;AACH,eAAO,MAAM,iCAAiC,kCAE3C,uCAAuC;yCAmBxB,OAAO;sCAYP,OAAO;wCAOP,OAAO;;+CAUP,OAAO;;6CAgBP,OAAO;CA+BxB,CAAC"}
@@ -0,0 +1,76 @@
1
+ // (C) 2022-2024 GoodData Corporation
2
+ import { useCallback } from "react";
3
+ import { useToastMessage } from "@gooddata/sdk-ui-kit";
4
+ import { messages } from "../../../locales.js";
5
+ import { useDashboardScheduledEmailsCommands } from "./useDashboardScheduledEmailsCommands.js";
6
+ import { useDashboardSelector } from "../DashboardStoreProvider.js";
7
+ import { selectDashboardRef } from "../../store/index.js";
8
+ /**
9
+ * @internal
10
+ */
11
+ export const useDashboardScheduledEmailsDialog = ({ setScheduledExportToEdit, }) => {
12
+ const { addSuccess, addError } = useToastMessage();
13
+ const dashboardRef = useDashboardSelector(selectDashboardRef);
14
+ const { closeScheduleEmailingDialog, openScheduleEmailingDialog, openScheduleEmailingManagementDialog, refreshAutomations, } = useDashboardScheduledEmailsCommands();
15
+ /*
16
+ * exports and scheduling are not available when rendering a dashboard that is not persisted.
17
+ * this can happen when a new dashboard is created and is being edited.
18
+ *
19
+ * the setup of menu items available in the menu needs to reflect this.
20
+ */
21
+ const defaultOnScheduleEmailing = useCallback((widget) => {
22
+ if (!dashboardRef) {
23
+ return;
24
+ }
25
+ openScheduleEmailingDialog(widget);
26
+ }, [dashboardRef, openScheduleEmailingDialog]);
27
+ // Open / Close
28
+ const onScheduleEmailingOpen = useCallback((widget) => {
29
+ openScheduleEmailingDialog(widget);
30
+ }, [openScheduleEmailingDialog]);
31
+ const onScheduleEmailingCancel = useCallback((widget) => {
32
+ closeScheduleEmailingDialog();
33
+ setScheduledExportToEdit(undefined);
34
+ openScheduleEmailingManagementDialog(widget);
35
+ }, [closeScheduleEmailingDialog, openScheduleEmailingManagementDialog, setScheduledExportToEdit]);
36
+ // Create
37
+ const onScheduleEmailingCreateSuccess = useCallback((widget) => {
38
+ closeScheduleEmailingDialog();
39
+ openScheduleEmailingManagementDialog(widget);
40
+ addSuccess(messages.scheduleEmailSubmitSuccess);
41
+ refreshAutomations();
42
+ }, [closeScheduleEmailingDialog, openScheduleEmailingManagementDialog, addSuccess, refreshAutomations]);
43
+ const onScheduleEmailingCreateError = useCallback(() => {
44
+ closeScheduleEmailingDialog();
45
+ addError(messages.scheduleEmailSubmitError);
46
+ }, [closeScheduleEmailingDialog, addError]);
47
+ // Edit
48
+ const onScheduleEmailingSaveSuccess = useCallback((widget) => {
49
+ closeScheduleEmailingDialog();
50
+ openScheduleEmailingManagementDialog(widget);
51
+ addSuccess(messages.scheduleEmailSaveSuccess);
52
+ setScheduledExportToEdit(undefined);
53
+ refreshAutomations();
54
+ }, [
55
+ closeScheduleEmailingDialog,
56
+ openScheduleEmailingManagementDialog,
57
+ addSuccess,
58
+ setScheduledExportToEdit,
59
+ refreshAutomations,
60
+ ]);
61
+ const onScheduleEmailingSaveError = useCallback(() => {
62
+ closeScheduleEmailingDialog();
63
+ addError(messages.scheduleEmailSaveError);
64
+ setScheduledExportToEdit(undefined);
65
+ }, [closeScheduleEmailingDialog, addError, setScheduledExportToEdit]);
66
+ return {
67
+ defaultOnScheduleEmailing,
68
+ onScheduleEmailingOpen,
69
+ onScheduleEmailingCancel,
70
+ onScheduleEmailingCreateError,
71
+ onScheduleEmailingCreateSuccess,
72
+ onScheduleEmailingSaveError,
73
+ onScheduleEmailingSaveSuccess,
74
+ };
75
+ };
76
+ //# sourceMappingURL=useDashboardScheduledEmailsDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardScheduledEmailsDialog.js","sourceRoot":"","sources":["../../../../src/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsDialog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { IAutomationMetadataObject, IInsight } from "@gooddata/sdk-model";
2
+ import { ExtendedDashboardWidget } from "../../../model/types/layoutTypes.js";
3
+ /**
4
+ * @alpha
5
+ */
6
+ export interface IUseDashboardScheduledEmailsFiltersProps {
7
+ scheduledExportToEdit?: IAutomationMetadataObject;
8
+ widget?: ExtendedDashboardWidget;
9
+ insight?: IInsight;
10
+ }
11
+ /**
12
+ * @alpha
13
+ */
14
+ export declare const useDashboardScheduledEmailsFilters: ({ scheduledExportToEdit, widget, insight, }: IUseDashboardScheduledEmailsFiltersProps) => {
15
+ widgetFilters: import("@gooddata/sdk-model").IFilter[] | undefined;
16
+ widgetFiltersLoading: boolean;
17
+ widgetFiltersError: import("@gooddata/sdk-ui").GoodDataSdkError | undefined;
18
+ dashboardFilters: import("@gooddata/sdk-model").FilterContextItem[] | undefined;
19
+ };
20
+ //# sourceMappingURL=useDashboardScheduledEmailsFilters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardScheduledEmailsFilters.d.ts","sourceRoot":"","sources":["../../../../src/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsFilters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,wCAAwC;IACrD,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,OAAO,CAAC,EAAE,QAAQ,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,kCAAkC,gDAI5C,wCAAwC;;;;;CAiB1C,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { useFiltersForWidgetScheduledExport } from "./useFiltersForWidgetScheduledExport.js";
2
+ import { useFiltersForDashboardScheduledExport } from "./useFiltersForDashboardScheduledExport.js";
3
+ /**
4
+ * @alpha
5
+ */
6
+ export const useDashboardScheduledEmailsFilters = ({ scheduledExportToEdit, widget, insight, }) => {
7
+ const { result: widgetFilters, error: widgetFiltersError, status, } = useFiltersForWidgetScheduledExport({ scheduledExportToEdit, widget, insight });
8
+ const dashboardFilters = useFiltersForDashboardScheduledExport({ scheduledExportToEdit });
9
+ const widgetFiltersLoading = widget ? status === "pending" || status === "running" : false;
10
+ return {
11
+ widgetFilters,
12
+ widgetFiltersLoading,
13
+ widgetFiltersError,
14
+ dashboardFilters,
15
+ };
16
+ };
17
+ //# sourceMappingURL=useDashboardScheduledEmailsFilters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardScheduledEmailsFilters.js","sourceRoot":"","sources":["../../../../src/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsFilters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,qCAAqC,EAAE,MAAM,4CAA4C,CAAC;AAYnG;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,EAC/C,qBAAqB,EACrB,MAAM,EACN,OAAO,GACgC,EAAE,EAAE;IAC3C,MAAM,EACF,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,kBAAkB,EACzB,MAAM,GACT,GAAG,kCAAkC,CAAC,EAAE,qBAAqB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAEnF,MAAM,gBAAgB,GAAG,qCAAqC,CAAC,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAE1F,MAAM,oBAAoB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAE3F,OAAO;QACH,aAAa;QACb,oBAAoB;QACpB,kBAAkB;QAClB,gBAAgB;KACnB,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { IAutomationMetadataObject, IWidget } from "@gooddata/sdk-model";
2
+ /**
3
+ * @internal
4
+ */
5
+ export interface IUseDashboardScheduledEmailsManagementDialogProps {
6
+ setScheduledExportToEdit: (automation?: IAutomationMetadataObject) => void;
7
+ }
8
+ /**
9
+ * @internal
10
+ */
11
+ export declare const useDashboardScheduledEmailsManagementDialog: ({ setScheduledExportToEdit, }: IUseDashboardScheduledEmailsManagementDialogProps) => {
12
+ defaultOnScheduleEmailingManagement: (widget?: IWidget) => void;
13
+ onScheduleEmailingManagementOpen: (widget?: IWidget) => void;
14
+ onScheduleEmailingManagementClose: () => void;
15
+ onScheduleEmailingManagementLoadingError: () => void;
16
+ onScheduleEmailingManagementAdd: (widget?: IWidget) => void;
17
+ onScheduleEmailingManagementEdit: (schedule: IAutomationMetadataObject, widget?: IWidget) => void;
18
+ onScheduleEmailingManagementDeleteSuccess: () => void;
19
+ onScheduleEmailingManagementDeleteError: () => void;
20
+ };
21
+ //# sourceMappingURL=useDashboardScheduledEmailsManagementDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardScheduledEmailsManagementDialog.d.ts","sourceRoot":"","sources":["../../../../src/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsManagementDialog.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAMzE;;GAEG;AACH,MAAM,WAAW,iDAAiD;IAC9D,wBAAwB,EAAE,CAAC,UAAU,CAAC,EAAE,yBAAyB,KAAK,IAAI,CAAC;CAC9E;AAED;;GAEG;AACH,eAAO,MAAM,2CAA2C,kCAErD,iDAAiD;mDAoBlC,OAAO;gDAYP,OAAO;;;+CAkBP,OAAO;iDASN,yBAAyB,WAAW,OAAO;;;CA+B7D,CAAC"}
@@ -0,0 +1,72 @@
1
+ // (C) 2022-2024 GoodData Corporation
2
+ import { useCallback } from "react";
3
+ import { useToastMessage } from "@gooddata/sdk-ui-kit";
4
+ import { messages } from "../../../locales.js";
5
+ import { useDashboardScheduledEmailsCommands } from "./useDashboardScheduledEmailsCommands.js";
6
+ import { selectDashboardRef } from "../../store/index.js";
7
+ import { useDashboardSelector } from "../DashboardStoreProvider.js";
8
+ /**
9
+ * @internal
10
+ */
11
+ export const useDashboardScheduledEmailsManagementDialog = ({ setScheduledExportToEdit, }) => {
12
+ const { addSuccess, addError } = useToastMessage();
13
+ const dashboardRef = useDashboardSelector(selectDashboardRef);
14
+ const { closeScheduleEmailingDialog, closeScheduleEmailingManagementDialog, openScheduleEmailingDialog, openScheduleEmailingManagementDialog, refreshAutomations, } = useDashboardScheduledEmailsCommands();
15
+ /*
16
+ * exports and scheduling are not available when rendering a dashboard that is not persisted.
17
+ * this can happen when a new dashboard is created and is being edited.
18
+ *
19
+ * the setup of menu items available in the menu needs to reflect this.
20
+ */
21
+ const defaultOnScheduleEmailingManagement = useCallback((widget) => {
22
+ if (!dashboardRef) {
23
+ return;
24
+ }
25
+ openScheduleEmailingManagementDialog(widget);
26
+ }, [dashboardRef, openScheduleEmailingManagementDialog]);
27
+ // Open / Close
28
+ const onScheduleEmailingManagementOpen = useCallback((widget) => {
29
+ openScheduleEmailingManagementDialog(widget);
30
+ }, [openScheduleEmailingManagementDialog]);
31
+ const onScheduleEmailingManagementClose = useCallback(() => {
32
+ closeScheduleEmailingManagementDialog();
33
+ }, [closeScheduleEmailingManagementDialog]);
34
+ // Loading
35
+ const onScheduleEmailingManagementLoadingError = useCallback(() => {
36
+ closeScheduleEmailingManagementDialog();
37
+ addError(messages.scheduleManagementLoadError);
38
+ }, [closeScheduleEmailingManagementDialog, addError]);
39
+ // Create
40
+ const onScheduleEmailingManagementAdd = useCallback((widget) => {
41
+ closeScheduleEmailingManagementDialog();
42
+ openScheduleEmailingDialog(widget);
43
+ }, [closeScheduleEmailingManagementDialog, openScheduleEmailingDialog]);
44
+ // Edit
45
+ const onScheduleEmailingManagementEdit = useCallback((schedule, widget) => {
46
+ closeScheduleEmailingManagementDialog();
47
+ setScheduledExportToEdit(schedule);
48
+ openScheduleEmailingDialog(widget);
49
+ }, [closeScheduleEmailingManagementDialog, openScheduleEmailingDialog, setScheduledExportToEdit]);
50
+ // Delete
51
+ const onScheduleEmailingManagementDeleteSuccess = useCallback(() => {
52
+ closeScheduleEmailingDialog();
53
+ addSuccess(messages.scheduleEmailDeleteSuccess);
54
+ refreshAutomations();
55
+ }, [addSuccess, closeScheduleEmailingDialog, refreshAutomations]);
56
+ const onScheduleEmailingManagementDeleteError = useCallback(() => {
57
+ closeScheduleEmailingDialog();
58
+ closeScheduleEmailingManagementDialog();
59
+ addError(messages.scheduleManagementDeleteError);
60
+ }, [closeScheduleEmailingDialog, closeScheduleEmailingManagementDialog, addError]);
61
+ return {
62
+ defaultOnScheduleEmailingManagement,
63
+ onScheduleEmailingManagementOpen,
64
+ onScheduleEmailingManagementClose,
65
+ onScheduleEmailingManagementLoadingError,
66
+ onScheduleEmailingManagementAdd,
67
+ onScheduleEmailingManagementEdit,
68
+ onScheduleEmailingManagementDeleteSuccess,
69
+ onScheduleEmailingManagementDeleteError,
70
+ };
71
+ };
72
+ //# sourceMappingURL=useDashboardScheduledEmailsManagementDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDashboardScheduledEmailsManagementDialog.js","sourceRoot":"","sources":["../../../../src/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsManagementDialog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { FilterContextItem, IAutomationMetadataObject } from "@gooddata/sdk-model";
2
+ /**
3
+ * @alpha
4
+ */
5
+ export interface IUseFiltersForDashboardScheduledExportProps {
6
+ /**
7
+ * Optionally provide metadata object to get filters from instead of the current dashboard filters.
8
+ */
9
+ scheduledExportToEdit?: IAutomationMetadataObject;
10
+ }
11
+ /**
12
+ * Hook for getting filters for dashboard scheduled export.
13
+ *
14
+ * Note:
15
+ * - This function excludes cross-filtering filters, as these are typically not desired in exported reports.
16
+ *
17
+ * - If the current dashboard filters (excluding cross-filtering) match the saved dashboard filters, this hook returns undefined.
18
+ * In such cases, the scheduled export will use the most recent saved dashboard filters, guaranteeing that
19
+ * the export reflects the latest intended filter configuration.
20
+ *
21
+ * - If we are editing an existing scheduled export, this function will return its filters, as changing saved filters is currently not allowed.
22
+ *
23
+ * @alpha
24
+ */
25
+ export declare const useFiltersForDashboardScheduledExport: ({ scheduledExportToEdit, }: IUseFiltersForDashboardScheduledExportProps) => FilterContextItem[] | undefined;
26
+ //# sourceMappingURL=useFiltersForDashboardScheduledExport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFiltersForDashboardScheduledExport.d.ts","sourceRoot":"","sources":["../../../../src/model/react/useDasboardScheduledEmails/useFiltersForDashboardScheduledExport.ts"],"names":[],"mappings":"AACA,OAAO,EACH,iBAAiB,EACjB,yBAAyB,EAE5B,MAAM,qBAAqB,CAAC;AAW7B;;GAEG;AACH,MAAM,WAAW,2CAA2C;IACxD;;OAEG;IACH,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;CACrD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,qCAAqC,+BAE/C,2CAA2C,oCAsB7C,CAAC"}