@gooddata/sdk-ui-dashboard 11.54.0-alpha.4 → 11.54.0-alpha.5

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 (130) hide show
  1. package/NOTICE +92923 -17333
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/_staging/automation/index.d.ts +6 -0
  5. package/esm/_staging/automation/index.d.ts.map +1 -1
  6. package/esm/_staging/automation/index.js +7 -0
  7. package/esm/_staging/layout/coordinates.mock.d.ts +17 -0
  8. package/esm/_staging/layout/coordinates.mock.d.ts.map +1 -0
  9. package/esm/_staging/layout/coordinates.mock.js +103 -0
  10. package/esm/index.d.ts +2 -2
  11. package/esm/index.d.ts.map +1 -1
  12. package/esm/model/DashboardTester.d.ts +150 -0
  13. package/esm/model/DashboardTester.d.ts.map +1 -0
  14. package/esm/model/DashboardTester.js +208 -0
  15. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
  16. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +27 -1
  17. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadAutomationTimezone.d.ts +9 -0
  18. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadAutomationTimezone.d.ts.map +1 -0
  19. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadAutomationTimezone.js +27 -0
  20. package/esm/model/commandHandlers/timezone/changeDashboardTimezoneOverrideHandler.d.ts.map +1 -1
  21. package/esm/model/commandHandlers/timezone/changeDashboardTimezoneOverrideHandler.js +2 -11
  22. package/esm/model/commands/timezone.d.ts +10 -2
  23. package/esm/model/commands/timezone.d.ts.map +1 -1
  24. package/esm/model/commands/timezone.js +5 -2
  25. package/esm/model/fixtures/CatalogAvailability.fixtures.d.ts +14 -0
  26. package/esm/model/fixtures/CatalogAvailability.fixtures.d.ts.map +1 -0
  27. package/esm/model/fixtures/CatalogAvailability.fixtures.js +57 -0
  28. package/esm/model/fixtures/ComplexDashboard.fixtures.d.ts +56 -0
  29. package/esm/model/fixtures/ComplexDashboard.fixtures.d.ts.map +1 -0
  30. package/esm/model/fixtures/ComplexDashboard.fixtures.js +71 -0
  31. package/esm/model/fixtures/Dashboard.fixtures.d.ts +10 -0
  32. package/esm/model/fixtures/Dashboard.fixtures.d.ts.map +1 -0
  33. package/esm/model/fixtures/Dashboard.fixtures.js +13 -0
  34. package/esm/model/fixtures/Insights.fixtures.d.ts +6 -0
  35. package/esm/model/fixtures/Insights.fixtures.d.ts.map +1 -0
  36. package/esm/model/fixtures/Insights.fixtures.js +11 -0
  37. package/esm/model/fixtures/Layout.fixtures.d.ts +14 -0
  38. package/esm/model/fixtures/Layout.fixtures.d.ts.map +1 -0
  39. package/esm/model/fixtures/Layout.fixtures.js +115 -0
  40. package/esm/model/fixtures/SimpleDashboard.fixtures.d.ts +46 -0
  41. package/esm/model/fixtures/SimpleDashboard.fixtures.d.ts.map +1 -0
  42. package/esm/model/fixtures/SimpleDashboard.fixtures.js +315 -0
  43. package/esm/model/fixtures/SimpleDashboardNoDrills.fixtures.d.ts +28 -0
  44. package/esm/model/fixtures/SimpleDashboardNoDrills.fixtures.d.ts.map +1 -0
  45. package/esm/model/fixtures/SimpleDashboardNoDrills.fixtures.js +40 -0
  46. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogDestination.d.ts +6 -0
  47. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogDestination.d.ts.map +1 -0
  48. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogDestination.js +13 -0
  49. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogRecipients.d.ts +7 -0
  50. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogRecipients.d.ts.map +1 -0
  51. package/esm/presentation/automations/alerting/DefaultAlertingDialog/AlertingDialogRecipients.js +12 -0
  52. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
  53. package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +25 -13
  54. package/esm/presentation/automations/alerting/DefaultAlertingDialog/FormField.d.ts +8 -0
  55. package/esm/presentation/automations/alerting/DefaultAlertingDialog/FormField.d.ts.map +1 -0
  56. package/esm/presentation/automations/alerting/DefaultAlertingDialog/FormField.js +8 -0
  57. package/esm/presentation/automations/alerting/state/fixtures.d.ts +13 -0
  58. package/esm/presentation/automations/alerting/state/fixtures.d.ts.map +1 -0
  59. package/esm/presentation/automations/alerting/state/fixtures.js +37 -0
  60. package/esm/presentation/automations/alerting/types.d.ts +42 -2
  61. package/esm/presentation/automations/alerting/types.d.ts.map +1 -1
  62. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
  63. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +24 -5
  64. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.d.ts +1 -5
  65. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.d.ts.map +1 -1
  66. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +2 -2
  67. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.d.ts +0 -4
  68. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.d.ts.map +1 -1
  69. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.d.ts +6 -0
  70. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.d.ts.map +1 -0
  71. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.js +10 -0
  72. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.d.ts +6 -0
  73. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.d.ts.map +1 -0
  74. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.js +8 -0
  75. package/esm/presentation/automations/scheduledEmail/state/fixtures.d.ts +18 -0
  76. package/esm/presentation/automations/scheduledEmail/state/fixtures.d.ts.map +1 -0
  77. package/esm/presentation/automations/scheduledEmail/state/fixtures.js +105 -0
  78. package/esm/presentation/automations/scheduledEmail/types.d.ts +52 -3
  79. package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
  80. package/esm/presentation/automations/shared/automationFilters/parameterFixtures.d.ts +5 -0
  81. package/esm/presentation/automations/shared/automationFilters/parameterFixtures.d.ts.map +1 -0
  82. package/esm/presentation/automations/shared/automationFilters/parameterFixtures.js +22 -0
  83. package/esm/presentation/automations/shared/slots/types.d.ts +67 -1
  84. package/esm/presentation/automations/shared/slots/types.d.ts.map +1 -1
  85. package/esm/presentation/automations/shared/test/fixtures.d.ts +9 -0
  86. package/esm/presentation/automations/shared/test/fixtures.d.ts.map +1 -0
  87. package/esm/presentation/automations/shared/test/fixtures.js +101 -0
  88. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayout.d.ts +17 -0
  89. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayout.d.ts.map +1 -0
  90. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayout.js +18 -0
  91. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutItemRenderer.d.ts +12 -0
  92. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutItemRenderer.d.ts.map +1 -0
  93. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutItemRenderer.js +26 -0
  94. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutMocks.d.ts +20 -0
  95. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutMocks.d.ts.map +1 -0
  96. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutMocks.js +95 -0
  97. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutRowRenderer.d.ts +14 -0
  98. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutRowRenderer.d.ts.map +1 -0
  99. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutRowRenderer.js +9 -0
  100. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionBorder.d.ts +9 -0
  101. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionBorder.d.ts.map +1 -0
  102. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionBorder.js +17 -0
  103. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionBorderMarker.d.ts +6 -0
  104. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionBorderMarker.d.ts.map +1 -0
  105. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionBorderMarker.js +10 -0
  106. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionHeader.d.ts +9 -0
  107. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionHeader.d.ts.map +1 -0
  108. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionHeader.js +14 -0
  109. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionHeaderRenderer.d.ts +8 -0
  110. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionHeaderRenderer.d.ts.map +1 -0
  111. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionHeaderRenderer.js +49 -0
  112. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionRenderer.d.ts +7 -0
  113. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionRenderer.d.ts.map +1 -0
  114. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutSectionRenderer.js +33 -0
  115. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutTypes.d.ts +62 -0
  116. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutTypes.d.ts.map +1 -0
  117. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutTypes.js +2 -0
  118. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutWidget.d.ts +11 -0
  119. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutWidget.d.ts.map +1 -0
  120. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutWidget.js +4 -0
  121. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutWidgetRenderer.d.ts +8 -0
  122. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutWidgetRenderer.d.ts.map +1 -0
  123. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/DashboardEditLayoutWidgetRenderer.js +28 -0
  124. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/LayoutTypes.d.ts +26 -0
  125. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/LayoutTypes.d.ts.map +1 -0
  126. package/esm/presentation/flexibleLayout/useInKD/DashboardEditLayout/LayoutTypes.js +21 -0
  127. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.d.ts.map +1 -1
  128. package/esm/presentation/widget/insight/configuration/InsightAlertConfig/EditAlert.js +1 -1
  129. package/esm/sdk-ui-dashboard.d.ts +172 -5
  130. package/package.json +21 -21
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // (C) 2026 GoodData Corporation
3
+ import { FormattedMessage } from "react-intl";
4
+ import { RecipientsSelect } from "../../scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js";
5
+ import { FormField } from "./FormField.js";
6
+ /**
7
+ * Default implementation of the alerting dialog's recipients region. The label comes from the
8
+ * form field row, so the select's own label is off.
9
+ */
10
+ export function AlertingDialogRecipients(props) {
11
+ return (_jsx(FormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.recipients" }), htmlFor: "alert.recipients", fullWidth: true, children: _jsx(RecipientsSelect, { id: "alert.recipients", showLabel: false, ...props }) }));
12
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultAlertingDialog.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.tsx"],"names":[],"mappings":"AA6CA,OAAO,EAGH,KAAK,2BAA2B,EACnC,MAAM,aAAa,CAAC;AA6BrB,wBAAgB,sBAAsB,CAAC,EACnC,QAAQ,EACR,eAAe,EACf,aAAa,EACb,OAAO,EACP,SAAS,EACT,WAAW,EACX,aAAa,EACb,KAAK,EACR,EAAE,2BAA2B,2CAwjB7B;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":"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,EACR,EAAE,2BAA2B,2CA2jB7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,2BAA2B,2CAcvE"}
@@ -8,7 +8,6 @@ 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";
10
10
  import { useAutomationsContext } from "../../contexts/AutomationsContext.js";
11
- import { RecipientsSelect } from "../../scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js";
12
11
  import { ApplyCurrentFiltersConfirmDialog } from "../../shared/automationFilters/components/ApplyLatestFiltersConfirmDialog.js";
13
12
  import { DeleteAlertConfirmDialog } from "../DefaultAlertingManagementDialog/components/DeleteAlertConfirmDialog.js";
14
13
  import { useAlertActions } from "../state/AlertActionsContext.js";
@@ -17,14 +16,15 @@ import { useAlertDraft } from "../state/AlertDraftContext.js";
17
16
  import { useAlertFilters } from "../state/AlertFiltersContext.js";
18
17
  import { useAlertDialogValidity } from "../state/useAlertDialogValidity.js";
19
18
  import { useAlertSelectedValues } from "../state/useAlertSelectedValues.js";
19
+ import { AlertingDialogDestination } from "./AlertingDialogDestination.js";
20
20
  import { AlertingDialogFilters } from "./AlertingDialogFilters.js";
21
21
  import { AlertingDialogHeader } from "./AlertingDialogHeader.js";
22
+ import { AlertingDialogRecipients } from "./AlertingDialogRecipients.js";
22
23
  import { AlertAttributeSelect } from "./components/AlertAttributeSelect.js";
23
24
  import { AlertComparisonOperatorSelect } from "./components/AlertComparisonOperatorSelect.js";
24
25
  //
25
26
  //
26
27
  import { AlertComparisonPeriodSelect } from "./components/AlertComparisonPeriodSelect.js";
27
- import { AlertDestinationSelect } from "./components/AlertDestinationSelect.js";
28
28
  import { AlertGranularitySelect } from "./components/AlertGranularitySelect.js";
29
29
  import { AlertMeasureSelect } from "./components/AlertMeasureSelect.js";
30
30
  import { AlertSensitivitySelect } from "./components/AlertSensitivitySelect.js";
@@ -33,6 +33,7 @@ import { AlertTriggerIntervalSelect } from "./components/AlertTriggerIntervalSel
33
33
  import { AlertTriggerModeSelect } from "./components/AlertTriggerModeSelect.js";
34
34
  import { ALERTING_DIALOG_ID } from "./constants.js";
35
35
  import { DefaultLoadingAlertingDialog } from "./DefaultLoadingAlertingDialog.js";
36
+ import { FormField } from "./FormField.js";
36
37
  import { useAlertSubmit } from "./hooks/useAlertSubmit.js";
37
38
  import { useAlertThreshold } from "./hooks/useAlertThreshold.js";
38
39
  import { getValueSuffix } from "./utils/getters.js";
@@ -44,6 +45,8 @@ const overlayController = OverlayController.getInstance(DASHBOARD_DIALOG_OVERS_Z
44
45
  export function AlertingDialogRenderer({ onCancel, onDeleteSuccess, onDeleteError, onError, onSuccess, onSaveError, onSaveSuccess, slots, }) {
45
46
  const HeaderSlot = slots?.Header;
46
47
  const FiltersSlot = slots?.Filters;
48
+ const DestinationSlot = slots?.Destination;
49
+ const RecipientsSlot = slots?.Recipients;
47
50
  const intl = useIntl();
48
51
  const dialogTitleRef = useRef(null);
49
52
  const { isWhiteLabeled, isSecondaryTitleVisible, externalRecipient: externalRecipientOverride, maxAutomationsRecipients, isExecutionTimestampMode, features: { enableAlertOncePerInterval, enableAnomalyDetectionAlert, canUseAiAssistant: enableAiAssistant, }, catalogAttributes, catalogDateDatasets, separators, allowHourlyRecurrence, } = useAutomationsContext();
@@ -53,7 +56,7 @@ export function AlertingDialogRenderer({ onCancel, onDeleteSuccess, onDeleteErro
53
56
  onDeleteSuccess?.(alert);
54
57
  setAlertToDelete(null);
55
58
  };
56
- const { editedAutomation, originalAutomation, warningMessage } = useAlertDraft();
59
+ const { editedAutomation, warningMessage } = useAlertDraft();
57
60
  const { onTitleChange, onRecipientsChange, onMeasureChange, onAttributeChange, onComparisonOperatorChange, onRelativeOperatorChange, onAnomalyDetectionChange, onComparisonTypeChange, onDestinationChange, onTriggerModeChange, onTriggerIntervalChange, onSensitivityChange, onGranularityChange, setEditedAutomation, } = useAlertActions();
58
61
  const { supportedMeasures, supportedAttributes, isResultLoading, getAttributeValues, defaultUser, getMetricValue, } = useAlertData();
59
62
  const { selectedFilters, availableFilters, onFiltersChange, onApplyCurrentFilters, automationIsValid, filtersAreStale, automationParameters, availableParameters, onParameterChange, onParameterDelete, onParameterAdd, dropStaleParameters, } = useAlertFilters();
@@ -128,6 +131,23 @@ export function AlertingDialogRenderer({ onCancel, onDeleteSuccess, onDeleteErro
128
131
  onParameterChange,
129
132
  onParameterDelete,
130
133
  };
134
+ const destinationDefaultProps = {
135
+ notificationChannels,
136
+ selectedNotificationChannelId: editedAutomation?.notificationChannel,
137
+ onChange: onDestinationChange,
138
+ };
139
+ const recipientsDefaultProps = {
140
+ loggedUser: defaultUser,
141
+ value: editedAutomation?.recipients ?? [],
142
+ onChange: onRecipientsChange,
143
+ allowEmptySelection: true,
144
+ allowOnlyLoggedUserRecipients,
145
+ allowExternalRecipients,
146
+ maxRecipients: maxAutomationsRecipients,
147
+ notificationChannels,
148
+ notificationChannelId: editedAutomation?.notificationChannel,
149
+ externalRecipientOverride,
150
+ };
131
151
  return (_jsxs(_Fragment, { children: [
132
152
  _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
133
153
  ? intl.formatMessage({ id: `save` })
@@ -173,14 +193,13 @@ export function AlertingDialogRenderer({ onCancel, onDeleteSuccess, onDeleteErro
173
193
  ] }), htmlFor: "alert.granularity", children: _jsx(AlertGranularitySelect, { id: "alert.granularity", allowHourlyRecurrence: allowHourlyRecurrence, selectedGranularity: selectedGranularity, onGranularityChange: (granularity) => {
174
194
  onGranularityChange(selectedMeasure, granularity);
175
195
  }, overlayPositionType: OVERLAY_POSITION_TYPE, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL }) })
176
- ] }))] }), _jsx(ContentDivider, { className: "gd-divider-with-margin" }), _jsxs(FormFieldGroup, { label: _jsx(FormattedMessage, { id: "insightAlert.config.do" }), children: [notificationChannels.length > 1 && (_jsx(FormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.action" }), htmlFor: "alert.destination", children: _jsx(AlertDestinationSelect, { id: "alert.destination", selectedDestination: editedAutomation?.notificationChannel, onDestinationChange: onDestinationChange, destinations: notificationChannels, overlayPositionType: OVERLAY_POSITION_TYPE, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL }) })), _jsx(FormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.trigger" }), htmlFor: "alert.trigger", children: _jsx(AlertTriggerModeSelect, { id: "alert.trigger", selectedTriggerMode: editedAutomation?.alert?.trigger.mode ?? "ALWAYS", onTriggerModeChange: onTriggerModeChange, overlayPositionType: OVERLAY_POSITION_TYPE, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL, enableAlertOncePerInterval: enableAlertOncePerInterval }) }), editedAutomation?.alert?.trigger.mode === "ONCE_PER_INTERVAL" ? (_jsx(FormField, { label: _jsxs("div", { className: "gd-dashboard-alerting-dialog-form-field__content-container-tooltip", children: [
196
+ ] }))] }), _jsx(ContentDivider, { className: "gd-divider-with-margin" }), _jsxs(FormFieldGroup, { label: _jsx(FormattedMessage, { id: "insightAlert.config.do" }), children: [notificationChannels.length > 1 ? (DestinationSlot ? (_jsx(DestinationSlot, { Default: AlertingDialogDestination, defaultProps: destinationDefaultProps })) : (_jsx(AlertingDialogDestination, { ...destinationDefaultProps }))) : null, _jsx(FormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.trigger" }), htmlFor: "alert.trigger", children: _jsx(AlertTriggerModeSelect, { id: "alert.trigger", selectedTriggerMode: editedAutomation?.alert?.trigger.mode ?? "ALWAYS", onTriggerModeChange: onTriggerModeChange, overlayPositionType: OVERLAY_POSITION_TYPE, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL, enableAlertOncePerInterval: enableAlertOncePerInterval }) }), editedAutomation?.alert?.trigger.mode === "ONCE_PER_INTERVAL" ? (_jsx(FormField, { label: _jsxs("div", { className: "gd-dashboard-alerting-dialog-form-field__content-container-tooltip", children: [
177
197
  _jsx(FormattedMessage, { id: "insightAlert.config.interval" }), _jsx(UiTooltip, { anchor: _jsx(UiIconButton, { icon: "question", variant: "tertiary", size: "xsmall", accessibilityConfig: {
178
198
  ariaLabel: intl.formatMessage({
179
199
  id: "insightAlert.config.interval",
180
200
  }),
181
201
  } }), content: _jsx(FormattedMessage, { id: "insightAlert.config.interval.tooltip" }), arrowPlacement: "left", optimalPlacement: true, offset: 10, width: 280, triggerBy: ["hover", "click"] })
182
- ] }), htmlFor: "alert.interval", children: _jsx(AlertTriggerIntervalSelect, { id: "alert.interval", selectedTriggerInterval: editedAutomation?.alert?.trigger.interval ?? "DAY", onTriggerIntervalChange: onTriggerIntervalChange, overlayPositionType: OVERLAY_POSITION_TYPE, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL }) })) : null, _jsx(FormField, { label: _jsx(FormattedMessage, { id: "insightAlert.config.recipients" }), htmlFor: "alert.recipients", fullWidth: true, children: _jsx(RecipientsSelect, { id: "alert.recipients", loggedUser: defaultUser, value: editedAutomation?.recipients ?? [], originalValue: originalAutomation?.recipients || [], onChange: onRecipientsChange, allowEmptySelection: true, allowOnlyLoggedUserRecipients: allowOnlyLoggedUserRecipients, allowExternalRecipients: allowExternalRecipients, maxRecipients: maxAutomationsRecipients, notificationChannels: notificationChannels, notificationChannelId: editedAutomation?.notificationChannel, showLabel: false, externalRecipientOverride: externalRecipientOverride }) })
183
- ] }), warningMessage ? (_jsx(Message, { type: "warning", className: "gd-notifications-channels-dialog-error", children: warningMessage })) : null, invalidDatapoints.map((datapoint) => (_jsx(Message, { id: datapoint.id, type: datapoint.severity === "info" ? "progress" : datapoint.severity, className: "gd-notifications-channels-dialog-error gd-notifications-channels-dialog-error-scrollable", children: datapoint.message }, datapoint.id)))] })
202
+ ] }), htmlFor: "alert.interval", children: _jsx(AlertTriggerIntervalSelect, { id: "alert.interval", selectedTriggerInterval: editedAutomation?.alert?.trigger.interval ?? "DAY", onTriggerIntervalChange: onTriggerIntervalChange, overlayPositionType: OVERLAY_POSITION_TYPE, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL }) })) : null, RecipientsSlot ? (_jsx(RecipientsSlot, { Default: AlertingDialogRecipients, defaultProps: recipientsDefaultProps })) : (_jsx(AlertingDialogRecipients, { ...recipientsDefaultProps }))] }), warningMessage ? (_jsx(Message, { type: "warning", className: "gd-notifications-channels-dialog-error", children: warningMessage })) : null, invalidDatapoints.map((datapoint) => (_jsx(Message, { id: datapoint.id, type: datapoint.severity === "info" ? "progress" : datapoint.severity, className: "gd-notifications-channels-dialog-error gd-notifications-channels-dialog-error-scrollable", children: datapoint.message }, datapoint.id)))] })
184
203
  ] }) }) }) }), alertToDelete ? (_jsx(DeleteAlertConfirmDialog, { alert: alertToDelete, onCancel: () => setAlertToDelete(null), onSuccess: handleAlertDeleteSuccess, onError: onDeleteError })) : null] }));
