@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
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentFilters.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFilters.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAWxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAcrF,UAAU,uBAAuB;IAC7B,UAAU,EAAE,oBAAoB,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC/C;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAOxD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAqG/D,CAAC"}
1
+ {"version":3,"file":"AttachmentFilters.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFilters.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAYxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AAajG,UAAU,uBAAuB;IAC7B,UAAU,EAAE,oBAAoB,CAAC;IACjC,QAAQ,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC/C;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACrC;AAED;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAOxD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAqG/D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentFilters.js","sourceRoot":"","sources":["../../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFilters.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AttachmentFilters.js","sourceRoot":"","sources":["../../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFilters.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import { IAttachmentFilterInfo } from "../../hooks/useAttachmentDashboardFilters.js";
2
+ import { IAttachmentFilterInfo } from "../../hooks/useFiltersForDashboardScheduledExportInfo.js";
3
3
  interface IAttachmentFiltersListProps {
4
4
  filters?: IAttachmentFilterInfo[];
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AttachmentFiltersList.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFiltersList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAC;AAErF,UAAU,2BAA2B;IACjC,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACrC;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAYvE,CAAC"}
1
+ {"version":3,"file":"AttachmentFiltersList.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFiltersList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AAEjG,UAAU,2BAA2B;IACjC,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACrC;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CAYvE,CAAC"}
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import { FilterContextItem, IAutomationMetadataObject } from "@gooddata/sdk-model";
3
+ import { IAttachmentFilterInfo } from "../../hooks/useFiltersForDashboardScheduledExportInfo.js";
4
+ export interface IDashboardAttachmentsProps {
5
+ scheduledExportToEdit?: IAutomationMetadataObject;
6
+ dashboardSelected: boolean;
7
+ areDashboardFiltersChanged: boolean;
8
+ dashboardFilters?: FilterContextItem[];
9
+ isCrossFiltering: boolean;
10
+ filtersToDisplayInfo: IAttachmentFilterInfo[];
11
+ onDashboardAttachmentsSelectionChange: (dashboardSelected: boolean, filters?: FilterContextItem[]) => void;
12
+ }
13
+ export declare const DashboardAttachments: (props: IDashboardAttachmentsProps) => React.JSX.Element;
14
+ //# sourceMappingURL=DashboardAttachments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardAttachments.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAKnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AAEjG,MAAM,WAAW,0BAA0B;IACvC,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,0BAA0B,EAAE,OAAO,CAAC;IACpC,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACvC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,qBAAqB,EAAE,CAAC;IAC9C,qCAAqC,EAAE,CACnC,iBAAiB,EAAE,OAAO,EAC1B,OAAO,CAAC,EAAE,iBAAiB,EAAE,KAC5B,IAAI,CAAC;CACb;AAED,eAAO,MAAM,oBAAoB,UAAW,0BAA0B,sBAgFrE,CAAC"}
@@ -0,0 +1,46 @@
1
+ // (C) 2019-2024 GoodData Corporation
2
+ import React, { useState } from "react";
3
+ import { FormattedMessage } from "react-intl";
4
+ import { Message } from "@gooddata/sdk-ui-kit";
5
+ import { AttachmentFilters } from "./AttachmentFilters.js";
6
+ import { getAutomationDashboardFilters } from "../../../../../_staging/automation/index.js";
7
+ import { AttachmentDashboard } from "./AttachmentItems.js";
8
+ export const DashboardAttachments = (props) => {
9
+ const { dashboardSelected, scheduledExportToEdit, areDashboardFiltersChanged, dashboardFilters, isCrossFiltering, filtersToDisplayInfo, onDashboardAttachmentsSelectionChange, } = props;
10
+ /**
11
+ * When editing a schedule, we need to get the filters from the export definition and we don't care
12
+ * about the actual filters on the dashboard.
13
+ */
14
+ const savedFilters = getAutomationDashboardFilters(scheduledExportToEdit);
15
+ const isEditing = !!scheduledExportToEdit;
16
+ const [attachmentFilterType, setAttachmentFilterType] = useState(
17
+ /**
18
+ * We use "edited" by default when creating a new schedule or editing
19
+ * an existing schedule with filters.
20
+ * "default" is used when editing without filters.
21
+ */
22
+ !isEditing || savedFilters ? "edited" : "default");
23
+ const showAttachmentFilters = isEditing
24
+ ? attachmentFilterType !== "default"
25
+ : areDashboardFiltersChanged && dashboardSelected;
26
+ const includeFilters = attachmentFilterType === "edited" && areDashboardFiltersChanged;
27
+ const handleAttachmentFilterTypeChange = (type) => {
28
+ const includeFilters = type === "edited" && areDashboardFiltersChanged;
29
+ setAttachmentFilterType(type);
30
+ onDashboardAttachmentsSelectionChange(dashboardSelected, includeFilters ? dashboardFilters : undefined);
31
+ };
32
+ const handleDashboardAttachmentSelectionChange = () => {
33
+ onDashboardAttachmentsSelectionChange(!dashboardSelected, includeFilters ? dashboardFilters : undefined);
34
+ };
35
+ return (React.createElement("div", { className: "gd-input-component gd-notifications-channels-attachments s-notifications-channels-attachments" },
36
+ React.createElement("label", { className: "gd-label" },
37
+ React.createElement(FormattedMessage, { id: "dialogs.schedule.email.attachments.label" })),
38
+ React.createElement("div", { className: "gd-attachment-list" },
39
+ React.createElement(AttachmentDashboard, { pdfSelected: dashboardSelected, onSelectionChange: handleDashboardAttachmentSelectionChange }),
40
+ React.createElement(AttachmentFilters, { filterType: attachmentFilterType, onChange: handleAttachmentFilterTypeChange, hidden: !showAttachmentFilters, disabled: isEditing, filters: filtersToDisplayInfo }),
41
+ isCrossFiltering && dashboardSelected ? (React.createElement(Message, { type: "progress", className: "gd-attachment-list-message" },
42
+ React.createElement(FormattedMessage, { id: "dialogs.schedule.management.attachments.message", values: {
43
+ strong: (chunks) => React.createElement("strong", null, chunks),
44
+ } }))) : null)));
45
+ };
46
+ //# sourceMappingURL=DashboardAttachments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardAttachments.js","sourceRoot":"","sources":["../../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAK,EAAE,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAwB,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAgB3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAiC,EAAE,EAAE;IACtE,MAAM,EACF,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,qCAAqC,GACxC,GAAG,KAAK,CAAC;IAEV;;;OAGG;IACH,MAAM,YAAY,GAAG,6BAA6B,CAAC,qBAAqB,CAAC,CAAC;IAE1E,MAAM,SAAS,GAAG,CAAC,CAAC,qBAAqB,CAAC;IAE1C,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ;IAC5D;;;;OAIG;IACH,CAAC,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CACpD,CAAC;IAEF,MAAM,qBAAqB,GAAG,SAAS;QACnC,CAAC,CAAC,oBAAoB,KAAK,SAAS;QACpC,CAAC,CAAC,0BAA0B,IAAI,iBAAiB,CAAC;IAEtD,MAAM,cAAc,GAAG,oBAAoB,KAAK,QAAQ,IAAI,0BAA0B,CAAC;IAEvF,MAAM,gCAAgC,GAAG,CAAC,IAA0B,EAAE,EAAE;QACpE,MAAM,cAAc,GAAG,IAAI,KAAK,QAAQ,IAAI,0BAA0B,CAAC;QACvE,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAC9B,qCAAqC,CACjC,iBAAiB,EACjB,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,wCAAwC,GAAG,GAAG,EAAE;QAClD,qCAAqC,CACjC,CAAC,iBAAiB,EAClB,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAChD,CAAC;IACN,CAAC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAC,+FAA+F;QAC1G,+BAAO,SAAS,EAAC,UAAU;YACvB,oBAAC,gBAAgB,IAAC,EAAE,EAAC,0CAA0C,GAAG,CAC9D;QACR,6BAAK,SAAS,EAAC,oBAAoB;YAC/B,oBAAC,mBAAmB,IAChB,WAAW,EAAE,iBAAiB,EAC9B,iBAAiB,EAAE,wCAAwC,GAC7D;YACF,oBAAC,iBAAiB,IACd,UAAU,EAAE,oBAAoB,EAChC,QAAQ,EAAE,gCAAgC,EAC1C,MAAM,EAAE,CAAC,qBAAqB,EAC9B,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,oBAAoB,GAC/B;YACD,gBAAgB,IAAI,iBAAiB,CAAC,CAAC,CAAC,CACrC,oBAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAC,4BAA4B;gBAC3D,oBAAC,gBAAgB,IACb,EAAE,EAAC,iDAAiD,EACpD,MAAM,EAAE;wBACJ,MAAM,EAAE,CAAC,MAAiB,EAAE,EAAE,CAAC,oCAAS,MAAM,CAAU;qBAC3D,GACH,CACI,CACb,CAAC,CAAC,CAAC,IAAI,CACN,CACJ,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import { IAutomationMetadataObject, IExportDefinitionVisualizationObjectSettings, IFilter } from "@gooddata/sdk-model";
3
+ import { WidgetAttachmentType } from "../../types.js";
4
+ export interface IWidgetAttachmentsProps {
5
+ widgetFilters?: IFilter[];
6
+ areDashboardFiltersChanged: boolean;
7
+ isCrossFiltering: boolean;
8
+ scheduledExportToEdit?: IAutomationMetadataObject;
9
+ csvSelected: boolean;
10
+ xlsxSelected: boolean;
11
+ settings: IExportDefinitionVisualizationObjectSettings;
12
+ onWidgetAttachmentsSelectionChange: (selected: boolean, format: WidgetAttachmentType, filters?: IFilter[]) => void;
13
+ onWidgetAttachmentsSettingsChange: (obj: IExportDefinitionVisualizationObjectSettings) => void;
14
+ }
15
+ export declare const WidgetAttachments: (props: IWidgetAttachmentsProps) => React.JSX.Element;
16
+ //# sourceMappingURL=WidgetAttachments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetAttachments.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.tsx"],"names":[],"mappings":"AACA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAEzC,OAAO,EACH,yBAAyB,EACzB,4CAA4C,EAC5C,OAAO,EACV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,WAAW,uBAAuB;IACpC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;IAC1B,0BAA0B,EAAE,OAAO,CAAC;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,4CAA4C,CAAC;IACvD,kCAAkC,EAAE,CAChC,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,oBAAoB,EAC5B,OAAO,CAAC,EAAE,OAAO,EAAE,KAClB,IAAI,CAAC;IACV,iCAAiC,EAAE,CAAC,GAAG,EAAE,4CAA4C,KAAK,IAAI,CAAC;CAClG;AAED,eAAO,MAAM,iBAAiB,UAAW,uBAAuB,sBAuD/D,CAAC"}
@@ -0,0 +1,31 @@
1
+ // (C) 2019-2024 GoodData Corporation
2
+ import React from "react";
3
+ import { FormattedMessage } from "react-intl";
4
+ import { Message } from "@gooddata/sdk-ui-kit";
5
+ import { AttachmentWidgets } from "./AttachmentItems.js";
6
+ export const WidgetAttachments = (props) => {
7
+ const { widgetFilters, areDashboardFiltersChanged, isCrossFiltering, csvSelected, xlsxSelected, settings, scheduledExportToEdit, onWidgetAttachmentsSelectionChange, onWidgetAttachmentsSettingsChange, } = props;
8
+ const isEditing = !!scheduledExportToEdit;
9
+ const handleWidgetAttachmentSelectionChange = (format) => {
10
+ if (format === "CSV") {
11
+ onWidgetAttachmentsSelectionChange(!csvSelected, format, widgetFilters);
12
+ }
13
+ else {
14
+ onWidgetAttachmentsSelectionChange(!xlsxSelected, format, widgetFilters);
15
+ }
16
+ };
17
+ return (React.createElement("div", { className: "gd-input-component gd-notifications-channels-attachments s-notifications-channels-attachments" },
18
+ React.createElement("label", { className: "gd-label" },
19
+ React.createElement(FormattedMessage, { id: "dialogs.schedule.email.attachments.label" })),
20
+ React.createElement("div", { className: "gd-attachment-list" },
21
+ React.createElement(AttachmentWidgets, { csvSelected: csvSelected, xlsxSelected: xlsxSelected, settings: settings, onSelectionChange: handleWidgetAttachmentSelectionChange, onSettingsChange: onWidgetAttachmentsSettingsChange }),
22
+ (isEditing || areDashboardFiltersChanged) && (csvSelected || xlsxSelected) ? (React.createElement("div", null,
23
+ React.createElement(FormattedMessage, { id: "dialogs.schedule.management.attachments.filters.using" }),
24
+ " ",
25
+ React.createElement(FormattedMessage, { id: "dialogs.schedule.management.attachments.filters.edited" }))) : null,
26
+ isCrossFiltering ? (React.createElement(Message, { type: "progress", className: "gd-attachment-list-message" },
27
+ React.createElement(FormattedMessage, { id: "dialogs.schedule.management.attachments.message", values: {
28
+ strong: (chunks) => React.createElement("strong", null, chunks),
29
+ } }))) : null)));
30
+ };
31
+ //# sourceMappingURL=WidgetAttachments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WidgetAttachments.js","sourceRoot":"","sources":["../../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAM9C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAmBzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAA8B,EAAE,EAAE;IAChE,MAAM,EACF,aAAa,EACb,0BAA0B,EAC1B,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,qBAAqB,EACrB,kCAAkC,EAClC,iCAAiC,GACpC,GAAG,KAAK,CAAC;IAEV,MAAM,SAAS,GAAG,CAAC,CAAC,qBAAqB,CAAC;IAE1C,MAAM,qCAAqC,GAAG,CAAC,MAA4B,EAAE,EAAE;QAC3E,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YACnB,kCAAkC,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACJ,kCAAkC,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAC,+FAA+F;QAC1G,+BAAO,SAAS,EAAC,UAAU;YACvB,oBAAC,gBAAgB,IAAC,EAAE,EAAC,0CAA0C,GAAG,CAC9D;QACR,6BAAK,SAAS,EAAC,oBAAoB;YAC/B,oBAAC,iBAAiB,IACd,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,iBAAiB,EAAE,qCAAqC,EACxD,gBAAgB,EAAE,iCAAiC,GACrD;YACD,CAAC,SAAS,IAAI,0BAA0B,CAAC,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAC1E;gBACI,oBAAC,gBAAgB,IAAC,EAAE,EAAC,uDAAuD,GAAG;gBAAC,GAAG;gBACnF,oBAAC,gBAAgB,IAAC,EAAE,EAAC,wDAAwD,GAAG,CAC9E,CACT,CAAC,CAAC,CAAC,IAAI;YACP,gBAAgB,CAAC,CAAC,CAAC,CAChB,oBAAC,OAAO,IAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAC,4BAA4B;gBAC3D,oBAAC,gBAAgB,IACb,EAAE,EAAC,iDAAiD,EACpD,MAAM,EAAE;wBACJ,MAAM,EAAE,CAAC,MAAiB,EAAE,EAAE,CAAC,oCAAS,MAAM,CAAU;qBAC3D,GACH,CACI,CACb,CAAC,CAAC,CAAC,IAAI,CACN,CACJ,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -3,7 +3,7 @@
3
3
  import React, { useMemo, useState } from "react";
4
4
  import sortBy from "lodash/sortBy.js";
5
5
  import { RecipientsSelectRenderer } from "./RecipientsSelectRenderer.js";
6
- import { convertUserToAutomationRecipient } from "../../utils/automationHelpers.js";
6
+ import { convertUserToAutomationRecipient } from "../../../../../_staging/automation/index.js";
7
7
  export const RecipientsSelect = (props) => {
8
8
  const { users, value, originalValue, onChange, allowEmptySelection, maxRecipients } = props;
9
9
  const [search, setSearch] = useState();
@@ -1 +1 @@
1
- {"version":3,"file":"RecipientsSelect.js","sourceRoot":"","sources":["../../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,kDAAkD;AAClD,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AAkCpF,MAAM,CAAC,MAAM,gBAAgB,GAAqC,CAAC,KAAK,EAAE,EAAE;IACxE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAE5F,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAU,CAAC;IAE/C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxF,OAAO,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,gCAAgC,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC;IAC5F,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpB,OAAO,CACH,oBAAC,wBAAwB,IACrB,qBAAqB,QACrB,OAAO,QACP,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE;YACrB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC,EACD,SAAS,EAAE,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EACvD,mBAAmB,EAAE,mBAAmB,EACxC,aAAa,EAAE,aAAa,GAC9B,CACL,CAAC;AACN,CAAC,CAAC;AAEF,SAAS,SAAS,CAAC,IAAoB,EAAE,MAAc;IACnD,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7C,OAAO,CACH,cAAc,EAAE,QAAQ,CAAC,eAAe,CAAC;QACzC,aAAa,EAAE,QAAQ,CAAC,eAAe,CAAC;QACxC,WAAW,EAAE,QAAQ,CAAC,eAAe,CAAC,CACzC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"RecipientsSelect.js","sourceRoot":"","sources":["../../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.tsx"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,kDAAkD;AAClD,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,MAAM,MAAM,kBAAkB,CAAC;AAEtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gCAAgC,EAAE,MAAM,6CAA6C,CAAC;AAkC/F,MAAM,CAAC,MAAM,gBAAgB,GAAqC,CAAC,KAAK,EAAE,EAAE;IACxE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,mBAAmB,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAE5F,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,EAAU,CAAC;IAE/C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxF,OAAO,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,gCAAgC,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,CAAC;IAC5F,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAEpB,OAAO,CACH,oBAAC,wBAAwB,IACrB,qBAAqB,QACrB,OAAO,QACP,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,CAAC,YAAY,EAAE,EAAE;YACrB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC,EACD,SAAS,EAAE,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EACvD,mBAAmB,EAAE,mBAAmB,EACxC,aAAa,EAAE,aAAa,GAC9B,CACL,CAAC;AACN,CAAC,CAAC;AAEF,SAAS,SAAS,CAAC,IAAoB,EAAE,MAAc;IACnD,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7C,OAAO,CACH,cAAc,EAAE,QAAQ,CAAC,eAAe,CAAC;QACzC,aAAa,EAAE,QAAQ,CAAC,eAAe,CAAC;QACxC,WAAW,EAAE,QAAQ,CAAC,eAAe,CAAC,CACzC,CAAC;AACN,CAAC"}
@@ -1,21 +1,42 @@
1
- import { IAutomationMetadataObjectDefinition, IAutomationRecipient, FilterContextItem, IExportDefinitionVisualizationObjectSettings } from "@gooddata/sdk-model";
2
- import { IScheduledEmailDialogProps } from "../../types.js";
1
+ import { IAutomationMetadataObjectDefinition, IAutomationRecipient, FilterContextItem, IExportDefinitionVisualizationObjectSettings, IInsight, IAutomationMetadataObject, IFilter } from "@gooddata/sdk-model";
2
+ import { ExtendedDashboardWidget } from "../../../../model/index.js";
3
+ import { INotificationChannel } from "../../types.js";
3
4
  import { WidgetAttachmentType } from "../types.js";
4
- export declare function useEditScheduledEmail(props: IScheduledEmailDialogProps): {
5
+ export interface IUseEditScheduledEmailProps {
6
+ scheduledExportToEdit?: IAutomationMetadataObject;
7
+ notificationChannels: INotificationChannel[];
8
+ maxAutomationsRecipients: number;
9
+ widget?: ExtendedDashboardWidget;
10
+ insight?: IInsight;
11
+ widgetFilters?: IFilter[];
12
+ dashboardFilters?: FilterContextItem[];
13
+ }
14
+ export declare function useEditScheduledEmail(props: IUseEditScheduledEmailProps): {
15
+ areDashboardFiltersChanged: boolean;
5
16
  originalAutomation: IAutomationMetadataObjectDefinition;
6
- automation: IAutomationMetadataObjectDefinition;
17
+ editedAutomation: IAutomationMetadataObjectDefinition;
18
+ isCronValid: boolean;
19
+ notificationChannels: INotificationChannel[];
20
+ warningMessage: string | undefined;
21
+ isDashboardExportSelected: boolean;
22
+ isCsvExportSelected: boolean;
23
+ isXlsxExportSelected: boolean;
24
+ settings: {
25
+ mergeHeaders: boolean;
26
+ };
27
+ startDate: Date;
28
+ showRecipientsSelect: boolean;
29
+ validationErrorMessage: string | undefined;
30
+ isSubmitDisabled: boolean | undefined;
7
31
  onTitleChange: (value: string) => void;
8
32
  onRecurrenceChange: (cronExpression: string, startDate: Date | null, isValid: boolean) => void;
9
33
  onDestinationChange: (notificationChannelId: string) => void;
10
34
  onRecipientsChange: (updatedRecipients: IAutomationRecipient[]) => void;
11
35
  onSubjectChange: (value: string | number) => void;
12
36
  onMessageChange: (value: string) => void;
13
- onDashboardAttachmentsChange: (dashboardSelected: boolean, filters?: FilterContextItem[]) => void;
14
- onWidgetAttachmentsChange: (selected: boolean, format: WidgetAttachmentType, filters?: FilterContextItem[]) => void;
37
+ onDashboardAttachmentsChange: (dashboardSelected: boolean, dashboardFilters?: FilterContextItem[]) => void;
38
+ onWidgetAttachmentsChange: (selected: boolean, format: WidgetAttachmentType, widgetFilters?: IFilter[]) => void;
15
39
  onWidgetAttachmentsSettingsChange: ({ mergeHeaders, }: IExportDefinitionVisualizationObjectSettings) => void;
16
- isCronValid: boolean;
17
- notificationChannels: (import("@gooddata/sdk-model").IWebhookDefinitionObject | import("@gooddata/sdk-model").ISmtpDefinitionObject)[];
18
- warningMessage: string | undefined;
19
40
  };
20
41
  export declare function getDefaultCronExpression(date: Date): string;
21
42
  //# sourceMappingURL=useEditScheduledEmail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useEditScheduledEmail.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,mCAAmC,EAEnC,oBAAoB,EACpB,iBAAiB,EACjB,4CAA4C,EAO/C,MAAM,qBAAqB,CAAC;AAc7B,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAiBnD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,0BAA0B;;;2BA0DrC,MAAM;yCAEQ,MAAM,aAAa,IAAI,GAAG,IAAI,WAAW,OAAO;iDAYxC,MAAM,KAAG,IAAI;4CAmClB,oBAAoB,EAAE,KAAG,IAAI;6BAO5C,MAAM,GAAG,MAAM,KAAG,IAAI;6BAUtB,MAAM,KAAG,IAAI;sDAWtB,OAAO,YAChB,iBAAiB,EAAE,KAC9B,IAAI;0CAgCO,OAAO,UACT,oBAAoB,YAClB,iBAAiB,EAAE,KAC9B,IAAI;2DA0CJ,4CAA4C;;;;EAyClD;AAoID,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,UAElD"}
1
+ {"version":3,"file":"useEditScheduledEmail.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,mCAAmC,EAEnC,oBAAoB,EACpB,iBAAiB,EACjB,4CAA4C,EAG5C,QAAQ,EACR,yBAAyB,EAEzB,OAAO,EACV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAKH,uBAAuB,EAE1B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAgBnD,MAAM,WAAW,2BAA2B;IACxC,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;IAC7C,wBAAwB,EAAE,MAAM,CAAC;IAGjC,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;IAG1B,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC1C;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,2BAA2B;;;;;;;;;;;;;;;;;2BAiDtC,MAAM;yCAEQ,MAAM,aAAa,IAAI,GAAG,IAAI,WAAW,OAAO;iDAYxC,MAAM,KAAG,IAAI;4CAmClB,oBAAoB,EAAE,KAAG,IAAI;6BAO5C,MAAM,GAAG,MAAM,KAAG,IAAI;6BAUtB,MAAM,KAAG,IAAI;sDAWtB,OAAO,qBACP,iBAAiB,EAAE,KACvC,IAAI;0CAgCO,OAAO,UACT,oBAAoB,kBACZ,OAAO,EAAE,KAC1B,IAAI;2DAyCJ,4CAA4C;EA6GlD;AAkID,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,UAElD"}
@@ -1,62 +1,50 @@
1
1
  // (C) 2019-2024 GoodData Corporation
2
- import { useMemo, useState } from "react";
2
+ import { useState } from "react";
3
3
  import { isExportDefinitionVisualizationObjectRequestPayload, isExportDefinitionDashboardRequestPayload, } from "@gooddata/sdk-model";
4
4
  import parseISO from "date-fns/parseISO/index.js";
5
5
  import { getUserTimezone } from "../utils/timezone.js";
6
- import { useDashboardSelector, selectDashboardTitle, selectDashboardId, selectInsightByWidgetRef, selectWidgetByRef, isCustomWidget, selectCurrentUser, } from "../../../../model/index.js";
6
+ import { useDashboardSelector, selectDashboardTitle, selectDashboardId, isCustomWidget, selectCurrentUser, } from "../../../../model/index.js";
7
7
  import { normalizeTime } from "@gooddata/sdk-ui-kit";
8
8
  import { toModifiedISOString } from "../../DefaultScheduledEmailManagementDialog/utils.js";
9
- import { useAttachmentDashboardFilters } from "./useAttachmentDashboardFilters.js";
10
- import { convertUserToAutomationRecipient, getAutomationDashboardFilters, getAutomationVisualizationFilters, isCsvVisualizationAutomation, isCsvVisualizationExportDefinition, isDashboardAutomation, isXlsxVisualizationAutomation, isXlsxVisualizationExportDefinition, transformFilterContextToModelFilters, } from "../utils/automationHelpers.js";
9
+ import { areAutomationsEqual, convertUserToAutomationRecipient, getAutomationVisualizationFilters, isCsvVisualizationAutomation, isCsvVisualizationExportDefinition, isDashboardAutomation, isXlsxVisualizationAutomation, isXlsxVisualizationExportDefinition, } from "../../../../_staging/automation/index.js";
11
10
  import { invariant } from "ts-invariant";
12
11
  import { useIntl } from "react-intl";
12
+ import { useScheduleValidation } from "./useScheduleValidation.js";
13
13
  export function useEditScheduledEmail(props) {
14
- const { editSchedule, webhooks, emails, context } = props;
14
+ const { scheduledExportToEdit, notificationChannels, insight, widget, dashboardFilters, widgetFilters, maxAutomationsRecipients, } = props;
15
15
  const intl = useIntl();
16
16
  const [isCronValid, setIsCronValid] = useState(true);
17
17
  const [warningMessage, setWarningMessage] = useState(undefined);
18
- const editWidgetId = editSchedule?.exportDefinitions?.find((exportDefinition) => isExportDefinitionVisualizationObjectRequestPayload(exportDefinition.requestPayload))?.requestPayload.content?.widget;
19
- const editWidgetRef = editWidgetId ? { identifier: editWidgetId } : undefined;
20
- const widget = useDashboardSelector(selectWidgetByRef(context?.widgetRef ?? editWidgetRef));
21
- const insight = useDashboardSelector(selectInsightByWidgetRef(widget?.ref));
22
18
  const isWidget = !!widget && !!insight;
19
+ // Dashboard
23
20
  const dashboardId = useDashboardSelector(selectDashboardId);
24
21
  const dashboardTitle = useDashboardSelector(selectDashboardTitle);
22
+ const areDashboardFiltersChanged = !!dashboardFilters;
25
23
  const currentUser = useDashboardSelector(selectCurrentUser);
26
24
  const defaultRecipient = convertUserToAutomationRecipient(currentUser);
27
- const dashboardEditFilters = getAutomationDashboardFilters(editSchedule);
28
- const { areFiltersChanged, filtersToStore } = useAttachmentDashboardFilters({
29
- customFilters: dashboardEditFilters,
30
- widget,
31
- });
32
- const notificationChannels = useMemo(() => [...emails, ...webhooks], [webhooks, emails]);
33
25
  const firstChannel = notificationChannels[0]?.id;
34
- const [state, setState] = useState(editSchedule ??
26
+ const [editedAutomation, setEditedAutomation] = useState(scheduledExportToEdit ??
35
27
  newAutomationMetadataObjectDefinition(isWidget
36
28
  ? {
37
29
  dashboardId: dashboardId,
38
30
  notificationChannel: firstChannel,
39
31
  insight,
40
32
  widget,
41
- /**
42
- * We always store all filters with widget attachment due to problems with
43
- * construction of AFM definition on BE.
44
- */
45
- filters: filtersToStore,
46
33
  user: currentUser,
34
+ widgetFilters,
47
35
  }
48
36
  : {
49
37
  dashboardId: dashboardId,
50
38
  notificationChannel: firstChannel,
51
39
  title: dashboardTitle,
52
- filters: areFiltersChanged ? filtersToStore : undefined,
53
40
  user: currentUser,
41
+ dashboardFilters,
54
42
  }));
55
- const [originalState] = useState(state);
56
- const onTitleChange = (value) => setState((s) => ({ ...s, title: value }));
43
+ const [originalAutomation] = useState(editedAutomation);
44
+ const onTitleChange = (value) => setEditedAutomation((s) => ({ ...s, title: value }));
57
45
  const onRecurrenceChange = (cronExpression, startDate, isValid) => {
58
46
  setIsCronValid(isValid);
59
- setState((s) => ({
47
+ setEditedAutomation((s) => ({
60
48
  ...s,
61
49
  schedule: {
62
50
  ...(s.schedule ?? {}),
@@ -66,7 +54,7 @@ export function useEditScheduledEmail(props) {
66
54
  }));
67
55
  };
68
56
  const onDestinationChange = (notificationChannelId) => {
69
- const previousNotificationChannel = notificationChannels.find((channel) => state.notificationChannel === channel.id);
57
+ const previousNotificationChannel = notificationChannels.find((channel) => editedAutomation.notificationChannel === channel.id);
70
58
  const selectedNotificationChannel = notificationChannels.find((channel) => notificationChannelId === channel.id);
71
59
  /**
72
60
  * When allowed recipients are changed from "ALL" to "CREATOR", show warning message
@@ -82,20 +70,20 @@ export function useEditScheduledEmail(props) {
82
70
  const updatedRecipients = selectedNotificationChannel?.allowedRecipients === "CREATOR"
83
71
  ? { recipients: [defaultRecipient] }
84
72
  : {};
85
- setState((s) => ({
73
+ setEditedAutomation((s) => ({
86
74
  ...s,
87
75
  ...updatedRecipients,
88
76
  notificationChannel: notificationChannelId,
89
77
  }));
90
78
  };
91
79
  const onRecipientsChange = (updatedRecipients) => {
92
- setState((s) => ({
80
+ setEditedAutomation((s) => ({
93
81
  ...s,
94
82
  recipients: updatedRecipients,
95
83
  }));
96
84
  };
97
85
  const onSubjectChange = (value) => {
98
- setState((s) => ({
86
+ setEditedAutomation((s) => ({
99
87
  ...s,
100
88
  details: {
101
89
  ...(s.details ?? {}),
@@ -104,7 +92,7 @@ export function useEditScheduledEmail(props) {
104
92
  }));
105
93
  };
106
94
  const onMessageChange = (value) => {
107
- setState((s) => ({
95
+ setEditedAutomation((s) => ({
108
96
  ...s,
109
97
  details: {
110
98
  ...(s.details ?? {}),
@@ -112,63 +100,62 @@ export function useEditScheduledEmail(props) {
112
100
  },
113
101
  }));
114
102
  };
115
- const onDashboardAttachmentsChange = (dashboardSelected, filters) => {
103
+ const onDashboardAttachmentsChange = (dashboardSelected, dashboardFilters) => {
116
104
  if (dashboardSelected) {
117
105
  const dashboardExportDefinition = newDashboardExportDefinitionMetadataObjectDefinition({
118
106
  dashboardId: dashboardId,
119
107
  dashboardTitle,
120
- filters,
108
+ dashboardFilters,
121
109
  });
122
- const dashboardExportDefinitionExists = isDashboardAutomation(state);
110
+ const dashboardExportDefinitionExists = isDashboardAutomation(editedAutomation);
123
111
  const updatedExportDefinitions = dashboardExportDefinitionExists
124
- ? state.exportDefinitions?.map((exportDefinition) => isExportDefinitionDashboardRequestPayload(exportDefinition.requestPayload)
112
+ ? editedAutomation.exportDefinitions?.map((exportDefinition) => isExportDefinitionDashboardRequestPayload(exportDefinition.requestPayload)
125
113
  ? dashboardExportDefinition
126
114
  : exportDefinition)
127
- : [...(state.exportDefinitions ?? []), dashboardExportDefinition];
128
- setState((s) => ({
115
+ : [...(editedAutomation.exportDefinitions ?? []), dashboardExportDefinition];
116
+ setEditedAutomation((s) => ({
129
117
  ...s,
130
118
  exportDefinitions: updatedExportDefinitions,
131
119
  }));
132
120
  }
133
121
  else {
134
- setState((s) => ({
122
+ setEditedAutomation((s) => ({
135
123
  ...s,
136
124
  exportDefinitions: s.exportDefinitions?.filter((exportDefinition) => !isExportDefinitionDashboardRequestPayload(exportDefinition.requestPayload)),
137
125
  }));
138
126
  }
139
127
  };
140
- const onWidgetAttachmentsChange = (selected, format, filters) => {
128
+ const onWidgetAttachmentsChange = (selected, format, widgetFilters) => {
141
129
  const automationTypeGuard = format === "CSV" ? isCsvVisualizationAutomation : isXlsxVisualizationAutomation;
142
130
  const exportDefinitionTypeGuard = format === "CSV" ? isCsvVisualizationExportDefinition : isXlsxVisualizationExportDefinition;
143
131
  invariant(isWidget, "Widget or insight is missing in scheduling dialog context.");
144
132
  if (selected) {
145
- const filtersObj = filters ? { filters } : {};
146
133
  const newExportDefinition = newWidgetExportDefinitionMetadataObjectDefinition({
147
134
  insight,
148
135
  widget,
149
136
  dashboardId: dashboardId,
150
137
  format,
151
- editSchedule,
152
- ...filtersObj,
138
+ scheduledExportToEdit,
139
+ widgetFilters,
153
140
  });
154
- const exportDefinitionExists = automationTypeGuard(state);
141
+ const exportDefinitionExists = automationTypeGuard(editedAutomation);
155
142
  const updatedExportDefinitions = exportDefinitionExists
156
- ? state.exportDefinitions?.map((exportDefinition) => exportDefinitionTypeGuard(exportDefinition) ? newExportDefinition : exportDefinition)
157
- : [...(state.exportDefinitions ?? []), newExportDefinition];
158
- setState((s) => ({
143
+ ? editedAutomation.exportDefinitions?.map((exportDefinition) => exportDefinitionTypeGuard(exportDefinition) ? newExportDefinition : exportDefinition)
144
+ : [...(editedAutomation.exportDefinitions ?? []), newExportDefinition];
145
+ setEditedAutomation((s) => ({
159
146
  ...s,
160
147
  exportDefinitions: updatedExportDefinitions,
161
148
  }));
162
149
  }
163
150
  else {
164
- setState((s) => ({
151
+ setEditedAutomation((s) => ({
165
152
  ...s,
166
153
  exportDefinitions: s.exportDefinitions?.filter((exportDefinition) => !exportDefinitionTypeGuard(exportDefinition)),
167
154
  }));
168
155
  }
169
156
  };
170
157
  const onWidgetAttachmentsSettingsChange = ({ mergeHeaders, }) => {
171
- setState((s) => ({
158
+ setEditedAutomation((s) => ({
172
159
  ...s,
173
160
  exportDefinitions: s.exportDefinitions?.map((exportDefinition) => {
174
161
  if (isExportDefinitionVisualizationObjectRequestPayload(exportDefinition.requestPayload) &&
@@ -190,9 +177,55 @@ export function useEditScheduledEmail(props) {
190
177
  }),
191
178
  }));
192
179
  };
180
+ const isDashboardExportSelected = editedAutomation.exportDefinitions?.some((exportDefinition) => isExportDefinitionDashboardRequestPayload(exportDefinition.requestPayload)) ?? false;
181
+ const isCsvExportSelected = editedAutomation.exportDefinitions?.some((exportDefinition) => {
182
+ if (isExportDefinitionVisualizationObjectRequestPayload(exportDefinition.requestPayload)) {
183
+ return exportDefinition.requestPayload.format === "CSV";
184
+ }
185
+ return false;
186
+ }) ?? false;
187
+ const isXlsxExportSelected = editedAutomation.exportDefinitions?.some((exportDefinition) => {
188
+ if (isExportDefinitionVisualizationObjectRequestPayload(exportDefinition.requestPayload)) {
189
+ return exportDefinition.requestPayload.format === "XLSX";
190
+ }
191
+ return false;
192
+ }) ?? false;
193
+ const settings = {
194
+ mergeHeaders: editedAutomation.exportDefinitions?.some((exportDefinition) => {
195
+ if (isExportDefinitionVisualizationObjectRequestPayload(exportDefinition.requestPayload)) {
196
+ return exportDefinition.requestPayload.settings?.mergeHeaders;
197
+ }
198
+ return false;
199
+ }) ?? true,
200
+ };
201
+ const startDate = parseISO(editedAutomation.schedule?.firstRun ?? normalizeTime(new Date(), undefined, 60).toISOString());
202
+ const selectedNotificationChannel = notificationChannels.find((channel) => channel.id === editedAutomation.notificationChannel);
203
+ const showRecipientsSelect = selectedNotificationChannel?.allowedRecipients !== "CREATOR";
204
+ const { isValid: isOriginalAutomationValid } = useScheduleValidation(originalAutomation);
205
+ const validationErrorMessage = !isOriginalAutomationValid
206
+ ? intl.formatMessage({ id: "dialogs.schedule.email.widgetError" })
207
+ : undefined;
208
+ const hasAttachments = !!editedAutomation.exportDefinitions?.length;
209
+ const hasRecipients = (editedAutomation.recipients?.length ?? 0) > 0;
210
+ const hasDestination = !!editedAutomation.notificationChannel;
211
+ const respectsRecipientsLimit = (editedAutomation.recipients?.length ?? 0) <= maxAutomationsRecipients;
212
+ const isValid = isCronValid && hasRecipients && respectsRecipientsLimit && hasAttachments && hasDestination;
213
+ const isSubmitDisabled = !isValid || (scheduledExportToEdit && areAutomationsEqual(originalAutomation, editedAutomation));
193
214
  return {
194
- originalAutomation: originalState,
195
- automation: state,
215
+ areDashboardFiltersChanged,
216
+ originalAutomation,
217
+ editedAutomation,
218
+ isCronValid,
219
+ notificationChannels,
220
+ warningMessage,
221
+ isDashboardExportSelected,
222
+ isCsvExportSelected,
223
+ isXlsxExportSelected,
224
+ settings,
225
+ startDate,
226
+ showRecipientsSelect,
227
+ validationErrorMessage,
228
+ isSubmitDisabled,
196
229
  onTitleChange,
197
230
  onRecurrenceChange,
198
231
  onDestinationChange,
@@ -202,13 +235,10 @@ export function useEditScheduledEmail(props) {
202
235
  onDashboardAttachmentsChange,
203
236
  onWidgetAttachmentsChange,
204
237
  onWidgetAttachmentsSettingsChange,
205
- isCronValid,
206
- notificationChannels,
207
- warningMessage,
208
238
  };
209
239
  }
210
- function newDashboardExportDefinitionMetadataObjectDefinition({ dashboardId, dashboardTitle, filters, }) {
211
- const filtersObj = filters ? { filters } : {};
240
+ function newDashboardExportDefinitionMetadataObjectDefinition({ dashboardId, dashboardTitle, dashboardFilters, }) {
241
+ const filtersObj = dashboardFilters ? { filters: dashboardFilters } : {};
212
242
  return {
213
243
  type: "exportDefinition",
214
244
  title: dashboardTitle,
@@ -223,14 +253,11 @@ function newDashboardExportDefinitionMetadataObjectDefinition({ dashboardId, das
223
253
  },
224
254
  };
225
255
  }
226
- function newWidgetExportDefinitionMetadataObjectDefinition({ insight, widget, dashboardId, format, filters, editSchedule, }) {
256
+ function newWidgetExportDefinitionMetadataObjectDefinition({ insight, widget, dashboardId, format, widgetFilters, scheduledExportToEdit, }) {
227
257
  const widgetTitle = !isCustomWidget(widget) ? widget?.title : widget?.identifier;
228
- const transformedFilters = transformFilterContextToModelFilters(filters, widget);
229
- const insightFilters = insight.insight.filters;
230
- const newScheduleFilters = [...insightFilters, ...transformedFilters];
231
- const existingScheduleFilters = [...(getAutomationVisualizationFilters(editSchedule) ?? [])];
258
+ const existingScheduleFilters = [...(getAutomationVisualizationFilters(scheduledExportToEdit) ?? [])];
232
259
  // in case of editing widget schedule, we never overwrite already stored filters
233
- const allFilters = editSchedule ? existingScheduleFilters : newScheduleFilters;
260
+ const allFilters = scheduledExportToEdit ? existingScheduleFilters : widgetFilters ?? [];
234
261
  const filtersObj = allFilters.length > 0 ? { filters: allFilters } : {};
235
262
  const settingsObj = format === "XLSX" ? { settings: { mergeHeaders: true } } : {};
236
263
  return {
@@ -250,7 +277,7 @@ function newWidgetExportDefinitionMetadataObjectDefinition({ insight, widget, da
250
277
  },
251
278
  };
252
279
  }
253
- function newAutomationMetadataObjectDefinition({ dashboardId, notificationChannel, title, insight, widget, filters, user, }) {
280
+ function newAutomationMetadataObjectDefinition({ dashboardId, notificationChannel, title, insight, widget, user, dashboardFilters, widgetFilters, }) {
254
281
  const firstRun = parseISO(new Date().toISOString());
255
282
  const normalizedFirstRun = normalizeTime(firstRun, undefined, 60);
256
283
  const cron = getDefaultCronExpression(normalizedFirstRun);
@@ -260,12 +287,12 @@ function newAutomationMetadataObjectDefinition({ dashboardId, notificationChanne
260
287
  widget,
261
288
  dashboardId,
262
289
  format: "XLSX", // default checked format
263
- filters: filters,
290
+ widgetFilters,
264
291
  })
265
292
  : newDashboardExportDefinitionMetadataObjectDefinition({
266
293
  dashboardId,
267
294
  dashboardTitle: title ?? "",
268
- filters: filters,
295
+ dashboardFilters,
269
296
  });
270
297
  const automation = {
271
298
  type: "automation",