@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.
- package/NOTICE +148 -8
- package/esm/__version.d.ts +1 -1
- package/esm/__version.d.ts.map +1 -1
- package/esm/__version.js +1 -1
- package/esm/__version.js.map +1 -1
- package/esm/{presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/automationHelpers.d.ts → _staging/automation/index.d.ts} +2 -4
- package/esm/_staging/automation/index.d.ts.map +1 -0
- package/esm/{presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/automationHelpers.js → _staging/automation/index.js} +9 -33
- package/esm/_staging/automation/index.js.map +1 -0
- package/esm/model/commandHandlers/dashboard/common/insightReferences.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/common/insightReferences.js +32 -8
- package/esm/model/commandHandlers/dashboard/common/insightReferences.js.map +1 -1
- package/esm/model/commandHandlers/render/renderingWorker.d.ts.map +1 -1
- package/esm/model/commandHandlers/render/renderingWorker.js +5 -0
- package/esm/model/commandHandlers/render/renderingWorker.js.map +1 -1
- package/esm/model/events/userInteraction.d.ts +5 -1
- package/esm/model/events/userInteraction.d.ts.map +1 -1
- package/esm/model/events/userInteraction.js.map +1 -1
- package/esm/model/react/index.d.ts +8 -1
- package/esm/model/react/index.d.ts.map +1 -1
- package/esm/model/react/index.js +5 -1
- package/esm/model/react/index.js.map +1 -1
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.d.ts +41 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.d.ts.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.js +64 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.js.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsCommands.d.ts +24 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsCommands.d.ts.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsCommands.js +35 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsCommands.js.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsData.d.ts +31 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsData.d.ts.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsData.js +83 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsData.js.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsDialog.d.ts +20 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsDialog.d.ts.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsDialog.js +76 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsDialog.js.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsFilters.d.ts +20 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsFilters.d.ts.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsFilters.js +17 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsFilters.js.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsManagementDialog.d.ts +21 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsManagementDialog.d.ts.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsManagementDialog.js +72 -0
- package/esm/model/react/useDasboardScheduledEmails/useDashboardScheduledEmailsManagementDialog.js.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useFiltersForDashboardScheduledExport.d.ts +26 -0
- package/esm/model/react/useDasboardScheduledEmails/useFiltersForDashboardScheduledExport.d.ts.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useFiltersForDashboardScheduledExport.js +45 -0
- package/esm/model/react/useDasboardScheduledEmails/useFiltersForDashboardScheduledExport.js.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useFiltersForWidgetScheduledExport.d.ts +35 -0
- package/esm/model/react/useDasboardScheduledEmails/useFiltersForWidgetScheduledExport.d.ts.map +1 -0
- package/esm/model/react/useDasboardScheduledEmails/useFiltersForWidgetScheduledExport.js +69 -0
- package/esm/model/react/useDasboardScheduledEmails/useFiltersForWidgetScheduledExport.js.map +1 -0
- package/esm/model/react/useDashboardUserInteraction.d.ts +2 -1
- package/esm/model/react/useDashboardUserInteraction.d.ts.map +1 -1
- package/esm/model/react/useDashboardUserInteraction.js +5 -1
- package/esm/model/react/useDashboardUserInteraction.js.map +1 -1
- package/esm/{presentation/widget/common → model/react}/useWidgetFilters.d.ts +2 -1
- package/esm/model/react/useWidgetFilters.d.ts.map +1 -0
- package/esm/{presentation/widget/common → model/react}/useWidgetFilters.js +5 -2
- package/esm/model/react/useWidgetFilters.js.map +1 -0
- package/esm/model/store/dashboardStore.d.ts.map +1 -1
- package/esm/model/store/dashboardStore.js +2 -0
- package/esm/model/store/dashboardStore.js.map +1 -1
- package/esm/model/store/drill/drillSelectors.d.ts +4 -0
- package/esm/model/store/drill/drillSelectors.d.ts.map +1 -1
- package/esm/model/store/drill/drillSelectors.js +4 -0
- package/esm/model/store/drill/drillSelectors.js.map +1 -1
- package/esm/model/store/executed/executedReducers.d.ts +9 -0
- package/esm/model/store/executed/executedReducers.d.ts.map +1 -0
- package/esm/model/store/executed/executedReducers.js +11 -0
- package/esm/model/store/executed/executedReducers.js.map +1 -0
- package/esm/model/store/executed/executedSelectors.d.ts +11 -0
- package/esm/model/store/executed/executedSelectors.d.ts.map +1 -0
- package/esm/model/store/executed/executedSelectors.js +12 -0
- package/esm/model/store/executed/executedSelectors.js.map +1 -0
- package/esm/model/store/executed/executedState.d.ts +8 -0
- package/esm/model/store/executed/executedState.d.ts.map +1 -0
- package/esm/model/store/executed/executedState.js +3 -0
- package/esm/model/store/executed/executedState.js.map +1 -0
- package/esm/model/store/executed/index.d.ts +6 -0
- package/esm/model/store/executed/index.d.ts.map +1 -0
- package/esm/model/store/executed/index.js +12 -0
- package/esm/model/store/executed/index.js.map +1 -0
- package/esm/model/store/index.d.ts +3 -1
- package/esm/model/store/index.d.ts.map +1 -1
- package/esm/model/store/index.js +2 -1
- package/esm/model/store/index.js.map +1 -1
- package/esm/model/store/types.d.ts +2 -0
- package/esm/model/store/types.d.ts.map +1 -1
- package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
- package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +2 -2
- package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js.map +1 -1
- package/esm/presentation/dashboard/DashboardHeader/ScheduledEmailDialogProvider.d.ts.map +1 -1
- package/esm/presentation/dashboard/DashboardHeader/ScheduledEmailDialogProvider.js +19 -4
- package/esm/presentation/dashboard/DashboardHeader/ScheduledEmailDialogProvider.js.map +1 -1
- package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditor.d.ts.map +1 -1
- package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditor.js +1 -2
- package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditor.js.map +1 -1
- package/esm/presentation/localization/bundles/en-US.json +5 -0
- package/esm/presentation/presentationComponents/DashboardItems/DashboardItemBase.d.ts +1 -1
- package/esm/presentation/presentationComponents/DashboardItems/DashboardItemBase.d.ts.map +1 -1
- package/esm/presentation/presentationComponents/DashboardItems/DashboardItemBase.js +2 -2
- package/esm/presentation/presentationComponents/DashboardItems/DashboardItemBase.js.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +67 -81
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFilters.d.ts +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFilters.d.ts.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFilters.js.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFiltersList.d.ts +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/AttachmentFiltersList.d.ts.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts +14 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts.map +1 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.js +46 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.js.map +1 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts +16 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts.map +1 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.js +31 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.js.map +1 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts +30 -9
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.js +90 -63
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.js.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.d.ts +23 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.d.ts.map +1 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.js +30 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.js.map +1 -0
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.d.ts +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.d.ts.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.js +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.js.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.d.ts.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js +2 -2
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.d.ts +3 -3
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.d.ts.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.js +3 -3
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.js.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.d.ts +3 -3
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.d.ts.map +1 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.js +2 -2
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.js.map +1 -1
- package/esm/presentation/scheduledEmail/index.d.ts +1 -1
- package/esm/presentation/scheduledEmail/index.d.ts.map +1 -1
- package/esm/presentation/scheduledEmail/types.d.ts +71 -44
- package/esm/presentation/scheduledEmail/types.d.ts.map +1 -1
- package/esm/presentation/topBar/menuButton/useDefaultMenuItems.d.ts.map +1 -1
- package/esm/presentation/topBar/menuButton/useDefaultMenuItems.js +1 -1
- package/esm/presentation/topBar/menuButton/useDefaultMenuItems.js.map +1 -1
- package/esm/presentation/widget/common/index.d.ts +0 -1
- package/esm/presentation/widget/common/index.d.ts.map +1 -1
- package/esm/presentation/widget/common/index.js +1 -2
- package/esm/presentation/widget/common/index.js.map +1 -1
- package/esm/presentation/widget/common/useCustomWidgetExecutionDataView.d.ts.map +1 -1
- package/esm/presentation/widget/common/useCustomWidgetExecutionDataView.js +2 -2
- package/esm/presentation/widget/common/useCustomWidgetExecutionDataView.js.map +1 -1
- package/esm/presentation/widget/common/useCustomWidgetInsightDataView.d.ts.map +1 -1
- package/esm/presentation/widget/common/useCustomWidgetInsightDataView.js +2 -2
- package/esm/presentation/widget/common/useCustomWidgetInsightDataView.js.map +1 -1
- package/esm/presentation/widget/common/useInsightWidgetDataView.d.ts.map +1 -1
- package/esm/presentation/widget/common/useInsightWidgetDataView.js +2 -3
- package/esm/presentation/widget/common/useInsightWidgetDataView.js.map +1 -1
- package/esm/presentation/widget/index.d.ts +1 -1
- package/esm/presentation/widget/index.d.ts.map +1 -1
- package/esm/presentation/widget/index.js +1 -1
- package/esm/presentation/widget/index.js.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.d.ts.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.js +1 -2
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsight.js.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.d.ts.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.js +2 -3
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogInsight.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts +2 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.js +2 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts +2 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js +2 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/constants.d.ts +1 -0
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/constants.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/constants.js +1 -0
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/constants.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts +3 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js +3 -3
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.d.ts +1 -0
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.js +48 -38
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightAlerting.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.d.ts +4 -4
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.js +48 -13
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/utils.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlerts.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlerts.js +3 -3
- package/esm/presentation/widget/insight/configuration/InsightAlerts.js.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightConfiguration.d.ts +2 -6
- package/esm/presentation/widget/insight/configuration/InsightConfiguration.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightConfiguration.js +5 -4
- package/esm/presentation/widget/insight/configuration/InsightConfiguration.js.map +1 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuItemButton.js +1 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuItemButton.js.map +1 -1
- package/esm/presentation/widget/insightMenu/types.d.ts +6 -0
- package/esm/presentation/widget/insightMenu/types.d.ts.map +1 -1
- package/esm/presentation/widget/insightMenu/types.js +3 -1
- package/esm/presentation/widget/insightMenu/types.js.map +1 -1
- package/esm/presentation/widget/kpi/common/useKpiData.d.ts.map +1 -1
- package/esm/presentation/widget/kpi/common/useKpiData.js +2 -3
- package/esm/presentation/widget/kpi/common/useKpiData.js.map +1 -1
- package/esm/presentation/widget/visualizationSwitcher/AllVisualizationsDashInsights.d.ts +16 -0
- package/esm/presentation/widget/visualizationSwitcher/AllVisualizationsDashInsights.d.ts.map +1 -0
- package/esm/presentation/widget/visualizationSwitcher/AllVisualizationsDashInsights.js +26 -0
- package/esm/presentation/widget/visualizationSwitcher/AllVisualizationsDashInsights.js.map +1 -0
- package/esm/presentation/widget/visualizationSwitcher/EditModeDashboardVisualizationSwitcher.js +4 -4
- package/esm/presentation/widget/visualizationSwitcher/EditModeDashboardVisualizationSwitcher.js.map +1 -1
- package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.d.ts +8 -0
- package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.d.ts.map +1 -1
- package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js +99 -3
- package/esm/presentation/widget/visualizationSwitcher/ViewModeDashboardVisualizationSwitcher.js.map +1 -1
- package/esm/presentation/widget/visualizationSwitcher/configuration/Toolbar.d.ts +1 -0
- package/esm/presentation/widget/visualizationSwitcher/configuration/Toolbar.d.ts.map +1 -1
- package/esm/presentation/widget/visualizationSwitcher/configuration/Toolbar.js +2 -2
- package/esm/presentation/widget/visualizationSwitcher/configuration/Toolbar.js.map +1 -1
- package/esm/presentation/widget/visualizationSwitcher/configuration/VisualizationConfig.js +4 -8
- package/esm/presentation/widget/visualizationSwitcher/configuration/VisualizationConfig.js.map +1 -1
- package/esm/presentation/widget/visualizationSwitcher/configuration/VisualizationsList.d.ts.map +1 -1
- package/esm/presentation/widget/visualizationSwitcher/configuration/VisualizationsList.js +1 -1
- package/esm/presentation/widget/visualizationSwitcher/configuration/VisualizationsList.js.map +1 -1
- package/esm/presentation/widget/visualizationSwitcher/configuration/types.d.ts +1 -0
- package/esm/presentation/widget/visualizationSwitcher/configuration/types.d.ts.map +1 -1
- package/esm/presentation/widget/visualizationSwitcher/configuration/useVisualizationSwitcherEditableInsightMenu.d.ts +6 -0
- package/esm/presentation/widget/visualizationSwitcher/configuration/useVisualizationSwitcherEditableInsightMenu.d.ts.map +1 -0
- package/esm/presentation/widget/visualizationSwitcher/configuration/useVisualizationSwitcherEditableInsightMenu.js +33 -0
- package/esm/presentation/widget/visualizationSwitcher/configuration/useVisualizationSwitcherEditableInsightMenu.js.map +1 -0
- package/esm/presentation/widget/visualizationSwitcher/useExecutionProgress.d.ts +4 -0
- package/esm/presentation/widget/visualizationSwitcher/useExecutionProgress.d.ts.map +1 -0
- package/esm/presentation/widget/visualizationSwitcher/useExecutionProgress.js +60 -0
- package/esm/presentation/widget/visualizationSwitcher/useExecutionProgress.js.map +1 -0
- package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.d.ts.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js +8 -40
- package/esm/presentation/widget/widget/InsightWidget/DefaultDashboardInsightWidget.js.map +1 -1
- package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.d.ts +17 -0
- package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.d.ts.map +1 -0
- package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.js +52 -0
- package/esm/presentation/widget/widget/InsightWidget/useAlertingAndScheduling.js.map +1 -0
- package/esm/presentation/widget/widget/VisualizationSwitcherWidget/EditableDashboardVisualizationSwitcherWidget.d.ts.map +1 -1
- package/esm/presentation/widget/widget/VisualizationSwitcherWidget/EditableDashboardVisualizationSwitcherWidget.js +21 -6
- package/esm/presentation/widget/widget/VisualizationSwitcherWidget/EditableDashboardVisualizationSwitcherWidget.js.map +1 -1
- package/esm/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.d.ts +12 -0
- package/esm/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.d.ts.map +1 -0
- package/esm/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.js +59 -0
- package/esm/presentation/widget/widget/VisualizationSwitcherWidget/VisualizationSwitcherNavigationHeader.js.map +1 -0
- package/esm/sdk-ui-dashboard.d.ts +201 -66
- package/package.json +15 -15
- package/styles/css/insightConfiguration.css +1 -0
- package/styles/css/insightConfiguration.css.map +1 -1
- package/styles/css/main.css +77 -6
- package/styles/css/main.css.map +1 -1
- package/styles/css/visualizationSwitcherHeader.css +59 -0
- package/styles/css/visualizationSwitcherHeader.css.map +1 -0
- package/styles/css/visualizationSwitcherToolbar.css +1 -1
- package/styles/css/visualizationSwitcherWidget.css +22 -5
- package/styles/css/visualizationSwitcherWidget.css.map +1 -1
- package/styles/scss/insightConfiguration.scss +2 -1
- package/styles/scss/main.scss +1 -0
- package/styles/scss/visualizationSwitcherHeader.scss +61 -0
- package/styles/scss/visualizationSwitcherToolbar.scss +1 -1
- package/styles/scss/visualizationSwitcherWidget.scss +24 -5
- package/esm/model/react/useDashboardScheduledEmails.d.ts +0 -44
- package/esm/model/react/useDashboardScheduledEmails.d.ts.map +0 -1
- package/esm/model/react/useDashboardScheduledEmails.js +0 -194
- package/esm/model/react/useDashboardScheduledEmails.js.map +0 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/Attachments.d.ts +0 -18
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/Attachments.d.ts.map +0 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/Attachments.js +0 -66
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/Attachments.js.map +0 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useAttachmentDashboardFilters.d.ts +0 -43
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useAttachmentDashboardFilters.d.ts.map +0 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useAttachmentDashboardFilters.js +0 -82
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useAttachmentDashboardFilters.js.map +0 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/automationHelpers.d.ts.map +0 -1
- package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/utils/automationHelpers.js.map +0 -1
- package/esm/presentation/widget/common/useWidgetFilters.d.ts.map +0 -1
- 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;
|
|
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":"AAAA,gCAAgC;AAEhC,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EACH,MAAM,EACN,kBAAkB,EAClB,MAAM,EACN,cAAc,EACd,QAAQ,GAEX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;
|
|
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/
|
|
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,
|
|
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 "
|
|
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,
|
|
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"}
|
package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts
CHANGED
|
@@ -1,21 +1,42 @@
|
|
|
1
|
-
import { IAutomationMetadataObjectDefinition, IAutomationRecipient, FilterContextItem, IExportDefinitionVisualizationObjectSettings } from "@gooddata/sdk-model";
|
|
2
|
-
import {
|
|
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
|
|
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
|
-
|
|
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,
|
|
14
|
-
onWidgetAttachmentsChange: (selected: boolean, format: WidgetAttachmentType,
|
|
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,
|
|
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"}
|
package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.js
CHANGED
|
@@ -1,62 +1,50 @@
|
|
|
1
1
|
// (C) 2019-2024 GoodData Corporation
|
|
2
|
-
import {
|
|
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,
|
|
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 {
|
|
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 {
|
|
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 [
|
|
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 [
|
|
56
|
-
const onTitleChange = (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
|
-
|
|
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) =>
|
|
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
|
-
|
|
73
|
+
setEditedAutomation((s) => ({
|
|
86
74
|
...s,
|
|
87
75
|
...updatedRecipients,
|
|
88
76
|
notificationChannel: notificationChannelId,
|
|
89
77
|
}));
|
|
90
78
|
};
|
|
91
79
|
const onRecipientsChange = (updatedRecipients) => {
|
|
92
|
-
|
|
80
|
+
setEditedAutomation((s) => ({
|
|
93
81
|
...s,
|
|
94
82
|
recipients: updatedRecipients,
|
|
95
83
|
}));
|
|
96
84
|
};
|
|
97
85
|
const onSubjectChange = (value) => {
|
|
98
|
-
|
|
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
|
-
|
|
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,
|
|
103
|
+
const onDashboardAttachmentsChange = (dashboardSelected, dashboardFilters) => {
|
|
116
104
|
if (dashboardSelected) {
|
|
117
105
|
const dashboardExportDefinition = newDashboardExportDefinitionMetadataObjectDefinition({
|
|
118
106
|
dashboardId: dashboardId,
|
|
119
107
|
dashboardTitle,
|
|
120
|
-
|
|
108
|
+
dashboardFilters,
|
|
121
109
|
});
|
|
122
|
-
const dashboardExportDefinitionExists = isDashboardAutomation(
|
|
110
|
+
const dashboardExportDefinitionExists = isDashboardAutomation(editedAutomation);
|
|
123
111
|
const updatedExportDefinitions = dashboardExportDefinitionExists
|
|
124
|
-
?
|
|
112
|
+
? editedAutomation.exportDefinitions?.map((exportDefinition) => isExportDefinitionDashboardRequestPayload(exportDefinition.requestPayload)
|
|
125
113
|
? dashboardExportDefinition
|
|
126
114
|
: exportDefinition)
|
|
127
|
-
: [...(
|
|
128
|
-
|
|
115
|
+
: [...(editedAutomation.exportDefinitions ?? []), dashboardExportDefinition];
|
|
116
|
+
setEditedAutomation((s) => ({
|
|
129
117
|
...s,
|
|
130
118
|
exportDefinitions: updatedExportDefinitions,
|
|
131
119
|
}));
|
|
132
120
|
}
|
|
133
121
|
else {
|
|
134
|
-
|
|
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,
|
|
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
|
-
|
|
152
|
-
|
|
138
|
+
scheduledExportToEdit,
|
|
139
|
+
widgetFilters,
|
|
153
140
|
});
|
|
154
|
-
const exportDefinitionExists = automationTypeGuard(
|
|
141
|
+
const exportDefinitionExists = automationTypeGuard(editedAutomation);
|
|
155
142
|
const updatedExportDefinitions = exportDefinitionExists
|
|
156
|
-
?
|
|
157
|
-
: [...(
|
|
158
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
195
|
-
|
|
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,
|
|
211
|
-
const filtersObj =
|
|
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,
|
|
256
|
+
function newWidgetExportDefinitionMetadataObjectDefinition({ insight, widget, dashboardId, format, widgetFilters, scheduledExportToEdit, }) {
|
|
227
257
|
const widgetTitle = !isCustomWidget(widget) ? widget?.title : widget?.identifier;
|
|
228
|
-
const
|
|
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 =
|
|
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,
|
|
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
|
-
|
|
290
|
+
widgetFilters,
|
|
264
291
|
})
|
|
265
292
|
: newDashboardExportDefinitionMetadataObjectDefinition({
|
|
266
293
|
dashboardId,
|
|
267
294
|
dashboardTitle: title ?? "",
|
|
268
|
-
|
|
295
|
+
dashboardFilters,
|
|
269
296
|
});
|
|
270
297
|
const automation = {
|
|
271
298
|
type: "automation",
|