185
204
  }
186
205
  /**
@@ -218,13 +237,6 @@ function AlertingDialogFooter({ isWhiteLabeled, helpTextId, alertToEdit, isSavin
218
237
  const intl = useIntl();
219
238
  return (_jsxs("div", { className: "gd-notifications-channels-dialog-footer-link", children: [isWhiteLabeled ? null : (_jsx(Hyperlink, { text: intl.formatMessage({ id: helpTextId }), href: "https://www.gooddata.com/docs/cloud/create-dashboards/automation/alerts/", iconClass: "gd-icon-circle-question" })), alertToEdit ? (_jsx(Button, { className: "gd-button-link-dimmed", value: intl.formatMessage({ id: "delete" }), onClick: onDeleteClick, disabled: isSavingAlert })) : null] }));
220
239
  }
221
- function FormField({ label, children, htmlFor, fullWidth = false, }) {
222
- return (_jsxs("div", { className: "gd-input-component gd-input-component--no-last-child-margin gd-dashboard-alerting-dialog-form-field", children: [
223
- _jsx("div", { className: "gd-dashboard-alerting-dialog-form-field__label-container", children: _jsx("label", { className: "gd-label gd-dashboard-alerting-dialog-form-field__label", htmlFor: htmlFor, children: label }) }), _jsx("div", { className: fullWidth
224
- ? "gd-dashboard-alerting-dialog-form-field__content-container-full-width"
225
- : "gd-dashboard-alerting-dialog-form-field__content-container", children: children })
226
- ] }));
227
- }
228
240
  function FormFieldGroup({ label, children }) {
229
241
  return (_jsxs("div", { className: "gd-input-component gd-input-component--no-last-child-margin gd-dashboard-alerting-dialog-form-field-group", children: [
230
242
  _jsx("div", { className: "gd-dashboard-alerting-dialog-form-field-group__label-container", children: _jsx("label", { className: "gd-label gd-dashboard-alerting-dialog-form-field-group__label", children: label }) }), _jsx("div", { className: "gd-dashboard-alerting-dialog-form-field-group__content-container", children: children })
@@ -0,0 +1,8 @@
1
+ import { type ReactNode } from "react";
2
+ export declare function FormField({ label, children, htmlFor, fullWidth }: {
3
+ label: ReactNode;
4
+ children: ReactNode;
5
+ htmlFor?: string;
6
+ fullWidth?: boolean;
7
+ }): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=FormField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormField.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/DefaultAlertingDialog/FormField.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,wBAAgB,SAAS,CAAC,EACtB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,SAAiB,EACpB,EAAE;IACC,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB,2CAmBA"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ export function FormField({ label, children, htmlFor, fullWidth = false, }) {
3
+ return (_jsxs("div", { className: "gd-input-component gd-input-component--no-last-child-margin gd-dashboard-alerting-dialog-form-field", children: [
4
+ _jsx("div", { className: "gd-dashboard-alerting-dialog-form-field__label-container", children: _jsx("label", { className: "gd-label gd-dashboard-alerting-dialog-form-field__label", htmlFor: htmlFor, children: label }) }), _jsx("div", { className: fullWidth
5
+ ? "gd-dashboard-alerting-dialog-form-field__content-container-full-width"
6
+ : "gd-dashboard-alerting-dialog-form-field__content-container", children: children })
7
+ ] }));
8
+ }
@@ -0,0 +1,13 @@
1
+ import { type IdentifierRef } from "@gooddata/sdk-model";
2
+ import { type IAlertingDialogContextValue } from "../../contexts/AlertingDialogContext.js";
3
+ import { type AlertMetric } from "../types.js";
4
+ export declare const AUTOMATIONS_CONTEXT: import("../../contexts/AutomationsContext.js").IAutomationsContextValue;
5
+ export declare const CURRENT_USER: import("@gooddata/sdk-model").IUser;
6
+ export declare const NEXT_FILTER: import("@gooddata/sdk-model").FilterContextItem;
7
+ export declare const SENTINEL_CHANNEL: import("@gooddata/sdk-model").INotificationChannelIdentifier;
8
+ export declare const SENTINEL_WIDGET: import("@gooddata/sdk-model").IInsightWidget;
9
+ export declare const WORKSPACE_PARAMETER: import("@gooddata/sdk-model").IParameterMetadataObject;
10
+ export declare const SENTINEL_MEASURE: AlertMetric;
11
+ export declare const PARAMETER_REF: IdentifierRef;
12
+ export declare const ALERTING_DIALOG_CONTEXT: IAlertingDialogContextValue;
13
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/fixtures.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AAS3F,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,mBAAmB,yEAA6B,CAAC;AAC9D,eAAO,MAAM,YAAY,qCAAsB,CAAC;AAChD,eAAO,MAAM,WAAW,iDAAqB,CAAC;AAC9C,eAAO,MAAM,gBAAgB,8DAA0B,CAAC;AACxD,eAAO,MAAM,eAAe,8CAAyB,CAAC;AACtD,eAAO,MAAM,mBAAmB,wDAA6B,CAAC;AAE9D,eAAO,MAAM,gBAAgB,EAAE,WAI9B,CAAC;AAIF,eAAO,MAAM,aAAa,EAAE,aAA6C,CAAC;AAE1E,eAAO,MAAM,uBAAuB,EAAE,2BAmBrC,CAAC"}
@@ -0,0 +1,37 @@
1
+ // (C) 2026 GoodData Corporation
2
+ import { idRef, newMeasure } from "@gooddata/sdk-model";
3
+ import { AUTOMATIONS_CONTEXT as SHARED_AUTOMATIONS_CONTEXT, CURRENT_USER as SHARED_CURRENT_USER, NEXT_FILTER as SHARED_NEXT_FILTER, SENTINEL_CHANNEL as SHARED_SENTINEL_CHANNEL, SENTINEL_WIDGET as SHARED_SENTINEL_WIDGET, WORKSPACE_PARAMETER as SHARED_WORKSPACE_PARAMETER, } from "../../shared/test/fixtures.js";
4
+ export const AUTOMATIONS_CONTEXT = SHARED_AUTOMATIONS_CONTEXT;
5
+ export const CURRENT_USER = SHARED_CURRENT_USER;
6
+ export const NEXT_FILTER = SHARED_NEXT_FILTER;
7
+ export const SENTINEL_CHANNEL = SHARED_SENTINEL_CHANNEL;
8
+ export const SENTINEL_WIDGET = SHARED_SENTINEL_WIDGET;
9
+ export const WORKSPACE_PARAMETER = SHARED_WORKSPACE_PARAMETER;
10
+ export const SENTINEL_MEASURE = {
11
+ measure: newMeasure("m1", (m) => m.localId("m1")),
12
+ isPrimary: true,
13
+ comparators: [],
14
+ };
15
+ // A catalog parameter with a matching workspace definition, so a stored `{ref, value}` override
16
+ // survives `reconstructAutomationParametersFromValues` instead of being dropped as unresolvable.
17
+ export const PARAMETER_REF = idRef("param-1", "parameter");
18
+ export const ALERTING_DIALOG_CONTEXT = {
19
+ mode: "create",
20
+ widget: SENTINEL_WIDGET,
21
+ insight: undefined,
22
+ widgetTitle: undefined,
23
+ dashboardId: undefined,
24
+ dashboardFilters: [],
25
+ hiddenFilters: [],
26
+ executionResultByRef: () => undefined,
27
+ parameterValues: [],
28
+ dashboardParameters: [],
29
+ commonDateFilterId: undefined,
30
+ dashboardEvaluationFrequency: undefined,
31
+ createAlert: () => Promise.reject(new Error("not wired in tests")),
32
+ saveAlert: () => Promise.reject(new Error("not wired in tests")),
33
+ deleteAlert: () => Promise.resolve(),
34
+ alertToEdit: undefined,
35
+ notificationChannels: [SENTINEL_CHANNEL],
36
+ isLoading: false,
37
+ };
@@ -1,7 +1,7 @@
1
1
  import { type ComponentType, type ReactNode, type Ref } from "react";
2
2
  import { type DateAttributeGranularity, type IAttribute, type IAutomationMetadataObject, type IDataSetMetadataObject, type IInsight, type IMeasure, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type IWidget } from "@gooddata/sdk-model";
3
3
  import { type GoodDataSdkError } from "@gooddata/sdk-ui";
4
- import { type IAutomationDialogFiltersProps, type IAutomationDialogHeaderProps, type ISlotProps } from "../shared/slots/types.js";
4
+ import { type IAutomationDialogDestinationProps, type IAutomationDialogFiltersProps, type IAutomationDialogHeaderProps, type IAutomationDialogRecipientsProps, type ISlotProps } from "../shared/slots/types.js";
5
5
  /**
6
6
  * @alpha
7
7
  */
