@gooddata/sdk-ui-dashboard 11.54.0-alpha.6 → 11.54.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/NOTICE +1 -1
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
  5. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +25 -111
  6. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSubmit.d.ts +19 -14
  7. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSubmit.d.ts.map +1 -1
  8. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSubmit.js +18 -2
  9. package/esm/presentation/automations/alerting/state/AlertActionsContext.d.ts +1 -10
  10. package/esm/presentation/automations/alerting/state/AlertActionsContext.d.ts.map +1 -1
  11. package/esm/presentation/automations/alerting/state/AlertDataContext.d.ts +1 -11
  12. package/esm/presentation/automations/alerting/state/AlertDataContext.d.ts.map +1 -1
  13. package/esm/presentation/automations/alerting/state/AlertDraftContext.d.ts +1 -11
  14. package/esm/presentation/automations/alerting/state/AlertDraftContext.d.ts.map +1 -1
  15. package/esm/presentation/automations/alerting/state/AlertFiltersContext.d.ts +1 -13
  16. package/esm/presentation/automations/alerting/state/AlertFiltersContext.d.ts.map +1 -1
  17. package/esm/presentation/automations/alerting/state/AlertingDialogStateProvider.d.ts.map +1 -1
  18. package/esm/presentation/automations/alerting/state/types.d.ts +156 -0
  19. package/esm/presentation/automations/alerting/state/types.d.ts.map +1 -0
  20. package/esm/presentation/automations/alerting/state/types.js +2 -0
  21. package/esm/presentation/automations/alerting/state/useAlertFiltersModel.d.ts +2 -8
  22. package/esm/presentation/automations/alerting/state/useAlertFiltersModel.d.ts.map +1 -1
  23. package/esm/presentation/automations/alerting/state/useAlertFormState.d.ts +4 -34
  24. package/esm/presentation/automations/alerting/state/useAlertFormState.d.ts.map +1 -1
  25. package/esm/presentation/automations/alerting/state/useAlertSupportedMetrics.d.ts +2 -11
  26. package/esm/presentation/automations/alerting/state/useAlertSupportedMetrics.d.ts.map +1 -1
  27. package/esm/presentation/automations/alerting/state/useAlertSupportedMetrics.js +2 -2
  28. package/esm/presentation/automations/alerting/state/useAlertingDialogRegionProps.d.ts +82 -0
  29. package/esm/presentation/automations/alerting/state/useAlertingDialogRegionProps.d.ts.map +1 -0
  30. package/esm/presentation/automations/alerting/state/useAlertingDialogRegionProps.js +152 -0
  31. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
  32. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +34 -145
  33. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.d.ts +17 -2
  34. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.d.ts.map +1 -1
  35. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.js +16 -5
  36. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduleTimezone.d.ts +2 -29
  37. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduleTimezone.d.ts.map +1 -1
  38. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduleTimezone.js +0 -14
  39. package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.d.ts.map +1 -1
  40. package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.js +3 -3
  41. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.d.ts +1 -16
  42. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.d.ts.map +1 -1
  43. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDataContext.d.ts +1 -12
  44. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDataContext.d.ts.map +1 -1
  45. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.d.ts +1 -15
  46. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.d.ts.map +1 -1
  47. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportFiltersContext.d.ts +2 -14
  48. package/esm/presentation/automations/scheduledEmail/state/ScheduledExportFiltersContext.d.ts.map +1 -1
  49. package/esm/presentation/automations/scheduledEmail/state/types.d.ts +204 -0
  50. package/esm/presentation/automations/scheduledEmail/state/types.d.ts.map +1 -0
  51. package/esm/presentation/automations/scheduledEmail/state/types.js +2 -0
  52. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogRegionProps.d.ts +105 -0
  53. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogRegionProps.d.ts.map +1 -0
  54. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogRegionProps.js +196 -0
  55. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailExportSettings.d.ts +3 -11
  56. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailExportSettings.d.ts.map +1 -1
  57. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFiltersModel.d.ts +2 -20
  58. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFiltersModel.d.ts.map +1 -1
  59. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFiltersModel.js +1 -1
  60. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFormState.d.ts +3 -20
  61. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFormState.d.ts.map +1 -1
  62. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +0 -1
  63. package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
  64. package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +0 -1
  65. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +0 -1
  66. package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
  67. package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +0 -1
  68. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +0 -1
  69. package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
  70. package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +0 -1
  71. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +0 -1
  72. package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
  73. package/esm/presentation/localization/bundles/es-419.localization-bundle.js +0 -1
  74. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +0 -1
  75. package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
  76. package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +0 -1
  77. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +0 -1
  78. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
  79. package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +0 -1
  80. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +0 -1
  81. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
  82. package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +0 -1
  83. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +0 -1
  84. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
  85. package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +0 -1
  86. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +0 -1
  87. package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
  88. package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +0 -1
  89. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +0 -1
  90. package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
  91. package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +0 -1
  92. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +0 -1
  93. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
  94. package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +0 -1
  95. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +0 -1
  96. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
  97. package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +0 -1
  98. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +0 -1
  99. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
  100. package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +0 -1
  101. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +0 -1
  102. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
  103. package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +0 -1
  104. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +0 -1
  105. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
  106. package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +0 -1
  107. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +0 -1
  108. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
  109. package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +0 -1
  110. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +0 -1
  111. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
  112. package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +0 -1
  113. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +0 -1
  114. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
  115. package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +0 -1
  116. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +0 -1
  117. package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
  118. package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +0 -1
  119. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +0 -1
  120. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
  121. package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +0 -1
  122. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +0 -1
  123. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
  124. package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +0 -1
  125. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +0 -1
  126. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
  127. package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +0 -1
  128. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +0 -1
  129. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
  130. package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +0 -1
  131. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +0 -1
  132. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
  133. package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +0 -1
  134. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +0 -1
  135. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
  136. package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +0 -1
  137. package/package.json +25 -25
package/NOTICE CHANGED
@@ -9,7 +9,7 @@ The following 3rd-party software packages may be used by or distributed with goo
9
9
 
10
10
  Date generated: 2026-8-26
11
11
 
12
- Revision ID: 801e4736307fbb28cf5d9d0a6566fc45d596c003
12
+ Revision ID: 1f91513cf1dd868d5b0de66dfc1ea4e579f8a2d5
13
13
 
14
14
  ================================================================================
15
15
  ================================================================================
