@gooddata/sdk-ui-dashboard 11.55.0-alpha.1 → 11.55.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +26793 -68204
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/index.d.ts +42 -4
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +38 -0
- package/esm/internal.d.ts +1 -1
- package/esm/internal.d.ts.map +1 -1
- package/esm/internal.js +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +1 -1
- package/esm/model/store/config/configSelectors.js +1 -1
- package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +10 -22
- package/esm/model/store/tabs/parameters/parametersHelpers.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersHelpers.js +13 -42
- package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +8 -10
- package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersSelectors.js +22 -32
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts +16 -9
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +43 -153
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogAttribute.d.ts +13 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogAttribute.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/{components/AlertAttributeSelect.js → DefaultAlertingDialogAttribute.js} +12 -3
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogComparisonOperator.d.ts +13 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogComparisonOperator.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/{components/AlertComparisonOperatorSelect.js → DefaultAlertingDialogComparisonOperator.js} +13 -4
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogComparisonPeriod.d.ts +14 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogComparisonPeriod.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/{components/AlertComparisonPeriodSelect.js → DefaultAlertingDialogComparisonPeriod.js} +16 -6
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogDestination.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogDestination.js +2 -2
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogGranularity.d.ts +12 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogGranularity.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/{components/AlertGranularitySelect.js → DefaultAlertingDialogGranularity.js} +10 -2
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogMeasure.d.ts +12 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogMeasure.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/{components/AlertMeasureSelect.js → DefaultAlertingDialogMeasure.js} +11 -3
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogRecipients.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogRecipients.js +2 -2
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogSensitivity.d.ts +12 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogSensitivity.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/{components/AlertSensitivitySelect.js → DefaultAlertingDialogSensitivity.js} +10 -2
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogThreshold.d.ts +12 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogThreshold.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/{components/AlertThresholdInput.js → DefaultAlertingDialogThreshold.js} +9 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogTriggerInterval.d.ts +13 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogTriggerInterval.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/{components/AlertTriggerIntervalSelect.js → DefaultAlertingDialogTriggerInterval.js} +11 -2
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogTriggerMode.d.ts +12 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialogTriggerMode.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/{components/AlertTriggerModeSelect.js → DefaultAlertingDialogTriggerMode.js} +10 -2
- package/esm/presentation/automations/alerting/blocks/AlertingDialogAttribute.d.ts +16 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogAttribute.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogAttribute.js +28 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogComparisonOperator.d.ts +22 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogComparisonOperator.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogComparisonOperator.js +31 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogComparisonPeriod.d.ts +18 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogComparisonPeriod.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogComparisonPeriod.js +31 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogFieldLabelWithTooltip.d.ts +11 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogFieldLabelWithTooltip.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogFieldLabelWithTooltip.js +15 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogFormFieldGroup.d.ts +10 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogFormFieldGroup.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogFormFieldGroup.js +12 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogGranularity.d.ts +15 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogGranularity.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogGranularity.js +33 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogMeasure.d.ts +30 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogMeasure.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogMeasure.js +39 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogSensitivity.d.ts +15 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogSensitivity.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogSensitivity.js +30 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogShell.d.ts +49 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogShell.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogShell.js +128 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogThreshold.d.ts +21 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogThreshold.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogThreshold.js +36 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogTriggerInterval.d.ts +15 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogTriggerInterval.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogTriggerInterval.js +32 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogTriggerMode.d.ts +15 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogTriggerMode.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogTriggerMode.js +24 -0
- package/esm/presentation/automations/alerting/blocks/DefaultLoadingAlertingDialog.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → hooks}/useAlertThreshold.d.ts +1 -1
- package/esm/presentation/automations/alerting/hooks/useAlertThreshold.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → hooks}/useAlertThreshold.js +1 -1
- package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → hooks}/useThresholdValue.d.ts +1 -1
- package/esm/presentation/automations/alerting/hooks/useThresholdValue.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/{DefaultAlertingDialog/hooks → hooks}/useThresholdValue.js +2 -2
- package/esm/presentation/automations/alerting/state/types.d.ts +2 -2
- package/esm/presentation/automations/alerting/state/types.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/useAlertingDialogFieldProps.d.ts +87 -0
- package/esm/presentation/automations/alerting/state/useAlertingDialogFieldProps.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/state/useAlertingDialogFieldProps.js +234 -0
- package/esm/presentation/automations/alerting/types.d.ts +401 -3
- package/esm/presentation/automations/alerting/types.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/utils/getters.d.ts +1 -8
- package/esm/presentation/automations/alerting/utils/getters.d.ts.map +1 -1
- package/esm/presentation/automations/connectors/hooks/useBuildAlertingManagementDialogContext.d.ts.map +1 -1
- package/esm/presentation/automations/connectors/hooks/useBuildAlertingManagementDialogContext.js +7 -0
- package/esm/presentation/automations/contexts/AlertingManagementDialogContext.d.ts +12 -0
- package/esm/presentation/automations/contexts/AlertingManagementDialogContext.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts +15 -10
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +45 -198
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts +2 -18
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts +2 -23
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDashboardAttachments.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDashboardAttachments.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDashboardAttachments.js +12 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogEvaluationMode.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogEvaluationMode.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogEvaluationMode.js +12 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogMessage.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogMessage.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogMessage.js +12 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecurrence.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecurrence.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecurrence.js +12 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogSubject.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogSubject.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogSubject.js +12 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogWidgetAttachments.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogWidgetAttachments.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogWidgetAttachments.js +12 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.d.ts +2 -17
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.js +0 -3
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/MessageForm/MessageForm.d.ts +2 -6
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/MessageForm/MessageForm.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/SubjectForm/SubjectForm.d.ts +2 -10
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/SubjectForm/SubjectForm.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/blocks/DefaultLoadingScheduledEmailDialog.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDashboardAttachments.d.ts +16 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDashboardAttachments.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDashboardAttachments.js +28 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogEvaluationMode.d.ts +16 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogEvaluationMode.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogEvaluationMode.js +28 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogMessage.d.ts +15 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogMessage.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogMessage.js +27 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecurrence.d.ts +16 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecurrence.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecurrence.js +24 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogShell.d.ts +59 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogShell.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogShell.js +195 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogSubject.d.ts +16 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogSubject.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogSubject.js +29 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogWidgetAttachments.d.ts +16 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogWidgetAttachments.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogWidgetAttachments.js +28 -0
- package/esm/presentation/automations/scheduledEmail/state/useIsInPlatformChannel.d.ts +6 -0
- package/esm/presentation/automations/scheduledEmail/state/useIsInPlatformChannel.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/state/useIsInPlatformChannel.js +13 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.d.ts +73 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.js +168 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailSubmitOnEnter.d.ts +30 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailSubmitOnEnter.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailSubmitOnEnter.js +26 -0
- package/esm/presentation/automations/scheduledEmail/types.d.ts +299 -1
- package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/components/AutomationAttributeFilter.js +1 -1
- package/esm/presentation/automations/shared/automationFilters/components/AutomationDateFilter.js +1 -1
- package/esm/presentation/automations/shared/automationFilters/components/AutomationMeasureValueFilter.js +1 -1
- package/esm/presentation/automations/shared/hooks/useWorkspaceUsersSearch.d.ts +51 -0
- package/esm/presentation/automations/shared/hooks/useWorkspaceUsersSearch.d.ts.map +1 -0
- package/esm/presentation/automations/{scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect → shared/hooks}/useWorkspaceUsersSearch.js +13 -0
- package/esm/presentation/automations/shared/slots/AutomationDialogFormField.d.ts +13 -0
- package/esm/presentation/automations/shared/slots/AutomationDialogFormField.d.ts.map +1 -0
- package/esm/presentation/automations/{alerting/DefaultAlertingDialog/FormField.js → shared/slots/AutomationDialogFormField.js} +10 -1
- package/esm/presentation/automations/shared/slots/types.d.ts +23 -0
- package/esm/presentation/automations/shared/slots/types.d.ts.map +1 -1
- package/esm/presentation/dashboard/components/DashboardScreenSizeContext.js +1 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +91 -91
- package/esm/presentation/widget/insightMenu/types.js +1 -1
- package/esm/presentation/widget/richTextMenu/types.d.ts.map +1 -1
- package/esm/presentation/widget/richTextMenu/types.js +2 -1
- package/esm/sdk-ui-dashboard.d.ts +1604 -94
- package/package.json +22 -24
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultLoadingAlertingDialog.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/FormField.d.ts +0 -8
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/FormField.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertAttributeSelect.d.ts +0 -19
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertAttributeSelect.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.d.ts +0 -19
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertComparisonOperatorSelect.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.d.ts +0 -15
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertComparisonPeriodSelect.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertGranularitySelect.d.ts +0 -12
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertGranularitySelect.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertMeasureSelect.d.ts +0 -13
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertMeasureSelect.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertSensitivitySelect.d.ts +0 -11
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertSensitivitySelect.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertThresholdInput.d.ts +0 -12
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertThresholdInput.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertTriggerIntervalSelect.d.ts +0 -11
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertTriggerIntervalSelect.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertTriggerModeSelect.d.ts +0 -12
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/components/AlertTriggerModeSelect.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertThreshold.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useThresholdValue.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultLoadingScheduledEmailDialog.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/useWorkspaceUsersSearch.d.ts +0 -13
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/useWorkspaceUsersSearch.d.ts.map +0 -1
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog → blocks}/DefaultLoadingAlertingDialog.d.ts +0 -0
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog → blocks}/DefaultLoadingAlertingDialog.js +0 -0
- /package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog → blocks}/DefaultLoadingScheduledEmailDialog.d.ts +0 -0
- /package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog → blocks}/DefaultLoadingScheduledEmailDialog.js +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* A heading with a column of field rows under it — the default alerting dialog's "When" (the condition
|
|
4
|
+
* fields) and "Do" (the action fields) groups. Layout only; reads no dialog context.
|
|
5
|
+
*
|
|
6
|
+
* @alpha
|
|
7
|
+
*/
|
|
8
|
+
export function AlertingDialogFormFieldGroup({ label, children, }) {
|
|
9
|
+
return (_jsxs("div", { className: "gd-input-component gd-input-component--no-last-child-margin gd-dashboard-alerting-dialog-form-field-group", children: [
|
|
10
|
+
_jsx("div", { className: "gd-dashboard-alerting-dialog-form-field-group__label-container", children: _jsx("label", { className: "gd-label gd-dashboard-alerting-dialog-form-field-group__label", children: label }) }), _jsx("div", { className: "gd-dashboard-alerting-dialog-form-field-group__content-container", children: children })
|
|
11
|
+
] }));
|
|
12
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import { type IAlertingDialogGranularityProps } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The alerting dialog's granularity field (the period anomaly detection evaluates over), connected
|
|
5
|
+
* to the dialog's state and rendered as a labelled form row.
|
|
6
|
+
*
|
|
7
|
+
* Renders {@link DefaultAlertingDialogGranularity} inside {@link AutomationDialogFormField} with
|
|
8
|
+
* the props of {@link useAlertingDialogGranularityProps}; every prop passed here replaces the
|
|
9
|
+
* hook's value for that prop wholesale. Renders nothing unless the draft uses anomaly detection,
|
|
10
|
+
* and nothing while `useAlertingDialogContext().isLoading` is true.
|
|
11
|
+
*
|
|
12
|
+
* @alpha
|
|
13
|
+
*/
|
|
14
|
+
export declare function AlertingDialogGranularity(overrides: Partial<IAlertingDialogGranularityProps>): ReactElement;
|
|
15
|
+
//# sourceMappingURL=AlertingDialogGranularity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertingDialogGranularity.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/blocks/AlertingDialogGranularity.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAQ1C,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,aAAa,CAAC;AASnE;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,OAAO,CAAC,+BAA+B,CAAC,GAAG,YAAY,CAM3G"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { defineMessage } from "react-intl";
|
|
3
|
+
import { AutomationDialogFormField } from "../../shared/slots/AutomationDialogFormField.js";
|
|
4
|
+
import { DefaultAlertingDialogGranularity } from "../DefaultAlertingDialog/DefaultAlertingDialogGranularity.js";
|
|
5
|
+
import { useAlertDraft } from "../state/AlertDraftContext.js";
|
|
6
|
+
import { useAlertingDialogGranularityProps } from "../state/useAlertingDialogFieldProps.js";
|
|
7
|
+
import { isAnomalyDetection } from "../utils/guards.js";
|
|
8
|
+
import { AlertingDialogFieldLabelWithTooltip } from "./AlertingDialogFieldLabelWithTooltip.js";
|
|
9
|
+
import { WhenAlertingDialogLoaded } from "./WhenAlertingDialogLoaded.js";
|
|
10
|
+
const GRANULARITY_LABEL = defineMessage({ id: "insightAlert.config.granularity" });
|
|
11
|
+
const GRANULARITY_TOOLTIP = defineMessage({ id: "insightAlert.config.granularity.tooltip" });
|
|
12
|
+
/**
|
|
13
|
+
* The alerting dialog's granularity field (the period anomaly detection evaluates over), connected
|
|
14
|
+
* to the dialog's state and rendered as a labelled form row.
|
|
15
|
+
*
|
|
16
|
+
* Renders {@link DefaultAlertingDialogGranularity} inside {@link AutomationDialogFormField} with
|
|
17
|
+
* the props of {@link useAlertingDialogGranularityProps}; every prop passed here replaces the
|
|
18
|
+
* hook's value for that prop wholesale. Renders nothing unless the draft uses anomaly detection,
|
|
19
|
+
* and nothing while `useAlertingDialogContext().isLoading` is true.
|
|
20
|
+
*
|
|
21
|
+
* @alpha
|
|
22
|
+
*/
|
|
23
|
+
export function AlertingDialogGranularity(overrides) {
|
|
24
|
+
return (_jsx(WhenAlertingDialogLoaded, { children: _jsx(ConnectedAlertingDialogGranularity, { ...overrides }) }));
|
|
25
|
+
}
|
|
26
|
+
function ConnectedAlertingDialogGranularity(overrides) {
|
|
27
|
+
const props = { ...useAlertingDialogGranularityProps(), ...overrides };
|
|
28
|
+
const { editedAutomation } = useAlertDraft();
|
|
29
|
+
if (!isAnomalyDetection(editedAutomation?.alert)) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
return (_jsx(AutomationDialogFormField, { label: _jsx(AlertingDialogFieldLabelWithTooltip, { label: GRANULARITY_LABEL, tooltip: GRANULARITY_TOOLTIP }), htmlFor: props.id, children: _jsx(DefaultAlertingDialogGranularity, { ...props }) }));
|
|
33
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import { type IAlertingDialogMeasureProps } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The alerting dialog's measure field ("Metric": the measure the condition targets), connected to
|
|
5
|
+
* the dialog's state and rendered as a labelled form row.
|
|
6
|
+
*
|
|
7
|
+
* Renders {@link DefaultAlertingDialogMeasure} inside {@link AutomationDialogFormField} with the
|
|
8
|
+
* props of {@link useAlertingDialogMeasureProps}; every prop passed here replaces the hook's value
|
|
9
|
+
* for that prop wholesale. Renders nothing while `useAlertingDialogContext().isLoading` is true.
|
|
10
|
+
* The row's label is the default dialog's — a shell that wants its own label renders the hook and
|
|
11
|
+
* the render component inside its own `AutomationDialogFormField`.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* function MyAlertingDialog(props: IAlertingDialogProps) {
|
|
16
|
+
* return (
|
|
17
|
+
* <MyShell onClose={props.onCancel}>
|
|
18
|
+
* <AlertingDialogMeasure />
|
|
19
|
+
* <AlertingDialogComparisonOperator />
|
|
20
|
+
* <AlertingDialogThreshold />
|
|
21
|
+
* </MyShell>
|
|
22
|
+
* );
|
|
23
|
+
* }
|
|
24
|
+
* <Dashboard AlertingDialogComponent={MyAlertingDialog} />;
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @alpha
|
|
28
|
+
*/
|
|
29
|
+
export declare function AlertingDialogMeasure(overrides: Partial<IAlertingDialogMeasureProps>): ReactElement;
|
|
30
|
+
//# sourceMappingURL=AlertingDialogMeasure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertingDialogMeasure.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/blocks/AlertingDialogMeasure.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAO1C,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAI/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,YAAY,CAMnG"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { FormattedMessage } from "react-intl";
|
|
3
|
+
import { AutomationDialogFormField } from "../../shared/slots/AutomationDialogFormField.js";
|
|
4
|
+
import { DefaultAlertingDialogMeasure } from "../DefaultAlertingDialog/DefaultAlertingDialogMeasure.js";
|
|
5
|
+
import { useAlertingDialogMeasureProps } from "../state/useAlertingDialogFieldProps.js";
|
|
6
|
+
import { WhenAlertingDialogLoaded } from "./WhenAlertingDialogLoaded.js";
|
|
7
|
+
/**
|
|
8
|
+
* The alerting dialog's measure field ("Metric": the measure the condition targets), connected to
|
|
9
|
+
* the dialog's state and rendered as a labelled form row.
|
|
10
|
+
*
|
|
11
|
+
* Renders {@link DefaultAlertingDialogMeasure} inside {@link AutomationDialogFormField} with the
|
|
12
|
+
* props of {@link useAlertingDialogMeasureProps}; every prop passed here replaces the hook's value
|
|
13
|
+
* for that prop wholesale. Renders nothing while `useAlertingDialogContext().isLoading` is true.
|
|
14
|
+
* The row's label is the default dialog's — a shell that wants its own label renders the hook and
|
|
15
|
+
* the render component inside its own `AutomationDialogFormField`.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* function MyAlertingDialog(props: IAlertingDialogProps) {
|
|
20
|
+
* return (
|
|
21
|
+
* <MyShell onClose={props.onCancel}>
|
|
22
|
+
* <AlertingDialogMeasure />
|
|
23
|
+
* <AlertingDialogComparisonOperator />
|
|
24
|
+
* <AlertingDialogThreshold />
|
|
25
|
+
* </MyShell>
|
|
26
|
+
* );
|
|
27
|
+
* }
|
|
28
|
+
* <Dashboard AlertingDialogComponent={MyAlertingDialog} />;
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @alpha
|
|
32
|
+
*/
|
|
33
|
+
export function AlertingDialogMeasure(overrides) {
|
|
34
|
+
return (_jsx(WhenAlertingDialogLoaded, { children: _jsx(ConnectedAlertingDialogMeasure, { ...overrides }) }));
|
|
35
|
+
}
|
|
36
|
+
function ConnectedAlertingDialogMeasure(overrides) {
|
|
37
|
+
const props = { ...useAlertingDialogMeasureProps(), ...overrides };
|
|
38
|
+
return (_jsx(AutomationDialogFormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.metric" }), htmlFor: props.id, children: _jsx(DefaultAlertingDialogMeasure, { ...props }) }));
|
|
39
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import { type IAlertingDialogSensitivityProps } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The alerting dialog's sensitivity field (the "Sensitivity" of anomaly detection), connected to
|
|
5
|
+
* the dialog's state and rendered as a labelled form row.
|
|
6
|
+
*
|
|
7
|
+
* Renders {@link DefaultAlertingDialogSensitivity} inside {@link AutomationDialogFormField} with
|
|
8
|
+
* the props of {@link useAlertingDialogSensitivityProps}; every prop passed here replaces the
|
|
9
|
+
* hook's value for that prop wholesale. Renders nothing unless the draft uses anomaly detection,
|
|
10
|
+
* and nothing while `useAlertingDialogContext().isLoading` is true.
|
|
11
|
+
*
|
|
12
|
+
* @alpha
|
|
13
|
+
*/
|
|
14
|
+
export declare function AlertingDialogSensitivity(overrides: Partial<IAlertingDialogSensitivityProps>): ReactElement;
|
|
15
|
+
//# sourceMappingURL=AlertingDialogSensitivity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertingDialogSensitivity.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/blocks/AlertingDialogSensitivity.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAQ1C,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAKnE;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,OAAO,CAAC,+BAA+B,CAAC,GAAG,YAAY,CAM3G"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { FormattedMessage } from "react-intl";
|
|
3
|
+
import { AutomationDialogFormField } from "../../shared/slots/AutomationDialogFormField.js";
|
|
4
|
+
import { DefaultAlertingDialogSensitivity } from "../DefaultAlertingDialog/DefaultAlertingDialogSensitivity.js";
|
|
5
|
+
import { useAlertDraft } from "../state/AlertDraftContext.js";
|
|
6
|
+
import { useAlertingDialogSensitivityProps } from "../state/useAlertingDialogFieldProps.js";
|
|
7
|
+
import { isAnomalyDetection } from "../utils/guards.js";
|
|
8
|
+
import { WhenAlertingDialogLoaded } from "./WhenAlertingDialogLoaded.js";
|
|
9
|
+
/**
|
|
10
|
+
* The alerting dialog's sensitivity field (the "Sensitivity" of anomaly detection), connected to
|
|
11
|
+
* the dialog's state and rendered as a labelled form row.
|
|
12
|
+
*
|
|
13
|
+
* Renders {@link DefaultAlertingDialogSensitivity} inside {@link AutomationDialogFormField} with
|
|
14
|
+
* the props of {@link useAlertingDialogSensitivityProps}; every prop passed here replaces the
|
|
15
|
+
* hook's value for that prop wholesale. Renders nothing unless the draft uses anomaly detection,
|
|
16
|
+
* and nothing while `useAlertingDialogContext().isLoading` is true.
|
|
17
|
+
*
|
|
18
|
+
* @alpha
|
|
19
|
+
*/
|
|
20
|
+
export function AlertingDialogSensitivity(overrides) {
|
|
21
|
+
return (_jsx(WhenAlertingDialogLoaded, { children: _jsx(ConnectedAlertingDialogSensitivity, { ...overrides }) }));
|
|
22
|
+
}
|
|
23
|
+
function ConnectedAlertingDialogSensitivity(overrides) {
|
|
24
|
+
const props = { ...useAlertingDialogSensitivityProps(), ...overrides };
|
|
25
|
+
const { editedAutomation } = useAlertDraft();
|
|
26
|
+
if (!isAnomalyDetection(editedAutomation?.alert)) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
return (_jsx(AutomationDialogFormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.sensitivity" }), htmlFor: props.id, children: _jsx(DefaultAlertingDialogSensitivity, { ...props }) }));
|
|
30
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import { type IAlertingDialogShellProps } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The alerting dialog's chrome, connected to the dialog's state: the modal overlay, the dialog frame
|
|
5
|
+
* with the header row (the title input) and the action bar, the scrollable content area around
|
|
6
|
+
* `children`, the dialog's warning and validation messages, the stale-filters confirmation step shown
|
|
7
|
+
* before the dialog when the saved filters no longer match the dashboard, and the delete confirmation
|
|
8
|
+
* reached from the action bar in edit mode. While `useAlertingDialogContext().isLoading` is true it
|
|
9
|
+
* renders the loading skeleton and none of its children.
|
|
10
|
+
*
|
|
11
|
+
* The default dialog is `<AlertingDialogShell>` around the region and field blocks; a custom
|
|
12
|
+
* `AlertingDialogComponent` that keeps this chrome and arranges the blocks differently renders the shell
|
|
13
|
+
* itself. The shell does not own the submit: call {@link useAlertSubmit} and pass its `submit` and
|
|
14
|
+
* `isSaving`, so the footer button and any Enter handler in the body share one instance. Call that hook
|
|
15
|
+
* only once `useAlertingDialogContext().isLoading` is false — the state hooks throw while the dialog
|
|
16
|
+
* loads — and render the shell alone (any `onSubmit`, `isSaving: false`) until then, as the example does.
|
|
17
|
+
*
|
|
18
|
+
* Needs an ambient `IntlProvider`; inside a `Dashboard` the dashboard's provider covers it.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* function MyAlertingDialog(props: IAlertingDialogProps) {
|
|
23
|
+
* const { isLoading } = useAlertingDialogContext();
|
|
24
|
+
* // the state hooks throw while the dialog loads; the shell renders the loading skeleton
|
|
25
|
+
* if (isLoading) {
|
|
26
|
+
* return <AlertingDialogShell {...props} onSubmit={() => {}} isSaving={false} />;
|
|
27
|
+
* }
|
|
28
|
+
* return <MyAlertingDialogBody {...props} />;
|
|
29
|
+
* }
|
|
30
|
+
*
|
|
31
|
+
* function MyAlertingDialogBody(props: IAlertingDialogProps) {
|
|
32
|
+
* const { isSaving, submit } = useAlertSubmit(props);
|
|
33
|
+
* return (
|
|
34
|
+
* <AlertingDialogShell {...props} onSubmit={() => void submit()} isSaving={isSaving}>
|
|
35
|
+
* <AlertingDialogFormFieldGroup label="When">
|
|
36
|
+
* <AlertingDialogMeasure />
|
|
37
|
+
* <AlertingDialogComparisonOperator />
|
|
38
|
+
* <AlertingDialogThreshold />
|
|
39
|
+
* </AlertingDialogFormFieldGroup>
|
|
40
|
+
* <AlertingDialogRecipients />
|
|
41
|
+
* </AlertingDialogShell>
|
|
42
|
+
* );
|
|
43
|
+
* }
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @alpha
|
|
47
|
+
*/
|
|
48
|
+
export declare function AlertingDialogShell(props: IAlertingDialogShellProps): ReactElement;
|
|
49
|
+
//# sourceMappingURL=AlertingDialogShell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertingDialogShell.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/blocks/AlertingDialogShell.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAA+B,MAAM,OAAO,CAAC;AAmCvE,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAM7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,yBAAyB,GAAG,YAAY,CAMlF"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2026 GoodData Corporation
|
|
3
|
+
import { useEffect, useRef, useState } from "react";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import { ValidationContextStore, createInvalidDatapoint, createInvalidNode, useValidationContextValue, } from "@gooddata/sdk-ui";
|
|
6
|
+
import { ConfirmDialogBase, Message, Overlay, OverlayController, OverlayControllerProvider, ScrollablePanel, useId, } from "@gooddata/sdk-ui-kit";
|
|
7
|
+
import { DASHBOARD_DIALOG_OVERS_Z_INDEX } from "../../../constants/zIndex.js";
|
|
8
|
+
import { useAlertingDialogContext } from "../../contexts/AlertingDialogContext.js";
|
|
9
|
+
import { ApplyCurrentFiltersConfirmDialog } from "../../shared/automationFilters/components/ApplyLatestFiltersConfirmDialog.js";
|
|
10
|
+
import { DefaultAutomationDialogActionBar } from "../../shared/slots/DefaultAutomationDialogActionBar.js";
|
|
11
|
+
import { ALERTING_DIALOG_ID } from "../DefaultAlertingDialog/constants.js";
|
|
12
|
+
import { DefaultAlertingDialogHeader } from "../DefaultAlertingDialog/DefaultAlertingDialogHeader.js";
|
|
13
|
+
import { DeleteAlertConfirmDialog } from "../DefaultAlertingManagementDialog/components/DeleteAlertConfirmDialog.js";
|
|
14
|
+
import { useAlertDraft } from "../state/AlertDraftContext.js";
|
|
15
|
+
import { useAlertFilters } from "../state/AlertFiltersContext.js";
|
|
16
|
+
import { useAlertDialogValidity } from "../state/useAlertDialogValidity.js";
|
|
17
|
+
import { useAlertingDialogActionBarProps, useAlertingDialogHeaderProps, } from "../state/useAlertingDialogRegionProps.js";
|
|
18
|
+
import { DefaultLoadingAlertingDialog } from "./DefaultLoadingAlertingDialog.js";
|
|
19
|
+
const overlayController = OverlayController.getInstance(DASHBOARD_DIALOG_OVERS_Z_INDEX);
|
|
20
|
+
/**
|
|
21
|
+
* The alerting dialog's chrome, connected to the dialog's state: the modal overlay, the dialog frame
|
|
22
|
+
* with the header row (the title input) and the action bar, the scrollable content area around
|
|
23
|
+
* `children`, the dialog's warning and validation messages, the stale-filters confirmation step shown
|
|
24
|
+
* before the dialog when the saved filters no longer match the dashboard, and the delete confirmation
|
|
25
|
+
* reached from the action bar in edit mode. While `useAlertingDialogContext().isLoading` is true it
|
|
26
|
+
* renders the loading skeleton and none of its children.
|
|
27
|
+
*
|
|
28
|
+
* The default dialog is `<AlertingDialogShell>` around the region and field blocks; a custom
|
|
29
|
+
* `AlertingDialogComponent` that keeps this chrome and arranges the blocks differently renders the shell
|
|
30
|
+
* itself. The shell does not own the submit: call {@link useAlertSubmit} and pass its `submit` and
|
|
31
|
+
* `isSaving`, so the footer button and any Enter handler in the body share one instance. Call that hook
|
|
32
|
+
* only once `useAlertingDialogContext().isLoading` is false — the state hooks throw while the dialog
|
|
33
|
+
* loads — and render the shell alone (any `onSubmit`, `isSaving: false`) until then, as the example does.
|
|
34
|
+
*
|
|
35
|
+
* Needs an ambient `IntlProvider`; inside a `Dashboard` the dashboard's provider covers it.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```tsx
|
|
39
|
+
* function MyAlertingDialog(props: IAlertingDialogProps) {
|
|
40
|
+
* const { isLoading } = useAlertingDialogContext();
|
|
41
|
+
* // the state hooks throw while the dialog loads; the shell renders the loading skeleton
|
|
42
|
+
* if (isLoading) {
|
|
43
|
+
* return <AlertingDialogShell {...props} onSubmit={() => {}} isSaving={false} />;
|
|
44
|
+
* }
|
|
45
|
+
* return <MyAlertingDialogBody {...props} />;
|
|
46
|
+
* }
|
|
47
|
+
*
|
|
48
|
+
* function MyAlertingDialogBody(props: IAlertingDialogProps) {
|
|
49
|
+
* const { isSaving, submit } = useAlertSubmit(props);
|
|
50
|
+
* return (
|
|
51
|
+
* <AlertingDialogShell {...props} onSubmit={() => void submit()} isSaving={isSaving}>
|
|
52
|
+
* <AlertingDialogFormFieldGroup label="When">
|
|
53
|
+
* <AlertingDialogMeasure />
|
|
54
|
+
* <AlertingDialogComparisonOperator />
|
|
55
|
+
* <AlertingDialogThreshold />
|
|
56
|
+
* </AlertingDialogFormFieldGroup>
|
|
57
|
+
* <AlertingDialogRecipients />
|
|
58
|
+
* </AlertingDialogShell>
|
|
59
|
+
* );
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* @alpha
|
|
64
|
+
*/
|
|
65
|
+
export function AlertingDialogShell(props) {
|
|
66
|
+
const { isLoading, alertToEdit } = useAlertingDialogContext();
|
|
67
|
+
if (isLoading) {
|
|
68
|
+
return _jsx(DefaultLoadingAlertingDialog, { onCancel: props.onCancel, alertToEdit: alertToEdit });
|
|
69
|
+
}
|
|
70
|
+
return _jsx(LoadedAlertingDialogShell, { ...props });
|
|
71
|
+
}
|
|
72
|
+
function LoadedAlertingDialogShell({ onCancel, onDeleteSuccess, onDeleteError, onSubmit, isSaving, slots, topContent, bottomContent, children, }) {
|
|
73
|
+
const HeaderSlot = slots?.Header;
|
|
74
|
+
const ActionBarSlot = slots?.ActionBar;
|
|
75
|
+
const intl = useIntl();
|
|
76
|
+
const dialogTitleRef = useRef(null);
|
|
77
|
+
const { alertToEdit } = useAlertingDialogContext();
|
|
78
|
+
const [alertToDelete, setAlertToDelete] = useState(null);
|
|
79
|
+
const handleAlertDeleteSuccess = (alert) => {
|
|
80
|
+
onDeleteSuccess?.(alert);
|
|
81
|
+
setAlertToDelete(null);
|
|
82
|
+
};
|
|
83
|
+
const { warningMessage } = useAlertDraft();
|
|
84
|
+
const { onApplyCurrentFilters, automationIsValid, filtersAreStale, dropStaleParameters } = useAlertFilters();
|
|
85
|
+
const { validationErrorMessage, isInvalidConnectionToInsight } = useAlertDialogValidity();
|
|
86
|
+
const [isApplyCurrentFiltersDialogOpen, setIsApplyCurrentFiltersDialogOpen] = useState(!automationIsValid);
|
|
87
|
+
const headerDefaultProps = useAlertingDialogHeaderProps({ onCancel, ref: dialogTitleRef });
|
|
88
|
+
const actionBarDefaultProps = useAlertingDialogActionBarProps({
|
|
89
|
+
onCancel,
|
|
90
|
+
onSubmit,
|
|
91
|
+
isSaving,
|
|
92
|
+
onDelete: () => setAlertToDelete(alertToEdit),
|
|
93
|
+
});
|
|
94
|
+
const validationContextValue = useValidationContextValue(createInvalidNode({ id: "AlertingDialog" }));
|
|
95
|
+
const { setInvalidDatapoints, getInvalidDatapoints } = validationContextValue;
|
|
96
|
+
const invalidDatapoints = getInvalidDatapoints();
|
|
97
|
+
useEffect(() => {
|
|
98
|
+
setInvalidDatapoints(() => [
|
|
99
|
+
!!validationErrorMessage &&
|
|
100
|
+
createInvalidDatapoint({
|
|
101
|
+
message: validationErrorMessage,
|
|
102
|
+
severity: isInvalidConnectionToInsight ? "error" : "warning",
|
|
103
|
+
}),
|
|
104
|
+
]);
|
|
105
|
+
}, [validationErrorMessage, isInvalidConnectionToInsight, setInvalidDatapoints]);
|
|
106
|
+
const titleElementId = useId();
|
|
107
|
+
if (isApplyCurrentFiltersDialogOpen) {
|
|
108
|
+
return (_jsx(ApplyCurrentFiltersConfirmDialog, { automationType: "alert", onCancel: () => onCancel?.(), onEdit: () => {
|
|
109
|
+
// Repair only what is actually stale: replace filters when they are invalid, and
|
|
110
|
+
// drop catalog-absent parameters. A valid saved filter set survives a param-only fix.
|
|
111
|
+
if (filtersAreStale) {
|
|
112
|
+
onApplyCurrentFilters();
|
|
113
|
+
}
|
|
114
|
+
dropStaleParameters();
|
|
115
|
+
setIsApplyCurrentFiltersDialogOpen(false);
|
|
116
|
+
} }));
|
|
117
|
+
}
|
|
118
|
+
return (_jsxs(_Fragment, { children: [
|
|
119
|
+
_jsx(Overlay, { className: "gd-notifications-channels-dialog-overlay", isModal: true, positionType: "fixed", ensureVisibility: true, children: _jsx(OverlayControllerProvider, { overlayController: overlayController, children: _jsx(ValidationContextStore, { value: validationContextValue, children: _jsxs(ConfirmDialogBase, { className: "gd-notifications-channels-dialog s-gd-notifications-channels-dialog gd-dialog--wide gd-notifications-channels-dialog--wide", accessibilityConfig: {
|
|
120
|
+
closeButton: {
|
|
121
|
+
ariaLabel: intl.formatMessage({ id: "dialogs.alert.closeLabel" }),
|
|
122
|
+
},
|
|
123
|
+
titleElementId,
|
|
124
|
+
dialogId: ALERTING_DIALOG_ID,
|
|
125
|
+
}, returnFocusAfterClose: false, footerRenderer: () => ActionBarSlot ? (_jsx(ActionBarSlot, { Default: DefaultAutomationDialogActionBar, defaultProps: actionBarDefaultProps })) : (_jsx(DefaultAutomationDialogActionBar, { ...actionBarDefaultProps })), isSubmitDisabled: actionBarDefaultProps.isSubmitDisabled, initialFocus: dialogTitleRef, submitOnEnterKey: false, onCancel: onCancel, onSubmit: actionBarDefaultProps.onSubmit, headline: undefined, headerLeftButtonRenderer: () => HeaderSlot ? (_jsx(HeaderSlot, { Default: DefaultAlertingDialogHeader, defaultProps: headerDefaultProps })) : (_jsx(DefaultAlertingDialogHeader, { ...headerDefaultProps })), children: [
|
|
126
|
+
_jsx("h2", { className: "sr-only", id: titleElementId, children: intl.formatMessage({ id: "dialogs.alert.accessibility.label.title" }) }), _jsxs(ScrollablePanel, { className: "gd-notifications-channel-dialog-content-wrapper gd-notification-channel-dialog-with-automation-filters", children: [topContent, _jsx("div", { className: "gd-divider-with-margin" }), children, warningMessage ? (_jsx(Message, { type: "warning", className: "gd-notifications-channels-dialog-error", children: warningMessage })) : null, invalidDatapoints.map((datapoint) => (_jsx(Message, { id: datapoint.id, type: datapoint.severity === "info" ? "progress" : datapoint.severity, className: "gd-notifications-channels-dialog-error gd-notifications-channels-dialog-error-scrollable", children: datapoint.message }, datapoint.id))), bottomContent] })
|
|
127
|
+
] }) }) }) }), alertToDelete ? (_jsx(DeleteAlertConfirmDialog, { alert: alertToDelete, onCancel: () => setAlertToDelete(null), onSuccess: handleAlertDeleteSuccess, onError: onDeleteError })) : null] }));
|
|
128
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import { type IAlertingDialogThresholdProps } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The alerting dialog's threshold field (the value a fixed-threshold, change or difference
|
|
5
|
+
* condition is compared against), connected to the dialog's state and rendered as a labelled form
|
|
6
|
+
* row.
|
|
7
|
+
*
|
|
8
|
+
* Renders {@link DefaultAlertingDialogThreshold} inside {@link AutomationDialogFormField} with the
|
|
9
|
+
* props of {@link useAlertingDialogThresholdProps}; every prop passed here replaces the hook's
|
|
10
|
+
* value for that prop wholesale. **The one `useAlertThreshold` mount**:
|
|
11
|
+
* {@link useAlertingDialogThresholdProps} owns the field's state and writes the draft
|
|
12
|
+
* (auto-computing a new alert's threshold), so place this block once per dialog and do not also
|
|
13
|
+
* call the hook. Renders nothing while the draft uses anomaly detection (that condition has no
|
|
14
|
+
* threshold); the hook stays mounted behind the gate, so the field's touched state survives a
|
|
15
|
+
* switch to anomaly detection and back. Renders nothing while
|
|
16
|
+
* `useAlertingDialogContext().isLoading` is true.
|
|
17
|
+
*
|
|
18
|
+
* @alpha
|
|
19
|
+
*/
|
|
20
|
+
export declare function AlertingDialogThreshold(overrides: Partial<IAlertingDialogThresholdProps>): ReactElement;
|
|
21
|
+
//# sourceMappingURL=AlertingDialogThreshold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertingDialogThreshold.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/blocks/AlertingDialogThreshold.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAQ1C,OAAO,EAAE,KAAK,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAKjE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,6BAA6B,CAAC,GAAG,YAAY,CAMvG"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { FormattedMessage } from "react-intl";
|
|
3
|
+
import { AutomationDialogFormField } from "../../shared/slots/AutomationDialogFormField.js";
|
|
4
|
+
import { DefaultAlertingDialogThreshold } from "../DefaultAlertingDialog/DefaultAlertingDialogThreshold.js";
|
|
5
|
+
import { useAlertDraft } from "../state/AlertDraftContext.js";
|
|
6
|
+
import { useAlertingDialogThresholdProps } from "../state/useAlertingDialogFieldProps.js";
|
|
7
|
+
import { isAnomalyDetection } from "../utils/guards.js";
|
|
8
|
+
import { WhenAlertingDialogLoaded } from "./WhenAlertingDialogLoaded.js";
|
|
9
|
+
/**
|
|
10
|
+
* The alerting dialog's threshold field (the value a fixed-threshold, change or difference
|
|
11
|
+
* condition is compared against), connected to the dialog's state and rendered as a labelled form
|
|
12
|
+
* row.
|
|
13
|
+
*
|
|
14
|
+
* Renders {@link DefaultAlertingDialogThreshold} inside {@link AutomationDialogFormField} with the
|
|
15
|
+
* props of {@link useAlertingDialogThresholdProps}; every prop passed here replaces the hook's
|
|
16
|
+
* value for that prop wholesale. **The one `useAlertThreshold` mount**:
|
|
17
|
+
* {@link useAlertingDialogThresholdProps} owns the field's state and writes the draft
|
|
18
|
+
* (auto-computing a new alert's threshold), so place this block once per dialog and do not also
|
|
19
|
+
* call the hook. Renders nothing while the draft uses anomaly detection (that condition has no
|
|
20
|
+
* threshold); the hook stays mounted behind the gate, so the field's touched state survives a
|
|
21
|
+
* switch to anomaly detection and back. Renders nothing while
|
|
22
|
+
* `useAlertingDialogContext().isLoading` is true.
|
|
23
|
+
*
|
|
24
|
+
* @alpha
|
|
25
|
+
*/
|
|
26
|
+
export function AlertingDialogThreshold(overrides) {
|
|
27
|
+
return (_jsx(WhenAlertingDialogLoaded, { children: _jsx(ConnectedAlertingDialogThreshold, { ...overrides }) }));
|
|
28
|
+
}
|
|
29
|
+
function ConnectedAlertingDialogThreshold(overrides) {
|
|
30
|
+
const props = { ...useAlertingDialogThresholdProps(), ...overrides };
|
|
31
|
+
const { editedAutomation } = useAlertDraft();
|
|
32
|
+
if (isAnomalyDetection(editedAutomation?.alert)) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
return (_jsx(AutomationDialogFormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.threshold" }), htmlFor: props.id, children: _jsx(DefaultAlertingDialogThreshold, { ...props }) }));
|
|
36
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import { type IAlertingDialogTriggerIntervalProps } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The alerting dialog's trigger-interval field (the interval a once-per-interval trigger notifies
|
|
5
|
+
* on), connected to the dialog's state and rendered as a labelled form row.
|
|
6
|
+
*
|
|
7
|
+
* Renders {@link DefaultAlertingDialogTriggerInterval} inside {@link AutomationDialogFormField}
|
|
8
|
+
* with the props of {@link useAlertingDialogTriggerIntervalProps}; every prop passed here replaces
|
|
9
|
+
* the hook's value for that prop wholesale. Renders nothing unless the draft's trigger mode is
|
|
10
|
+
* `ONCE_PER_INTERVAL`, and nothing while `useAlertingDialogContext().isLoading` is true.
|
|
11
|
+
*
|
|
12
|
+
* @alpha
|
|
13
|
+
*/
|
|
14
|
+
export declare function AlertingDialogTriggerInterval(overrides: Partial<IAlertingDialogTriggerIntervalProps>): ReactElement;
|
|
15
|
+
//# sourceMappingURL=AlertingDialogTriggerInterval.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertingDialogTriggerInterval.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/blocks/AlertingDialogTriggerInterval.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAQ1C,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,aAAa,CAAC;AAQvE;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CACzC,SAAS,EAAE,OAAO,CAAC,mCAAmC,CAAC,GACxD,YAAY,CAMd"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { defineMessage } from "react-intl";
|
|
3
|
+
import { AutomationDialogFormField } from "../../shared/slots/AutomationDialogFormField.js";
|
|
4
|
+
import { DefaultAlertingDialogTriggerInterval } from "../DefaultAlertingDialog/DefaultAlertingDialogTriggerInterval.js";
|
|
5
|
+
import { useAlertDraft } from "../state/AlertDraftContext.js";
|
|
6
|
+
import { useAlertingDialogTriggerIntervalProps } from "../state/useAlertingDialogFieldProps.js";
|
|
7
|
+
import { AlertingDialogFieldLabelWithTooltip } from "./AlertingDialogFieldLabelWithTooltip.js";
|
|
8
|
+
import { WhenAlertingDialogLoaded } from "./WhenAlertingDialogLoaded.js";
|
|
9
|
+
const INTERVAL_LABEL = defineMessage({ id: "insightAlert.config.interval" });
|
|
10
|
+
const INTERVAL_TOOLTIP = defineMessage({ id: "insightAlert.config.interval.tooltip" });
|
|
11
|
+
/**
|
|
12
|
+
* The alerting dialog's trigger-interval field (the interval a once-per-interval trigger notifies
|
|
13
|
+
* on), connected to the dialog's state and rendered as a labelled form row.
|
|
14
|
+
*
|
|
15
|
+
* Renders {@link DefaultAlertingDialogTriggerInterval} inside {@link AutomationDialogFormField}
|
|
16
|
+
* with the props of {@link useAlertingDialogTriggerIntervalProps}; every prop passed here replaces
|
|
17
|
+
* the hook's value for that prop wholesale. Renders nothing unless the draft's trigger mode is
|
|
18
|
+
* `ONCE_PER_INTERVAL`, and nothing while `useAlertingDialogContext().isLoading` is true.
|
|
19
|
+
*
|
|
20
|
+
* @alpha
|
|
21
|
+
*/
|
|
22
|
+
export function AlertingDialogTriggerInterval(overrides) {
|
|
23
|
+
return (_jsx(WhenAlertingDialogLoaded, { children: _jsx(ConnectedAlertingDialogTriggerInterval, { ...overrides }) }));
|
|
24
|
+
}
|
|
25
|
+
function ConnectedAlertingDialogTriggerInterval(overrides) {
|
|
26
|
+
const props = { ...useAlertingDialogTriggerIntervalProps(), ...overrides };
|
|
27
|
+
const { editedAutomation } = useAlertDraft();
|
|
28
|
+
if (editedAutomation?.alert?.trigger.mode !== "ONCE_PER_INTERVAL") {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return (_jsx(AutomationDialogFormField, { label: _jsx(AlertingDialogFieldLabelWithTooltip, { label: INTERVAL_LABEL, tooltip: INTERVAL_TOOLTIP }), htmlFor: props.id, children: _jsx(DefaultAlertingDialogTriggerInterval, { ...props }) }));
|
|
32
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import { type IAlertingDialogTriggerModeProps } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* The alerting dialog's trigger-mode field ("Trigger": how often a met condition notifies),
|
|
5
|
+
* connected to the dialog's state and rendered as a labelled form row.
|
|
6
|
+
*
|
|
7
|
+
* Renders {@link DefaultAlertingDialogTriggerMode} inside {@link AutomationDialogFormField} with
|
|
8
|
+
* the props of {@link useAlertingDialogTriggerModeProps}; every prop passed here replaces the
|
|
9
|
+
* hook's value for that prop wholesale. Renders nothing while
|
|
10
|
+
* `useAlertingDialogContext().isLoading` is true.
|
|
11
|
+
*
|
|
12
|
+
* @alpha
|
|
13
|
+
*/
|
|
14
|
+
export declare function AlertingDialogTriggerMode(overrides: Partial<IAlertingDialogTriggerModeProps>): ReactElement;
|
|
15
|
+
//# sourceMappingURL=AlertingDialogTriggerMode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertingDialogTriggerMode.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/blocks/AlertingDialogTriggerMode.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAO1C,OAAO,EAAE,KAAK,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAInE;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,OAAO,CAAC,+BAA+B,CAAC,GAAG,YAAY,CAM3G"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { FormattedMessage } from "react-intl";
|
|
3
|
+
import { AutomationDialogFormField } from "../../shared/slots/AutomationDialogFormField.js";
|
|
4
|
+
import { DefaultAlertingDialogTriggerMode } from "../DefaultAlertingDialog/DefaultAlertingDialogTriggerMode.js";
|
|
5
|
+
import { useAlertingDialogTriggerModeProps } from "../state/useAlertingDialogFieldProps.js";
|
|
6
|
+
import { WhenAlertingDialogLoaded } from "./WhenAlertingDialogLoaded.js";
|
|
7
|
+
/**
|
|
8
|
+
* The alerting dialog's trigger-mode field ("Trigger": how often a met condition notifies),
|
|
9
|
+
* connected to the dialog's state and rendered as a labelled form row.
|
|
10
|
+
*
|
|
11
|
+
* Renders {@link DefaultAlertingDialogTriggerMode} inside {@link AutomationDialogFormField} with
|
|
12
|
+
* the props of {@link useAlertingDialogTriggerModeProps}; every prop passed here replaces the
|
|
13
|
+
* hook's value for that prop wholesale. Renders nothing while
|
|
14
|
+
* `useAlertingDialogContext().isLoading` is true.
|
|
15
|
+
*
|
|
16
|
+
* @alpha
|
|
17
|
+
*/
|
|
18
|
+
export function AlertingDialogTriggerMode(overrides) {
|
|
19
|
+
return (_jsx(WhenAlertingDialogLoaded, { children: _jsx(ConnectedAlertingDialogTriggerMode, { ...overrides }) }));
|
|
20
|
+
}
|
|
21
|
+
function ConnectedAlertingDialogTriggerMode(overrides) {
|
|
22
|
+
const props = { ...useAlertingDialogTriggerModeProps(), ...overrides };
|
|
23
|
+
return (_jsx(AutomationDialogFormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.trigger" }), htmlFor: props.id, children: _jsx(DefaultAlertingDialogTriggerMode, { ...props }) }));
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DefaultLoadingAlertingDialog.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/blocks/DefaultLoadingAlertingDialog.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAarE,UAAU,kCAAkC;IACxC,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,wBAAgB,4BAA4B,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,kCAAkC,2CAkDzG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Dispatch, type SetStateAction } from "react";
|
|
2
2
|
import { type IAlertRelativeArithmeticOperator, type IAlertRelativeOperator, type IAttribute, type IAutomationMetadataObjectDefinition, type IMeasure } from "@gooddata/sdk-model";
|
|
3
|
-
import { type AlertAttribute, type AlertMetric } from "
|
|
3
|
+
import { type AlertAttribute, type AlertMetric } from "../types.js";
|
|
4
4
|
export interface IUseAlertThresholdProps {
|
|
5
5
|
setEditedAutomation: Dispatch<SetStateAction<IAutomationMetadataObjectDefinition | undefined>>;
|
|
6
6
|
editedAutomation: IAutomationMetadataObjectDefinition | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAlertThreshold.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/hooks/useAlertThreshold.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAe,MAAM,OAAO,CAAC;AAExE,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EAEf,KAAK,mCAAmC,EACxC,KAAK,QAAQ,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAKpE,MAAM,WAAW,uBAAuB;IACpC,mBAAmB,EAAE,QAAQ,CAAC,cAAc,CAAC,mCAAmC,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/F,gBAAgB,EAAE,mCAAmC,GAAG,SAAS,CAAC;IAClE,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,SAAS,CAAC;IACrG,UAAU,EAAE,OAAO,CAAC;IACpB,wBAAwB,EAAE,CAAC,sBAAsB,EAAE,gCAAgC,CAAC,GAAG,SAAS,CAAC;IACjG,eAAe,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,iBAAiB,EAAE,cAAc,GAAG,SAAS,CAAC;IAC9C,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,EAC9B,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,wBAAwB,EACxB,eAAe,EACf,iBAAiB,EACjB,aAAa,EAChB,EAAE,uBAAuB;;;;;EAgCzB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
2
|
import { useCallback } from "react";
|
|
3
|
-
import { transformAlertByValue } from "
|
|
3
|
+
import { transformAlertByValue } from "../utils/transformation.js";
|
|
4
4
|
import { useThresholdValue } from "./useThresholdValue.js";
|
|
5
5
|
/**
|
|
6
6
|
* Owns the alerting dialog's threshold field: the displayed value, its change and blur handlers,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type ChangeEvent, type FocusEvent } from "react";
|
|
2
2
|
import { type IAlertRelativeArithmeticOperator, type IAlertRelativeOperator, type IAttribute, type IAutomationAlert, type IMeasure } from "@gooddata/sdk-model";
|
|
3
|
-
import { type AlertAttribute, type AlertMetric } from "
|
|
3
|
+
import { type AlertAttribute, type AlertMetric } from "../types.js";
|
|
4
4
|
export declare function useThresholdValue(changeValue: (value: number) => void, getMetricValue: (measure?: IMeasure, attr?: IAttribute, value?: string | null) => number | undefined, isNewAlert?: boolean, alert?: IAutomationAlert, selectedRelativeOperator?: [
|
|
5
5
|
IAlertRelativeOperator | undefined,
|
|
6
6
|
IAlertRelativeArithmeticOperator | undefined
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useThresholdValue.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/hooks/useThresholdValue.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAoC,MAAM,OAAO,CAAC;AAI5F,OAAO,EACH,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAgCpE,wBAAgB,iBAAiB,CAC7B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACpC,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,SAAS,EACpG,UAAU,CAAC,EAAE,OAAO,EACpB,KAAK,CAAC,EAAE,gBAAgB,EACxB,wBAAwB,GAAE;IACtB,sBAAsB,GAAG,SAAS;IAClC,gCAAgC,GAAG,SAAS;CACtB,EAC1B,eAAe,CAAC,EAAE,WAAW,EAC7B,iBAAiB,CAAC,EAAE,cAAc,EAClC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI;;;;;EAkFhC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// (C) 2022-2026 GoodData Corporation
|
|
2
2
|
import { useCallback, useEffect, useState } from "react";
|
|
3
3
|
import { useIntl } from "react-intl";
|
|
4
|
-
import { getAlertThreshold, getMeasureFormat } from "
|
|
5
|
-
import { convertThresholdValue } from "
|
|
4
|
+
import { getAlertThreshold, getMeasureFormat } from "../utils/getters.js";
|
|
5
|
+
import { convertThresholdValue } from "../utils/threshold.js";
|
|
6
6
|
function clearValueForRelativeOperator(changeValue, setValue) {
|
|
7
7
|
changeValue(undefined);
|
|
8
8
|
setValue(undefined);
|
|
@@ -2,8 +2,8 @@ import { type Dispatch, type SetStateAction } from "react";
|
|
|
2
2
|
import { type DateAttributeGranularity, type FilterContextItem, type IAlertAnomalyDetectionGranularity, type IAlertAnomalyDetectionSensitivity, type IAlertComparisonOperator, type IAlertRelativeArithmeticOperator, type IAlertRelativeOperator, type IAlertTriggerInterval, type IAlertTriggerMode, type IAttribute, type IAttributeMetadataObject, type IAutomationMetadataObjectDefinition, type IAutomationRecipient, type IMeasure, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type IdentifierRef, type ParameterValue } from "@gooddata/sdk-model";
|
|
3
3
|
import { type IAutomationParameter } from "../../shared/automationFilters/automationParameters.js";
|
|
4
4
|
import { type AttributeValue } from "../hooks/useAttributeValuesFromExecResults.js";
|
|
5
|
-
import { type AlertAttribute, type AlertMetric, type AlertMetricComparator, type AlertMetricComparatorType, type IAlertingDialogProps } from "../types.js";
|
|
6
|
-
import { type
|
|
5
|
+
import { type AlertAiOperator, type AlertAttribute, type AlertMetric, type AlertMetricComparator, type AlertMetricComparatorType, type IAlertingDialogProps } from "../types.js";
|
|
6
|
+
import { type IMeasureFormatMap } from "../utils/getters.js";
|
|
7
7
|
/**
|
|
8
8
|
* The alerting dialog's edit draft: the automation being edited, the baseline it is compared
|
|
9
9
|
* against, and the form-level warning and title-validity flag that move with it.
|