@@ -138,6 +138,24 @@ export interface IAlertingDialogSlots {
138
138
  * updated array, not a delta.
139
139
  */
140
140
  Filters?: ComponentType<ISlotProps<IAlertingDialogFiltersProps>>;
141
+ /**
142
+ * Wraps or replaces the dialog's destination region (the "Action" row selecting the
143
+ * notification channel). Must have a stable reference identity — see {@link ISlotProps}.
144
+ *
145
+ * Renders only in the fully rendered dialog — not while the dialog context reports loading,
146
+ * not while the stale-filters confirmation step is shown — **and only when more than one
147
+ * notification channel exists**: with a single channel the default dialog hides the whole
148
+ * row, and the slot with it.
149
+ */
150
+ Destination?: ComponentType<ISlotProps<IAutomationDialogDestinationProps>>;
151
+ /**
152
+ * Wraps or replaces the dialog's recipients region. Must have a stable reference identity —
153
+ * see {@link ISlotProps}.
154
+ *
155
+ * Renders only in the fully rendered dialog: not while the dialog context reports loading,
156
+ * and not while the stale-filters confirmation step is shown.
157
+ */
158
+ Recipients?: ComponentType<ISlotProps<IAutomationDialogRecipientsProps>>;
141
159
  }
142
160
  /**
143
161
  * Props of {@link DefaultAlertingDialog}.
@@ -145,7 +163,9 @@ export interface IAlertingDialogSlots {
145
163
  * @remarks
146
164
  * Extends the shared {@link IAlertingDialogProps} with customization only the default implementation
147
165
  * supports. Slots render only in the fully rendered dialog: not while the dialog context reports
148
- * loading, and not while the stale-filters confirmation step is shown.
166
+ * loading, and not while the stale-filters confirmation step is shown. The Destination slot
167
+ * additionally renders only when more than one notification channel exists — see
168
+ * {@link IAlertingDialogSlots.Destination}.
149
169
  *
150
170
  * @alpha
151
171
  */