@@ -1,4 +1,4 @@
1
- export declare const LIB_VERSION = "11.54.0-alpha.6";
1
+ export declare const LIB_VERSION = "11.54.0-alpha.7";
2
2
  export declare const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
3
3
  export declare const LIB_NAME = "@gooddata/sdk-ui-dashboard";
4
4
  //# sourceMappingURL=__version.d.ts.map
package/esm/__version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // (C) 2021 GoodData Corporation
2
2
  // DO NOT CHANGE THIS FILE, IT IS RE-GENERATED ON EVERY BUILD
3
- export const LIB_VERSION = "11.54.0-alpha.6";
3
+ export const LIB_VERSION = "11.54.0-alpha.7";
4
4
  export const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
5
5
  export const LIB_NAME = "@gooddata/sdk-ui-dashboard";
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultAlertingDialog.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.tsx"],"names":[],"mappings":"AAgDA,OAAO,EAGH,KAAK,2BAA2B,EACnC,MAAM,aAAa,CAAC;AA+BrB,wBAAgB,sBAAsB,CAAC,EACnC,QAAQ,EACR,eAAe,EACf,aAAa,EACb,OAAO,EACP,SAAS,EACT,WAAW,EACX,aAAa,EACb,KAAK,EACL,UAAU,EACV,aAAa,EAChB,EAAE,2BAA2B,2CAqmB7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,2BAA2B,2CAcvE"}
1
+ {"version":3,"file":"DefaultAlertingDialog.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.tsx"],"names":[],"mappings":"AAiDA,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,aAAa,CAAC;AA8B/D,wBAAgB,sBAAsB,CAAC,EACnC,QAAQ,EACR,eAAe,EACf,aAAa,EACb,OAAO,EACP,SAAS,EACT,WAAW,EACX,aAAa,EACb,KAAK,EACL,UAAU,EACV,aAAa,EAChB,EAAE,2BAA2B,2CA6d7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,2BAA2B,2CAcvE"}
@@ -1,9 +1,9 @@
1
1
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // (C) 2019-2026 GoodData Corporation
3
- import { useEffect, useMemo, useRef, useState } from "react";
4
- import { FormattedMessage, defineMessage, useIntl } from "react-intl";
3
+ import { useEffect, useRef, useState } from "react";
4
+ import { FormattedMessage, useIntl } from "react-intl";
5
5
  import { ValidationContextStore, createInvalidDatapoint, createInvalidNode, useValidationContextValue, } from "@gooddata/sdk-ui";
6
- import { ConfirmDialogBase, ContentDivider, Message, Overlay, OverlayController, OverlayControllerProvider, ScrollablePanel, UiIcon, UiIconButton, UiTooltip, useId, } from "@gooddata/sdk-ui-kit";
6
+ import { ConfirmDialogBase, ContentDivider, Message, Overlay, OverlayController, OverlayControllerProvider, ScrollablePanel, UiIconButton, UiTooltip, useId, } from "@gooddata/sdk-ui-kit";
7
7
  import { DASHBOARD_DIALOG_OVERS_Z_INDEX } from "../../../constants/zIndex.js";
8
8
  import { IntlWrapper } from "../../../localization/IntlWrapper.js";
9
9
  import { useAlertingDialogContext } from "../../contexts/AlertingDialogContext.js";
@@ -16,6 +16,7 @@ import { useAlertData } from "../state/AlertDataContext.js";
16
16
  import { useAlertDraft } from "../state/AlertDraftContext.js";
17
17
  import { useAlertFilters } from "../state/AlertFiltersContext.js";
18
18
  import { useAlertDialogValidity } from "../state/useAlertDialogValidity.js";
19
+ import { useAlertingDialogActionBarProps, useAlertingDialogDestinationProps, useAlertingDialogFiltersProps, useAlertingDialogHeaderProps, useAlertingDialogRecipientsProps, } from "../state/useAlertingDialogRegionProps.js";
19
20
  import { useAlertSelectedValues } from "../state/useAlertSelectedValues.js";
20
21
  import { AlertingDialogDestination } from "./AlertingDialogDestination.js";
21
22
  import { AlertingDialogFilters } from "./AlertingDialogFilters.js";
@@ -39,7 +40,6 @@ import { useAlertSubmit } from "./hooks/useAlertSubmit.js";
39
40
  import { useAlertThreshold } from "./hooks/useAlertThreshold.js";
40
41
  import { getValueSuffix } from "./utils/getters.js";
41
42
  import { isAnomalyDetection, isChangeOrDifferenceOperator } from "./utils/guards.js";
42
- import { isMobileView } from "./utils/responsive.js";
43
43
  const OVERLAY_POSITION_TYPE = "sameAsTarget";
44
44
  const CLOSE_ON_PARENT_SCROLL = true;
45
45
  const overlayController = OverlayController.getInstance(DASHBOARD_DIALOG_OVERS_Z_INDEX);
