@gooddata/sdk-ui-dashboard 11.54.0-alpha.6 → 11.54.0
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 +1 -1
- package/esm/__version.d.ts +1 -1
- package/esm/__version.d.ts.map +1 -1
- package/esm/__version.js +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/DefaultAlertingDialog.js +25 -111
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSubmit.d.ts +19 -14
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSubmit.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertSubmit.js +18 -2
- package/esm/presentation/automations/alerting/state/AlertActionsContext.d.ts +1 -10
- package/esm/presentation/automations/alerting/state/AlertActionsContext.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/AlertDataContext.d.ts +1 -11
- package/esm/presentation/automations/alerting/state/AlertDataContext.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/AlertDraftContext.d.ts +1 -11
- package/esm/presentation/automations/alerting/state/AlertDraftContext.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/AlertFiltersContext.d.ts +1 -13
- package/esm/presentation/automations/alerting/state/AlertFiltersContext.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/AlertingDialogStateProvider.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/types.d.ts +156 -0
- package/esm/presentation/automations/alerting/state/types.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/state/types.js +2 -0
- package/esm/presentation/automations/alerting/state/useAlertFiltersModel.d.ts +2 -8
- package/esm/presentation/automations/alerting/state/useAlertFiltersModel.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/useAlertFormState.d.ts +4 -34
- package/esm/presentation/automations/alerting/state/useAlertFormState.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/useAlertSupportedMetrics.d.ts +2 -11
- package/esm/presentation/automations/alerting/state/useAlertSupportedMetrics.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/useAlertSupportedMetrics.js +2 -2
- package/esm/presentation/automations/alerting/state/useAlertingDialogRegionProps.d.ts +82 -0
- package/esm/presentation/automations/alerting/state/useAlertingDialogRegionProps.d.ts.map +1 -0
- package/esm/presentation/automations/alerting/state/useAlertingDialogRegionProps.js +152 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +34 -145
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.d.ts +17 -2
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.js +16 -5
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduleTimezone.d.ts +2 -29
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduleTimezone.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduleTimezone.js +0 -14
- package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.js +3 -3
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.d.ts +1 -16
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDataContext.d.ts +1 -12
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDataContext.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.d.ts +1 -15
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportFiltersContext.d.ts +2 -14
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportFiltersContext.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/types.d.ts +204 -0
- package/esm/presentation/automations/scheduledEmail/state/types.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/state/types.js +2 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogRegionProps.d.ts +105 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogRegionProps.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogRegionProps.js +196 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailExportSettings.d.ts +3 -11
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailExportSettings.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFiltersModel.d.ts +2 -20
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFiltersModel.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFiltersModel.js +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFormState.d.ts +3 -20
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFormState.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/de-DE.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-AU.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-GB.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/es-419.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-419.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/es-ES.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fi-FI.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fr-CA.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/fr-FR.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/id-ID.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/it-IT.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ja-JP.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ko-KR.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/nl-NL.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pl-PL.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pt-BR.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/pt-PT.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/ru-RU.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/sl-SI.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/th-TH.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/tr-TR.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/uk-UA.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/vi-VN.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-HK.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-Hans.localization-bundle.js +0 -1
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts +0 -1
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/zh-Hant.localization-bundle.js +0 -1
- package/package.json +25 -25
|
@@ -1,6 +1,21 @@
|
|
|
1
|
-
import { type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition } from "@gooddata/sdk-model";
|
|
2
1
|
import { type IScheduledEmailDialogProps } from "../../types.js";
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Lifecycle callbacks of {@link useSaveScheduledEmailToBackend}: `onSubmit`/`onSuccess`/`onError`
|
|
4
|
+
* (create) and `onSave`/`onSaveSuccess`/`onSaveError` (edit).
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export type IUseSaveScheduledEmailCallbacks = Pick<IScheduledEmailDialogProps, "onSuccess" | "onError" | "onSubmit" | "onSaveSuccess" | "onSaveError" | "onSave">;
|
|
9
|
+
/**
|
|
10
|
+
* Saves the scheduled-export dialog's draft: creates a new schedule or updates the edited one after
|
|
11
|
+
* sanitizing it, keeps a 400 response's detail as an in-dialog error message, and routes everything
|
|
12
|
+
* else to the matching callback.
|
|
13
|
+
*
|
|
14
|
+
* Reads the draft from the scheduled-export state contexts, so it throws outside them.
|
|
15
|
+
*
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export declare function useSaveScheduledEmailToBackend({ onSuccess, onError, onSubmit, onSaveSuccess, onSaveError, onSave }: IUseSaveScheduledEmailCallbacks): {
|
|
4
19
|
handleSaveScheduledEmail: () => void;
|
|
5
20
|
isSavingScheduledEmail: boolean;
|
|
6
21
|
savingErrorMessage: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSaveScheduledEmailToBackend.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSaveScheduledEmailToBackend.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useSaveScheduledEmailToBackend.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAC9C,0BAA0B,EAC1B,WAAW,GAAG,SAAS,GAAG,UAAU,GAAG,eAAe,GAAG,aAAa,GAAG,QAAQ,CACpF,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAAC,EAC3C,SAAS,EACT,OAAO,EACP,QAAQ,EACR,aAAa,EACb,WAAW,EACX,MAAM,EACT,EAAE,+BAA+B,GAAG;IACjC,wBAAwB,EAAE,MAAM,IAAI,CAAC;IACrC,sBAAsB,EAAE,OAAO,CAAC;IAChC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C,CAwEA"}
|
|
@@ -4,11 +4,22 @@ import { omit } from "lodash-es";
|
|
|
4
4
|
import { useIntl } from "react-intl";
|
|
5
5
|
import { isAllValuesAttributeFilter, isAllValuesDashboardAttributeFilter, isExportDefinitionDashboardRequestPayload, isExportDefinitionVisualizationObjectRequestPayload, } from "@gooddata/sdk-model";
|
|
6
6
|
import { useScheduledEmailDialogContext } from "../../../contexts/ScheduledEmailDialogContext.js";
|
|
7
|
-
|
|
7
|
+
import { useScheduledExportDraft } from "../../state/ScheduledExportDraftContext.js";
|
|
8
|
+
/**
|
|
9
|
+
* Saves the scheduled-export dialog's draft: creates a new schedule or updates the edited one after
|
|
10
|
+
* sanitizing it, keeps a 400 response's detail as an in-dialog error message, and routes everything
|
|
11
|
+
* else to the matching callback.
|
|
12
|
+
*
|
|
13
|
+
* Reads the draft from the scheduled-export state contexts, so it throws outside them.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export function useSaveScheduledEmailToBackend({ onSuccess, onError, onSubmit, onSaveSuccess, onSaveError, onSave, }) {
|
|
8
18
|
const intl = useIntl();
|
|
9
19
|
const [savingErrorMessage, setSavingErrorMessage] = useState(undefined);
|
|
10
20
|
const [isSavingScheduledEmail, setIsSavingScheduledEmail] = useState(false);
|
|
11
21
|
const { createScheduledEmail, saveScheduledEmail } = useScheduledEmailDialogContext();
|
|
22
|
+
const { editedAutomation } = useScheduledExportDraft();
|
|
12
23
|
const handleCreateScheduledEmail = useCallback(async (scheduledEmail) => {
|
|
13
24
|
const sanitizedAutomation = sanitizeAutomation(scheduledEmail, intl);
|
|
14
25
|
setSavingErrorMessage(undefined);
|
|
@@ -60,13 +71,13 @@ export function useSaveScheduledEmailToBackend(automation, { onSuccess, onError,
|
|
|
60
71
|
}
|
|
61
72
|
}, [saveScheduledEmail, intl, onSave, onSaveSuccess, onSaveError]);
|
|
62
73
|
const handleSaveScheduledEmail = useCallback(() => {
|
|
63
|
-
if (
|
|
64
|
-
void handleUpdateScheduledEmail(
|
|
74
|
+
if (editedAutomation.id) {
|
|
75
|
+
void handleUpdateScheduledEmail(editedAutomation);
|
|
65
76
|
}
|
|
66
77
|
else {
|
|
67
|
-
void handleCreateScheduledEmail(
|
|
78
|
+
void handleCreateScheduledEmail(editedAutomation);
|
|
68
79
|
}
|
|
69
|
-
}, [
|
|
80
|
+
}, [editedAutomation, handleUpdateScheduledEmail, handleCreateScheduledEmail]);
|
|
70
81
|
return { handleSaveScheduledEmail, isSavingScheduledEmail, savingErrorMessage };
|
|
71
82
|
}
|
|
72
83
|
function sanitizeAutomation(automationToSave, intl) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type Dispatch, type SetStateAction } from "react";
|
|
2
2
|
import { type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IWidget } from "@gooddata/sdk-model";
|
|
3
|
-
import { type
|
|
3
|
+
import { type IScheduleTimezoneState } from "../../state/types.js";
|
|
4
4
|
export interface IUseScheduleTimezoneProps {
|
|
5
5
|
scheduledExportToEdit?: IAutomationMetadataObject;
|
|
6
6
|
widget?: IWidget;
|
|
@@ -16,32 +16,5 @@ export interface IUseScheduleTimezoneProps {
|
|
|
16
16
|
* schedules offer the Default option. The cron `schedule.timezone` is a different concept (when
|
|
17
17
|
* the schedule fires) and is never touched here.
|
|
18
18
|
*/
|
|
19
|
-
export declare function useScheduleTimezone({ scheduledExportToEdit, widget, setEditedAutomation }: IUseScheduleTimezoneProps):
|
|
20
|
-
isTimezoneFeatureEnabled: boolean;
|
|
21
|
-
canSelectScheduleTimezone: boolean;
|
|
22
|
-
scheduleTimezoneSelection: IScheduleTimezoneSelection;
|
|
23
|
-
/**
|
|
24
|
-
* Concrete timezone the dashboard-schedule Default option currently resolves to
|
|
25
|
-
* (display only).
|
|
26
|
-
*/
|
|
27
|
-
defaultResolvedTimezone: string | undefined;
|
|
28
|
-
onScheduleTimezoneChange: (timezoneId: string | undefined) => void;
|
|
29
|
-
/**
|
|
30
|
-
* True when the edited schedule cannot behave correctly as stored (widget schedule
|
|
31
|
-
* missing a dashboard-scoped timezone); feeds the apply-current-state confirmation.
|
|
32
|
-
*/
|
|
33
|
-
scheduleTimezoneIsStale: boolean;
|
|
34
|
-
applyCurrentScheduleTimezone: () => void;
|
|
35
|
-
/**
|
|
36
|
-
* Live value for export definitions created after the dialog opened (attachment changes).
|
|
37
|
-
* Active when the section is interactive, and also when an edited schedule carries a
|
|
38
|
-
* stored timezone while the section is hidden — new definitions must then inherit the
|
|
39
|
-
* stored value instead of the store-derived default.
|
|
40
|
-
*/
|
|
41
|
-
scheduleTimezone: {
|
|
42
|
-
active: boolean;
|
|
43
|
-
timezoneId: string | undefined;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
export type ScheduleTimezoneState = ReturnType<typeof useScheduleTimezone>;
|
|
19
|
+
export declare function useScheduleTimezone({ scheduledExportToEdit, widget, setEditedAutomation }: IUseScheduleTimezoneProps): IScheduleTimezoneState;
|
|
47
20
|
//# sourceMappingURL=useScheduleTimezone.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useScheduleTimezone.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduleTimezone.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAyB,MAAM,OAAO,CAAC;AAElF,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,OAAO,EACf,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"useScheduleTimezone.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduleTimezone.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAyB,MAAM,OAAO,CAAC;AAElF,OAAO,EACH,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,OAAO,EACf,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAKnE,MAAM,WAAW,yBAAyB;IACtC,qBAAqB,CAAC,EAAE,yBAAyB,CAAC;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,QAAQ,CAAC,cAAc,CAAC,mCAAmC,CAAC,CAAC,CAAC;CACtF;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,qBAAqB,EACrB,MAAM,EACN,mBAAmB,EACtB,EAAE,yBAAyB,GAAG,sBAAsB,CA0EpD"}
|
|
@@ -64,24 +64,10 @@ export function useScheduleTimezone({ scheduledExportToEdit, widget, setEditedAu
|
|
|
64
64
|
isTimezoneFeatureEnabled,
|
|
65
65
|
canSelectScheduleTimezone,
|
|
66
66
|
scheduleTimezoneSelection: selection,
|
|
67
|
-
/**
|
|
68
|
-
* Concrete timezone the dashboard-schedule Default option currently resolves to
|
|
69
|
-
* (display only).
|
|
70
|
-
*/
|
|
71
67
|
defaultResolvedTimezone,
|
|
72
68
|
onScheduleTimezoneChange,
|
|
73
|
-
/**
|
|
74
|
-
* True when the edited schedule cannot behave correctly as stored (widget schedule
|
|
75
|
-
* missing a dashboard-scoped timezone); feeds the apply-current-state confirmation.
|
|
76
|
-
*/
|
|
77
69
|
scheduleTimezoneIsStale,
|
|
78
70
|
applyCurrentScheduleTimezone,
|
|
79
|
-
/**
|
|
80
|
-
* Live value for export definitions created after the dialog opened (attachment changes).
|
|
81
|
-
* Active when the section is interactive, and also when an edited schedule carries a
|
|
82
|
-
* stored timezone while the section is hidden — new definitions must then inherit the
|
|
83
|
-
* stored value instead of the store-derived default.
|
|
84
|
-
*/
|
|
85
71
|
scheduleTimezone: {
|
|
86
72
|
active: canSelectScheduleTimezone || !!storedTimezoneId,
|
|
87
73
|
timezoneId: selection.shouldSave ? selection.id : undefined,
|
package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledEmailDialogStateProvider.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ScheduledEmailDialogStateProvider.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAsBhD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iCAAiC,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAQtF"}
|
package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.js
CHANGED
|
@@ -6,9 +6,9 @@ import { useScheduledEmailDialogContext } from "../../contexts/ScheduledEmailDia
|
|
|
6
6
|
import { useAutomationFiltersSelect } from "../../shared/automationFilters/useAutomationFiltersSelect.js";
|
|
7
7
|
import { useScheduleTimezone } from "../DefaultScheduledEmailDialog/hooks/useScheduleTimezone.js";
|
|
8
8
|
import { getDefaultPdfPageSize } from "../utils/pdfPageSize.js";
|
|
9
|
-
import { ScheduledExportActionsContextProvider
|
|
10
|
-
import { ScheduledExportDataContextProvider
|
|
11
|
-
import { ScheduledExportDraftContextProvider
|
|
9
|
+
import { ScheduledExportActionsContextProvider } from "./ScheduledExportActionsContext.js";
|
|
10
|
+
import { ScheduledExportDataContextProvider } from "./ScheduledExportDataContext.js";
|
|
11
|
+
import { ScheduledExportDraftContextProvider } from "./ScheduledExportDraftContext.js";
|
|
12
12
|
import { ScheduledExportFiltersContextProvider } from "./ScheduledExportFiltersContext.js";
|
|
13
13
|
import { useScheduledEmailEffectiveFilters } from "./useScheduledEmailEffectiveFilters.js";
|
|
14
14
|
import { useScheduledEmailExportSettings } from "./useScheduledEmailExportSettings.js";
|
package/esm/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.d.ts
CHANGED
|
@@ -1,19 +1,4 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { type useScheduledEmailExportSettings } from "./useScheduledEmailExportSettings.js";
|
|
3
|
-
import { type useScheduledEmailFormState } from "./useScheduledEmailFormState.js";
|
|
4
|
-
/**
|
|
5
|
-
* The scheduled-export dialog's draft mutators: the form fields' change handlers, the raw draft
|
|
6
|
-
* setter, and the attachment handlers, which rebuild the automation's export definitions while
|
|
7
|
-
* carrying the stored export-parameter wire across the rebuild.
|
|
8
|
-
*
|
|
9
|
-
* Every handler holds its identity across a keystroke, so a consumer that only mutates does not
|
|
10
|
-
* re-render while the draft changes. The two attachment handlers are rebuilt when the filters they
|
|
11
|
-
* write into a new export definition change. The shape is derived from `useScheduledEmailFormState`
|
|
12
|
-
* and `useScheduledEmailExportSettings`, which own these handlers.
|
|
13
|
-
*
|
|
14
|
-
* @internal
|
|
15
|
-
*/
|
|
16
|
-
export type IScheduledExportActionsContextValue = Pick<ReturnType<typeof useScheduledEmailFormState>, "setEditedAutomation" | "onTitleChange" | "onRecurrenceChange" | "onEvaluationModeChange" | "onDestinationChange" | "onRecipientsChange" | "onSubjectChange" | "onMessageChange"> & Pick<ReturnType<typeof useScheduledEmailExportSettings>, "onDashboardAttachmentsChange" | "onWidgetAttachmentsChange" | "onXlsxSettingsChange" | "onPdfSettingsChange" | "onCsvSettingsChange" | "onCsvRawSettingsChange" | "onSlidesTemplateIdChange"> & Pick<ReturnType<typeof useScheduleTimezone>, "onScheduleTimezoneChange" | "applyCurrentScheduleTimezone">;
|
|
1
|
+
import { type IScheduledExportActionsContextValue } from "./types.js";
|
|
17
2
|
export declare const ScheduledExportActionsContextProvider: import("react").Provider<IScheduledExportActionsContextValue | undefined>;
|
|
18
3
|
/**
|
|
19
4
|
* Reads the scheduled-export dialog's draft mutators.
|
package/esm/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledExportActionsContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScheduledExportActionsContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,YAAY,CAAC;AAOtE,eAAO,MAAM,qCAAqC,2EAAyC,CAAC;AAE5F;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,IAAI,mCAAmC,CAK/E"}
|
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
/**
|
|
3
|
-
* The scheduled-export dialog's recipient defaults: the logged-in user as a recipient, and the
|
|
4
|
-
* recipient a new schedule is seeded with, which an external-recipient override replaces.
|
|
5
|
-
*
|
|
6
|
-
* Changes when the current user or the override changes, so not while the draft is edited. Two
|
|
7
|
-
* members is the whole of it: this dialog loads no execution data. The shape is derived from
|
|
8
|
-
* `useScheduledEmailFormState`, which owns these values.
|
|
9
|
-
*
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
export type IScheduledExportDataContextValue = Pick<ReturnType<typeof useScheduledEmailFormState>, "defaultUser" | "defaultRecipient">;
|
|
1
|
+
import { type IScheduledExportDataContextValue } from "./types.js";
|
|
13
2
|
export declare const ScheduledExportDataContextProvider: import("react").Provider<IScheduledExportDataContextValue | undefined>;
|
|
14
3
|
/**
|
|
15
4
|
* Reads the scheduled-export dialog's recipient defaults.
|
package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDataContext.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledExportDataContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledExportDataContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"ScheduledExportDataContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledExportDataContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,gCAAgC,EAAE,MAAM,YAAY,CAAC;AAKnE,eAAO,MAAM,kCAAkC,wEAAsC,CAAC;AAEtF;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,IAAI,gCAAgC,CAKzE"}
|
|
@@ -1,18 +1,4 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import { type useScheduledEmailFormState } from "./useScheduledEmailFormState.js";
|
|
3
|
-
/**
|
|
4
|
-
* The scheduled-export dialog's edit draft: the automation being edited, the baseline it is
|
|
5
|
-
* compared against for the submit gate, the normalized start date, and the per-field validity
|
|
6
|
-
* flags the form fields report back.
|
|
7
|
-
*
|
|
8
|
-
* Changes on every keystroke; consumers re-render by design. The shape is derived from
|
|
9
|
-
* `useScheduledEmailFormState`, which owns these values, and `useScheduleTimezone`, which owns the
|
|
10
|
-
* "Time zone" section's view state (a timezone pick also edits the draft's export definitions, so
|
|
11
|
-
* the selection changes together with the draft).
|
|
12
|
-
*
|
|
13
|
-
* @internal
|
|
14
|
-
*/
|
|
15
|
-
export type IScheduledExportDraftContextValue = Pick<ReturnType<typeof useScheduledEmailFormState>, "editedAutomation" | "originalAutomation" | "startDate" | "isCronValid" | "isTitleValid" | "isSubjectValid" | "isOnMessageValid"> & Pick<ReturnType<typeof useScheduleTimezone>, "isTimezoneFeatureEnabled" | "canSelectScheduleTimezone" | "scheduleTimezoneSelection" | "defaultResolvedTimezone" | "scheduleTimezoneIsStale">;
|
|
1
|
+
import { type IScheduledExportDraftContextValue } from "./types.js";
|
|
16
2
|
export declare const ScheduledExportDraftContextProvider: import("react").Provider<IScheduledExportDraftContextValue | undefined>;
|
|
17
3
|
/**
|
|
18
4
|
* Reads the scheduled-export dialog's edit draft.
|
package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledExportDraftContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScheduledExportDraftContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,iCAAiC,EAAE,MAAM,YAAY,CAAC;AAKpE,eAAO,MAAM,mCAAmC,yEAAuC,CAAC;AAExF;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,IAAI,iCAAiC,CAK3E"}
|
package/esm/presentation/automations/scheduledEmail/state/ScheduledExportFiltersContext.d.ts
CHANGED
|
@@ -1,17 +1,5 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
|
|
3
|
-
* The scheduled-export dialog's filter and export-parameter model: the current selection and the
|
|
4
|
-
* available filters, flat and per-tab, the handlers that mutate them and mirror the result into the
|
|
5
|
-
* draft, the store-filters toggle, the staleness gate that opens the apply-current-filters dialog,
|
|
6
|
-
* and the parameter chips with their add, change, delete and apply-latest handlers.
|
|
7
|
-
*
|
|
8
|
-
* The model's whole return is the context value rather than a selection from it, because the model
|
|
9
|
-
* is the unit a replacement reads: a member cannot be dropped from it.
|
|
10
|
-
*
|
|
11
|
-
* @internal
|
|
12
|
-
*/
|
|
13
|
-
export type IScheduledExportFiltersContextValue = ReturnType<typeof useScheduledEmailFiltersModel>;
|
|
14
|
-
export declare const ScheduledExportFiltersContextProvider: import("react").Provider<import("./useScheduledEmailFiltersModel.js").IUseScheduledEmailFiltersModel | undefined>;
|
|
1
|
+
import { type IScheduledExportFiltersContextValue } from "./types.js";
|
|
2
|
+
export declare const ScheduledExportFiltersContextProvider: import("react").Provider<IScheduledExportFiltersContextValue | undefined>;
|
|
15
3
|
/**
|
|
16
4
|
* Reads the scheduled-export dialog's filter and export-parameter model.
|
|
17
5
|
*
|
package/esm/presentation/automations/scheduledEmail/state/ScheduledExportFiltersContext.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScheduledExportFiltersContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledExportFiltersContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"ScheduledExportFiltersContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/ScheduledExportFiltersContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,mCAAmC,EAAE,MAAM,YAAY,CAAC;AAOtE,eAAO,MAAM,qCAAqC,2EAAyC,CAAC;AAE5F;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,IAAI,mCAAmC,CAK/E"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { type Dispatch, type SetStateAction } from "react";
|
|
2
|
+
import { type DashboardAttachmentType, type FilterContextItem, type IAutomationMetadataObjectDefinition, type IAutomationRecipient, type IDashboardExportParameter, type IExportDefinitionVisualizationObjectSettings, type IdentifierRef, type ParameterValue, type WidgetAttachmentType } from "@gooddata/sdk-model";
|
|
3
|
+
import { type IAutomationFiltersTab } from "../../../../model/store/filtering/types.js";
|
|
4
|
+
import { type IAutomationParameter } from "../../shared/automationFilters/automationParameters.js";
|
|
5
|
+
import { type IScheduleTimezoneSelection } from "../types.js";
|
|
6
|
+
/**
|
|
7
|
+
* The scheduled-export dialog's edit draft: the automation being edited, its baseline, the derived
|
|
8
|
+
* start date, the per-field validity flags, and the "Time zone" section's state.
|
|
9
|
+
*
|
|
10
|
+
* Changes on every keystroke; consumers re-render by design.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export interface IScheduledExportDraftContextValue {
|
|
15
|
+
editedAutomation: IAutomationMetadataObjectDefinition;
|
|
16
|
+
/**
|
|
17
|
+
* The draft as it was when the dialog opened; the dirty check compares against it.
|
|
18
|
+
*/
|
|
19
|
+
originalAutomation: IAutomationMetadataObjectDefinition;
|
|
20
|
+
/**
|
|
21
|
+
* The schedule's first run in the user's timezone, normalized for the recurrence form.
|
|
22
|
+
*/
|
|
23
|
+
startDate: Date;
|
|
24
|
+
isCronValid: boolean;
|
|
25
|
+
isTitleValid: boolean;
|
|
26
|
+
isSubjectValid: boolean;
|
|
27
|
+
isOnMessageValid: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* The enableTimezoneChange setting; timezone-related presentation is gated by it.
|
|
30
|
+
*/
|
|
31
|
+
isTimezoneFeatureEnabled: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Whether the schedule may define its own export timezone (the "Time zone" section renders).
|
|
34
|
+
*/
|
|
35
|
+
canSelectScheduleTimezone: boolean;
|
|
36
|
+
scheduleTimezoneSelection: IScheduleTimezoneSelection;
|
|
37
|
+
/**
|
|
38
|
+
* Concrete timezone the dashboard-schedule Default option currently resolves to (display only).
|
|
39
|
+
*/
|
|
40
|
+
defaultResolvedTimezone: string | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* True when the edited schedule cannot behave correctly as stored (widget schedule missing a
|
|
43
|
+
* dashboard-scoped timezone); feeds the apply-current-state confirmation.
|
|
44
|
+
*/
|
|
45
|
+
scheduleTimezoneIsStale: boolean;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The scheduled-export dialog's mutators: the draft setter, the form change-handlers, the
|
|
49
|
+
* attachment handlers and the "Time zone" section handlers.
|
|
50
|
+
*
|
|
51
|
+
* Changes rarely.
|
|
52
|
+
*
|
|
53
|
+
* @internal
|
|
54
|
+
*/
|
|
55
|
+
export interface IScheduledExportActionsContextValue {
|
|
56
|
+
setEditedAutomation: Dispatch<SetStateAction<IAutomationMetadataObjectDefinition>>;
|
|
57
|
+
onTitleChange: (value: string) => void;
|
|
58
|
+
onRecurrenceChange: (cronExpression: string, startDate: Date | null, isValid: boolean) => void;
|
|
59
|
+
onEvaluationModeChange: (isShared: boolean) => void;
|
|
60
|
+
onDestinationChange: (notificationChannelId: string) => void;
|
|
61
|
+
onRecipientsChange: (recipients: IAutomationRecipient[]) => void;
|
|
62
|
+
onSubjectChange: (value: string | number, isValid: boolean) => void;
|
|
63
|
+
onMessageChange: (value: string, isValid: boolean) => void;
|
|
64
|
+
/**
|
|
65
|
+
* Replaces the dashboard export formats; new definitions inherit the current filters and timezone.
|
|
66
|
+
*/
|
|
67
|
+
onDashboardAttachmentsChange: (formats: DashboardAttachmentType[]) => void;
|
|
68
|
+
/**
|
|
69
|
+
* Replaces the widget export formats; throws when the dialog has no widget.
|
|
70
|
+
*/
|
|
71
|
+
onWidgetAttachmentsChange: (formats: WidgetAttachmentType[]) => void;
|
|
72
|
+
onXlsxSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
|
|
73
|
+
onPdfSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
|
|
74
|
+
onCsvSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
|
|
75
|
+
onCsvRawSettingsChange: (settings: IExportDefinitionVisualizationObjectSettings) => void;
|
|
76
|
+
onSlidesTemplateIdChange: (templateId: string | undefined, format: "PPTX" | "PDF_SLIDES" | "PDF") => void;
|
|
77
|
+
/**
|
|
78
|
+
* Picks the export-content timezone; undefined selects the Default option.
|
|
79
|
+
*/
|
|
80
|
+
onScheduleTimezoneChange: (timezoneId: string | undefined) => void;
|
|
81
|
+
/**
|
|
82
|
+
* Repairs a stale schedule timezone with the currently effective one.
|
|
83
|
+
*/
|
|
84
|
+
applyCurrentScheduleTimezone: () => void;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* The scheduled-export dialog's recipient defaults: the logged-in user as a recipient, and the
|
|
88
|
+
* recipient a new schedule is seeded with, which an external-recipient override replaces.
|
|
89
|
+
*
|
|
90
|
+
* Changes when the current user or the override changes, so not while the draft is edited.
|
|
91
|
+
*
|
|
92
|
+
* @internal
|
|
93
|
+
*/
|
|
94
|
+
export interface IScheduledExportDataContextValue {
|
|
95
|
+
defaultUser: IAutomationRecipient;
|
|
96
|
+
defaultRecipient: IAutomationRecipient;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* The scheduled-export dialog's filter and export-parameter model: the current selection and
|
|
100
|
+
* available filters (flat and per tab), the handlers that mutate them, the staleness gate, and the
|
|
101
|
+
* export-parameter chips with their handlers.
|
|
102
|
+
*
|
|
103
|
+
* Changes when a filter, a parameter or the store-filters toggle is edited; never per keystroke.
|
|
104
|
+
*
|
|
105
|
+
* @internal
|
|
106
|
+
*/
|
|
107
|
+
export interface IScheduledExportFiltersContextValue {
|
|
108
|
+
selectedFilters: FilterContextItem[];
|
|
109
|
+
availableFilters: FilterContextItem[] | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* Whether the schedule stores its own filters instead of using the latest saved dashboard filters.
|
|
112
|
+
*/
|
|
113
|
+
storeFilters: boolean;
|
|
114
|
+
/**
|
|
115
|
+
* Filters structured per dashboard tab; present with more than one tab.
|
|
116
|
+
*/
|
|
117
|
+
filtersByTab: IAutomationFiltersTab[] | undefined;
|
|
118
|
+
editedFiltersByTab: Record<string, FilterContextItem[]> | undefined;
|
|
119
|
+
/**
|
|
120
|
+
* Replaces the selection with the complete updated array and mirrors it into the export
|
|
121
|
+
* definitions. `storeFiltersParam` overrides the current toggle value for this write.
|
|
122
|
+
*/
|
|
123
|
+
onFiltersChange: (filters: FilterContextItem[], storeFiltersParam?: boolean) => void;
|
|
124
|
+
onFiltersByTabChange: (newFiltersByTab: Record<string, FilterContextItem[]>, storeFiltersParam?: boolean) => void;
|
|
125
|
+
/**
|
|
126
|
+
* Replaces the selection with the dashboard's current filters (the stale-filters repair).
|
|
127
|
+
*/
|
|
128
|
+
onApplyCurrentFilters: () => void;
|
|
129
|
+
/**
|
|
130
|
+
* Toggles filter and parameter persistence. The current filters must be passed back — flat mode
|
|
131
|
+
* as `(value, filters, undefined)`, by-tab mode as `(value, undefined, filtersByTab)`.
|
|
132
|
+
*/
|
|
133
|
+
onStoreFiltersChange: (value: boolean, filters?: FilterContextItem[], filtersByTabParam?: Record<string, FilterContextItem[]>) => void;
|
|
134
|
+
/**
|
|
135
|
+
* False when the saved filters or the saved parameters no longer match the dashboard; gates the
|
|
136
|
+
* stale-filters confirmation.
|
|
137
|
+
*/
|
|
138
|
+
automationIsValid: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Whether the saved filters alone no longer match the dashboard.
|
|
141
|
+
*/
|
|
142
|
+
filtersAreStale: boolean;
|
|
143
|
+
parametersEnabled: boolean;
|
|
144
|
+
/**
|
|
145
|
+
* Per-tab visible parameters to render as chips.
|
|
146
|
+
*/
|
|
147
|
+
visibleParametersByTab: Record<string, IAutomationParameter[]>;
|
|
148
|
+
/**
|
|
149
|
+
* Per-tab workspace parameters addable via the "+" menu.
|
|
150
|
+
*/
|
|
151
|
+
availableParametersByTab: Record<string, IAutomationParameter[]>;
|
|
152
|
+
/**
|
|
153
|
+
* The tab the flat (non-tabbed) UI edits; undefined for multi-tab dashboards or when no
|
|
154
|
+
* parameter context applies.
|
|
155
|
+
*/
|
|
156
|
+
flatTabId: string | undefined;
|
|
157
|
+
onParameterAdd: (ref: IdentifierRef) => void;
|
|
158
|
+
onParameterChange: (ref: IdentifierRef, value: ParameterValue) => void;
|
|
159
|
+
onParameterDelete: (ref: IdentifierRef) => void;
|
|
160
|
+
onParameterAddByTab: (tabId: string, ref: IdentifierRef) => void;
|
|
161
|
+
onParameterChangeByTab: (tabId: string, ref: IdentifierRef, value: ParameterValue) => void;
|
|
162
|
+
onParameterDeleteByTab: (tabId: string, ref: IdentifierRef) => void;
|
|
163
|
+
/**
|
|
164
|
+
* Resets the parameters to the dashboard's current effective values (the "apply latest" flow).
|
|
165
|
+
*/
|
|
166
|
+
applyLatest: () => void;
|
|
167
|
+
/**
|
|
168
|
+
* Re-encodes the parameters onto the automation with the new persistence value.
|
|
169
|
+
*/
|
|
170
|
+
onStoreParametersChange: (storeParameters: boolean) => void;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Return type of `useScheduledEmailFormState`, composed from the context values it feeds.
|
|
174
|
+
*
|
|
175
|
+
* @internal
|
|
176
|
+
*/
|
|
177
|
+
export type IScheduledEmailFormState = Pick<IScheduledExportDraftContextValue, "editedAutomation" | "originalAutomation" | "startDate" | "isCronValid" | "isTitleValid" | "isSubjectValid" | "isOnMessageValid"> & Pick<IScheduledExportActionsContextValue, "setEditedAutomation" | "onTitleChange" | "onRecurrenceChange" | "onEvaluationModeChange" | "onDestinationChange" | "onRecipientsChange" | "onSubjectChange" | "onMessageChange"> & IScheduledExportDataContextValue;
|
|
178
|
+
/**
|
|
179
|
+
* Return type of `useScheduledEmailExportSettings`: the attachment handlers plus the
|
|
180
|
+
* parameter-wire writer only the filters model consumes.
|
|
181
|
+
*
|
|
182
|
+
* @internal
|
|
183
|
+
*/
|
|
184
|
+
export type IScheduledEmailExportSettings = Pick<IScheduledExportActionsContextValue, "onDashboardAttachmentsChange" | "onWidgetAttachmentsChange" | "onXlsxSettingsChange" | "onPdfSettingsChange" | "onCsvSettingsChange" | "onCsvRawSettingsChange" | "onSlidesTemplateIdChange"> & {
|
|
185
|
+
setParametersWire: (wire: Record<string, IDashboardExportParameter[]> | undefined) => void;
|
|
186
|
+
};
|
|
187
|
+
/**
|
|
188
|
+
* Return type of `useScheduleTimezone`: the "Time zone" section's state and handlers plus the live
|
|
189
|
+
* value export-definition rebuilds read.
|
|
190
|
+
*
|
|
191
|
+
* @internal
|
|
192
|
+
*/
|
|
193
|
+
export type IScheduleTimezoneState = Pick<IScheduledExportDraftContextValue, "isTimezoneFeatureEnabled" | "canSelectScheduleTimezone" | "scheduleTimezoneSelection" | "defaultResolvedTimezone" | "scheduleTimezoneIsStale"> & Pick<IScheduledExportActionsContextValue, "onScheduleTimezoneChange" | "applyCurrentScheduleTimezone"> & {
|
|
194
|
+
/**
|
|
195
|
+
* Live value for export definitions created after the dialog opened. Active when the section
|
|
196
|
+
* is interactive, and also when an edited schedule carries a stored timezone while the
|
|
197
|
+
* section is hidden.
|
|
198
|
+
*/
|
|
199
|
+
scheduleTimezone: {
|
|
200
|
+
active: boolean;
|
|
201
|
+
timezoneId: string | undefined;
|
|
202
|
+
};
|
|
203
|
+
};
|
|
204
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/types.ts"],"names":[],"mappings":"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"}
|
package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDialogRegionProps.d.ts
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { type KeyboardEvent, type Ref } from "react";
|
|
2
|
+
import { type IAutomationDialogActionBarProps, type IAutomationDialogDestinationProps } from "../../shared/slots/types.js";
|
|
3
|
+
import { type IScheduledEmailDialogFiltersProps, type IScheduledEmailDialogRecipientsProps, type ScheduledEmailDialogHeaderDefaultProps, type ScheduledEmailDialogTimezoneDefaultProps } from "../types.js";
|
|
4
|
+
/**
|
|
5
|
+
* Inputs of {@link useScheduledEmailDialogHeaderProps} that come from the dialog rather than its state.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export interface IUseScheduledEmailDialogHeaderPropsInput {
|
|
10
|
+
/**
|
|
11
|
+
* Returns to the management dialog; the header's back button calls it.
|
|
12
|
+
*/
|
|
13
|
+
onBack?: () => void;
|
|
14
|
+
/**
|
|
15
|
+
* Key-down handler of the title input; the dialog submits on Enter through it.
|
|
16
|
+
*/
|
|
17
|
+
onTitleKeyDown: (event: KeyboardEvent) => void;
|
|
18
|
+
/**
|
|
19
|
+
* The dialog's initial-focus ref, attached to the title input.
|
|
20
|
+
*/
|
|
21
|
+
ref?: Ref<HTMLInputElement>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* The exact props the default scheduled-email dialog renders its header region with.
|
|
25
|
+
*
|
|
26
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
27
|
+
*
|
|
28
|
+
* @internal
|
|
29
|
+
*/
|
|
30
|
+
export declare function useScheduledEmailDialogHeaderProps({ onBack, onTitleKeyDown, ref }: IUseScheduledEmailDialogHeaderPropsInput): ScheduledEmailDialogHeaderDefaultProps;
|
|
31
|
+
/**
|
|
32
|
+
* The exact props the default scheduled-email dialog renders its filters region with.
|
|
33
|
+
*
|
|
34
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
35
|
+
*
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
export declare function useScheduledEmailDialogFiltersProps(): IScheduledEmailDialogFiltersProps;
|
|
39
|
+
/**
|
|
40
|
+
* The exact props the default scheduled-email dialog renders its destination region with.
|
|
41
|
+
*
|
|
42
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
43
|
+
*
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
export declare function useScheduledEmailDialogDestinationProps(): IAutomationDialogDestinationProps;
|
|
47
|
+
/**
|
|
48
|
+
* Inputs of {@link useScheduledEmailDialogRecipientsProps} that come from the dialog rather than its state.
|
|
49
|
+
*
|
|
50
|
+
* @internal
|
|
51
|
+
*/
|
|
52
|
+
export interface IUseScheduledEmailDialogRecipientsPropsInput {
|
|
53
|
+
/**
|
|
54
|
+
* Key-down handler of the recipients input; the dialog submits on Enter through it.
|
|
55
|
+
*/
|
|
56
|
+
onKeyDownSubmit: (event: KeyboardEvent) => void;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The exact props the default scheduled-email dialog renders its recipients region with.
|
|
60
|
+
*
|
|
61
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
62
|
+
*
|
|
63
|
+
* @internal
|
|
64
|
+
*/
|
|
65
|
+
export declare function useScheduledEmailDialogRecipientsProps({ onKeyDownSubmit }: IUseScheduledEmailDialogRecipientsPropsInput): IScheduledEmailDialogRecipientsProps;
|
|
66
|
+
/**
|
|
67
|
+
* The exact props the default scheduled-email dialog renders its "Time zone" section with.
|
|
68
|
+
*
|
|
69
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
70
|
+
*
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
73
|
+
export declare function useScheduledEmailDialogTimezoneProps(): ScheduledEmailDialogTimezoneDefaultProps;
|
|
74
|
+
/**
|
|
75
|
+
* Inputs of {@link useScheduledEmailDialogActionBarProps} that come from the dialog rather than its state.
|
|
76
|
+
*
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
export interface IUseScheduledEmailDialogActionBarPropsInput {
|
|
80
|
+
/**
|
|
81
|
+
* Closes the dialog without saving.
|
|
82
|
+
*/
|
|
83
|
+
onCancel?: () => void;
|
|
84
|
+
/**
|
|
85
|
+
* Submits the automation; the dialog's single save path (see `useSaveScheduledEmailToBackend`).
|
|
86
|
+
*/
|
|
87
|
+
onSubmit: () => void;
|
|
88
|
+
/**
|
|
89
|
+
* Whether a save is in flight.
|
|
90
|
+
*/
|
|
91
|
+
isSaving: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Opens the delete confirmation. Rendered only when an existing schedule is being edited.
|
|
94
|
+
*/
|
|
95
|
+
onDelete?: () => void;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* The exact props the default scheduled-email dialog renders its action bar with.
|
|
99
|
+
*
|
|
100
|
+
* Throws outside the scheduled-export dialog's state providers.
|
|
101
|
+
*
|
|
102
|
+
* @internal
|
|
103
|
+
*/
|
|
104
|
+
export declare function useScheduledEmailDialogActionBarProps({ onCancel, onSubmit, isSaving, onDelete }: IUseScheduledEmailDialogActionBarPropsInput): IAutomationDialogActionBarProps;
|
|
105
|
+
//# sourceMappingURL=useScheduledEmailDialogRegionProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScheduledEmailDialogRegionProps.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/state/useScheduledEmailDialogRegionProps.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,GAAG,EAAW,MAAM,OAAO,CAAC;AAQ9D,OAAO,EACH,KAAK,+BAA+B,EACpC,KAAK,iCAAiC,EACzC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACH,KAAK,iCAAiC,EACtC,KAAK,oCAAoC,EACzC,KAAK,sCAAsC,EAC3C,KAAK,wCAAwC,EAChD,MAAM,aAAa,CAAC;AASrB;;;;GAIG;AACH,MAAM,WAAW,wCAAwC;IACrD;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;OAEG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAE/C;;OAEG;IACH,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAAC,EAC/C,MAAM,EACN,cAAc,EACd,GAAG,EACN,EAAE,wCAAwC,GAAG,sCAAsC,CAsDnF;AAED;;;;;;GAMG;AACH,wBAAgB,mCAAmC,IAAI,iCAAiC,CA6CvF;AAED;;;;;;GAMG;AACH,wBAAgB,uCAAuC,IAAI,iCAAiC,CAU3F;AAED;;;;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,CAsBrF;AAED;;;;;;GAMG;AACH,wBAAgB,oCAAoC,IAAI,wCAAwC,CAW/F;AAED;;;;GAIG;AACH,MAAM,WAAW,2CAA2C;IACxD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IAEtB;;OAEG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,qCAAqC,CAAC,EAClD,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,QAAQ,EACX,EAAE,2CAA2C,GAAG,+BAA+B,CAoC/E"}
|