@@ -153,6 +173,26 @@ export interface IDefaultAlertingDialogProps extends IAlertingDialogProps {
153
173
  /**
154
174
  * Section-level overrides. Each slot receives `{ Default, defaultProps }` and may render its own
155
175
  * content (replace) or `<Default {...defaultProps} />` inside its own markup (wrap).
176
+ *
177
+ * @example
178
+ * The dialog is reached through the `Dashboard` component override; define slot components at
179
+ * module scope (see {@link ISlotProps}):
180
+ * ```tsx
181
+ * function HeaderWithBanner({ Default, defaultProps }: ISlotProps<AlertingDialogHeaderDefaultProps>) {
182
+ * return (
183
+ * <>
184
+ * <WarningBanner>Alerts may take up to 5 minutes.</WarningBanner>
185
+ * <Default {...defaultProps} />
186
+ * </>
187
+ * );
188
+ * }
189
+ *
190
+ * <Dashboard
191
+ * AlertingDialogComponent={(props) => (
192
+ * <DefaultAlertingDialog {...props} slots={{ Header: HeaderWithBanner }} />
193
+ * )}
194
+ * />;
195
+ * ```
156
196
  */
157
197
  slots?: IAlertingDialogSlots;
158
198
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/alerting/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/alerting/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultScheduledEmailDialog.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.tsx"],"names":[],"mappings":"AA8CA,OAAO,EACH,KAAK,iCAAiC,EAIzC,MAAM,aAAa,CAAC;AA+DrB,wBAAgB,2BAA2B,CAAC,EACxC,MAAM,EACN,QAAQ,EACR,eAAe,EACf,aAAa,EACb,OAAO,EACP,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,KAAK,EACR,EAAE,iCAAiC,2CAgkBnC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,iCAAiC,2CAYnF"}
1
+ {"version":3,"file":"DefaultScheduledEmailDialog.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.tsx"],"names":[],"mappings":"AA+CA,OAAO,EACH,KAAK,iCAAiC,EAKzC,MAAM,aAAa,CAAC;AA8DrB,wBAAgB,2BAA2B,CAAC,EACxC,MAAM,EACN,QAAQ,EACR,eAAe,EACf,aAAa,EACb,OAAO,EACP,MAAM,EACN,WAAW,EACX,aAAa,EACb,QAAQ,EACR,SAAS,EACT,KAAK,EACR,EAAE,iCAAiC,2CAglBnC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,iCAAiC,2CAYnF"}
@@ -23,19 +23,18 @@ import { isMobileView } from "../utils/responsive.js";
23
23
  import { TIMEZONE_DEFAULT } from "../utils/timezone.js";
