@gooddata/sdk-ui-dashboard 11.37.0-alpha.4 → 11.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +6 -6
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/_staging/dashboard/dashboardFilterContext.d.ts +6 -1
- package/esm/_staging/dashboard/dashboardFilterContext.js +10 -3
- package/esm/index.d.ts +12 -11
- package/esm/index.js +10 -9
- package/esm/internal.d.ts +6 -6
- package/esm/internal.js +5 -5
- package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.js +3 -5
- package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.js +22 -8
- package/esm/model/events/base.d.ts +1 -1
- package/esm/model/events/index.d.ts +2 -1
- package/esm/model/events/parameters.d.ts +21 -0
- package/esm/model/events/parameters.js +19 -0
- package/esm/model/events/userInteraction.d.ts +1 -1
- package/esm/model/react/useDashboardCommand.d.ts +1 -0
- package/esm/model/react/useDashboardCommandProcessing.d.ts +4 -0
- package/esm/model/react/useDashboardUserInteraction.d.ts +1 -0
- package/esm/model/react/useDashboardUserInteraction.js +4 -0
- package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +37 -1
- package/esm/model/store/tabs/parameters/parametersSelectors.js +69 -13
- package/esm/presentation/{alerting → automations/alerting}/AlertingDialog.js +1 -1
- package/esm/presentation/{alerting → automations/alerting}/AlertingManagementDialog.js +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/AlertingDialogHeader.js +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/DefaultAlertingDialog.js +13 -13
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/DefaultLoadingAlertingDialog.js +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/constants.js +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useAlertValidation.js +4 -4
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useAttributeValuesFromExecResults.d.ts +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useCreateAlert.d.ts +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useCreateAlert.js +2 -2
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useEditAlert.d.ts +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useEditAlert.js +12 -12
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useOperators.js +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useThresholdValue.js +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useUpdateAlert.d.ts +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useUpdateAlert.js +2 -2
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/cron.js +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/granularity.js +1 -0
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/guards.js +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/responsive.js +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/threshold.js +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentBasic.js +5 -5
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentEnhanced.js +10 -10
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.js +3 -3
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/Alert.js +6 -6
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/AlertDropdown.js +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/AlertsList.js +1 -1
- package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/DeleteAlertConfirmDialog.js +3 -3
- package/esm/presentation/{alerting → automations/alerting}/hooks/useAlertingDialogAccessibility.js +3 -3
- package/esm/presentation/{alerting → automations/alerting}/hooks/useGetSupportedMeasures.js +3 -3
- package/esm/presentation/{alerting → automations/alerting}/types.d.ts +1 -1
- package/esm/presentation/automations/contexts/AutomationsContext.d.ts +9 -0
- package/esm/presentation/automations/contexts/AutomationsContext.js +11 -0
- package/esm/presentation/automations/contexts/AutomationsContext.test.d.ts +1 -0
- package/esm/presentation/automations/contexts/AutomationsContext.test.js +9 -0
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/DefaultLoadingScheduledEmailDialog.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +20 -18
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentSettings.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentsSelect.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentsWrapper.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Header/ScheduleEmailDialogHeader.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/MessageForm/MessageForm.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/SubjectForm/SubjectForm.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Textarea.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useCreateScheduledEmail.d.ts +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useCreateScheduledEmail.js +2 -2
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.d.ts +2 -2
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useEditScheduledEmail.js +10 -10
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.d.ts +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useFiltersForDashboardScheduledExportInfo.js +5 -5
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useScheduleValidation.js +2 -2
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useUpdateScheduledEmail.d.ts +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useUpdateScheduledEmail.js +2 -2
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js +3 -3
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentBasic.js +9 -9
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentEnhanced.js +10 -10
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/components/DeleteScheduleConfirmDialog.js +3 -3
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.js +5 -5
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/ScheduledEmailDialog.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/ScheduledEmailManagementDialog.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/hooks/useScheduleEmailDialogAccessibility.js +3 -3
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/hooks/useWidgetAutomationFilters.d.ts +2 -2
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/hooks/useWidgetAutomationFilters.js +3 -3
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/types.d.ts +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/cron.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/date.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/filters.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/responsive.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/timezone.js +1 -1
- package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/users.js +1 -1
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationAttributeFilter.js +1 -1
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationDateFilter.js +4 -4
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationDateFilterContext.js +1 -1
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationFiltersSelect.d.ts +1 -1
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationFiltersSelect.js +2 -2
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationMeasureValueFilter.js +1 -1
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useAutomationVisibleFilters.js +2 -2
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useDefaultSelectedFiltersForExistingAutomation.d.ts +1 -1
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useDefaultSelectedFiltersForExistingAutomation.js +43 -9
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useDefaultSelectedFiltersForNewAutomation.d.ts +1 -1
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useDefaultSelectedFiltersForNewAutomation.js +3 -3
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useValidateExistingAutomationFilters.d.ts +1 -1
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useValidateExistingAutomationFilters.js +10 -7
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/useAutomationFilters.d.ts +1 -1
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/useAutomationFilters.js +9 -9
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/useAutomationFiltersSelect.d.ts +2 -2
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/useAutomationFiltersSelect.js +3 -3
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/utils.d.ts +1 -1
- package/esm/presentation/{automationFilters → automations/shared/automationFilters}/utils.js +2 -2
- package/esm/presentation/dashboard/DashboardHeader/AlertingDialogProviderNew.js +2 -2
- package/esm/presentation/dashboard/DashboardHeader/ScheduledEmailDialogProvider.js +4 -4
- package/esm/presentation/dashboard/components/DashboardRenderer.js +4 -4
- package/esm/presentation/dashboard/types.d.ts +2 -2
- package/esm/presentation/dashboardContexts/DashboardComponentsContext.d.ts +2 -2
- package/esm/presentation/filterBar/filterBar/DefaultFilterBarContainer.js +3 -1
- package/esm/presentation/filterBar/filterBar/ResetFiltersButton.js +0 -3
- package/esm/presentation/filterBar/filterBar/hooks/useResetFiltersButton.js +46 -18
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js +3 -3
- package/esm/presentation/widget/common/useInsightExport.js +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.d.ts +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertTitle.js +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/AlertsList.js +2 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/CreateAlert.d.ts +2 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts +2 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js +14 -14
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlertConfiguration.js +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts +2 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js +4 -4
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightWidgetAlerting.d.ts +3 -3
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useInsightWidgetAlerting.js +6 -6
- package/esm/presentation/widget/insight/configuration/InsightAlertsNew.js +4 -4
- package/esm/sdk-ui-dashboard.d.ts +39 -3
- package/package.json +20 -20
- package/styles/css/filterBar.css +3 -0
- package/styles/css/filterBar.css.map +1 -1
- package/styles/css/main.css +3 -0
- package/styles/css/main.css.map +1 -1
- package/styles/scss/filterBar.scss +4 -0
- /package/esm/presentation/{alerting → automations/alerting}/AlertingDialog.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/AlertingManagementDialog.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/AlertingDialogHeader.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/DefaultAlertingDialog.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/DefaultLoadingAlertingDialog.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertAttributeSelect.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertAttributeSelect.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertDeleteDialog.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertDeleteDialog.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertDestinationSelect.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertDestinationSelect.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertGranularitySelect.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertGranularitySelect.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertMeasureSelect.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertMeasureSelect.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertSensitivitySelect.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertSensitivitySelect.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertThresholdInput.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertThresholdInput.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertTriggerIntervalSelect.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertTriggerIntervalSelect.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertTriggerModeSelect.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/components/AlertTriggerModeSelect.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/constants.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useAlertValidation.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useAttributeValuesFromExecResults.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useOperators.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useSaveAlertToBackend.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useSaveAlertToBackend.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/hooks/useThresholdValue.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/messages.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/messages.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/convertors.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/convertors.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/cron.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/getters.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/getters.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/granularity.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/guards.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/items.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/items.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/responsive.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/threshold.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/transformation.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/transformation.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentBasic.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogContentEnhanced.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/Alert.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/AlertDropdown.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/AlertsList.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/DeleteAlertConfirmDialog.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/PauseAlertRunner.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingManagementDialog/components/PauseAlertRunner.js +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/hooks/useAlertingDialogAccessibility.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/hooks/useGetSupportedMeasures.d.ts +0 -0
- /package/esm/presentation/{alerting → automations/alerting}/types.js +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/DefaultLoadingScheduledEmailDialog.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentSettings.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentsList.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentsList.js +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentsSelect.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/AttachmentsWrapper.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/SlidesTemplateSettings.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/SlidesTemplateSettings.js +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/DestinationSelect/DestinationSelect.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/DestinationSelect/DestinationSelect.js +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/ErrorWrapper/ErrorWrapper.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/ErrorWrapper/ErrorWrapper.js +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Header/ScheduleEmailDialogHeader.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/MessageForm/MessageForm.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/SubjectForm/SubjectForm.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/components/Textarea.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/constants.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/constants.js +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.js +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailDialog/hooks/useScheduleValidation.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentBasic.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialogContentEnhanced.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/components/DeleteScheduleConfirmDialog.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/components/ScheduledEmail.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/DefaultScheduledEmailManagementDialog/components/ScheduledEmailsList.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/ScheduledEmailDialog.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/ScheduledEmailManagementDialog.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/hooks/useScheduleEmailDialogAccessibility.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/types.js +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/cron.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/date.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/filters.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/pdfPageSize.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/pdfPageSize.js +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/responsive.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/timezone.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/users.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/validate.d.ts +0 -0
- /package/esm/presentation/{scheduledEmail → automations/scheduledEmail}/utils/validate.js +0 -0
- /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/ApplyLatestFiltersConfirmDialog.d.ts +0 -0
- /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/ApplyLatestFiltersConfirmDialog.js +0 -0
- /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationAttributeFilter.d.ts +0 -0
- /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationAttributeFilterContext.d.ts +0 -0
- /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationAttributeFilterContext.js +0 -0
- /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationDateFilter.d.ts +0 -0
- /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationDateFilterContext.d.ts +0 -0
- /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationMeasureValueFilter.d.ts +0 -0
- /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationMeasureValueFilterContext.d.ts +0 -0
- /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/components/AutomationMeasureValueFilterContext.js +0 -0
- /package/esm/presentation/{automationFilters → automations/shared/automationFilters}/hooks/useAutomationVisibleFilters.d.ts +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
2
|
import { createSelector } from "@reduxjs/toolkit";
|
|
3
3
|
import { isEqual } from "lodash-es";
|
|
4
|
-
import { areObjRefsEqual, insightMeasures, insightParameters, isDashboardLayout, isInsightWidget, isMeasureDefinition, isNumberParameterDefinition, isVisualizationSwitcherWidget, objRefToString, } from "@gooddata/sdk-model";
|
|
4
|
+
import { DashboardParameterModeValues, areObjRefsEqual, insightMeasures, insightParameters, isDashboardLayout, isInsightWidget, isMeasureDefinition, isNumberParameterDefinition, isVisualizationSwitcherWidget, objRefToString, } from "@gooddata/sdk-model";
|
|
5
5
|
import { createMemoizedSelector } from "../../_infra/selectors.js";
|
|
6
6
|
import { selectCatalogMeasureParameters, selectCatalogMeasureParametersStatus, selectCatalogParameterByRef, selectCatalogParameters, selectCatalogParametersIsLoaded, } from "../../catalog/catalogSelectors.js";
|
|
7
7
|
import { selectEnableParameters } from "../../config/configSelectors.js";
|
|
@@ -13,6 +13,7 @@ import { parametersInitialState, pickTabParametersSource, } from "./parametersSt
|
|
|
13
13
|
const EMPTY_PARAMETERS = [];
|
|
14
14
|
const EMPTY_PARAMETER_VALUES = [];
|
|
15
15
|
const EMPTY_TABS = [];
|
|
16
|
+
const EMPTY_RESET_TARGETS = [];
|
|
16
17
|
const selectParametersState = createSelector(selectActiveTab, (activeTab) => activeTab?.parameters ?? parametersInitialState);
|
|
17
18
|
const selectPersistedParametersFromMeta = (state) => state.meta?.persistedDashboard?.parameters ?? EMPTY_PARAMETERS;
|
|
18
19
|
const selectPersistedDashboardTabsRaw = (state) => state.meta?.persistedDashboard?.tabs ?? EMPTY_TABS;
|
|
@@ -78,18 +79,7 @@ export const selectParameterResetValueByRef = createMemoizedSelector((ref) => cr
|
|
|
78
79
|
if (!entry) {
|
|
79
80
|
return undefined;
|
|
80
81
|
}
|
|
81
|
-
|
|
82
|
-
return undefined;
|
|
83
|
-
}
|
|
84
|
-
const workspaceDefault = workspaceParameter.definition.defaultValue;
|
|
85
|
-
const dashboardOverride = entry.parameter.value;
|
|
86
|
-
if (isInEditMode) {
|
|
87
|
-
if (dashboardOverride === undefined || dashboardOverride === workspaceDefault) {
|
|
88
|
-
return undefined;
|
|
89
|
-
}
|
|
90
|
-
return workspaceDefault;
|
|
91
|
-
}
|
|
92
|
-
return dashboardOverride ?? workspaceDefault;
|
|
82
|
+
return computeParameterResetValue(entry, workspaceParameter, isInEditMode);
|
|
93
83
|
}));
|
|
94
84
|
/**
|
|
95
85
|
* Computes the dashboard parameters keyed by tab `localIdentifier` in the shape that would be
|
|
@@ -164,6 +154,26 @@ export const selectIsParametersChanged = createSelector(selectSmartPersistedTabs
|
|
|
164
154
|
}
|
|
165
155
|
return false;
|
|
166
156
|
});
|
|
157
|
+
/**
|
|
158
|
+
* Reset targets for every active-tab parameter whose `runtimeOverride` differs from its computed
|
|
159
|
+
* reset value (per `computeParameterResetValue`).
|
|
160
|
+
*
|
|
161
|
+
* @internal
|
|
162
|
+
*/
|
|
163
|
+
export const selectActiveTabParameterResetTargets = createSelector(selectDashboardParameterEntries, selectCatalogParameters, selectIsInEditMode, selectEnableParameters, (entries, workspaceParameters, isInEditMode, isEnabled) => {
|
|
164
|
+
if (!isEnabled) {
|
|
165
|
+
return EMPTY_RESET_TARGETS;
|
|
166
|
+
}
|
|
167
|
+
const targets = computeParameterResetTargets(entries, workspaceParameters, isInEditMode);
|
|
168
|
+
return targets.length === 0 ? EMPTY_RESET_TARGETS : targets;
|
|
169
|
+
});
|
|
170
|
+
/**
|
|
171
|
+
* True when the active tab has at least one parameter whose `runtimeOverride` differs from
|
|
172
|
+
* the value it would be reset to (per `computeParameterResetValue`).
|
|
173
|
+
*
|
|
174
|
+
* @alpha
|
|
175
|
+
*/
|
|
176
|
+
export const selectHasAnyResettableParameterOnActiveTab = createSelector(selectActiveTabParameterResetTargets, (targets) => targets.length > 0);
|
|
167
177
|
/**
|
|
168
178
|
* Returns the parameter values to inject into the widget's `IExecutionConfig.parameterValues`.
|
|
169
179
|
*
|
|
@@ -296,3 +306,49 @@ function labelOverride(entry, workspaceParameter) {
|
|
|
296
306
|
}
|
|
297
307
|
return {};
|
|
298
308
|
}
|
|
309
|
+
/**
|
|
310
|
+
* Returns `undefined` when reset would be a no-op: missing/non-number workspace parameter, or
|
|
311
|
+
* in edit mode when `parameter.value` is unset / already equals the workspace default.
|
|
312
|
+
*
|
|
313
|
+
* @internal
|
|
314
|
+
*/
|
|
315
|
+
export function computeParameterResetValue(entry, workspaceParameter, isInEditMode) {
|
|
316
|
+
if (!workspaceParameter || !isNumberParameterDefinition(workspaceParameter.definition)) {
|
|
317
|
+
return undefined;
|
|
318
|
+
}
|
|
319
|
+
const workspaceDefault = workspaceParameter.definition.defaultValue;
|
|
320
|
+
const dashboardOverride = entry.parameter.value;
|
|
321
|
+
if (isInEditMode) {
|
|
322
|
+
if (dashboardOverride === undefined || dashboardOverride === workspaceDefault) {
|
|
323
|
+
return undefined;
|
|
324
|
+
}
|
|
325
|
+
return workspaceDefault;
|
|
326
|
+
}
|
|
327
|
+
return dashboardOverride ?? workspaceDefault;
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* Only `mode: "active"` entries with a defined `runtimeOverride` are considered resettable;
|
|
331
|
+
* HIDDEN and READONLY entries are skipped, and entries with `runtimeOverride === undefined`
|
|
332
|
+
* (chip hidden, execution falls back to `insight.parameters`) are preserved as-is — symmetric
|
|
333
|
+
* with per-chip behavior in `DashboardParameterFilter`.
|
|
334
|
+
*
|
|
335
|
+
* @internal
|
|
336
|
+
*/
|
|
337
|
+
export function computeParameterResetTargets(entries, workspaceParameters, isInEditMode) {
|
|
338
|
+
const workspaceByRef = new Map(workspaceParameters.map((wp) => [objRefToString(wp.ref), wp]));
|
|
339
|
+
const result = [];
|
|
340
|
+
for (const entry of entries) {
|
|
341
|
+
if (entry.parameter.mode !== DashboardParameterModeValues.ACTIVE) {
|
|
342
|
+
continue;
|
|
343
|
+
}
|
|
344
|
+
if (entry.runtimeOverride === undefined) {
|
|
345
|
+
continue;
|
|
346
|
+
}
|
|
347
|
+
const workspaceParameter = workspaceByRef.get(objRefToString(entry.parameter.ref));
|
|
348
|
+
const resetValue = computeParameterResetValue(entry, workspaceParameter, isInEditMode);
|
|
349
|
+
if (resetValue !== undefined && resetValue !== entry.runtimeOverride) {
|
|
350
|
+
result.push({ ref: entry.parameter.ref, value: resetValue });
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
return result;
|
|
354
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useDashboardComponentsContext } from "
|
|
2
|
+
import { useDashboardComponentsContext } from "../../dashboardContexts/DashboardComponentsContext.js";
|
|
3
3
|
/**
|
|
4
4
|
* @internal
|
|
5
5
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useDashboardComponentsContext } from "
|
|
2
|
+
import { useDashboardComponentsContext } from "../../dashboardContexts/DashboardComponentsContext.js";
|
|
3
3
|
/**
|
|
4
4
|
* @internal
|
|
5
5
|
*/
|
|
@@ -5,20 +5,20 @@ import cx from "classnames";
|
|
|
5
5
|
import { FormattedMessage, defineMessage, useIntl } from "react-intl";
|
|
6
6
|
import { ValidationContextStore, convertError, createInvalidDatapoint, createInvalidNode, useValidationContextValue, } from "@gooddata/sdk-ui";
|
|
7
7
|
import { Button, ConfirmDialogBase, ContentDivider, Hyperlink, Message, Overlay, OverlayController, OverlayControllerProvider, ScrollablePanel, UiIcon, UiIconButton, UiTooltip, useId, } from "@gooddata/sdk-ui-kit";
|
|
8
|
-
import { useDashboardSelector } from "
|
|
9
|
-
import { selectEnableAlertOncePerInterval, selectEnableAnomalyDetectionAlert, selectEnableAutomationManagement, selectExternalRecipient, selectIsWhiteLabeled, selectLocale, } from "
|
|
10
|
-
import { selectMaxAutomationRecipients } from "
|
|
11
|
-
import { selectCanUseAiAssistant } from "
|
|
12
|
-
import { selectIsAutomationDialogSecondaryTitleVisible } from "
|
|
13
|
-
import { selectExecutionTimestamp } from "
|
|
14
|
-
import { getWidgetTitle } from "
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import { useValidateExistingAutomationFilters } from "../../automationFilters/hooks/useValidateExistingAutomationFilters.js";
|
|
18
|
-
import { useAutomationFiltersSelect } from "../../automationFilters/useAutomationFiltersSelect.js";
|
|
19
|
-
import { DASHBOARD_DIALOG_OVERS_Z_INDEX } from "../../constants/zIndex.js";
|
|
20
|
-
import { IntlWrapper } from "../../localization/IntlWrapper.js";
|
|
8
|
+
import { useDashboardSelector } from "../../../../model/react/DashboardStoreProvider.js";
|
|
9
|
+
import { selectEnableAlertOncePerInterval, selectEnableAnomalyDetectionAlert, selectEnableAutomationManagement, selectExternalRecipient, selectIsWhiteLabeled, selectLocale, } from "../../../../model/store/config/configSelectors.js";
|
|
10
|
+
import { selectMaxAutomationRecipients } from "../../../../model/store/entitlements/entitlementsSelectors.js";
|
|
11
|
+
import { selectCanUseAiAssistant } from "../../../../model/store/permissions/permissionsSelectors.js";
|
|
12
|
+
import { selectIsAutomationDialogSecondaryTitleVisible } from "../../../../model/store/topBar/topBarSelectors.js";
|
|
13
|
+
import { selectExecutionTimestamp } from "../../../../model/store/ui/uiSelectors.js";
|
|
14
|
+
import { getWidgetTitle } from "../../../../model/utils/dashboardItemUtils.js";
|
|
15
|
+
import { DASHBOARD_DIALOG_OVERS_Z_INDEX } from "../../../constants/zIndex.js";
|
|
16
|
+
import { IntlWrapper } from "../../../localization/IntlWrapper.js";
|
|
21
17
|
import { RecipientsSelect } from "../../scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js";
|
|
18
|
+
import { ApplyCurrentFiltersConfirmDialog } from "../../shared/automationFilters/components/ApplyLatestFiltersConfirmDialog.js";
|
|
19
|
+
import { AutomationFiltersSelect } from "../../shared/automationFilters/components/AutomationFiltersSelect.js";
|
|
20
|
+
import { useValidateExistingAutomationFilters } from "../../shared/automationFilters/hooks/useValidateExistingAutomationFilters.js";
|
|
21
|
+
import { useAutomationFiltersSelect } from "../../shared/automationFilters/useAutomationFiltersSelect.js";
|
|
22
22
|
import { DeleteAlertConfirmDialog } from "../DefaultAlertingManagementDialog/components/DeleteAlertConfirmDialog.js";
|
|
23
23
|
import { AlertingDialogHeader } from "./AlertingDialogHeader.js";
|
|
24
24
|
import { AlertAttributeSelect } from "./components/AlertAttributeSelect.js";
|
|
@@ -2,7 +2,7 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
// (C) 2019-2026 GoodData Corporation
|
|
3
3
|
import { useIntl } from "react-intl";
|
|
4
4
|
import { ConfirmDialogBase, Overlay, OverlayController, OverlayControllerProvider, UiSkeleton, useId, } from "@gooddata/sdk-ui-kit";
|
|
5
|
-
import { DASHBOARD_DIALOG_OVERS_Z_INDEX } from "
|
|
5
|
+
import { DASHBOARD_DIALOG_OVERS_Z_INDEX } from "../../../constants/zIndex.js";
|
|
6
6
|
const overlayController = OverlayController.getInstance(DASHBOARD_DIALOG_OVERS_Z_INDEX);
|
|
7
7
|
export function DefaultLoadingAlertingDialog({ alertToEdit, onCancel, }) {
|
|
8
8
|
const intl = useIntl();
|
package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/constants.js
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// (C) 2024-
|
|
1
|
+
// (C) 2024-2026 GoodData Corporation
|
|
2
2
|
import { AI_OPERATOR, AI_OPERATORS, ARITHMETIC_OPERATORS, COMPARISON_OPERATORS, RELATIVE_OPERATORS, } from "@gooddata/sdk-ui-ext";
|
|
3
3
|
import { messages } from "./messages.js";
|
|
4
4
|
export const COMPARISON_OPERATOR_OPTIONS = [
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// (C) 2024-2026 GoodData Corporation
|
|
2
|
-
import { useDashboardSelector } from "
|
|
3
|
-
import { selectCatalogDateDatasets } from "
|
|
4
|
-
import { selectInsightByWidgetRef } from "
|
|
5
|
-
import { selectWidgetByRef } from "
|
|
2
|
+
import { useDashboardSelector } from "../../../../../model/react/DashboardStoreProvider.js";
|
|
3
|
+
import { selectCatalogDateDatasets } from "../../../../../model/store/catalog/catalogSelectors.js";
|
|
4
|
+
import { selectInsightByWidgetRef } from "../../../../../model/store/insights/insightsSelectors.js";
|
|
5
|
+
import { selectWidgetByRef } from "../../../../../model/store/tabs/layout/layoutSelectors.js";
|
|
6
6
|
import { getAlertMeasure } from "../utils/getters.js";
|
|
7
7
|
import { getSupportedInsightMeasuresByInsight } from "../utils/items.js";
|
|
8
8
|
export const useAlertValidation = (alert, isNewAlert) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type IAttribute, type IAttributeMetadataObject, type IMeasure } from "@gooddata/sdk-model";
|
|
2
|
-
import type { IExecutionResultEnvelope } from "
|
|
2
|
+
import type { IExecutionResultEnvelope } from "../../../../../model/store/executionResults/types.js";
|
|
3
3
|
export type AttributeValue = {
|
|
4
4
|
title: string;
|
|
5
5
|
value: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition } from "@gooddata/sdk-model";
|
|
2
|
-
import { type CommandProcessingStatus } from "
|
|
2
|
+
import { type CommandProcessingStatus } from "../../../../../model/react/useDashboardCommandProcessing.js";
|
|
3
3
|
export declare const useCreateAlert: ({ onBeforeRun, onSuccess, onError, }?: {
|
|
4
4
|
onBeforeRun?: ((alertToCreate: IAutomationMetadataObjectDefinition) => void) | undefined;
|
|
5
5
|
onSuccess?: ((alert: IAutomationMetadataObject) => void) | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// (C) 2020-2026 GoodData Corporation
|
|
2
2
|
import { useCallback } from "react";
|
|
3
|
-
import { createAlert } from "
|
|
4
|
-
import { useDashboardCommandProcessing, } from "
|
|
3
|
+
import { createAlert } from "../../../../../model/commands/alerts.js";
|
|
4
|
+
import { useDashboardCommandProcessing, } from "../../../../../model/react/useDashboardCommandProcessing.js";
|
|
5
5
|
export const useCreateAlert = ({ onBeforeRun, onSuccess, onError, } = {}) => {
|
|
6
6
|
const alertCommandProcessing = useDashboardCommandProcessing({
|
|
7
7
|
commandCreator: createAlert,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type FilterContextItem, type IAlertAnomalyDetectionGranularity, type IAlertAnomalyDetectionSensitivity, type IAlertComparisonOperator, type IAlertRelativeArithmeticOperator, type IAlertRelativeOperator, type IAlertTriggerInterval, type IAlertTriggerMode, type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IAutomationRecipient, type IAutomationVisibleFilter, type IInsight, type INotificationChannelIdentifier, type INotificationChannelMetadataObject } from "@gooddata/sdk-model";
|
|
2
|
-
import type { ExtendedDashboardWidget } from "
|
|
2
|
+
import type { ExtendedDashboardWidget } from "../../../../../model/types/layoutTypes.js";
|
|
3
3
|
import { type AlertAttribute, type AlertMetric, type AlertMetricComparatorType } from "../../types.js";
|
|
4
4
|
export interface IUseEditAlertProps {
|
|
5
5
|
alertToEdit?: IAutomationMetadataObject;
|
|
@@ -4,19 +4,19 @@ import { isEqual } from "lodash-es";
|
|
|
4
4
|
import { useIntl } from "react-intl";
|
|
5
5
|
import { isAutomationExternalUserRecipient, isAutomationUnknownUserRecipient, isAutomationUserRecipient, } from "@gooddata/sdk-model";
|
|
6
6
|
import { fillMissingTitles } from "@gooddata/sdk-ui";
|
|
7
|
-
import { convertCurrentUserToAutomationRecipient, convertCurrentUserToWorkspaceUser, convertExternalRecipientToAutomationRecipient, } from "
|
|
8
|
-
import { useDashboardSelector } from "
|
|
9
|
-
import { selectCatalogAttributes, selectCatalogDateDatasets, } from "
|
|
10
|
-
import { selectEnableAlertAttributes, selectEnableAlertOncePerInterval, selectEnableComparisonInAlerting, selectEnableExternalRecipients, selectLocale, selectSeparators, selectSettings, selectTimezone, selectWeekStart, } from "
|
|
11
|
-
import { selectEntitlementMinimumRecurrenceMinutes } from "
|
|
12
|
-
import { selectExecutionResultByRef } from "
|
|
13
|
-
import { selectAutomationCommonDateFilterId, selectDashboardHiddenFilters, } from "
|
|
14
|
-
import { selectDashboardDescriptor, selectDashboardId } from "
|
|
15
|
-
import { selectWidgetLocalIdToTabIdMap } from "
|
|
16
|
-
import { selectCurrentUser } from "
|
|
17
|
-
import { selectUsers } from "
|
|
18
|
-
import { getAppliedWidgetFilters, getVisibleFiltersByFilters, resolveMvfDimensionalityLocalRefs, } from "../../../automationFilters/utils.js";
|
|
7
|
+
import { convertCurrentUserToAutomationRecipient, convertCurrentUserToWorkspaceUser, convertExternalRecipientToAutomationRecipient, } from "../../../../../_staging/automation/index.js";
|
|
8
|
+
import { useDashboardSelector } from "../../../../../model/react/DashboardStoreProvider.js";
|
|
9
|
+
import { selectCatalogAttributes, selectCatalogDateDatasets, } from "../../../../../model/store/catalog/catalogSelectors.js";
|
|
10
|
+
import { selectEnableAlertAttributes, selectEnableAlertOncePerInterval, selectEnableComparisonInAlerting, selectEnableExternalRecipients, selectLocale, selectSeparators, selectSettings, selectTimezone, selectWeekStart, } from "../../../../../model/store/config/configSelectors.js";
|
|
11
|
+
import { selectEntitlementMinimumRecurrenceMinutes } from "../../../../../model/store/entitlements/entitlementsSelectors.js";
|
|
12
|
+
import { selectExecutionResultByRef } from "../../../../../model/store/executionResults/executionResultsSelectors.js";
|
|
13
|
+
import { selectAutomationCommonDateFilterId, selectDashboardHiddenFilters, } from "../../../../../model/store/filtering/dashboardFilterSelectors.js";
|
|
14
|
+
import { selectDashboardDescriptor, selectDashboardId, } from "../../../../../model/store/meta/metaSelectors.js";
|
|
15
|
+
import { selectWidgetLocalIdToTabIdMap } from "../../../../../model/store/tabs/layout/layoutSelectors.js";
|
|
16
|
+
import { selectCurrentUser } from "../../../../../model/store/user/userSelectors.js";
|
|
17
|
+
import { selectUsers } from "../../../../../model/store/users/usersSelectors.js";
|
|
19
18
|
import { isEmail } from "../../../scheduledEmail/utils/validate.js";
|
|
19
|
+
import { getAppliedWidgetFilters, getVisibleFiltersByFilters, resolveMvfDimensionalityLocalRefs, } from "../../../shared/automationFilters/utils.js";
|
|
20
20
|
import { createDefaultAlert } from "../utils/convertors.js";
|
|
21
21
|
import { getAlertAiOperator, getAlertAttribute, getAlertCompareOperator, getAlertComparison, getAlertGranularity, getAlertMeasure, getAlertRelativeOperator, getAlertSensitivity, getMeasureFormatsFromExecution, } from "../utils/getters.js";
|
|
22
22
|
import { isAlertValueDefined } from "../utils/guards.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// (C) 2024-
|
|
1
|
+
// (C) 2024-2026 GoodData Corporation
|
|
2
2
|
import { useMemo } from "react";
|
|
3
3
|
import { AlertMetricComparatorType } from "../../types.js";
|
|
4
4
|
import { ANOMALY_DETECTION_HEADER, ANOMALY_DETECTION_OPERATOR_OPTIONS, CHANGE_HEADER, COMPARISON_OPERATOR_OPTIONS, DIFFERENCE_HEADER, RELATIVE_CHANGE_OPERATOR_OPTIONS, RELATIVE_DIFFERENCE_OPERATOR_OPTIONS, SEPARATOR, } from "../constants.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type IAutomationMetadataObject } from "@gooddata/sdk-model";
|
|
2
|
-
import { type CommandProcessingStatus } from "
|
|
2
|
+
import { type CommandProcessingStatus } from "../../../../../model/react/useDashboardCommandProcessing.js";
|
|
3
3
|
export declare const useUpdateAlert: ({ onBeforeRun, onSuccess, onError, }?: {
|
|
4
4
|
onBeforeRun?: ((alertToSave: IAutomationMetadataObject) => void) | undefined;
|
|
5
5
|
onSuccess?: ((alert: IAutomationMetadataObject) => void) | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// (C) 2024-2026 GoodData Corporation
|
|
2
2
|
import { useCallback } from "react";
|
|
3
|
-
import { saveAlert } from "
|
|
4
|
-
import { useDashboardCommandProcessing, } from "
|
|
3
|
+
import { saveAlert } from "../../../../../model/commands/alerts.js";
|
|
4
|
+
import { useDashboardCommandProcessing, } from "../../../../../model/react/useDashboardCommandProcessing.js";
|
|
5
5
|
export const useUpdateAlert = ({ onBeforeRun, onSuccess, onError, } = {}) => {
|
|
6
6
|
const alertCommandProcessing = useDashboardCommandProcessing({
|
|
7
7
|
commandCreator: saveAlert,
|
package/esm/presentation/{alerting → automations/alerting}/DefaultAlertingDialog/utils/responsive.js
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// (C) 2019-
|
|
1
|
+
// (C) 2019-2026 GoodData Corporation
|
|
2
2
|
const SCREEN_BREAKPOINT_SM = 640;
|
|
3
3
|
// https://github.com/gooddata/gdc-goodstrap/blob/master/src/core/MediaQueries.js#L61
|
|
4
4
|
export const isMobileView = () => window.innerWidth <= SCREEN_BREAKPOINT_SM;
|
|
@@ -3,11 +3,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import cx from "classnames";
|
|
4
4
|
import { FormattedMessage, defineMessage, useIntl } from "react-intl";
|
|
5
5
|
import { Button, Dialog, Hyperlink, OverlayController, OverlayControllerProvider, Typography, useId, } from "@gooddata/sdk-ui-kit";
|
|
6
|
-
import { messages } from "
|
|
7
|
-
import { useDashboardSelector } from "
|
|
8
|
-
import { selectIsWhiteLabeled } from "
|
|
9
|
-
import { selectIsAlertingDialogOpen } from "
|
|
10
|
-
import { DASHBOARD_DIALOG_OVERS_Z_INDEX } from "
|
|
6
|
+
import { messages } from "../../../../locales.js";
|
|
7
|
+
import { useDashboardSelector } from "../../../../model/react/DashboardStoreProvider.js";
|
|
8
|
+
import { selectIsWhiteLabeled } from "../../../../model/store/config/configSelectors.js";
|
|
9
|
+
import { selectIsAlertingDialogOpen } from "../../../../model/store/ui/uiSelectors.js";
|
|
10
|
+
import { DASHBOARD_DIALOG_OVERS_Z_INDEX } from "../../../constants/zIndex.js";
|
|
11
11
|
import { isMobileView } from "../DefaultAlertingDialog/utils/responsive.js";
|
|
12
12
|
import { useAlertingDialogAccessibility } from "../hooks/useAlertingDialogAccessibility.js";
|
|
13
13
|
import { Alerts } from "./components/AlertsList.js";
|
|
@@ -6,16 +6,16 @@ import { FormattedMessage, defineMessage, useIntl } from "react-intl";
|
|
|
6
6
|
import { buildDashboardUrl, useBackend, useWorkspace } from "@gooddata/sdk-ui";
|
|
7
7
|
import { Automations } from "@gooddata/sdk-ui-ext";
|
|
8
8
|
import { Button, ContentDivider, Dialog, Hyperlink, OverlayController, OverlayControllerProvider, Typography, UiTooltip, useId, } from "@gooddata/sdk-ui-kit";
|
|
9
|
-
import { messages } from "
|
|
10
|
-
import { useDashboardSelector } from "
|
|
11
|
-
import { selectEnableAccessibilityMode, selectExternalRecipient, selectIsEmbedded, selectIsWhiteLabeled, selectTimezone, } from "
|
|
12
|
-
import { selectInsightByWidgetRef } from "
|
|
13
|
-
import { selectDashboardId, selectDashboardTitle } from "
|
|
14
|
-
import { selectCanCreateAutomation } from "
|
|
15
|
-
import { selectWidgetByRef } from "
|
|
16
|
-
import { selectAutomationsInvalidationId, selectIsAlertingDialogOpen, selectIsAlertingManagementDialogContext, } from "
|
|
17
|
-
import { AUTOMATIONS_COLUMN_CONFIG, AUTOMATIONS_MAX_HEIGHT } from "
|
|
18
|
-
import { DASHBOARD_DIALOG_OVERS_Z_INDEX } from "
|
|
9
|
+
import { messages } from "../../../../locales.js";
|
|
10
|
+
import { useDashboardSelector } from "../../../../model/react/DashboardStoreProvider.js";
|
|
11
|
+
import { selectEnableAccessibilityMode, selectExternalRecipient, selectIsEmbedded, selectIsWhiteLabeled, selectTimezone, } from "../../../../model/store/config/configSelectors.js";
|
|
12
|
+
import { selectInsightByWidgetRef } from "../../../../model/store/insights/insightsSelectors.js";
|
|
13
|
+
import { selectDashboardId, selectDashboardTitle } from "../../../../model/store/meta/metaSelectors.js";
|
|
14
|
+
import { selectCanCreateAutomation } from "../../../../model/store/permissions/permissionsSelectors.js";
|
|
15
|
+
import { selectWidgetByRef } from "../../../../model/store/tabs/layout/layoutSelectors.js";
|
|
16
|
+
import { selectAutomationsInvalidationId, selectIsAlertingDialogOpen, selectIsAlertingManagementDialogContext, } from "../../../../model/store/ui/uiSelectors.js";
|
|
17
|
+
import { AUTOMATIONS_COLUMN_CONFIG, AUTOMATIONS_MAX_HEIGHT } from "../../../constants/automations.js";
|
|
18
|
+
import { DASHBOARD_DIALOG_OVERS_Z_INDEX } from "../../../constants/zIndex.js";
|
|
19
19
|
import { ALERTING_DIALOG_ID } from "../DefaultAlertingDialog/constants.js";
|
|
20
20
|
import { isMobileView } from "../DefaultAlertingDialog/utils/responsive.js";
|
|
21
21
|
import { useAlertingDialogAccessibility } from "../hooks/useAlertingDialogAccessibility.js";
|
|
@@ -2,9 +2,9 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
// (C) 2022-2026 GoodData Corporation
|
|
3
3
|
import { useCallback, useState } from "react";
|
|
4
4
|
import { buildAutomationUrl, navigate, useWorkspace } from "@gooddata/sdk-ui";
|
|
5
|
-
import { useDashboardSelector } from "
|
|
6
|
-
import { selectEnableAutomationManagement, selectExternalRecipient, selectIsEmbedded, } from "
|
|
7
|
-
import { selectDashboardId } from "
|
|
5
|
+
import { useDashboardSelector } from "../../../../model/react/DashboardStoreProvider.js";
|
|
6
|
+
import { selectEnableAutomationManagement, selectExternalRecipient, selectIsEmbedded, } from "../../../../model/store/config/configSelectors.js";
|
|
7
|
+
import { selectDashboardId } from "../../../../model/store/meta/metaSelectors.js";
|
|
8
8
|
import { DeleteAlertConfirmDialog } from "./components/DeleteAlertConfirmDialog.js";
|
|
9
9
|
import { PauseAlertRunner } from "./components/PauseAlertRunner.js";
|
|
10
10
|
import { DefaultAlertingManagementDialogContentBasic } from "./DefaultAlertingManagementDialogContentBasic.js";
|
|
@@ -6,12 +6,12 @@ import { defineMessages, useIntl } from "react-intl";
|
|
|
6
6
|
import { isInsightWidget } from "@gooddata/sdk-model";
|
|
7
7
|
import { Button, Dropdown, IconAlert, IconAlertPaused, IconEllipsis, IconWarning, SELECT_ITEM_ACTION, ShortenedText, UiListbox, bemFactory, separatorStaticItem, } from "@gooddata/sdk-ui-kit";
|
|
8
8
|
import { useTheme } from "@gooddata/sdk-ui-theme-provider";
|
|
9
|
-
import { useDashboardSelector } from "
|
|
10
|
-
import { selectSeparators } from "
|
|
11
|
-
import { selectCanManageWorkspace } from "
|
|
12
|
-
import { selectWidgetByRef } from "
|
|
13
|
-
import { selectCurrentUser } from "
|
|
14
|
-
import { gdColorNegative, gdColorStateBlank } from "
|
|
9
|
+
import { useDashboardSelector } from "../../../../../model/react/DashboardStoreProvider.js";
|
|
10
|
+
import { selectSeparators } from "../../../../../model/store/config/configSelectors.js";
|
|
11
|
+
import { selectCanManageWorkspace } from "../../../../../model/store/permissions/permissionsSelectors.js";
|
|
12
|
+
import { selectWidgetByRef } from "../../../../../model/store/tabs/layout/layoutSelectors.js";
|
|
13
|
+
import { selectCurrentUser } from "../../../../../model/store/user/userSelectors.js";
|
|
14
|
+
import { gdColorNegative, gdColorStateBlank } from "../../../../constants/colors.js";
|
|
15
15
|
import { useAlertValidation } from "../../DefaultAlertingDialog/hooks/useAlertValidation.js";
|
|
16
16
|
import { getSubtitle } from "../../DefaultAlertingDialog/utils/getters.js";
|
|
17
17
|
const TEXT_TOOLTIP_ALIGN_POINTS = [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
// (C) 2020-
|
|
2
|
+
// (C) 2020-2026 GoodData Corporation
|
|
3
3
|
import { Fragment } from "react";
|
|
4
4
|
import cx from "classnames";
|
|
5
5
|
import { FormattedMessage, defineMessages } from "react-intl";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
// (C) 2022-
|
|
2
|
+
// (C) 2022-2026 GoodData Corporation
|
|
3
3
|
import { useCallback, useState } from "react";
|
|
4
4
|
import { FormattedMessage } from "react-intl";
|
|
5
5
|
import { LoadingSpinner, useIdPrefixed, useListWithActionsKeyboardNavigation } from "@gooddata/sdk-ui-kit";
|
|
@@ -2,9 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { FormattedMessage, useIntl } from "react-intl";
|
|
3
3
|
import { convertError, useBackendStrict, useWorkspaceStrict } from "@gooddata/sdk-ui";
|
|
4
4
|
import { ConfirmDialog } from "@gooddata/sdk-ui-kit";
|
|
5
|
-
import { useDashboardSelector } from "
|
|
6
|
-
import { selectCanManageWorkspace } from "
|
|
7
|
-
import { selectCurrentUser } from "
|
|
5
|
+
import { useDashboardSelector } from "../../../../../model/react/DashboardStoreProvider.js";
|
|
6
|
+
import { selectCanManageWorkspace } from "../../../../../model/store/permissions/permissionsSelectors.js";
|
|
7
|
+
import { selectCurrentUser } from "../../../../../model/store/user/userSelectors.js";
|
|
8
8
|
export function DeleteAlertConfirmDialog({ alert, onCancel, onSuccess, onError, }) {
|
|
9
9
|
const effectiveBackend = useBackendStrict();
|
|
10
10
|
const effectiveWorkspace = useWorkspaceStrict();
|
package/esm/presentation/{alerting → automations/alerting}/hooks/useAlertingDialogAccessibility.js
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// (C) 2025-2026 GoodData Corporation
|
|
2
2
|
import { useMemo } from "react";
|
|
3
|
-
import { DEFAULT_MENU_BUTTON_ID } from "
|
|
4
|
-
import { useDashboardSelector } from "
|
|
5
|
-
import { selectAlertingDialogReturnFocusTo } from "
|
|
3
|
+
import { DEFAULT_MENU_BUTTON_ID } from "../../../../_staging/accessibility/elementId.js";
|
|
4
|
+
import { useDashboardSelector } from "../../../../model/react/DashboardStoreProvider.js";
|
|
5
|
+
import { selectAlertingDialogReturnFocusTo } from "../../../../model/store/ui/uiSelectors.js";
|
|
6
6
|
export const useAlertingDialogAccessibility = () => {
|
|
7
7
|
const alertingDialogReturnFocusTo = useDashboardSelector(selectAlertingDialogReturnFocusTo);
|
|
8
8
|
const returnFocusTo = useMemo(() => alertingDialogReturnFocusTo || DEFAULT_MENU_BUTTON_ID, [alertingDialogReturnFocusTo]);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// (C) 2025-2026 GoodData Corporation
|
|
2
2
|
import { useEffect, useMemo, useState } from "react";
|
|
3
3
|
import { fillMissingTitles } from "@gooddata/sdk-ui";
|
|
4
|
-
import { useDashboardSelector } from "
|
|
5
|
-
import { selectCatalogDateDatasets } from "
|
|
6
|
-
import { selectEnableComparisonInAlerting, selectLocale, } from "
|
|
4
|
+
import { useDashboardSelector } from "../../../../model/react/DashboardStoreProvider.js";
|
|
5
|
+
import { selectCatalogDateDatasets } from "../../../../model/store/catalog/catalogSelectors.js";
|
|
6
|
+
import { selectEnableComparisonInAlerting, selectLocale, } from "../../../../model/store/config/configSelectors.js";
|
|
7
7
|
import { getSupportedInsightMeasuresByInsight } from "../DefaultAlertingDialog/utils/items.js";
|
|
8
8
|
/**
|
|
9
9
|
* Hook that calculates supported alertable measures for an insight.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ComponentType } from "react";
|
|
2
2
|
import { type DateAttributeGranularity, type IAttribute, type IAutomationMetadataObject, type IDataSetMetadataObject, type IInsight, type IMeasure, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type IWorkspaceUser } from "@gooddata/sdk-model";
|
|
3
3
|
import { type GoodDataSdkError } from "@gooddata/sdk-ui";
|
|
4
|
-
import type { ExtendedDashboardWidget } from "
|
|
4
|
+
import type { ExtendedDashboardWidget } from "../../../model/types/layoutTypes.js";
|
|
5
5
|
/**
|
|
6
6
|
* @alpha
|
|
7
7
|
*/
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main context shared across all automation dialogs.
|
|
3
|
+
* Shape grows incrementally as dep-cruiser migration reveals what
|
|
4
|
+
* data is shared across all automation dialogs.
|
|
5
|
+
*/
|
|
6
|
+
export interface IAutomationsContextValue {
|
|
7
|
+
}
|
|
8
|
+
export declare const AutomationsContextProvider: import("react").Provider<IAutomationsContextValue | undefined>;
|
|
9
|
+
export declare function useAutomationsContext(): IAutomationsContextValue;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { createContext, useContext } from "react";
|
|
3
|
+
const AutomationsContext = createContext(undefined);
|
|
4
|
+
export const AutomationsContextProvider = AutomationsContext.Provider;
|
|
5
|
+
export function useAutomationsContext() {
|
|
6
|
+
const ctx = useContext(AutomationsContext);
|
|
7
|
+
if (!ctx) {
|
|
8
|
+
throw new Error("useAutomationsContext must be used within AutomationsContextProvider");
|
|
9
|
+
}
|
|
10
|
+
return ctx;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { renderHook } from "@testing-library/react";
|
|
3
|
+
import { describe, expect, it } from "vitest";
|
|
4
|
+
import { useAutomationsContext } from "./AutomationsContext.js";
|
|
5
|
+
describe("useAutomationsContext", () => {
|
|
6
|
+
it("throws when used outside provider", () => {
|
|
7
|
+
expect(() => renderHook(() => useAutomationsContext())).toThrow("useAutomationsContext must be used within AutomationsContextProvider");
|
|
8
|
+
});
|
|
9
|
+
});
|
|
@@ -2,7 +2,7 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
// (C) 2019-2026 GoodData Corporation
|
|
3
3
|
import { useIntl } from "react-intl";
|
|
4
4
|
import { ConfirmDialogBase, Overlay, OverlayController, OverlayControllerProvider, UiSkeleton, useId, } from "@gooddata/sdk-ui-kit";
|
|
5
|
-
import { DASHBOARD_DIALOG_OVERS_Z_INDEX } from "
|
|
5
|
+
import { DASHBOARD_DIALOG_OVERS_Z_INDEX } from "../../../constants/zIndex.js";
|
|
6
6
|
const overlayController = OverlayController.getInstance(DASHBOARD_DIALOG_OVERS_Z_INDEX);
|
|
7
7
|
export function DefaultLoadingScheduledEmailDialog({ scheduledExportToEdit, onCancel, }) {
|
|
8
8
|
const intl = useIntl();
|