@@ -51,18 +51,18 @@ export function AlertingDialogRenderer({ onCancel, onDeleteSuccess, onDeleteErro
51
51
  const ActionBarSlot = slots?.ActionBar;
52
52
  const intl = useIntl();
53
53
  const dialogTitleRef = useRef(null);
54
- const { isWhiteLabeled, isSecondaryTitleVisible, externalRecipient: externalRecipientOverride, maxAutomationsRecipients, isExecutionTimestampMode, features: { enableAlertOncePerInterval, enableAnomalyDetectionAlert, canUseAiAssistant: enableAiAssistant, }, catalogAttributes, catalogDateDatasets, separators, allowHourlyRecurrence, } = useAutomationsContext();
55
- const { widgetTitle, alertToEdit, notificationChannels } = useAlertingDialogContext();
54
+ const { features: { enableAlertOncePerInterval, enableAnomalyDetectionAlert, canUseAiAssistant: enableAiAssistant, }, catalogAttributes, catalogDateDatasets, allowHourlyRecurrence, } = useAutomationsContext();
55
+ const { alertToEdit, notificationChannels } = useAlertingDialogContext();
56
56
  const [alertToDelete, setAlertToDelete] = useState(null);
57
57
  const handleAlertDeleteSuccess = (alert) => {
58
58
  onDeleteSuccess?.(alert);
59
59
  setAlertToDelete(null);
60
60
  };
61
61
  const { editedAutomation, warningMessage } = useAlertDraft();
62
- const { onTitleChange, onRecipientsChange, onMeasureChange, onAttributeChange, onComparisonOperatorChange, onRelativeOperatorChange, onAnomalyDetectionChange, onComparisonTypeChange, onDestinationChange, onTriggerModeChange, onTriggerIntervalChange, onSensitivityChange, onGranularityChange, setEditedAutomation, } = useAlertActions();
63
- const { supportedMeasures, supportedAttributes, isResultLoading, getAttributeValues, defaultUser, getMetricValue, } = useAlertData();
64
- const { selectedFilters, availableFilters, onFiltersChange, onApplyCurrentFilters, automationIsValid, filtersAreStale, automationParameters, availableParameters, onParameterChange, onParameterDelete, onParameterAdd, dropStaleParameters, } = useAlertFilters();
65
- const { selectedMeasure, selectedComparisonOperator, selectedRelativeOperator, selectedAiOperator, selectedComparator, selectedSensitivity, selectedGranularity, selectedAttribute, selectedValue, allowExternalRecipients, allowOnlyLoggedUserRecipients, } = useAlertSelectedValues();
62
+ const { onMeasureChange, onAttributeChange, onComparisonOperatorChange, onRelativeOperatorChange, onAnomalyDetectionChange, onComparisonTypeChange, onTriggerModeChange, onTriggerIntervalChange, onSensitivityChange, onGranularityChange, setEditedAutomation, } = useAlertActions();
63
+ const { supportedMeasures, supportedAttributes, isResultLoading, getAttributeValues, getMetricValue } = useAlertData();
64
+ const { onApplyCurrentFilters, automationIsValid, filtersAreStale, dropStaleParameters } = useAlertFilters();
65
+ const { selectedMeasure, selectedComparisonOperator, selectedRelativeOperator, selectedAiOperator, selectedComparator, selectedSensitivity, selectedGranularity, selectedAttribute, selectedValue, } = useAlertSelectedValues();
66
66
  const { value, onChange, onBlur, thresholdErrorMessage } = useAlertThreshold({
67
67
  setEditedAutomation,
68
68
  editedAutomation,
@@ -73,17 +73,18 @@ export function AlertingDialogRenderer({ onCancel, onDeleteSuccess, onDeleteErro
73
73
  selectedAttribute,
74
74
  selectedValue,
75
75
  });
76
- const { isSubmitDisabled, validationErrorMessage, isParentValid, canChangeMeasure, isInvalidConnectionToInsight, } = useAlertDialogValidity();
76
+ const { validationErrorMessage, canChangeMeasure, isInvalidConnectionToInsight } = useAlertDialogValidity();
77
77
  const [isApplyCurrentFiltersDialogOpen, setIsApplyCurrentFiltersDialogOpen] = useState(!automationIsValid);
78
- const { isSaving, submit } = useAlertSubmit({
79
- editedAutomation,
80
- supportedMeasures,
81
- separators,
82
- alertToEdit,
83
- onSuccess,
84
- onError,
85
- onSaveSuccess,
86
- onSaveError,
78
+ const { isSaving, submit } = useAlertSubmit({ onSuccess, onError, onSaveSuccess, onSaveError });
79
+ const headerDefaultProps = useAlertingDialogHeaderProps({ onCancel, ref: dialogTitleRef });
80
+ const filtersDefaultProps = useAlertingDialogFiltersProps();
81
+ const destinationDefaultProps = useAlertingDialogDestinationProps();
82
+ const recipientsDefaultProps = useAlertingDialogRecipientsProps();
83
+ const actionBarDefaultProps = useAlertingDialogActionBarProps({
84
+ onCancel,
85
+ onSubmit: () => void submit(),
86
+ isSaving,
87
+ onDelete: () => setAlertToDelete(alertToEdit),
87
88
  });
88
89
  const validationContextValue = useValidationContextValue(createInvalidNode({ id: "AlertingDialog" }));
89
90
  const { setInvalidDatapoints, getInvalidDatapoints } = validationContextValue;
@@ -97,20 +98,7 @@ export function AlertingDialogRenderer({ onCancel, onDeleteSuccess, onDeleteErro
97
98
  }),
98
99
  ]);
99
100
  }, [validationErrorMessage, isInvalidConnectionToInsight, setInvalidDatapoints]);
100
- const helpTextId = isMobileView()
101
- ? defineMessage({ id: "dialogs.alerting.footer.title.short" }).id
102
- : defineMessage({ id: "dialogs.alerting.footer.title" }).id;
103
101
  const titleElementId = useId();
104
- const { secondaryTitle, secondaryTitleIcon } = useMemo(() => {
105
- return {
106
- secondaryTitle: widgetTitle,
107
- secondaryTitleIcon: (_jsx(UiIcon, { type: "visualization", size: 16, color: "complementary-6", accessibilityConfig: {
108
- ariaLabel: intl.formatMessage({
109
- id: "dialogs.automation.icon.ariaLabel.sourceVisualization",
110
- }),
111
- } })),
112
- };
113
- }, [widgetTitle, intl]);
114
102
  if (isApplyCurrentFiltersDialogOpen) {
115
103
  return (_jsx(ApplyCurrentFiltersConfirmDialog, { automationType: "alert", onCancel: () => onCancel?.(), onEdit: () => {
116
104
  // Repair only what is actually stale: replace filters when they are invalid, and
@@ -122,92 +110,18 @@ export function AlertingDialogRenderer({ onCancel, onDeleteSuccess, onDeleteErro
122
110
  setIsApplyCurrentFiltersDialogOpen(false);
123
111
  } }));
124
112
  }
125
- const filtersDefaultProps = {
126
- availableFilters,
127
- selectedFilters,
128
- onFiltersChange,
129
- disableDateFilters: isAnomalyDetection(editedAutomation?.alert),
130
- parameters: automationParameters,
131
- availableParameters,
132
- onParameterAdd,
133
- onParameterChange,
134
- onParameterDelete,
135
- };
136
- const destinationDefaultProps = {
137
- notificationChannels,
138
- selectedNotificationChannelId: editedAutomation?.notificationChannel,
139
- onChange: onDestinationChange,
140
- };
141
- const recipientsDefaultProps = {
142
- loggedUser: defaultUser,
143
- value: editedAutomation?.recipients ?? [],
144
- onChange: onRecipientsChange,
145
- allowEmptySelection: true,
146
- allowOnlyLoggedUserRecipients,
147
- allowExternalRecipients,
148
- maxRecipients: maxAutomationsRecipients,
149
- notificationChannels,
150
- notificationChannelId: editedAutomation?.notificationChannel,
151
- externalRecipientOverride,
152
- };
153
- const submitDisabled = isSubmitDisabled || isSaving || isExecutionTimestampMode;
154
- const actionBarDefaultProps = {
155
- cancelButtonText: intl.formatMessage({ id: "cancel" }),
156
- submitButtonText: alertToEdit
157
- ? intl.formatMessage({ id: "save" })
158
- : intl.formatMessage({ id: "create" }),
159
- onCancel: () => onCancel?.(),
160
- onSubmit: () => void submit(),
161
- isSubmitDisabled: submitDisabled,
162
- isSaving,
163
- submitButtonTooltipText: isExecutionTimestampMode
164
- ? intl.formatMessage({ id: "dialogs.alert.save.executionTimestampMode" })
165
- : undefined,
166
- ...(isWhiteLabeled
167
- ? {}
168
- : {
169
- helpLinkText: intl.formatMessage({ id: helpTextId }),
170
- helpLinkHref: "https://www.gooddata.com/docs/cloud/create-dashboards/automation/alerts/",
171
- }),
172
- ...(alertToEdit
173
- ? {
174
- deleteButtonText: intl.formatMessage({ id: "delete" }),
175
- onDelete: () => setAlertToDelete(alertToEdit),
176
- }
177
- : {}),
178
- };
179
113
  return (_jsxs(_Fragment, { children: [
180
- _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", isPositive: true, cancelButtonText: intl.formatMessage({ id: "cancel" }), submitButtonText: alertToEdit
181
- ? intl.formatMessage({ id: `save` })
182
- : intl.formatMessage({ id: `create` }), accessibilityConfig: {
114
+ _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", isPositive: true, cancelButtonText: actionBarDefaultProps.cancelButtonText, submitButtonText: actionBarDefaultProps.submitButtonText, accessibilityConfig: {
183
115
  closeButton: {
184
116
  ariaLabel: intl.formatMessage({ id: "dialogs.alert.closeLabel" }),
185
117
  },
186
118
  titleElementId,
187
119
  dialogId: ALERTING_DIALOG_ID,
188
- }, showProgressIndicator: isSaving, returnFocusAfterClose: false, footerLeftRenderer: ActionBarSlot
120
+ }, showProgressIndicator: actionBarDefaultProps.isSaving, returnFocusAfterClose: false, footerLeftRenderer: ActionBarSlot
189
121
  ? undefined
190
- : () => (_jsx(AutomationDialogFooterLeft, { helpLinkText: actionBarDefaultProps.helpLinkText, helpLinkHref: actionBarDefaultProps.helpLinkHref, deleteButtonText: actionBarDefaultProps.deleteButtonText, onDelete: actionBarDefaultProps.onDelete, isDeleteDisabled: isSaving })), footerRenderer: ActionBarSlot
122
+ : () => (_jsx(AutomationDialogFooterLeft, { helpLinkText: actionBarDefaultProps.helpLinkText, helpLinkHref: actionBarDefaultProps.helpLinkHref, deleteButtonText: actionBarDefaultProps.deleteButtonText, onDelete: actionBarDefaultProps.onDelete, isDeleteDisabled: actionBarDefaultProps.isSaving })), footerRenderer: ActionBarSlot
191
123
  ? () => (_jsx(ActionBarSlot, { Default: AutomationDialogActionBar, defaultProps: actionBarDefaultProps }))
192
- : undefined, isSubmitDisabled: submitDisabled, submitButtonTooltipText: isExecutionTimestampMode
193
- ? intl.formatMessage({
194
- id: "dialogs.alert.save.executionTimestampMode",
195
- })
196
- : undefined, initialFocus: dialogTitleRef, submitOnEnterKey: false, onCancel: onCancel, onSubmit: () => void submit(), headline: undefined, headerLeftButtonRenderer: () => {
197
- const headerDefaultProps = {
198
- title: editedAutomation?.title ?? "",
199
- onChange: onTitleChange,
200
- onCancel,
201
- placeholder: intl.formatMessage({
202
- id: "dialogs.alert.title.placeholder",
203
- }),
204
- ref: dialogTitleRef,
205
- secondaryTitle,
206
- secondaryTitleIcon,
207
- isSecondaryTitleVisible: isSecondaryTitleVisible
208
- ? isParentValid
209
- : undefined,
210
- };
124
+ : undefined, isSubmitDisabled: actionBarDefaultProps.isSubmitDisabled, submitButtonTooltipText: actionBarDefaultProps.submitButtonTooltipText, initialFocus: dialogTitleRef, submitOnEnterKey: false, onCancel: onCancel, onSubmit: actionBarDefaultProps.onSubmit, headline: undefined, headerLeftButtonRenderer: () => {
211
125
  return HeaderSlot ? (_jsx(HeaderSlot, { Default: AlertingDialogHeader, defaultProps: headerDefaultProps })) : (_jsx(AlertingDialogHeader, { ...headerDefaultProps }));
212
126
  }, children: [
213
127
  _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" }), _jsxs(_Fragment, { children: [FiltersSlot ? (_jsx(FiltersSlot, { Default: AlertingDialogFilters, defaultProps: filtersDefaultProps })) : (_jsx(AlertingDialogFilters, { ...filtersDefaultProps })), _jsx(ContentDivider, { className: "gd-divider-with-margin" })
@@ -1,17 +1,22 @@
1
- import { type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type ISeparators } from "@gooddata/sdk-model";
2
- import { type GoodDataSdkError } from "@gooddata/sdk-ui";
3
- import { type AlertMetric } from "../../types.js";
4
- export interface IUseAlertSubmitProps {
5
- editedAutomation: IAutomationMetadataObjectDefinition | undefined;
6
- supportedMeasures: AlertMetric[];
7
- separators?: ISeparators;
8
- alertToEdit?: IAutomationMetadataObject;
9
- onSuccess?: (alert: IAutomationMetadataObject) => void;
10
- onError?: (error: GoodDataSdkError) => void;
11
- onSaveSuccess?: (alert: IAutomationMetadataObject) => void;
12
- onSaveError?: (error: GoodDataSdkError) => void;
13
- }
14
- export declare function useAlertSubmit({ editedAutomation, supportedMeasures, separators, alertToEdit, onSuccess, onError, onSaveSuccess, onSaveError }: IUseAlertSubmitProps): {
1
+ import { type IAlertingDialogProps } from "../../types.js";
2
+ /**
3
+ * Lifecycle callbacks of {@link useAlertSubmit}: the dialog's own `onSuccess`/`onError` (create) and
4
+ * `onSaveSuccess`/`onSaveError` (edit).
5
+ *
6
+ * @internal
7
+ */
8
+ export type IUseAlertSubmitCallbacks = Pick<IAlertingDialogProps, "onSuccess" | "onError" | "onSaveSuccess" | "onSaveError">;
9
+ /**
10
+ * Submits the alerting dialog's draft: creates a new alert or saves the edited one, deriving a title
11
+ * when the draft has none, and routes the result to the matching callback. Guards against a second
12
+ * submit while one is in flight.
13
+ *
14
+ * Reads the draft, the supported measures, the edited alert and the separators from the alerting
15
+ * contexts, so it throws outside the alerting dialog's state providers.
16
+ *
17
+ * @internal
18
+ */
19
+ export declare function useAlertSubmit({ onSuccess, onError, onSaveSuccess, onSaveError }: IUseAlertSubmitCallbacks): {
15
20
  isSaving: boolean;
16
21
  submit: () => Promise<void>;
17
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useAlertSubmit.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSubmit.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,WAAW,EACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,gBAAgB,EAAgB,MAAM,kBAAkB,CAAC;AAGvE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,MAAM,WAAW,oBAAoB;IACjC,gBAAgB,EAAE,mCAAmC,GAAG,SAAS,CAAC;IAClE,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IACvD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAC3D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACnD;AAED,wBAAgB,cAAc,CAAC,EAC3B,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,EACP,aAAa,EACb,WAAW,EACd,EAAE,oBAAoB,GAAG;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CA4CA"}
1
+ {"version":3,"file":"useAlertSubmit.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSubmit.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAG3D;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACvC,oBAAoB,EACpB,WAAW,GAAG,SAAS,GAAG,eAAe,GAAG,aAAa,CAC5D,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,EAC3B,SAAS,EACT,OAAO,EACP,aAAa,EACb,WAAW,EACd,EAAE,wBAAwB,GAAG;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CA+CA"}
@@ -3,10 +3,26 @@ import { useRef, useState } from "react";
3
3
  import { useIntl } from "react-intl";
4
4
  import { convertError } from "@gooddata/sdk-ui";
5
5
  import { useAlertingDialogContext } from "../../../contexts/AlertingDialogContext.js";
6
+ import { useAutomationsContext } from "../../../contexts/AutomationsContext.js";
7
+ import { useAlertData } from "../../state/AlertDataContext.js";
8
+ import { useAlertDraft } from "../../state/AlertDraftContext.js";
6
9
  import { getDescription } from "../utils/getters.js";
7
- export function useAlertSubmit({ editedAutomation, supportedMeasures, separators, alertToEdit, onSuccess, onError, onSaveSuccess, onSaveError, }) {
10
+ /**
11
+ * Submits the alerting dialog's draft: creates a new alert or saves the edited one, deriving a title
12
+ * when the draft has none, and routes the result to the matching callback. Guards against a second
13
+ * submit while one is in flight.
14
+ *
15
+ * Reads the draft, the supported measures, the edited alert and the separators from the alerting
16
+ * contexts, so it throws outside the alerting dialog's state providers.
17
+ *
18
+ * @internal
19
+ */
20
+ export function useAlertSubmit({ onSuccess, onError, onSaveSuccess, onSaveError, }) {
8
21
  const intl = useIntl();
9
- const { createAlert, saveAlert } = useAlertingDialogContext();
22
+ const { separators } = useAutomationsContext();
23
+ const { createAlert, saveAlert, alertToEdit } = useAlertingDialogContext();
24
+ const { editedAutomation } = useAlertDraft();
25
+ const { supportedMeasures } = useAlertData();
10
26
  const [isSaving, setIsSaving] = useState(false);
11
27
  const submitInFlight = useRef(false);
12
28
  const submit = async () => {
@@ -1,13 +1,4 @@
1
- import { type useAlertFormState } from "./useAlertFormState.js";
2
- /**
3
- * The alerting dialog's mutators: the draft setter and every form change-handler.
4
- *
5
- * Changes rarely: `onGranularityChange` is re-created when `triggerIntervalDirty` toggles or the
6
- * supported measures load. The shape is derived from `useAlertFormState`, which owns them.
7
- *
8
- * @internal
9
- */
10
- export type IAlertActionsContextValue = Pick<ReturnType<typeof useAlertFormState>, "setEditedAutomation" | "onTitleChange" | "onMeasureChange" | "onAttributeChange" | "onComparisonOperatorChange" | "onRelativeOperatorChange" | "onAnomalyDetectionChange" | "onComparisonTypeChange" | "onSensitivityChange" | "onTriggerIntervalChange" | "onGranularityChange" | "onDestinationChange" | "onTriggerModeChange" | "onRecipientsChange">;
1
+ import { type IAlertActionsContextValue } from "./types.js";
11
2
  export declare const AlertActionsContextProvider: import("react").Provider<IAlertActionsContextValue | undefined>;
12
3
  /**
13
4
  * Reads the alerting dialog's mutators.
@@ -1 +1 @@
1
- {"version":3,"file":"AlertActionsContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/AlertActionsContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CACxC,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAClC,qBAAqB,GACrB,eAAe,GACf,iBAAiB,GACjB,mBAAmB,GACnB,4BAA4B,GAC5B,0BAA0B,GAC1B,0BAA0B,GAC1B,wBAAwB,GACxB,qBAAqB,GACrB,yBAAyB,GACzB,qBAAqB,GACrB,qBAAqB,GACrB,qBAAqB,GACrB,oBAAoB,CACzB,CAAC;AAKF,eAAO,MAAM,2BAA2B,iEAA+B,CAAC;AAExE;;;;;;;;;GASG;AACH,wBAAgB,eAAe,IAAI,yBAAyB,CAE3D"}
1
+ {"version":3,"file":"AlertActionsContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/AlertActionsContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAK5D,eAAO,MAAM,2BAA2B,iEAA+B,CAAC;AAExE;;;;;;;;;GASG;AACH,wBAAgB,eAAe,IAAI,yBAAyB,CAE3D"}
@@ -1,14 +1,4 @@
1
- import { type useAlertFormState } from "./useAlertFormState.js";
2
- import { type useAlertSupportedMetrics } from "./useAlertSupportedMetrics.js";
3
- /**
4
- * The data the alerting dialog loads asynchronously: the supported measures and attributes with
5
- * their formats, the execution-result readers, and the current user's default recipients.
6
- *
7
- * Changes when an async load resolves, not per keystroke.
8
- *
9
- * @internal
10
- */
11
- export type IAlertDataContextValue = Pick<ReturnType<typeof useAlertSupportedMetrics>, "supportedMeasures" | "supportedAttributes" | "measureFormatMap" | "isResultLoading" | "getAttributeValues" | "getMetricValue"> & Pick<ReturnType<typeof useAlertFormState>, "defaultUser" | "defaultRecipient">;
1
+ import { type IAlertDataContextValue } from "./types.js";
12
2
  export declare const AlertDataContextProvider: import("react").Provider<IAlertDataContextValue | undefined>;
13
3
  /**
14
4
  * Reads the data the alerting dialog loads asynchronously.
@@ -1 +1 @@
1
- {"version":3,"file":"AlertDataContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/AlertDataContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACrC,UAAU,CAAC,OAAO,wBAAwB,CAAC,EACzC,mBAAmB,GACnB,qBAAqB,GACrB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,gBAAgB,CACrB,GACG,IAAI,CAAC,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAAE,aAAa,GAAG,kBAAkB,CAAC,CAAC;AAKnF,eAAO,MAAM,wBAAwB,8DAA4B,CAAC;AAElE;;;;;;;;;GASG;AACH,wBAAgB,YAAY,IAAI,sBAAsB,CAErD"}
1
+ {"version":3,"file":"AlertDataContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/AlertDataContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAKzD,eAAO,MAAM,wBAAwB,8DAA4B,CAAC;AAElE;;;;;;;;;GASG;AACH,wBAAgB,YAAY,IAAI,sBAAsB,CAErD"}
@@ -1,14 +1,4 @@
1
- import { type useAlertFormState } from "./useAlertFormState.js";
2
- /**
3
- * The alerting dialog's edit draft: the automation being edited, the baseline it is compared
4
- * against, and the form-level warning and title-validity flag that move with it.
5
- *
6
- * Changes on every keystroke; consumers re-render by design. The shape is derived from
7
- * `useAlertFormState`, which owns these values.
8
- *
9
- * @internal
10
- */
11
- export type IAlertDraftContextValue = Pick<ReturnType<typeof useAlertFormState>, "editedAutomation" | "originalAutomation" | "warningMessage" | "isTitleValid">;
1
+ import { type IAlertDraftContextValue } from "./types.js";
12
2
  export declare const AlertDraftContextProvider: import("react").Provider<IAlertDraftContextValue | undefined>;
13
3
  /**
14
4
  * Reads the alerting dialog's edit draft.
@@ -1 +1 @@
1
- {"version":3,"file":"AlertDraftContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/AlertDraftContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,MAAM,uBAAuB,GAAG,IAAI,CACtC,UAAU,CAAC,OAAO,iBAAiB,CAAC,EACpC,kBAAkB,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,cAAc,CAChF,CAAC;AAKF,eAAO,MAAM,yBAAyB,+DAA6B,CAAC;AAEpE;;;;;;;;;GASG;AACH,wBAAgB,aAAa,IAAI,uBAAuB,CAEvD"}
1
+ {"version":3,"file":"AlertDraftContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/AlertDraftContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAK1D,eAAO,MAAM,yBAAyB,+DAA6B,CAAC;AAEpE;;;;;;;;;GASG;AACH,wBAAgB,aAAa,IAAI,uBAAuB,CAEvD"}
@@ -1,16 +1,4 @@
1
- import { type useAlertFiltersModel } from "./useAlertFiltersModel.js";
2
- import { type useAlertFormState } from "./useAlertFormState.js";
3
- /**
4
- * The alerting dialog's filter and export-parameter model: the current selection, the available
5
- * filters, the two filter mutators and the staleness flags, plus the automation's execution
6
- * parameters and their mutators.
7
- *
8
- * Changes when a filter or a parameter is edited. The shape is derived from
9
- * `useAlertFiltersModel` and from the parameter members `useAlertFormState` re-exports.
10
- *
11
- * @internal
12
- */
13
- export type IAlertFiltersContextValue = Pick<ReturnType<typeof useAlertFiltersModel>, "selectedFilters" | "availableFilters" | "onFiltersChange" | "onApplyCurrentFilters" | "automationIsValid" | "filtersAreStale"> & Pick<ReturnType<typeof useAlertFormState>, "automationParameters" | "availableParameters" | "onParameterChange" | "onParameterDelete" | "onParameterAdd" | "dropStaleParameters">;
1
+ import { type IAlertFiltersContextValue } from "./types.js";
14
2
  export declare const AlertFiltersContextProvider: import("react").Provider<IAlertFiltersContextValue | undefined>;
15
3
  /**
16
4
  * Reads the alerting dialog's filter and export-parameter model.
@@ -1 +1 @@
1
- {"version":3,"file":"AlertFiltersContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/AlertFiltersContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;;;;GASG;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CACxC,UAAU,CAAC,OAAO,oBAAoB,CAAC,EACrC,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,uBAAuB,GACvB,mBAAmB,GACnB,iBAAiB,CACtB,GACG,IAAI,CACA,UAAU,CAAC,OAAO,iBAAiB,CAAC,EAClC,sBAAsB,GACtB,qBAAqB,GACrB,mBAAmB,GACnB,mBAAmB,GACnB,gBAAgB,GAChB,qBAAqB,CAC1B,CAAC;AAKN,eAAO,MAAM,2BAA2B,iEAA+B,CAAC;AAExE;;;;;;;;;GASG;AACH,wBAAgB,eAAe,IAAI,yBAAyB,CAE3D"}
1
+ {"version":3,"file":"AlertFiltersContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/AlertFiltersContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAK5D,eAAO,MAAM,2BAA2B,iEAA+B,CAAC;AAExE;;;;;;;;;GASG;AACH,wBAAgB,eAAe,IAAI,yBAAyB,CAE3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"AlertingDialogStateProvider.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/AlertingDialogStateProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAehD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAIhF"}
1
+ {"version":3,"file":"AlertingDialogStateProvider.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/AlertingDialogStateProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAqBhD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,2BAA2B,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAIhF"}
@@ -0,0 +1,156 @@
1
+ import { type Dispatch, type SetStateAction } from "react";
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 IdentifierRef, type ParameterValue } from "@gooddata/sdk-model";
3
+ import { type IAutomationParameter } from "../../shared/automationFilters/automationParameters.js";
4
+ import { type AttributeValue } from "../DefaultAlertingDialog/hooks/useAttributeValuesFromExecResults.js";
5
+ import { type IMeasureFormatMap } from "../DefaultAlertingDialog/utils/getters.js";
6
+ import { type AlertAttribute, type AlertMetric, type AlertMetricComparatorType } from "../types.js";
7
+ /**
8
+ * The alerting dialog's edit draft: the automation being edited, the baseline it is compared
9
+ * against, and the form-level warning and title-validity flag that move with it.
10
+ *
11
+ * Changes on every keystroke; consumers re-render by design.
12
+ *
13
+ * @internal
14
+ */
15
+ export interface IAlertDraftContextValue {
16
+ /**
17
+ * The alert being edited. Undefined only before the state model has seeded it.
18
+ */
19
+ editedAutomation: IAutomationMetadataObjectDefinition | undefined;
20
+ /**
21
+ * The draft as it was when the dialog opened; the dirty check compares against it.
22
+ */
23
+ originalAutomation: IAutomationMetadataObjectDefinition | undefined;
24
+ /**
25
+ * Form-level warning shown below the form, e.g. after switching to a creator-only channel.
26
+ */
27
+ warningMessage: string | undefined;
28
+ /**
29
+ * Whether the current title passes the length limit.
30
+ */
31
+ isTitleValid: boolean;
32
+ }
33
+ /**
34
+ * The alerting dialog's mutators: the draft setter and every form change-handler.
35
+ *
36
+ * Changes rarely: `onGranularityChange` is re-created when `triggerIntervalDirty` toggles or the
37
+ * supported measures load.
38
+ *
39
+ * @internal
40
+ */
41
+ export interface IAlertActionsContextValue {
42
+ setEditedAutomation: Dispatch<SetStateAction<IAutomationMetadataObjectDefinition | undefined>>;
43
+ onTitleChange: (value: string) => void;
44
+ onMeasureChange: (measure: AlertMetric) => void;
45
+ onAttributeChange: (attribute: AlertAttribute | undefined, value: AttributeValue | undefined) => void;
46
+ onComparisonOperatorChange: (measure: AlertMetric, comparisonOperator: IAlertComparisonOperator) => void;
47
+ onRelativeOperatorChange: (measure: AlertMetric, relativeOperator: IAlertRelativeOperator, arithmeticOperator: IAlertRelativeArithmeticOperator) => void;
48
+ onAnomalyDetectionChange: (measure: AlertMetric) => void;
49
+ onComparisonTypeChange: (measure: AlertMetric | undefined, relativeOperator: [IAlertRelativeOperator, IAlertRelativeArithmeticOperator] | undefined, comparisonType: AlertMetricComparatorType, granularity?: DateAttributeGranularity) => void;
50
+ onSensitivityChange: (sensitivity: IAlertAnomalyDetectionSensitivity) => void;
51
+ /**
52
+ * `dirty` defaults to true; the granularity handler passes false when it derives the interval.
53
+ */
54
+ onTriggerIntervalChange: (triggerInterval: IAlertTriggerInterval, dirty?: boolean) => void;
55
+ onGranularityChange: (measure: AlertMetric | undefined, granularity: IAlertAnomalyDetectionGranularity) => void;
56
+ onDestinationChange: (destinationId: string) => void;
57
+ onTriggerModeChange: (triggerMode: IAlertTriggerMode) => void;
58
+ onRecipientsChange: (recipients: IAutomationRecipient[]) => void;
59
+ }
60
+ /**
61
+ * The data the alerting dialog loads asynchronously: the supported measures and attributes with
62
+ * their formats, the execution-result readers, and the current user's default recipients.
63
+ *
64
+ * Changes when an async load resolves, not per keystroke.
65
+ *
66
+ * @internal
67
+ */
68
+ export interface IAlertDataContextValue {
69
+ supportedMeasures: AlertMetric[];
70
+ supportedAttributes: AlertAttribute[];
71
+ measureFormatMap: IMeasureFormatMap;
72
+ /**
73
+ * Whether the widget's execution result is still loading.
74
+ */
75
+ isResultLoading: boolean;
76
+ /**
77
+ * Distinct values of an attribute in the widget's execution result.
78
+ */
79
+ getAttributeValues: (attribute: IAttributeMetadataObject) => AttributeValue[];
80
+ /**
81
+ * The measure's current value, optionally sliced by an attribute value; undefined while loading.
82
+ */
83
+ getMetricValue: (measure?: IMeasure, attribute?: IAttribute, value?: string | null) => number | undefined;
84
+ /**
85
+ * The logged-in user as a recipient.
86
+ */
87
+ defaultUser: IAutomationRecipient;
88
+ /**
89
+ * The recipient a new alert is seeded with; an external-recipient override replaces the user.
90
+ */
91
+ defaultRecipient: IAutomationRecipient;
92
+ }
93
+ /**
94
+ * The alerting dialog's filter and export-parameter model: the current selection, the available
95
+ * filters, the two filter mutators and the staleness flags, plus the automation's execution
96
+ * parameters and their mutators.
97
+ *
98
+ * Changes when a filter or a parameter is edited.
99
+ *
100
+ * @internal
101
+ */
102
+ export interface IAlertFiltersContextValue {
103
+ selectedFilters: FilterContextItem[];
104
+ availableFilters: FilterContextItem[] | undefined;
105
+ /**
106
+ * Replaces the selection with the complete updated array and mirrors it into the draft.
107
+ */
108
+ onFiltersChange: (filters: FilterContextItem[]) => void;
109
+ /**
110
+ * Replaces the selection with the dashboard's current filters (the stale-filters repair).
111
+ */
112
+ onApplyCurrentFilters: () => void;
113
+ /**
114
+ * False when the saved filters or the saved parameters no longer match the dashboard; gates the
115
+ * stale-filters confirmation.
116
+ */
117
+ automationIsValid: boolean;
118
+ /**
119
+ * Whether the saved filters alone no longer match the dashboard.
120
+ */
121
+ filtersAreStale: boolean;
122
+ /**
123
+ * The parameter chips to render. Empty when the `enableParameters` feature is off.
124
+ */
125
+ automationParameters: IAutomationParameter[];
126
+ /**
127
+ * Workspace parameters addable via the "+" menu. Empty when the feature is off.
128
+ */
129
+ availableParameters: IAutomationParameter[];
130
+ onParameterChange: (ref: IdentifierRef, value: ParameterValue) => void;
131
+ onParameterDelete: (ref: IdentifierRef) => void;
132
+ onParameterAdd: (ref: IdentifierRef) => void;
133
+ /**
134
+ * Drops stored parameters whose `ref` left the workspace catalog, keeping every other override.
135
+ */
136
+ dropStaleParameters: () => void;
137
+ }
138
+ /**
139
+ * Return type of `useAlertFormState`, composed from the context values it feeds.
140
+ *
141
+ * @internal
142
+ */
143
+ export type IAlertFormState = IAlertDraftContextValue & IAlertActionsContextValue & Pick<IAlertDataContextValue, "defaultUser" | "defaultRecipient"> & Pick<IAlertFiltersContextValue, "automationParameters" | "availableParameters" | "onParameterChange" | "onParameterDelete" | "onParameterAdd" | "dropStaleParameters">;
144
+ /**
145
+ * Return type of `useAlertSupportedMetrics`.
146
+ *
147
+ * @internal
148
+ */
149
+ export type IAlertSupportedMetrics = Pick<IAlertDataContextValue, "supportedMeasures" | "supportedAttributes" | "measureFormatMap" | "isResultLoading" | "getAttributeValues" | "getMetricValue">;
150
+ /**
151
+ * Return type of `useAlertFiltersModel`.
152
+ *
153
+ * @internal
154
+ */
155
+ export type IAlertFiltersModel = Pick<IAlertFiltersContextValue, "selectedFilters" | "availableFilters" | "onFiltersChange" | "onApplyCurrentFilters" | "automationIsValid" | "filtersAreStale">;
156
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ // (C) 2026 GoodData Corporation
2
+ export {};
@@ -2,6 +2,7 @@ import { type Dispatch, type SetStateAction } from "react";
2
2
  import { type FilterContextItem, type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IAutomationVisibleFilter, type IInsight, type IWidget, type WeekStart } from "@gooddata/sdk-model";
3
3
  import { type IMeasureFormatMap } from "../DefaultAlertingDialog/utils/getters.js";
4
4
  import { type AlertAttribute, type AlertMetric } from "../types.js";
5
+ import { type IAlertFiltersModel } from "./types.js";
5
6
  /**
6
7
  * Props for {@link useAlertFiltersModel}.
7
8
  * @internal
@@ -40,12 +41,5 @@ export interface IUseAlertFiltersModelProps {
40
41
  *
41
42
  * @internal
42
43
  */
43
- export declare function useAlertFiltersModel({ setEditedAutomation, alertToEdit, editedAutomationFilters, setEditedAutomationFilters, availableFilters, filtersForNewAutomation, availableFiltersAsVisibleFilters, dashboardHiddenFilters, commonDateFilterId, widget, insight, supportedMeasures, supportedAttributes, measureFormatMap, selectedMeasure, selectedAttribute, selectedValue, weekStart, timezone }: IUseAlertFiltersModelProps): {
44
- selectedFilters: FilterContextItem[];
45
- availableFilters: FilterContextItem[] | undefined;
46
- onFiltersChange: (filters: FilterContextItem[]) => void;
47
- onApplyCurrentFilters: () => void;
48
- automationIsValid: boolean;
49
- filtersAreStale: boolean;
50
- };
44
+ export declare function useAlertFiltersModel({ setEditedAutomation, alertToEdit, editedAutomationFilters, setEditedAutomationFilters, availableFilters, filtersForNewAutomation, availableFiltersAsVisibleFilters, dashboardHiddenFilters, commonDateFilterId, widget, insight, supportedMeasures, supportedAttributes, measureFormatMap, selectedMeasure, selectedAttribute, selectedValue, weekStart, timezone }: IUseAlertFiltersModelProps): IAlertFiltersModel;
51
45
  //# sourceMappingURL=useAlertFiltersModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAlertFiltersModel.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/useAlertFiltersModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAe,MAAM,OAAO,CAAC;AAExE,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,wBAAwB,EAC7B,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,SAAS,EACjB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAKnF,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACvC,mBAAmB,EAAE,QAAQ,CAAC,cAAc,CAAC,mCAAmC,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/F,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;IAC7C,0BAA0B,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACnE,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACvC,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;IAC7C,gCAAgC,CAAC,EAAE,wBAAwB,EAAE,GAAG,SAAS,CAAC;IAC1E,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,mBAAmB,EAAE,cAAc,EAAE,CAAC;IACtC,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,eAAe,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,iBAAiB,EAAE,cAAc,GAAG,SAAS,CAAC;IAC9C,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,mBAAmB,EACnB,WAAW,EACX,uBAAuB,EACvB,0BAA0B,EAC1B,gBAAgB,EAChB,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,kBAAkB,EAClB,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,QAAQ,EACX,EAAE,0BAA0B,GAAG;IAC5B,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAClD,eAAe,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACxD,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;CAC5B,CAsGA"}
1
+ {"version":3,"file":"useAlertFiltersModel.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/useAlertFiltersModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAe,MAAM,OAAO,CAAC;AAExE,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,wBAAwB,EAC7B,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,SAAS,EACjB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAKnF,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACvC,mBAAmB,EAAE,QAAQ,CAAC,cAAc,CAAC,mCAAmC,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/F,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;IAC7C,0BAA0B,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACnE,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACvC,uBAAuB,EAAE,iBAAiB,EAAE,CAAC;IAC7C,gCAAgC,CAAC,EAAE,wBAAwB,EAAE,GAAG,SAAS,CAAC;IAC1E,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,mBAAmB,EAAE,cAAc,EAAE,CAAC;IACtC,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,eAAe,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,iBAAiB,EAAE,cAAc,GAAG,SAAS,CAAC;IAC9C,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,EACjC,mBAAmB,EACnB,WAAW,EACX,uBAAuB,EACvB,0BAA0B,EAC1B,gBAAgB,EAChB,uBAAuB,EACvB,gCAAgC,EAChC,sBAAsB,EACtB,kBAAkB,EAClB,MAAM,EACN,OAAO,EACP,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,QAAQ,EACX,EAAE,0BAA0B,GAAG,kBAAkB,CAsGjD"}