24
24
  import { DashboardAttachments } from "./components/Attachments/DashboardAttachments.js";
25
25
  import { WidgetAttachments } from "./components/Attachments/WidgetAttachments.js";
26
- import { DestinationSelect } from "./components/DestinationSelect/DestinationSelect.js";
27
26
  import { EvaluationModeCheckbox } from "./components/EvaluationModeCheckbox/EvaluationModeCheckbox.js";
28
27
  import { ScheduledEmailDialogHeader } from "./components/Header/ScheduleEmailDialogHeader.js";
29
28
  import { MessageForm } from "./components/MessageForm/MessageForm.js";
30
- import { RecipientsSelect } from "./components/RecipientsSelect/RecipientsSelect.js";
29
+ import { ScheduledEmailDialogDestination } from "./components/ScheduledEmailDialogDestination.js";
31
30
  import { ScheduledEmailDialogFilters } from "./components/ScheduledEmailDialogFilters.js";
31
+ import { ScheduledEmailDialogRecipients } from "./components/ScheduledEmailDialogRecipients.js";
32
32
  import { ScheduleTimezoneSelect } from "./components/ScheduleTimezoneSelect/ScheduleTimezoneSelect.js";
33
33
  import { SubjectForm } from "./components/SubjectForm/SubjectForm.js";
34
34
  import { SCHEDULED_EMAIL_DIALOG_ID } from "./constants.js";
35
35
  import { DefaultLoadingScheduledEmailDialog } from "./DefaultLoadingScheduledEmailDialog.js";
36
36
  import { useElementHeightSnapshot } from "./hooks/useElementHeightSnapshot.js";
37
37
  import { useSaveScheduledEmailToBackend } from "./hooks/useSaveScheduledEmailToBackend.js";
38
- const OVERLAY_POSITION_TYPE = "sameAsTarget";
39
38
  const CLOSE_ON_PARENT_SCROLL = true;
40
39
  const overlayController = OverlayController.getInstance(DASHBOARD_DIALOG_OVERS_Z_INDEX);
