@gooddata/sdk-ui-dashboard 11.55.0-alpha.1 → 11.55.0-alpha.2
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 +23 -3
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +20 -0
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +1 -1
- package/esm/model/store/config/configSelectors.js +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts +10 -3
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +24 -59
- 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/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/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/{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 +342 -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/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/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/sdk-ui-dashboard.d.ts +727 -6
- package/package.json +21 -23
- 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
|
@@ -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,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
|
+
}
|
|
@@ -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.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,wBAAwB,EAC7B,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,aAAa,EAClB,KAAK,cAAc,EACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EACH,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,UAAU,EACf,KAAK,wBAAwB,EAC7B,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,aAAa,EAClB,KAAK,cAAc,EACtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EACH,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACpC;;OAEG;IACH,gBAAgB,EAAE,mCAAmC,GAAG,SAAS,CAAC;IAElE;;OAEG;IACH,kBAAkB,EAAE,mCAAmC,GAAG,SAAS,CAAC;IAEpE;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,mBAAmB,EAAE,QAAQ,CAAC,cAAc,CAAC,mCAAmC,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/F;;OAEG;IACH,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC;;OAEG;IACH,eAAe,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAChD;;OAEG;IACH,iBAAiB,EAAE,CAAC,SAAS,EAAE,cAAc,GAAG,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,SAAS,KAAK,IAAI,CAAC;IACtG;;OAEG;IACH,0BAA0B,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACzG;;OAEG;IACH,wBAAwB,EAAE,CACtB,OAAO,EAAE,WAAW,EACpB,gBAAgB,EAAE,sBAAsB,EACxC,kBAAkB,EAAE,gCAAgC,KACnD,IAAI,CAAC;IACV;;OAEG;IACH,wBAAwB,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IACzD;;OAEG;IACH,sBAAsB,EAAE,CACpB,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,gBAAgB,EAAE,CAAC,sBAAsB,EAAE,gCAAgC,CAAC,GAAG,SAAS,EACxF,cAAc,EAAE,yBAAyB,EACzC,WAAW,CAAC,EAAE,wBAAwB,KACrC,IAAI,CAAC;IACV;;OAEG;IACH,mBAAmB,EAAE,CAAC,WAAW,EAAE,iCAAiC,KAAK,IAAI,CAAC;IAC9E;;;OAGG;IACH,uBAAuB,EAAE,CAAC,eAAe,EAAE,qBAAqB,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3F;;OAEG;IACH,mBAAmB,EAAE,CACjB,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,WAAW,EAAE,iCAAiC,KAC7C,IAAI,CAAC;IACV;;OAEG;IACH,mBAAmB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD;;OAEG;IACH,mBAAmB,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9D;;OAEG;IACH,kBAAkB,EAAE,CAAC,UAAU,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;CACpE;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC;;OAEG;IACH,mBAAmB,EAAE,cAAc,EAAE,CAAC;IACtC;;OAEG;IACH,gBAAgB,EAAE,iBAAiB,CAAC;IACpC;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,kBAAkB,EAAE,CAAC,SAAS,EAAE,wBAAwB,KAAK,cAAc,EAAE,CAAC;IAC9E;;OAEG;IACH,cAAc,EAAE,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,SAAS,CAAC;IAC1G;;OAEG;IACH,WAAW,EAAE,oBAAoB,CAAC;IAClC;;OAEG;IACH,gBAAgB,EAAE,oBAAoB,CAAC;CAC1C;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,yBAAyB;IACtC;;OAEG;IACH,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC;;OAEG;IACH,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAClD;;OAEG;IACH,eAAe,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACxD;;OAEG;IACH,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC;;;OAGG;IACH,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;IAC7C;;OAEG;IACH,mBAAmB,EAAE,oBAAoB,EAAE,CAAC;IAC5C;;OAEG;IACH,iBAAiB,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACvE;;OAEG;IACH,iBAAiB,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD;;OAEG;IACH,cAAc,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,CAAC;IAC7C;;OAEG;IACH,mBAAmB,EAAE,MAAM,IAAI,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,uBAAuB,GACjD,yBAAyB,GACzB,IAAI,CAAC,sBAAsB,EAAE,aAAa,GAAG,kBAAkB,CAAC,GAChE,IAAI,CACA,yBAAyB,EACvB,sBAAsB,GACtB,qBAAqB,GACrB,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAChB,qBAAqB,CAC1B,CAAC;AAEN;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACrC,sBAAsB,EACpB,mBAAmB,GACnB,qBAAqB,GACrB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,CACrB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACjC,yBAAyB,EACvB,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,uBAAuB,GACvB,mBAAmB,GACnB,iBAAiB,CACtB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,eAAe,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC;;OAEG;IACH,0BAA0B,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACjE;;OAEG;IACH,wBAAwB,EAAE,CAAC,sBAAsB,EAAE,gCAAgC,CAAC,GAAG,SAAS,CAAC;IACjG;;OAEG;IACH,kBAAkB,EAAE,eAAe,GAAG,SAAS,CAAC;IAChD;;OAEG;IACH,kBAAkB,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACtD;;OAEG;IACH,mBAAmB,EAAE,iCAAiC,GAAG,SAAS,CAAC;IACnE;;OAEG;IACH,mBAAmB,EAAE,iCAAiC,GAAG,SAAS,CAAC;IACnE;;OAEG;IACH,iBAAiB,EAAE,cAAc,GAAG,SAAS,CAAC;IAC9C;;OAEG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC;;OAEG;IACH,2BAA2B,EACrB,8BAA8B,GAC9B,kCAAkC,GAClC,SAAS,CAAC;IAChB;;OAEG;IACH,uBAAuB,EAAE,OAAO,CAAC;IACjC;;OAEG;IACH,6BAA6B,EAAE,OAAO,CAAC;CAC1C;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACjC;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,4BAA4B,EAAE,OAAO,CAAC;CACzC;AAED;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACvC,oBAAoB,EACpB,WAAW,GAAG,SAAS,GAAG,eAAe,GAAG,aAAa,CAC5D,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { type IAlertingDialogAttributeProps, type IAlertingDialogComparisonOperatorProps, type IAlertingDialogComparisonPeriodProps, type IAlertingDialogGranularityProps, type IAlertingDialogMeasureProps, type IAlertingDialogSensitivityProps, type IAlertingDialogThresholdProps, type IAlertingDialogTriggerIntervalProps, type IAlertingDialogTriggerModeProps } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* The exact props the default alerting dialog renders its measure field with.
|
|
4
|
+
*
|
|
5
|
+
* Throws outside the alerting dialog's state providers.
|
|
6
|
+
*
|
|
7
|
+
* @alpha
|
|
8
|
+
*/
|
|
9
|
+
export declare function useAlertingDialogMeasureProps(): IAlertingDialogMeasureProps;
|
|
10
|
+
/**
|
|
11
|
+
* The exact props the default alerting dialog renders its attribute field with.
|
|
12
|
+
*
|
|
13
|
+
* Throws outside the alerting dialog's state providers.
|
|
14
|
+
*
|
|
15
|
+
* @alpha
|
|
16
|
+
*/
|
|
17
|
+
export declare function useAlertingDialogAttributeProps(): IAlertingDialogAttributeProps;
|
|
18
|
+
/**
|
|
19
|
+
* The exact props the default alerting dialog renders its comparison-operator field with.
|
|
20
|
+
*
|
|
21
|
+
* `enableAnomalyDetectionAlert` is the conjunction of the `enableAnomalyDetectionAlert` and
|
|
22
|
+
* `canUseAiAssistant` features.
|
|
23
|
+
*
|
|
24
|
+
* Throws outside the alerting dialog's state providers.
|
|
25
|
+
*
|
|
26
|
+
* @alpha
|
|
27
|
+
*/
|
|
28
|
+
export declare function useAlertingDialogComparisonOperatorProps(): IAlertingDialogComparisonOperatorProps;
|
|
29
|
+
/**
|
|
30
|
+
* The exact props the default alerting dialog renders its threshold field with.
|
|
31
|
+
*
|
|
32
|
+
* Owns the field's state: its effect auto-computes the threshold of a new alert from the measure's
|
|
33
|
+
* current value and clears it for a relative operator, writing the draft. **Call it once per
|
|
34
|
+
* dialog** — through {@link AlertingDialogThreshold}, which is that mount in the default dialog and
|
|
35
|
+
* in a shell of blocks, or directly, never both. Throws outside the alerting dialog's state
|
|
36
|
+
* providers.
|
|
37
|
+
*
|
|
38
|
+
* @alpha
|
|
39
|
+
*/
|
|
40
|
+
export declare function useAlertingDialogThresholdProps(): IAlertingDialogThresholdProps;
|
|
41
|
+
/**
|
|
42
|
+
* The exact props the default alerting dialog renders its comparison-period field with.
|
|
43
|
+
*
|
|
44
|
+
* `onComparisonChange` closes over the selected measure (and relative operator), so it takes only
|
|
45
|
+
* the field's value.
|
|
46
|
+
*
|
|
47
|
+
* Throws outside the alerting dialog's state providers.
|
|
48
|
+
*
|
|
49
|
+
* @alpha
|
|
50
|
+
*/
|
|
51
|
+
export declare function useAlertingDialogComparisonPeriodProps(): IAlertingDialogComparisonPeriodProps;
|
|
52
|
+
/**
|
|
53
|
+
* The exact props the default alerting dialog renders its sensitivity field with.
|
|
54
|
+
*
|
|
55
|
+
* Throws outside the alerting dialog's state providers.
|
|
56
|
+
*
|
|
57
|
+
* @alpha
|
|
58
|
+
*/
|
|
59
|
+
export declare function useAlertingDialogSensitivityProps(): IAlertingDialogSensitivityProps;
|
|
60
|
+
/**
|
|
61
|
+
* The exact props the default alerting dialog renders its granularity field with.
|
|
62
|
+
*
|
|
63
|
+
* `onGranularityChange` closes over the selected measure (and relative operator), so it takes only
|
|
64
|
+
* the field's value.
|
|
65
|
+
*
|
|
66
|
+
* Throws outside the alerting dialog's state providers.
|
|
67
|
+
*
|
|
68
|
+
* @alpha
|
|
69
|
+
*/
|
|
70
|
+
export declare function useAlertingDialogGranularityProps(): IAlertingDialogGranularityProps;
|
|
71
|
+
/**
|
|
72
|
+
* The exact props the default alerting dialog renders its trigger-mode field with.
|
|
73
|
+
*
|
|
74
|
+
* Throws outside the alerting dialog's state providers.
|
|
75
|
+
*
|
|
76
|
+
* @alpha
|
|
77
|
+
*/
|
|
78
|
+
export declare function useAlertingDialogTriggerModeProps(): IAlertingDialogTriggerModeProps;
|
|
79
|
+
/**
|
|
80
|
+
* The exact props the default alerting dialog renders its trigger-interval field with.
|
|
81
|
+
*
|
|
82
|
+
* Throws outside the alerting dialog's state providers.
|
|
83
|
+
*
|
|
84
|
+
* @alpha
|
|
85
|
+
*/
|
|
86
|
+
export declare function useAlertingDialogTriggerIntervalProps(): IAlertingDialogTriggerIntervalProps;
|
|
87
|
+
//# sourceMappingURL=useAlertingDialogFieldProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAlertingDialogFieldProps.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/useAlertingDialogFieldProps.tsx"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,6BAA6B,EAClC,KAAK,sCAAsC,EAC3C,KAAK,oCAAoC,EACzC,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,EACpC,KAAK,6BAA6B,EAClC,KAAK,mCAAmC,EACxC,KAAK,+BAA+B,EACvC,MAAM,aAAa,CAAC;AAYrB;;;;;;GAMG;AACH,wBAAgB,6BAA6B,IAAI,2BAA2B,CAe3E;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,IAAI,6BAA6B,CAqB/E;AAED;;;;;;;;;GASG;AACH,wBAAgB,wCAAwC,IAAI,sCAAsC,CAsBjG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,+BAA+B,IAAI,6BAA6B,CA2B/E;AAED;;;;;;;;;GASG;AACH,wBAAgB,sCAAsC,IAAI,oCAAoC,CAiB7F;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,IAAI,+BAA+B,CAWnF;AAED;;;;;;;;;GASG;AACH,wBAAgB,iCAAiC,IAAI,+BAA+B,CAenF;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,IAAI,+BAA+B,CAenF;AAED;;;;;;GAMG;AACH,wBAAgB,qCAAqC,IAAI,mCAAmC,CAW3F"}
|