@gooddata/sdk-ui-dashboard 11.55.0-alpha.2 → 11.55.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +4 -4
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/index.d.ts +20 -2
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +18 -0
- package/esm/internal.d.ts +1 -1
- package/esm/internal.d.ts.map +1 -1
- package/esm/internal.js +1 -1
- package/esm/model/store/tabs/parameters/parametersHelpers.d.ts +10 -22
- package/esm/model/store/tabs/parameters/parametersHelpers.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersHelpers.js +13 -42
- package/esm/model/store/tabs/parameters/parametersSelectors.d.ts +8 -10
- package/esm/model/store/tabs/parameters/parametersSelectors.d.ts.map +1 -1
- package/esm/model/store/tabs/parameters/parametersSelectors.js +22 -32
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts +16 -16
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +34 -109
- package/esm/presentation/automations/alerting/blocks/AlertingDialogFormFieldGroup.d.ts +10 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogFormFieldGroup.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogFormFieldGroup.js +12 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogShell.d.ts +49 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogShell.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/blocks/AlertingDialogShell.js +128 -0
- package/esm/presentation/automations/alerting/blocks/DefaultLoadingAlertingDialog.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/types.d.ts +59 -0
- package/esm/presentation/automations/alerting/types.d.ts.map +1 -1
- package/esm/presentation/automations/connectors/hooks/useBuildAlertingManagementDialogContext.d.ts.map +1 -1
- package/esm/presentation/automations/connectors/hooks/useBuildAlertingManagementDialogContext.js +7 -0
- package/esm/presentation/automations/contexts/AlertingManagementDialogContext.d.ts +12 -0
- package/esm/presentation/automations/contexts/AlertingManagementDialogContext.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts +15 -10
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +45 -198
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts +2 -18
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/DashboardAttachments.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts +2 -23
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/Attachments/WidgetAttachments.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDashboardAttachments.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDashboardAttachments.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogDashboardAttachments.js +12 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogEvaluationMode.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogEvaluationMode.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogEvaluationMode.js +12 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogMessage.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogMessage.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogMessage.js +12 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecurrence.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecurrence.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogRecurrence.js +12 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogSubject.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogSubject.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogSubject.js +12 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogWidgetAttachments.d.ts +11 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogWidgetAttachments.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/DefaultScheduledEmailDialogWidgetAttachments.js +12 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.d.ts +2 -17
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/EvaluationModeCheckbox/EvaluationModeCheckbox.js +0 -3
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/MessageForm/MessageForm.d.ts +2 -6
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/MessageForm/MessageForm.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/SubjectForm/SubjectForm.d.ts +2 -10
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/SubjectForm/SubjectForm.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/blocks/DefaultLoadingScheduledEmailDialog.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDashboardAttachments.d.ts +16 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDashboardAttachments.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogDashboardAttachments.js +28 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogEvaluationMode.d.ts +16 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogEvaluationMode.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogEvaluationMode.js +28 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogMessage.d.ts +15 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogMessage.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogMessage.js +27 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecurrence.d.ts +16 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecurrence.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogRecurrence.js +24 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogShell.d.ts +59 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogShell.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogShell.js +195 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogSubject.d.ts +16 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogSubject.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogSubject.js +29 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogWidgetAttachments.d.ts +16 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogWidgetAttachments.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/blocks/ScheduledEmailDialogWidgetAttachments.js +28 -0
- package/esm/presentation/automations/scheduledEmail/state/useIsInPlatformChannel.d.ts +6 -0
- package/esm/presentation/automations/scheduledEmail/state/useIsInPlatformChannel.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/state/useIsInPlatformChannel.js +13 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.d.ts +73 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.js +168 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailSubmitOnEnter.d.ts +30 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailSubmitOnEnter.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailSubmitOnEnter.js +26 -0
- package/esm/presentation/automations/scheduledEmail/types.d.ts +299 -1
- package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
- package/esm/presentation/automations/shared/hooks/useWorkspaceUsersSearch.d.ts +51 -0
- package/esm/presentation/automations/shared/hooks/useWorkspaceUsersSearch.d.ts.map +1 -0
- package/esm/presentation/automations/{scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect → shared/hooks}/useWorkspaceUsersSearch.js +13 -0
- package/esm/presentation/dashboard/components/DashboardScreenSizeContext.js +1 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +91 -91
- package/esm/presentation/widget/insightMenu/types.js +1 -1
- package/esm/presentation/widget/richTextMenu/types.d.ts.map +1 -1
- package/esm/presentation/widget/richTextMenu/types.js +2 -1
- package/esm/sdk-ui-dashboard.d.ts +824 -35
- package/package.json +22 -22
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultLoadingAlertingDialog.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultLoadingScheduledEmailDialog.d.ts.map +0 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/useWorkspaceUsersSearch.d.ts +0 -13
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/useWorkspaceUsersSearch.d.ts.map +0 -1
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog → blocks}/DefaultLoadingAlertingDialog.d.ts +0 -0
- /package/esm/presentation/automations/alerting/{DefaultAlertingDialog → blocks}/DefaultLoadingAlertingDialog.js +0 -0
- /package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog → blocks}/DefaultLoadingScheduledEmailDialog.d.ts +0 -0
- /package/esm/presentation/automations/scheduledEmail/{DefaultScheduledEmailDialog → blocks}/DefaultLoadingScheduledEmailDialog.js +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { useScheduledEmailDialogContext } from "../../contexts/ScheduledEmailDialogContext.js";
|
|
3
|
+
import { useScheduledExportDraft } from "./ScheduledExportDraftContext.js";
|
|
4
|
+
/**
|
|
5
|
+
* Whether the draft's selected notification channel delivers in-platform only.
|
|
6
|
+
* The subject and message fields hide for such a channel.
|
|
7
|
+
*/
|
|
8
|
+
export function useIsInPlatformChannel() {
|
|
9
|
+
const { notificationChannels } = useScheduledEmailDialogContext();
|
|
10
|
+
const { editedAutomation } = useScheduledExportDraft();
|
|
11
|
+
const selectedChannel = notificationChannels.find((channel) => channel.id === editedAutomation.notificationChannel);
|
|
12
|
+
return selectedChannel?.destinationType === "inPlatform";
|
|
13
|
+
}
|
package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.d.ts
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { type KeyboardEvent } from "react";
|
|
2
|
+
import { type IScheduledEmailDialogDashboardAttachmentsProps, type IScheduledEmailDialogEvaluationModeProps, type IScheduledEmailDialogMessageProps, type IScheduledEmailDialogRecurrenceProps, type IScheduledEmailDialogSubjectProps, type IScheduledEmailDialogWidgetAttachmentsProps } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Inputs of {@link useScheduledEmailDialogRecurrenceProps} that come from the dialog rather than its state.
|
|
5
|
+
*
|
|
6
|
+
* @alpha
|
|
7
|
+
*/
|
|
8
|
+
export interface IUseScheduledEmailDialogRecurrencePropsInput {
|
|
9
|
+
/**
|
|
10
|
+
* Key-down handler of the recurrence inputs; the dialog submits on Enter through it.
|
|
11
|
+
*/
|
|
12
|
+
onKeyDownSubmit: (event: KeyboardEvent) => void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The exact props the default scheduled-email dialog renders its recurrence field with.
|
|
16
|
+
*
|
|
17
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
18
|
+
*
|
|
19
|
+
* @alpha
|
|
20
|
+
*/
|
|
21
|
+
export declare function useScheduledEmailDialogRecurrenceProps({ onKeyDownSubmit }: IUseScheduledEmailDialogRecurrencePropsInput): IScheduledEmailDialogRecurrenceProps;
|
|
22
|
+
/**
|
|
23
|
+
* Inputs of {@link useScheduledEmailDialogSubjectProps} that come from the dialog rather than its state.
|
|
24
|
+
*
|
|
25
|
+
* @alpha
|
|
26
|
+
*/
|
|
27
|
+
export interface IUseScheduledEmailDialogSubjectPropsInput {
|
|
28
|
+
/**
|
|
29
|
+
* Called on Enter in the subject input when submit is not disabled.
|
|
30
|
+
*/
|
|
31
|
+
onKeyDownSubmit: () => void;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The exact props the default scheduled-email dialog renders its subject field with.
|
|
35
|
+
*
|
|
36
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
37
|
+
*
|
|
38
|
+
* @alpha
|
|
39
|
+
*/
|
|
40
|
+
export declare function useScheduledEmailDialogSubjectProps({ onKeyDownSubmit }: IUseScheduledEmailDialogSubjectPropsInput): IScheduledEmailDialogSubjectProps;
|
|
41
|
+
/**
|
|
42
|
+
* The exact props the default scheduled-email dialog renders its message field with.
|
|
43
|
+
*
|
|
44
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
45
|
+
*
|
|
46
|
+
* @alpha
|
|
47
|
+
*/
|
|
48
|
+
export declare function useScheduledEmailDialogMessageProps(): IScheduledEmailDialogMessageProps;
|
|
49
|
+
/**
|
|
50
|
+
* The exact props the default scheduled-email dialog renders its widget-attachments field with.
|
|
51
|
+
*
|
|
52
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
53
|
+
*
|
|
54
|
+
* @alpha
|
|
55
|
+
*/
|
|
56
|
+
export declare function useScheduledEmailDialogWidgetAttachmentsProps(): IScheduledEmailDialogWidgetAttachmentsProps;
|
|
57
|
+
/**
|
|
58
|
+
* The exact props the default scheduled-email dialog renders its dashboard-attachments field with.
|
|
59
|
+
*
|
|
60
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
61
|
+
*
|
|
62
|
+
* @alpha
|
|
63
|
+
*/
|
|
64
|
+
export declare function useScheduledEmailDialogDashboardAttachmentsProps(): IScheduledEmailDialogDashboardAttachmentsProps;
|
|
65
|
+
/**
|
|
66
|
+
* The exact props the default scheduled-email dialog renders its evaluation-mode checkbox with.
|
|
67
|
+
*
|
|
68
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
69
|
+
*
|
|
70
|
+
* @alpha
|
|
71
|
+
*/
|
|
72
|
+
export declare function useScheduledEmailDialogEvaluationModeProps(): IScheduledEmailDialogEvaluationModeProps;
|
|
73
|
+
//# sourceMappingURL=useScheduledEmailDialogFieldProps.d.ts.map
|
package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScheduledEmailDialogFieldProps.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAO3C,OAAO,EACH,KAAK,8CAA8C,EACnD,KAAK,wCAAwC,EAC7C,KAAK,iCAAiC,EACtC,KAAK,oCAAoC,EACzC,KAAK,iCAAiC,EACtC,KAAK,2CAA2C,EACnD,MAAM,aAAa,CAAC;AAkCrB;;;;GAIG;AACH,MAAM,WAAW,4CAA4C;IACzD;;OAEG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;CACnD;AAED;;;;;;GAMG;AACH,wBAAgB,sCAAsC,CAAC,EACnD,eAAe,EAClB,EAAE,4CAA4C,GAAG,oCAAoC,CAwBrF;AAED;;;;GAIG;AACH,MAAM,WAAW,yCAAyC;IACtD;;OAEG;IACH,eAAe,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,mCAAmC,CAAC,EAChD,eAAe,EAClB,EAAE,yCAAyC,GAAG,iCAAiC,CAa/E;AAED;;;;;;GAMG;AACH,wBAAgB,mCAAmC,IAAI,iCAAiC,CAQvF;AAED;;;;;;GAMG;AACH,wBAAgB,6CAA6C,IAAI,2CAA2C,CAoC3G;AAED;;;;;;GAMG;AACH,wBAAgB,gDAAgD,IAAI,8CAA8C,CAuBjH;AAED;;;;;;GAMG;AACH,wBAAgB,0CAA0C,IAAI,wCAAwC,CAQrG"}
|
package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogFieldProps.js
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { getTimezoneDisplayLabel } from "@gooddata/sdk-ui-kit";
|
|
3
|
+
import { useAutomationsContext } from "../../contexts/AutomationsContext.js";
|
|
4
|
+
import { useScheduledEmailDialogContext } from "../../contexts/ScheduledEmailDialogContext.js";
|
|
5
|
+
import { getDefaultCronExpression } from "../utils/cron.js";
|
|
6
|
+
import { TIMEZONE_DEFAULT } from "../utils/timezone.js";
|
|
7
|
+
import { useScheduledExportActions } from "./ScheduledExportActionsContext.js";
|
|
8
|
+
import { useScheduledExportDraft } from "./ScheduledExportDraftContext.js";
|
|
9
|
+
import { useScheduledExportAttachments } from "./useScheduledExportAttachments.js";
|
|
10
|
+
import { useScheduledExportDialogValidity } from "./useScheduledExportDialogValidity.js";
|
|
11
|
+
const CLOSE_ON_PARENT_SCROLL = true;
|
|
12
|
+
// Exhaustive by construction: a WidgetAttachmentType member missing here is a type error, so a
|
|
13
|
+
// future union widening fails the build instead of silently narrowing a saved format away.
|
|
14
|
+
const WIDGET_ATTACHMENT_TYPE_FLAGS = {
|
|
15
|
+
CSV: true,
|
|
16
|
+
CSV_RAW: true,
|
|
17
|
+
XLSX: true,
|
|
18
|
+
PNG: true,
|
|
19
|
+
PPTX: true,
|
|
20
|
+
PDF: true,
|
|
21
|
+
PDF_TABULAR: true,
|
|
22
|
+
HTML: true,
|
|
23
|
+
};
|
|
24
|
+
const WIDGET_ATTACHMENT_TYPES = new Set(Object.keys(WIDGET_ATTACHMENT_TYPE_FLAGS));
|
|
25
|
+
// Exhaustive by construction: a DashboardAttachmentType member missing here is a type error.
|
|
26
|
+
const DASHBOARD_ATTACHMENT_TYPE_FLAGS = {
|
|
27
|
+
PDF: true,
|
|
28
|
+
PDF_SLIDES: true,
|
|
29
|
+
PPTX: true,
|
|
30
|
+
XLSX: true,
|
|
31
|
+
};
|
|
32
|
+
const DASHBOARD_ATTACHMENT_TYPES = new Set(Object.keys(DASHBOARD_ATTACHMENT_TYPE_FLAGS));
|
|
33
|
+
/**
|
|
34
|
+
* The exact props the default scheduled-email dialog renders its recurrence field with.
|
|
35
|
+
*
|
|
36
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
37
|
+
*
|
|
38
|
+
* @alpha
|
|
39
|
+
*/
|
|
40
|
+
export function useScheduledEmailDialogRecurrenceProps({ onKeyDownSubmit, }) {
|
|
41
|
+
const { locale, weekStart, allowHourlyRecurrence, isWhiteLabeled } = useAutomationsContext();
|
|
42
|
+
const { dateFormat } = useScheduledEmailDialogContext();
|
|
43
|
+
const { editedAutomation, startDate, isTimezoneFeatureEnabled } = useScheduledExportDraft();
|
|
44
|
+
const { onRecurrenceChange } = useScheduledExportActions();
|
|
45
|
+
return {
|
|
46
|
+
startDate,
|
|
47
|
+
cronExpression: editedAutomation.schedule?.cron ?? getDefaultCronExpression(startDate),
|
|
48
|
+
cronDescription: editedAutomation.schedule?.cronDescription,
|
|
49
|
+
// display-only value; with the timezone feature on, show the friendly label used
|
|
50
|
+
// by the time zone picker instead of the raw IANA ID
|
|
51
|
+
timezone: isTimezoneFeatureEnabled
|
|
52
|
+
? getTimezoneDisplayLabel(editedAutomation.schedule?.timezone ?? TIMEZONE_DEFAULT.identifier)
|
|
53
|
+
: (editedAutomation.schedule?.timezone ?? TIMEZONE_DEFAULT.identifier),
|
|
54
|
+
dateFormat: dateFormat ?? "MM/dd/yyyy",
|
|
55
|
+
locale,
|
|
56
|
+
weekStart,
|
|
57
|
+
allowHourlyRecurrence,
|
|
58
|
+
isWhiteLabeled,
|
|
59
|
+
closeDropdownsOnParentScroll: CLOSE_ON_PARENT_SCROLL,
|
|
60
|
+
onChange: onRecurrenceChange,
|
|
61
|
+
onKeyDownSubmit,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* The exact props the default scheduled-email dialog renders its subject field with.
|
|
66
|
+
*
|
|
67
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
68
|
+
*
|
|
69
|
+
* @alpha
|
|
70
|
+
*/
|
|
71
|
+
export function useScheduledEmailDialogSubjectProps({ onKeyDownSubmit, }) {
|
|
72
|
+
const { dashboardTitle } = useScheduledEmailDialogContext();
|
|
73
|
+
const { editedAutomation } = useScheduledExportDraft();
|
|
74
|
+
const { onSubjectChange } = useScheduledExportActions();
|
|
75
|
+
const { isSubmitDisabled } = useScheduledExportDialogValidity();
|
|
76
|
+
return {
|
|
77
|
+
dashboardTitle,
|
|
78
|
+
editedAutomation,
|
|
79
|
+
isSubmitDisabled,
|
|
80
|
+
onChange: onSubjectChange,
|
|
81
|
+
onKeyDownSubmit,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The exact props the default scheduled-email dialog renders its message field with.
|
|
86
|
+
*
|
|
87
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
88
|
+
*
|
|
89
|
+
* @alpha
|
|
90
|
+
*/
|
|
91
|
+
export function useScheduledEmailDialogMessageProps() {
|
|
92
|
+
const { editedAutomation } = useScheduledExportDraft();
|
|
93
|
+
const { onMessageChange } = useScheduledExportActions();
|
|
94
|
+
return {
|
|
95
|
+
value: editedAutomation.details?.message ?? "",
|
|
96
|
+
onChange: onMessageChange,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The exact props the default scheduled-email dialog renders its widget-attachments field with.
|
|
101
|
+
*
|
|
102
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
103
|
+
*
|
|
104
|
+
* @alpha
|
|
105
|
+
*/
|
|
106
|
+
export function useScheduledEmailDialogWidgetAttachmentsProps() {
|
|
107
|
+
const { settings, features: { enableSlideshowExports }, } = useAutomationsContext();
|
|
108
|
+
const { exportTemplates } = useScheduledEmailDialogContext();
|
|
109
|
+
const { selectedAttachments, xlsxSettings, pdfSettings, csvSettings, csvRawSettings, slidesTemplateIds } = useScheduledExportAttachments();
|
|
110
|
+
const { onWidgetAttachmentsChange, onXlsxSettingsChange, onPdfSettingsChange, onCsvSettingsChange, onCsvRawSettingsChange, onSlidesTemplateIdChange, } = useScheduledExportActions();
|
|
111
|
+
return {
|
|
112
|
+
selectedAttachments: selectedAttachments.filter((attachment) => WIDGET_ATTACHMENT_TYPES.has(attachment)),
|
|
113
|
+
onWidgetAttachmentsChange,
|
|
114
|
+
xlsxSettings,
|
|
115
|
+
onXlsxSettingsChange,
|
|
116
|
+
pdfSettings,
|
|
117
|
+
onPdfSettingsChange,
|
|
118
|
+
csvSettings,
|
|
119
|
+
onCsvSettingsChange,
|
|
120
|
+
csvRawSettings,
|
|
121
|
+
onCsvRawSettingsChange,
|
|
122
|
+
isSlidesExportEnabled: enableSlideshowExports,
|
|
123
|
+
isAccessibilityModeEnabled: settings?.enableAccessibilityMode === true,
|
|
124
|
+
exportTemplates,
|
|
125
|
+
slidesTemplateIds,
|
|
126
|
+
onSlidesTemplateIdChange,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* The exact props the default scheduled-email dialog renders its dashboard-attachments field with.
|
|
131
|
+
*
|
|
132
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
133
|
+
*
|
|
134
|
+
* @alpha
|
|
135
|
+
*/
|
|
136
|
+
export function useScheduledEmailDialogDashboardAttachmentsProps() {
|
|
137
|
+
const { features: { enableSlideshowExports }, } = useAutomationsContext();
|
|
138
|
+
const { exportTemplates, dashboardFilters, isCrossFiltering } = useScheduledEmailDialogContext();
|
|
139
|
+
const { selectedAttachments, xlsxSettings, slidesTemplateIds } = useScheduledExportAttachments();
|
|
140
|
+
const { onDashboardAttachmentsChange, onXlsxSettingsChange, onSlidesTemplateIdChange } = useScheduledExportActions();
|
|
141
|
+
return {
|
|
142
|
+
selectedAttachments: selectedAttachments.filter((attachment) => DASHBOARD_ATTACHMENT_TYPES.has(attachment)),
|
|
143
|
+
dashboardFilters,
|
|
144
|
+
isCrossFiltering,
|
|
145
|
+
onDashboardAttachmentsChange,
|
|
146
|
+
xlsxSettings,
|
|
147
|
+
onXlsxSettingsChange,
|
|
148
|
+
isSlidesExportEnabled: enableSlideshowExports,
|
|
149
|
+
exportTemplates,
|
|
150
|
+
slidesTemplateIds,
|
|
151
|
+
onSlidesTemplateIdChange,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* The exact props the default scheduled-email dialog renders its evaluation-mode checkbox with.
|
|
156
|
+
*
|
|
157
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
158
|
+
*
|
|
159
|
+
* @alpha
|
|
160
|
+
*/
|
|
161
|
+
export function useScheduledEmailDialogEvaluationModeProps() {
|
|
162
|
+
const { editedAutomation } = useScheduledExportDraft();
|
|
163
|
+
const { onEvaluationModeChange } = useScheduledExportActions();
|
|
164
|
+
return {
|
|
165
|
+
isShared: editedAutomation.evaluationMode === "SHARED",
|
|
166
|
+
onChange: onEvaluationModeChange,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type KeyboardEvent } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Inputs of {@link useScheduledEmailSubmitOnEnter} — the dialog's single save, from one
|
|
4
|
+
* {@link useSaveScheduledEmailToBackend} instance.
|
|
5
|
+
*
|
|
6
|
+
* @alpha
|
|
7
|
+
*/
|
|
8
|
+
export interface IUseScheduledEmailSubmitOnEnterInput {
|
|
9
|
+
/**
|
|
10
|
+
* `handleSaveScheduledEmail` of the dialog's {@link useSaveScheduledEmailToBackend} instance.
|
|
11
|
+
*/
|
|
12
|
+
onSubmit: () => void;
|
|
13
|
+
/**
|
|
14
|
+
* `isSavingScheduledEmail` of the same instance; Enter does nothing while a save is in flight.
|
|
15
|
+
*/
|
|
16
|
+
isSaving: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The Enter-to-submit key handler the default scheduled-export dialog attaches to its title, recipients
|
|
20
|
+
* and recurrence inputs: calls `onSubmit` on Enter unless the submit button would be disabled — the same
|
|
21
|
+
* guard {@link useScheduledEmailDialogActionBarProps} puts on the button (form validity, a save in
|
|
22
|
+
* flight, execution-timestamp mode). Pass the result as `onTitleKeyDown` / `onKeyDownSubmit` to the
|
|
23
|
+
* header and recipients blocks so every Enter path shares the dialog's one save.
|
|
24
|
+
*
|
|
25
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
26
|
+
*
|
|
27
|
+
* @alpha
|
|
28
|
+
*/
|
|
29
|
+
export declare function useScheduledEmailSubmitOnEnter({ onSubmit, isSaving }: IUseScheduledEmailSubmitOnEnterInput): (event: KeyboardEvent) => void;
|
|
30
|
+
//# sourceMappingURL=useScheduledEmailSubmitOnEnter.d.ts.map
|
package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailSubmitOnEnter.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScheduledEmailSubmitOnEnter.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/useScheduledEmailSubmitOnEnter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAe,MAAM,OAAO,CAAC;AAQxD;;;;;GAKG;AACH,MAAM,WAAW,oCAAoC;IACjD;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAAC,EAC3C,QAAQ,EACR,QAAQ,EACX,EAAE,oCAAoC,GAAG,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAavE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { isEnterKey } from "@gooddata/sdk-ui-kit";
|
|
4
|
+
import { useAutomationsContext } from "../../contexts/AutomationsContext.js";
|
|
5
|
+
import { useScheduledExportDialogValidity } from "./useScheduledExportDialogValidity.js";
|
|
6
|
+
/**
|
|
7
|
+
* The Enter-to-submit key handler the default scheduled-export dialog attaches to its title, recipients
|
|
8
|
+
* and recurrence inputs: calls `onSubmit` on Enter unless the submit button would be disabled — the same
|
|
9
|
+
* guard {@link useScheduledEmailDialogActionBarProps} puts on the button (form validity, a save in
|
|
10
|
+
* flight, execution-timestamp mode). Pass the result as `onTitleKeyDown` / `onKeyDownSubmit` to the
|
|
11
|
+
* header and recipients blocks so every Enter path shares the dialog's one save.
|
|
12
|
+
*
|
|
13
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
14
|
+
*
|
|
15
|
+
* @alpha
|
|
16
|
+
*/
|
|
17
|
+
export function useScheduledEmailSubmitOnEnter({ onSubmit, isSaving, }) {
|
|
18
|
+
const { isExecutionTimestampMode } = useAutomationsContext();
|
|
19
|
+
const { isSubmitDisabled } = useScheduledExportDialogValidity();
|
|
20
|
+
const disabled = isSubmitDisabled || isSaving || isExecutionTimestampMode;
|
|
21
|
+
return useCallback((event) => {
|
|
22
|
+
if (isEnterKey(event) && !disabled) {
|
|
23
|
+
onSubmit();
|
|
24
|
+
}
|
|
25
|
+
}, [disabled, onSubmit]);
|
|
26
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ComponentType, type KeyboardEvent, type ReactNode, type Ref } from "react";
|
|
2
|
-
import { type FilterContextItem, type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IFilter, type IInsight, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type IWidget, type IdentifierRef, type ParameterValue } from "@gooddata/sdk-model";
|
|
2
|
+
import { type DashboardAttachmentType, type FilterContextItem, type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IExportDefinitionVisualizationObjectSettings, type IExportTemplate, type IFilter, type IInsight, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type IWidget, type IdentifierRef, type ParameterValue, type WeekStart, type WidgetAttachmentType } from "@gooddata/sdk-model";
|
|
3
3
|
import { type GoodDataSdkError } from "@gooddata/sdk-ui";
|
|
4
4
|
import { type ISlotProps } from "@gooddata/sdk-ui-kit";
|
|
5
5
|
import { type IAutomationFiltersTab } from "../../../model/store/filtering/types.js";
|
|
@@ -285,6 +285,247 @@ export interface IScheduledEmailDialogRecipientsProps extends IAutomationDialogR
|
|
|
285
285
|
*/
|
|
286
286
|
onKeyDownSubmit: (e: KeyboardEvent) => void;
|
|
287
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* Props of the scheduled-export dialog's recurrence field.
|
|
290
|
+
*
|
|
291
|
+
* @alpha
|
|
292
|
+
*/
|
|
293
|
+
export interface IScheduledEmailDialogRecurrenceProps {
|
|
294
|
+
/**
|
|
295
|
+
* First-run date the cron editor is anchored to.
|
|
296
|
+
*/
|
|
297
|
+
startDate: Date;
|
|
298
|
+
/**
|
|
299
|
+
* The draft's cron expression.
|
|
300
|
+
*/
|
|
301
|
+
cronExpression: string;
|
|
302
|
+
/**
|
|
303
|
+
* Human-readable description of the cron expression, when the draft carries one.
|
|
304
|
+
*/
|
|
305
|
+
cronDescription?: string;
|
|
306
|
+
/**
|
|
307
|
+
* Display-only timezone label shown in the occurrence description.
|
|
308
|
+
*/
|
|
309
|
+
timezone: string;
|
|
310
|
+
/**
|
|
311
|
+
* Date format used by the first-run date picker.
|
|
312
|
+
*/
|
|
313
|
+
dateFormat: string;
|
|
314
|
+
/**
|
|
315
|
+
* Locale of the recurrence editor.
|
|
316
|
+
*/
|
|
317
|
+
locale: string;
|
|
318
|
+
/**
|
|
319
|
+
* First day of the week in the date picker.
|
|
320
|
+
*/
|
|
321
|
+
weekStart: WeekStart;
|
|
322
|
+
/**
|
|
323
|
+
* Whether the hourly recurrence option is offered.
|
|
324
|
+
*/
|
|
325
|
+
allowHourlyRecurrence: boolean;
|
|
326
|
+
/**
|
|
327
|
+
* Hides GoodData-specific copy when white-labeled.
|
|
328
|
+
*/
|
|
329
|
+
isWhiteLabeled: boolean;
|
|
330
|
+
/**
|
|
331
|
+
* Closes the recurrence dropdowns when the dialog body scrolls.
|
|
332
|
+
*/
|
|
333
|
+
closeDropdownsOnParentScroll: boolean;
|
|
334
|
+
/**
|
|
335
|
+
* Sets the cron expression and first run; `isValid` is the recurrence form's own verdict.
|
|
336
|
+
*/
|
|
337
|
+
onChange: (cronExpression: string, startDate: Date | null, isValid: boolean) => void;
|
|
338
|
+
/**
|
|
339
|
+
* Key-down handler; the dialog submits on Enter through it.
|
|
340
|
+
*/
|
|
341
|
+
onKeyDownSubmit: (event: KeyboardEvent) => void;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Props of the scheduled-export dialog's subject field.
|
|
345
|
+
*
|
|
346
|
+
* @alpha
|
|
347
|
+
*/
|
|
348
|
+
export interface IScheduledEmailDialogSubjectProps {
|
|
349
|
+
/**
|
|
350
|
+
* Dashboard title, used as the subject placeholder (truncated to the title max length).
|
|
351
|
+
*/
|
|
352
|
+
dashboardTitle: string;
|
|
353
|
+
/**
|
|
354
|
+
* The export draft; the field renders `details.subject`.
|
|
355
|
+
*/
|
|
356
|
+
editedAutomation: IAutomationMetadataObjectDefinition;
|
|
357
|
+
/**
|
|
358
|
+
* Disables submit-on-Enter while the dialog is not submittable.
|
|
359
|
+
*/
|
|
360
|
+
isSubmitDisabled?: boolean;
|
|
361
|
+
/**
|
|
362
|
+
* Sets the e-mail subject; `isValid` is the field's own length verdict.
|
|
363
|
+
*/
|
|
364
|
+
onChange: (value: string, isValid: boolean) => void;
|
|
365
|
+
/**
|
|
366
|
+
* Called on Enter when submit is not disabled.
|
|
367
|
+
*/
|
|
368
|
+
onKeyDownSubmit: () => void;
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* Props of the scheduled-export dialog's message field.
|
|
372
|
+
*
|
|
373
|
+
* @alpha
|
|
374
|
+
*/
|
|
375
|
+
export interface IScheduledEmailDialogMessageProps {
|
|
376
|
+
/**
|
|
377
|
+
* The e-mail message text.
|
|
378
|
+
*/
|
|
379
|
+
value: string;
|
|
380
|
+
/**
|
|
381
|
+
* Sets the e-mail message; `isValid` is the field's own length verdict.
|
|
382
|
+
*/
|
|
383
|
+
onChange: (value: string, isValid: boolean) => void;
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Props of the scheduled-export dialog's evaluation-mode checkbox.
|
|
387
|
+
*
|
|
388
|
+
* @alpha
|
|
389
|
+
*/
|
|
390
|
+
export interface IScheduledEmailDialogEvaluationModeProps {
|
|
391
|
+
/**
|
|
392
|
+
* Whether the evaluation mode is SHARED.
|
|
393
|
+
*/
|
|
394
|
+
isShared: boolean;
|
|
395
|
+
/**
|
|
396
|
+
* Switches between a shared and a per-recipient evaluation of the export.
|
|
397
|
+
*/
|
|
398
|
+
onChange: (isShared: boolean) => void;
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Props of the scheduled-export dialog's dashboard-attachments field.
|
|
402
|
+
*
|
|
403
|
+
* @alpha
|
|
404
|
+
*/
|
|
405
|
+
export interface IScheduledEmailDialogDashboardAttachmentsProps {
|
|
406
|
+
/**
|
|
407
|
+
* The selected export formats.
|
|
408
|
+
*/
|
|
409
|
+
selectedAttachments: DashboardAttachmentType[];
|
|
410
|
+
/**
|
|
411
|
+
* Dashboard filters the export is scoped to; the control passes them back as the second
|
|
412
|
+
* argument of every {@link IScheduledEmailDialogDashboardAttachmentsProps.onDashboardAttachmentsChange}
|
|
413
|
+
* call.
|
|
414
|
+
*/
|
|
415
|
+
dashboardFilters?: FilterContextItem[];
|
|
416
|
+
/**
|
|
417
|
+
* When true and at least one attachment is selected, the control shows the notice that
|
|
418
|
+
* exports do not reflect cross-filtering.
|
|
419
|
+
*/
|
|
420
|
+
isCrossFiltering: boolean;
|
|
421
|
+
/**
|
|
422
|
+
* Replaces the selected dashboard export formats. Called with the complete new selection and
|
|
423
|
+
* the current {@link IScheduledEmailDialogDashboardAttachmentsProps.dashboardFilters}.
|
|
424
|
+
*/
|
|
425
|
+
onDashboardAttachmentsChange: (formats: DashboardAttachmentType[], filters?: FilterContextItem[]) => void;
|
|
426
|
+
/**
|
|
427
|
+
* XLSX export settings shown in the attachment's settings editor.
|
|
428
|
+
*/
|
|
429
|
+
xlsxSettings: IExportDefinitionVisualizationObjectSettings;
|
|
430
|
+
/**
|
|
431
|
+
* Sets the XLSX export settings.
|
|
432
|
+
*/
|
|
433
|
+
onXlsxSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
|
|
434
|
+
/**
|
|
435
|
+
* Whether the slide-based formats (PPTX, PDF slides) are offered; when false they are
|
|
436
|
+
* excluded from the add-attachment options.
|
|
437
|
+
*/
|
|
438
|
+
isSlidesExportEnabled: boolean;
|
|
439
|
+
/**
|
|
440
|
+
* Export templates offered in the template picker of the slide-based formats.
|
|
441
|
+
*/
|
|
442
|
+
exportTemplates?: IExportTemplate[];
|
|
443
|
+
/**
|
|
444
|
+
* The template chosen per slide-based format; undefined where the default template applies.
|
|
445
|
+
*/
|
|
446
|
+
slidesTemplateIds?: {
|
|
447
|
+
PPTX?: string;
|
|
448
|
+
PDF_SLIDES?: string;
|
|
449
|
+
PDF?: string;
|
|
450
|
+
};
|
|
451
|
+
/**
|
|
452
|
+
* Sets the export template of one slide-based format.
|
|
453
|
+
*/
|
|
454
|
+
onSlidesTemplateIdChange?: (templateId: string | undefined, format: "PPTX" | "PDF_SLIDES" | "PDF") => void;
|
|
455
|
+
}
|
|
456
|
+
/**
|
|
457
|
+
* Props of the scheduled-export dialog's widget-attachments field.
|
|
458
|
+
*
|
|
459
|
+
* @alpha
|
|
460
|
+
*/
|
|
461
|
+
export interface IScheduledEmailDialogWidgetAttachmentsProps {
|
|
462
|
+
/**
|
|
463
|
+
* The selected export formats.
|
|
464
|
+
*/
|
|
465
|
+
selectedAttachments: WidgetAttachmentType[];
|
|
466
|
+
/**
|
|
467
|
+
* Replaces the selected widget export formats with the complete new selection.
|
|
468
|
+
*/
|
|
469
|
+
onWidgetAttachmentsChange: (formats: WidgetAttachmentType[]) => void;
|
|
470
|
+
/**
|
|
471
|
+
* XLSX export settings shown in the attachment's settings editor.
|
|
472
|
+
*/
|
|
473
|
+
xlsxSettings: IExportDefinitionVisualizationObjectSettings;
|
|
474
|
+
/**
|
|
475
|
+
* Sets the XLSX export settings.
|
|
476
|
+
*/
|
|
477
|
+
onXlsxSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
|
|
478
|
+
/**
|
|
479
|
+
* Tabular-PDF export settings shown in the attachment's settings editor.
|
|
480
|
+
*/
|
|
481
|
+
pdfSettings: IExportDefinitionVisualizationObjectSettings;
|
|
482
|
+
/**
|
|
483
|
+
* Sets the tabular-PDF export settings.
|
|
484
|
+
*/
|
|
485
|
+
onPdfSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
|
|
486
|
+
/**
|
|
487
|
+
* CSV export settings shown in the attachment's settings editor.
|
|
488
|
+
*/
|
|
489
|
+
csvSettings: IExportDefinitionVisualizationObjectSettings;
|
|
490
|
+
/**
|
|
491
|
+
* Sets the CSV export settings.
|
|
492
|
+
*/
|
|
493
|
+
onCsvSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
|
|
494
|
+
/**
|
|
495
|
+
* Raw-CSV export settings shown in the attachment's settings editor.
|
|
496
|
+
*/
|
|
497
|
+
csvRawSettings: IExportDefinitionVisualizationObjectSettings;
|
|
498
|
+
/**
|
|
499
|
+
* Sets the raw-CSV export settings.
|
|
500
|
+
*/
|
|
501
|
+
onCsvRawSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
|
|
502
|
+
/**
|
|
503
|
+
* Whether the slide-based formats (PPTX, PDF) are offered; when false they are excluded
|
|
504
|
+
* from the add-attachment options.
|
|
505
|
+
*/
|
|
506
|
+
isSlidesExportEnabled: boolean;
|
|
507
|
+
/**
|
|
508
|
+
* When true, formats without an accessible rendering (PDF_TABULAR) are excluded from the
|
|
509
|
+
* add-attachment options.
|
|
510
|
+
*/
|
|
511
|
+
isAccessibilityModeEnabled: boolean;
|
|
512
|
+
/**
|
|
513
|
+
* Export templates offered in the template picker of the slide-based formats.
|
|
514
|
+
*/
|
|
515
|
+
exportTemplates?: IExportTemplate[];
|
|
516
|
+
/**
|
|
517
|
+
* The template chosen per slide-based format; undefined where the default template applies.
|
|
518
|
+
*/
|
|
519
|
+
slidesTemplateIds?: {
|
|
520
|
+
PPTX?: string;
|
|
521
|
+
PDF_SLIDES?: string;
|
|
522
|
+
PDF?: string;
|
|
523
|
+
};
|
|
524
|
+
/**
|
|
525
|
+
* Sets the export template of one slide-based format.
|
|
526
|
+
*/
|
|
527
|
+
onSlidesTemplateIdChange?: (templateId: string | undefined, format: "PPTX" | "PDF_SLIDES" | "PDF") => void;
|
|
528
|
+
}
|
|
288
529
|
/**
|
|
289
530
|
* Section-level overrides of the default scheduled email dialog.
|
|
290
531
|
*
|
|
@@ -410,6 +651,63 @@ export interface IDefaultScheduledEmailDialogProps extends IScheduledEmailDialog
|
|
|
410
651
|
*/
|
|
411
652
|
bottomContent?: ReactNode;
|
|
412
653
|
}
|
|
654
|
+
/**
|
|
655
|
+
* Props of {@link ScheduledEmailDialogShell}.
|
|
656
|
+
*
|
|
657
|
+
* @alpha
|
|
658
|
+
*/
|
|
659
|
+
export interface IScheduledEmailDialogShellProps extends Pick<IScheduledEmailDialogProps, "onCancel" | "onBack" | "onDeleteSuccess" | "onDeleteError"> {
|
|
660
|
+
/**
|
|
661
|
+
* The dialog's single save — `handleSaveScheduledEmail` of the caller's
|
|
662
|
+
* {@link useSaveScheduledEmailToBackend} instance. Drives the footer's submit button, the Enter key on
|
|
663
|
+
* it, and the header's Enter-to-submit. (Not the `onSubmit` observer of {@link IScheduledEmailDialogProps};
|
|
664
|
+
* that one goes to the save hook.) The shell does not own the save hook, so the caller's own Enter
|
|
665
|
+
* handlers — {@link useScheduledEmailSubmitOnEnter} — share the same instance. Create the hook instance
|
|
666
|
+
* only once the dialog context reports `isLoading: false`.
|
|
667
|
+
*/
|
|
668
|
+
onSubmit: () => void;
|
|
669
|
+
/**
|
|
670
|
+
* `isSavingScheduledEmail` of the same instance: disables submit and Delete and shows the footer's
|
|
671
|
+
* progress indicator.
|
|
672
|
+
*/
|
|
673
|
+
isSaving: boolean;
|
|
674
|
+
/**
|
|
675
|
+
* `savingErrorMessage` of the same instance; shown as the body's error message, ahead of the form's
|
|
676
|
+
* validation message.
|
|
677
|
+
*/
|
|
678
|
+
savingErrorMessage?: string;
|
|
679
|
+
/**
|
|
680
|
+
* Header, action-bar and Filters-tab overrides — the Level 1 slot contract
|
|
681
|
+
* ({@link IScheduledEmailDialogSlots.Header}, {@link IScheduledEmailDialogSlots.ActionBar},
|
|
682
|
+
* {@link IScheduledEmailDialogSlots.Filters}): each slot receives `{ Default, defaultProps }` with the
|
|
683
|
+
* shell's live values. Slot components need a stable reference identity — see
|
|
684
|
+
* {@link @gooddata/sdk-ui-kit#ISlotProps}. `Filters` is ignored when `filtersTabContent` is passed. The
|
|
685
|
+
* General-tab regions have no slot here: place their blocks ({@link ScheduledEmailDialogDestination} and
|
|
686
|
+
* siblings) as children instead.
|
|
687
|
+
*/
|
|
688
|
+
slots?: Pick<IScheduledEmailDialogSlots, "Header" | "ActionBar" | "Filters">;
|
|
689
|
+
/**
|
|
690
|
+
* Rendered first inside the dialog's scrollable content area, above the selected tab's content.
|
|
691
|
+
*/
|
|
692
|
+
topContent?: ReactNode;
|
|
693
|
+
/**
|
|
694
|
+
* Rendered last inside the scrollable content area, below the selected tab's content.
|
|
695
|
+
*/
|
|
696
|
+
bottomContent?: ReactNode;
|
|
697
|
+
/**
|
|
698
|
+
* The General tab's content: the regions and fields, in the caller's order. Rendered only while the
|
|
699
|
+
* General tab is selected; not mounted while `useScheduledEmailDialogContext().isLoading` is true (the
|
|
700
|
+
* shell shows its loading skeleton — on scheduled email the ordinary path while a widget export's
|
|
701
|
+
* filters load) or while the stale-filters confirmation step is shown.
|
|
702
|
+
*/
|
|
703
|
+
children?: ReactNode;
|
|
704
|
+
/**
|
|
705
|
+
* The Filters tab's content. Defaults to the dialog's filters region ({@link DefaultScheduledEmailDialogFilters}
|
|
706
|
+
* with {@link useScheduledEmailDialogFiltersProps}, or the `Filters` slot). Rendered only while the Filters
|
|
707
|
+
* tab is selected. An explicit `null` counts as provided and renders an empty Filters tab.
|
|
708
|
+
*/
|
|
709
|
+
filtersTabContent?: ReactNode;
|
|
710
|
+
}
|
|
413
711
|
/**
|
|
414
712
|
*
|
|
415
713
|
* @alpha
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/scheduledEmail/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAEzF,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,OAAO,EACZ,KAAK,aAAa,EAClB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/scheduledEmail/types.ts"],"names":[],"mappings":"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"}
|