41
40
  function ScheduledEmailDialogFooter({ isWhiteLabeled, helpTextId, scheduledExportToEdit, isSavingScheduledEmail, onDeleteClick, }) {
@@ -46,6 +45,8 @@ export function ScheduledMailDialogRenderer({ onBack, onCancel, onDeleteSuccess,
46
45
  const HeaderSlot = slots?.Header;
47
46
  const FiltersSlot = slots?.Filters;
48
47
  const TimezoneSlot = slots?.Timezone;
48
+ const DestinationSlot = slots?.Destination;
49
+ const RecipientsSlot = slots?.Recipients;
49
50
  const intl = useIntl();
50
51
  const dialogTitleRef = useRef(null);
51
52
  const generalTabContentRef = useRef(null);
@@ -59,7 +60,7 @@ export function ScheduledMailDialogRenderer({ onBack, onCancel, onDeleteSuccess,
59
60
  setScheduledEmailToDelete(null);
60
61
  };
61
62
  const { locale, dashboardTitle, dateFormat, weekStart, maxAutomationsRecipients, allowHourlyRecurrence, isCrossFiltering, isExecutionTimestampMode, isSlidesExportEnabled, isAccessibilityModeEnabled, enableAutomationEvaluationMode, } = useDefaultScheduledEmailDialogData();
62
- const { editedAutomation, originalAutomation, startDate, isTimezoneFeatureEnabled, canSelectScheduleTimezone, scheduleTimezoneSelection, defaultResolvedTimezone, scheduleTimezoneIsStale, } = useScheduledExportDraft();
63
+ const { editedAutomation, startDate, isTimezoneFeatureEnabled, canSelectScheduleTimezone, scheduleTimezoneSelection, defaultResolvedTimezone, scheduleTimezoneIsStale, } = useScheduledExportDraft();
63
64
  const { onTitleChange, onRecurrenceChange, onEvaluationModeChange, onDestinationChange, onRecipientsChange, onSubjectChange, onMessageChange, onDashboardAttachmentsChange, onWidgetAttachmentsChange, onXlsxSettingsChange, onPdfSettingsChange, onCsvSettingsChange, onCsvRawSettingsChange, onSlidesTemplateIdChange, onScheduleTimezoneChange, applyCurrentScheduleTimezone, } = useScheduledExportActions();
64
65
  const { defaultUser } = useScheduledExportData();
65
66
  const { selectedFilters, availableFilters, storeFilters, filtersByTab, editedFiltersByTab, onFiltersChange, onFiltersByTabChange, onApplyCurrentFilters, onStoreFiltersChange, automationIsValid, parametersEnabled, visibleParametersByTab, availableParametersByTab, flatTabId, onParameterAdd, onParameterChange, onParameterDelete, onParameterAddByTab, onParameterChangeByTab, onParameterDeleteByTab, applyLatest: applyLatestParameters, } = useScheduledExportFilters();
@@ -174,6 +175,24 @@ export function ScheduledMailDialogRenderer({ onBack, onCancel, onDeleteSuccess,
174
175
  onParameterDeleteByTab,
175
176
  parametersEnabled,
176
177
  };
178
+ const destinationDefaultProps = {
179
+ notificationChannels,
180
+ selectedNotificationChannelId: editedAutomation.notificationChannel,
181
+ onChange: onDestinationChange,
182
+ };
183
+ const recipientsDefaultProps = {
184
+ loggedUser: defaultUser,
185
+ value: editedAutomation.recipients ?? [],
186
+ onChange: onRecipientsChange,
187
+ allowEmptySelection: true,
188
+ allowOnlyLoggedUserRecipients,
189
+ allowExternalRecipients,
190
+ maxRecipients: maxAutomationsRecipients,
191
+ notificationChannels,
192
+ notificationChannelId: editedAutomation.notificationChannel,
193
+ onKeyDownSubmit: handleSubmitForm,
194
+ externalRecipientOverride,
195
+ };
177
196
  return (_jsxs(_Fragment, { children: [
178
197
  _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: scheduledExportToEdit
179
198
  ? intl.formatMessage({ id: `dialogs.schedule.email.save` })
@@ -230,7 +249,7 @@ export function ScheduledMailDialogRenderer({ onBack, onCancel, onDeleteSuccess,
230
249
  ? getTimezoneDisplayLabel(editedAutomation.schedule?.timezone ??
231
250
  TIMEZONE_DEFAULT.identifier)
232
251
  : (editedAutomation.schedule?.timezone ??
233
- TIMEZONE_DEFAULT.identifier), dateFormat: dateFormat ?? "MM/dd/yyyy", locale: locale, weekStart: weekStart, onChange: onRecurrenceChange, allowHourlyRecurrence: allowHourlyRecurrence, isWhiteLabeled: isWhiteLabeled, closeDropdownsOnParentScroll: CLOSE_ON_PARENT_SCROLL, onKeyDownSubmit: handleSubmitForm }), _jsx(ContentDivider, { className: "gd-divider-with-margin" }), _jsx(DestinationSelect, { notificationChannels: notificationChannels, selectedItemId: editedAutomation.notificationChannel, onChange: onDestinationChange, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL, overlayPositionType: OVERLAY_POSITION_TYPE }), _jsx(ContentDivider, { className: "gd-divider-with-margin" }), _jsx(RecipientsSelect, { id: "schedule.email.recipients", loggedUser: defaultUser, value: editedAutomation.recipients ?? [], originalValue: originalAutomation.recipients || [], onChange: onRecipientsChange, allowEmptySelection: true, allowOnlyLoggedUserRecipients: allowOnlyLoggedUserRecipients, allowExternalRecipients: allowExternalRecipients, maxRecipients: maxAutomationsRecipients, notificationChannels: notificationChannels, notificationChannelId: editedAutomation.notificationChannel, onKeyDownSubmit: handleSubmitForm, externalRecipientOverride: externalRecipientOverride }), isInPlatformChannel ? null : (_jsxs(_Fragment, { children: [
252
+ TIMEZONE_DEFAULT.identifier), dateFormat: dateFormat ?? "MM/dd/yyyy", locale: locale, weekStart: weekStart, onChange: onRecurrenceChange, allowHourlyRecurrence: allowHourlyRecurrence, isWhiteLabeled: isWhiteLabeled, closeDropdownsOnParentScroll: CLOSE_ON_PARENT_SCROLL, onKeyDownSubmit: handleSubmitForm }), _jsx(ContentDivider, { className: "gd-divider-with-margin" }), DestinationSlot ? (_jsx(DestinationSlot, { Default: ScheduledEmailDialogDestination, defaultProps: destinationDefaultProps })) : (_jsx(ScheduledEmailDialogDestination, { ...destinationDefaultProps })), _jsx(ContentDivider, { className: "gd-divider-with-margin" }), RecipientsSlot ? (_jsx(RecipientsSlot, { Default: ScheduledEmailDialogRecipients, defaultProps: recipientsDefaultProps })) : (_jsx(ScheduledEmailDialogRecipients, { ...recipientsDefaultProps })), isInPlatformChannel ? null : (_jsxs(_Fragment, { children: [
234
253
  _jsx(SubjectForm, { dashboardTitle: dashboardTitle, editedAutomation: editedAutomation, onChange: onSubjectChange, onKeyDownSubmit: handleSaveScheduledEmail, isSubmitDisabled: isSubmitDisabled }), _jsx(MessageForm, { onChange: onMessageChange, value: editedAutomation.details?.message ?? "" })
235
254
  ] })), widget ? (_jsx(WidgetAttachments, { selectedAttachments: selectedAttachments, onWidgetAttachmentsChange: onWidgetAttachmentsChange, xlsxSettings: xlsxSettings, pdfSettings: pdfSettings, onXlsxSettingsChange: onXlsxSettingsChange, onPdfSettingsChange: onPdfSettingsChange, csvSettings: csvSettings, onCsvSettingsChange: onCsvSettingsChange, csvRawSettings: csvRawSettings, onCsvRawSettingsChange: onCsvRawSettingsChange, isSlidesExportEnabled: isSlidesExportEnabled, isAccessibilityModeEnabled: isAccessibilityModeEnabled, exportTemplates: exportTemplates, slidesTemplateIds: slidesTemplateIds, onSlidesTemplateIdChange: onSlidesTemplateIdChange })) : (_jsx(DashboardAttachments, { selectedAttachments: selectedAttachments, dashboardFilters: dashboardFilters, isCrossFiltering: isCrossFiltering, onDashboardAttachmentsChange: onDashboardAttachmentsChange, xlsxSettings: xlsxSettings, onXlsxSettingsChange: onXlsxSettingsChange, isSlidesExportEnabled: isSlidesExportEnabled, exportTemplates: exportTemplates, slidesTemplateIds: slidesTemplateIds, onSlidesTemplateIdChange: onSlidesTemplateIdChange })), canSelectScheduleTimezone ? (TimezoneSlot ? (_jsx(TimezoneSlot, { Default: ScheduleTimezoneSelect, defaultProps: timezoneDefaultProps })) : (_jsx(ScheduleTimezoneSelect, { ...timezoneDefaultProps }))) : null, enableAutomationEvaluationMode ? (_jsx(EvaluationModeCheckbox, { isShared: editedAutomation.evaluationMode === "SHARED", onChange: onEvaluationModeChange })) : null, errorMessage ? (_jsx(Message, { type: "error", className: cx("gd-notifications-channels-dialog-error", {
236
255
  "gd-notifications-channels-dialog-error-scrollable": true,
@@ -5,10 +5,6 @@ interface IRecipientsSelectProps {
5
5
  * Currently selected recipients.
6
6
  */
7
7
  value: IAutomationRecipient[];
8
- /**
9
- * Originally selected recipients of a edited schedule
10
- */
11
- originalValue: IAutomationRecipient[];
12
8
  /**
13
9
  * Callback to be called, when recipients are changed.
14
10
  */
@@ -62,6 +58,6 @@ interface IRecipientsSelectProps {
62
58
  */
63
59
  externalRecipientOverride?: string;
64
60
  }
65
- export declare function RecipientsSelect({ id, value, originalValue, onChange, loggedUser, allowEmptySelection, allowExternalRecipients, allowOnlyLoggedUserRecipients, maxRecipients, className, notificationChannels, notificationChannelId, showLabel, onKeyDownSubmit, externalRecipientOverride }: IRecipientsSelectProps): import("react/jsx-runtime").JSX.Element;
61
+ export declare function RecipientsSelect({ id, value, onChange, loggedUser, allowEmptySelection, allowExternalRecipients, allowOnlyLoggedUserRecipients, maxRecipients, className, notificationChannels, notificationChannelId, showLabel, onKeyDownSubmit, externalRecipientOverride }: IRecipientsSelectProps): import("react/jsx-runtime").JSX.Element;
66
62
  export {};
67
63
  //# sourceMappingURL=RecipientsSelect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecipientsSelect.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,OAAO,CAAC;AAIpD,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EAC1C,MAAM,qBAAqB,CAAC;AAU7B,UAAU,sBAAsB;IAC5B;;OAEG;IACH,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAE9B;;OAEG;IACH,aAAa,EAAE,oBAAoB,EAAE,CAAC;IAEtC;;OAEG;IACH,QAAQ,EAAE,CAAC,eAAe,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;IAE5D;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElC;;OAEG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IAE/F;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAE7C;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,wBAAgB,gBAAgB,CAAC,EAC7B,EAAE,EACF,KAAK,EACL,aAAa,EACb,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,SAAgB,EAChB,eAAe,EACf,yBAAyB,EAC5B,EAAE,sBAAsB,2CAwExB"}
1
+ {"version":3,"file":"RecipientsSelect.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,OAAO,CAAC;AAIpD,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EAC1C,MAAM,qBAAqB,CAAC;AAU7B,UAAU,sBAAsB;IAC5B;;OAEG;IACH,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAE9B;;OAEG;IACH,QAAQ,EAAE,CAAC,eAAe,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;IAE5D;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElC;;OAEG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,oBAAoB,CAAC,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IAE/F;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAE7C;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACtC;AAED,wBAAgB,gBAAgB,CAAC,EAC7B,EAAE,EACF,KAAK,EACL,QAAQ,EACR,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,SAAgB,EAChB,eAAe,EACf,yBAAyB,EAC5B,EAAE,sBAAsB,2CAuExB"}
@@ -8,7 +8,7 @@ import { createUser, matchRecipient } from "../../../utils/users.js";
8
8
  import { isEmail } from "../../../utils/validate.js";
9
9
  import { RecipientsSelectRenderer } from "./RecipientsSelectRenderer.js";
10
10
  import { useWorkspaceUsersSearch } from "./useWorkspaceUsersSearch.js";
11
- export function RecipientsSelect({ id, value, originalValue, onChange, loggedUser, allowEmptySelection, allowExternalRecipients, allowOnlyLoggedUserRecipients, maxRecipients, className, notificationChannels, notificationChannelId, showLabel = true, onKeyDownSubmit, externalRecipientOverride, }) {
11
+ export function RecipientsSelect({ id, value, onChange, loggedUser, allowEmptySelection, allowExternalRecipients, allowOnlyLoggedUserRecipients, maxRecipients, className, notificationChannels, notificationChannelId, showLabel = true, onKeyDownSubmit, externalRecipientOverride, }) {
12
12
  const isServerSearch = !externalRecipientOverride && !allowOnlyLoggedUserRecipients;
13
13
  const { search, users, usersError, isLoading, onSearch, onActivate } = useWorkspaceUsersSearch({
14
14
  enabled: isServerSearch,
@@ -39,6 +39,6 @@ export function RecipientsSelect({ id, value, originalValue, onChange, loggedUse
39
39
  const hasSettledResults = !isLoading && (isServerSearch ? users !== undefined : Boolean(search));
40
40
  const announcedResultValues = useMemo(() => options.slice(0, DETAILED_ANNOUNCEMENT_THRESHOLD).map((option) => option.name ?? option.id), [options]);
41
41
  return (_jsxs(_Fragment, { children: [
42
- _jsx(UiSearchResultsAnnouncement, { totalResults: hasSettledResults ? options.length : undefined, resultValues: announcedResultValues }), _jsx(RecipientsSelectRenderer, { id: id, canListUsersInProject: true, isMulti: true, options: options, value: value, originalValue: originalValue, onChange: onChange, onSearch: onSearch, onActivate: onActivate, isLoading: isLoading, loggedUser: loggedUser, allowOnlyLoggedUserRecipients: allowOnlyLoggedUserRecipients, allowEmptySelection: allowEmptySelection, allowExternalRecipients: allowExternalRecipients, maxRecipients: maxRecipients, className: className, notificationChannel: notificationChannel, usersError: usersError, showLabel: showLabel, onKeyDownSubmit: onKeyDownSubmit, externalRecipientOverride: externalRecipientOverride })
42
+ _jsx(UiSearchResultsAnnouncement, { totalResults: hasSettledResults ? options.length : undefined, resultValues: announcedResultValues }), _jsx(RecipientsSelectRenderer, { id: id, canListUsersInProject: true, isMulti: true, options: options, value: value, onChange: onChange, onSearch: onSearch, onActivate: onActivate, isLoading: isLoading, loggedUser: loggedUser, allowOnlyLoggedUserRecipients: allowOnlyLoggedUserRecipients, allowEmptySelection: allowEmptySelection, allowExternalRecipients: allowExternalRecipients, maxRecipients: maxRecipients, className: className, notificationChannel: notificationChannel, usersError: usersError, showLabel: showLabel, onKeyDownSubmit: onKeyDownSubmit, externalRecipientOverride: externalRecipientOverride })
43
43
  ] }));
44
44
  }
@@ -6,10 +6,6 @@ export interface IRecipientsSelectRendererProps {
6
6
  * Currently selected recipients.
7
7
  */
8
8
  value: IAutomationRecipient[];
9
- /**
10
- * Originally selected recipients of a edited schedule
11
- */
12
- originalValue: IAutomationRecipient[];
13
9
  /**
14
10
  * Recipients to display in the autocomplete.
15
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"RecipientsSelectRenderer.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAqE,MAAM,OAAO,CAAC;AAiB9G,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EAE1C,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,KAAK,gBAAgB,EAKxB,MAAM,kBAAkB,CAAC;AA8F1B,MAAM,WAAW,8BAA8B;IAC3C;;OAEG;IACH,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAE9B;;OAEG;IACH,aAAa,EAAE,oBAAoB,EAAE,CAAC;IAEtC;;OAEG;IACH,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;IAE3D;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElC;;OAEG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,8BAA8B,GAAG,kCAAkC,CAAC;IAE1F;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAE7C;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACtC;AAQD,eAAO,MAAM,wBAAwB,sEA+vBnC,CAAC"}
1
+ {"version":3,"file":"RecipientsSelectRenderer.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelectRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAqE,MAAM,OAAO,CAAC;AAiB9G,OAAO,EACH,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EAE1C,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,KAAK,gBAAgB,EAKxB,MAAM,kBAAkB,CAAC;AA8F1B,MAAM,WAAW,8BAA8B;IAC3C;;OAEG;IACH,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAE9B;;OAEG;IACH,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAEhC;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,aAAa,EAAE,oBAAoB,EAAE,KAAK,IAAI,CAAC;IAE3D;;OAEG;IACH,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAE9B;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElC;;OAEG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC;;OAEG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,mBAAmB,CAAC,EAAE,8BAA8B,GAAG,kCAAkC,CAAC;IAE1F;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAC;IAE7C;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACtC;AAQD,eAAO,MAAM,wBAAwB,sEA+vBnC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { type IAutomationDialogDestinationProps } from "../../../shared/slots/types.js";
2
+ /**
3
+ * Default implementation of the scheduled email dialog's destination region.
4
+ */
5
+ export declare function ScheduledEmailDialogDestination({ notificationChannels, selectedNotificationChannelId, onChange }: IAutomationDialogDestinationProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=ScheduledEmailDialogDestination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScheduledEmailDialogDestination.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogDestination.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iCAAiC,EAAE,MAAM,gCAAgC,CAAC;AAOxF;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,EAC5C,oBAAoB,EACpB,6BAA6B,EAC7B,QAAQ,EACX,EAAE,iCAAiC,2CAUnC"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { DestinationSelect } from "./DestinationSelect/DestinationSelect.js";
3
+ const OVERLAY_POSITION_TYPE = "sameAsTarget";
4
+ const CLOSE_ON_PARENT_SCROLL = true;
5
+ /**
6
+ * Default implementation of the scheduled email dialog's destination region.
7
+ */
8
+ export function ScheduledEmailDialogDestination({ notificationChannels, selectedNotificationChannelId, onChange, }) {
9
+ return (_jsx(DestinationSelect, { notificationChannels: notificationChannels, selectedItemId: selectedNotificationChannelId, onChange: onChange, closeOnParentScroll: CLOSE_ON_PARENT_SCROLL, overlayPositionType: OVERLAY_POSITION_TYPE }));
10
+ }
@@ -0,0 +1,6 @@
1
+ import { type IScheduledEmailDialogRecipientsProps } from "../../types.js";
2
+ /**
3
+ * Default implementation of the scheduled email dialog's recipients region.
4
+ */
5
+ export declare function ScheduledEmailDialogRecipients(props: IScheduledEmailDialogRecipientsProps): import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=ScheduledEmailDialogRecipients.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScheduledEmailDialogRecipients.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduledEmailDialogRecipients.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oCAAoC,EAAE,MAAM,gBAAgB,CAAC;AAI3E;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,oCAAoC,2CAEzF"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { RecipientsSelect } from "./RecipientsSelect/RecipientsSelect.js";
3
+ /**
4
+ * Default implementation of the scheduled email dialog's recipients region.
5
+ */
6
+ export function ScheduledEmailDialogRecipients(props) {
7
+ return _jsx(RecipientsSelect, { id: "schedule.email.recipients", ...props });
8
+ }
@@ -0,0 +1,18 @@
1
+ import { type DashboardAttachmentType, type IAutomationMetadataObjectDefinition, type IExportDefinitionDashboardRequestPayload, type IExportDefinitionVisualizationObjectRequestPayload, type IInsight, type IWidget, type WidgetAttachmentType } from "@gooddata/sdk-model";
2
+ import { type IScheduledEmailDialogContextValue } from "../../contexts/ScheduledEmailDialogContext.js";
3
+ import { type IScheduledExportDataContextValue } from "./ScheduledExportDataContext.js";
4
+ import { type IScheduledExportDraftContextValue } from "./ScheduledExportDraftContext.js";
5
+ export declare const AUTOMATIONS_CONTEXT: import("../../contexts/AutomationsContext.js").IAutomationsContextValue;
6
+ export declare const CURRENT_USER: import("@gooddata/sdk-model").IUser;
7
+ export declare const NEXT_FILTER: import("@gooddata/sdk-model").FilterContextItem;
8
+ export declare const SENTINEL_CHANNEL: import("@gooddata/sdk-model").INotificationChannelIdentifier;
9
+ export declare const WORKSPACE_PARAMETER: import("@gooddata/sdk-model").IParameterMetadataObject;
10
+ export declare const SENTINEL_WIDGET: IWidget;
11
+ export declare const SENTINEL_INSIGHT: IInsight;
12
+ export declare const SCHEDULED_EMAIL_DIALOG_CONTEXT: IScheduledEmailDialogContextValue;
13
+ export declare const DRAFT_FIXTURE: IScheduledExportDraftContextValue;
14
+ export declare const DATA_FIXTURE: IScheduledExportDataContextValue;
15
+ export declare const makeDashboardExportDefinition: (format: DashboardAttachmentType, requestPayloadOverrides?: Partial<IExportDefinitionDashboardRequestPayload>) => import("@gooddata/sdk-model").IExportDefinitionMetadataObject | import("@gooddata/sdk-model").IExportDefinitionMetadataObjectDefinition;
16
+ export declare const makeWidgetExportDefinition: (format: WidgetAttachmentType, requestPayloadOverrides?: Partial<IExportDefinitionVisualizationObjectRequestPayload>) => import("@gooddata/sdk-model").IExportDefinitionMetadataObject | import("@gooddata/sdk-model").IExportDefinitionMetadataObjectDefinition;
17
+ export declare const makeAutomation: (overrides?: Partial<IAutomationMetadataObjectDefinition>) => IAutomationMetadataObjectDefinition;
18
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/fixtures.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,uBAAuB,EAC5B,KAAK,mCAAmC,EACxC,KAAK,wCAAwC,EAC7C,KAAK,kDAAkD,EACvD,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,oBAAoB,EAE5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,iCAAiC,EAAE,MAAM,+CAA+C,CAAC;AAUvG,OAAO,EAAE,KAAK,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAE,KAAK,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AAE1F,eAAO,MAAM,mBAAmB,yEAA6B,CAAC;AAC9D,eAAO,MAAM,YAAY,qCAAsB,CAAC;AAChD,eAAO,MAAM,WAAW,iDAAqB,CAAC;AAC9C,eAAO,MAAM,gBAAgB,8DAA0B,CAAC;AACxD,eAAO,MAAM,mBAAmB,wDAA6B,CAAC;AAE9D,eAAO,MAAM,eAAe,EAAE,OAG7B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,QAY9B,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,iCAsB5C,CAAC;AAYF,eAAO,MAAM,aAAa,EAAE,iCAa3B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,gCAG1B,CAAC;AAIF,eAAO,MAAM,6BAA6B,2PAaxC,CAAC;AAEH,eAAO,MAAM,0BAA0B,kQAarC,CAAC;AAEH,eAAO,MAAM,cAAc,mGASzB,CAAC"}