@gooddata/sdk-ui-dashboard 11.53.0-alpha.6 → 11.53.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/index.d.ts +3 -3
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -2
- package/esm/model/commandHandlers/dashboard/exportDashboardToPdfHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToPdfHandler.js +3 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToPdfPresentationHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToPdfPresentationHandler.js +3 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToPptPresentationHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/exportDashboardToPptPresentationHandler.js +3 -1
- package/esm/model/commandHandlers/dashboard/exportToTabularHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/exportToTabularHandler.js +5 -3
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +9 -2
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadExportTimezone.d.ts +12 -0
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadExportTimezone.d.ts.map +1 -0
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadExportTimezone.js +25 -0
- package/esm/model/commandHandlers/timezone/changeDashboardTimezoneOverrideHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/timezone/changeDashboardTimezoneOverrideHandler.js +4 -3
- package/esm/model/commandHandlers/widgets/exportImageInsightWidgetHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/widgets/exportImageInsightWidgetHandler.js +3 -1
- package/esm/model/commandHandlers/widgets/exportInsightWidgetHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/widgets/exportInsightWidgetHandler.js +4 -2
- package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/widgets/exportRawInsightWidgetHandler.js +7 -1
- package/esm/model/commandHandlers/widgets/exportSlidesInsightWidgetHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/widgets/exportSlidesInsightWidgetHandler.js +3 -1
- package/esm/model/store/config/configSelectors.d.ts +6 -0
- package/esm/model/store/config/configSelectors.d.ts.map +1 -1
- package/esm/model/store/config/configSelectors.js +8 -0
- package/esm/model/store/meta/metaSelectors.d.ts +16 -0
- package/esm/model/store/meta/metaSelectors.d.ts.map +1 -1
- package/esm/model/store/meta/metaSelectors.js +28 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/convertors.d.ts +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/convertors.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/DefaultAlertingDialog/utils/convertors.js +6 -1
- package/esm/presentation/automations/alerting/state/useAlertFormState.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/useAlertFormState.js +6 -2
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.d.ts.map +1 -1
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.js +29 -3
- package/esm/presentation/automations/contexts/AutomationsContext.d.ts +39 -0
- package/esm/presentation/automations/contexts/AutomationsContext.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +33 -10
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduleTimezoneSelect/ScheduleTimezoneSelect.d.ts +15 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduleTimezoneSelect/ScheduleTimezoneSelect.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/components/ScheduleTimezoneSelect/ScheduleTimezoneSelect.js +58 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useExportTimezones.d.ts +52 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useExportTimezones.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useExportTimezones.js +46 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduleTimezone.d.ts +47 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduleTimezone.d.ts.map +1 -0
- package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduleTimezone.js +90 -0
- package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.js +21 -0
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.d.ts +2 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportActionsContext.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.d.ts +5 -2
- package/esm/presentation/automations/scheduledEmail/state/ScheduledExportDraftContext.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/exportDefinitions.d.ts +19 -2
- package/esm/presentation/automations/scheduledEmail/state/exportDefinitions.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/exportDefinitions.js +35 -2
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailExportSettings.d.ts +9 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailExportSettings.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailExportSettings.js +10 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFormState.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailFormState.js +14 -2
- package/esm/presentation/automations/scheduledEmail/types.d.ts +64 -0
- package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/components/ApplyLatestFiltersConfirmDialog.d.ts +12 -1
- package/esm/presentation/automations/shared/automationFilters/components/ApplyLatestFiltersConfirmDialog.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/components/ApplyLatestFiltersConfirmDialog.js +17 -2
- package/esm/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.d.ts.map +1 -1
- package/esm/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.js +3 -1
- package/esm/presentation/dashboardSettingsDialog/TimezoneOption.d.ts.map +1 -1
- package/esm/presentation/dashboardSettingsDialog/TimezoneOption.js +5 -6
- package/esm/presentation/filterBar/filterBar/useExecutionTimestampMessage.d.ts.map +1 -1
- package/esm/presentation/filterBar/filterBar/useExecutionTimestampMessage.js +6 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +48 -4
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js +51 -7
- package/esm/presentation/timezoneDialog/TimezoneDialog.d.ts +1 -1
- package/esm/presentation/timezoneDialog/TimezoneDialog.d.ts.map +1 -1
- package/esm/presentation/timezoneDialog/TimezoneDialog.js +7 -6
- package/esm/presentation/topBar/menuButton/useDefaultMenuItems.d.ts.map +1 -1
- package/esm/presentation/topBar/menuButton/useDefaultMenuItems.js +6 -2
- package/esm/presentation/topBar/timezoneIndicator/TimezoneIndicator.d.ts +4 -3
- package/esm/presentation/topBar/timezoneIndicator/TimezoneIndicator.d.ts.map +1 -1
- package/esm/presentation/topBar/timezoneIndicator/TimezoneIndicator.js +10 -9
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts.map +1 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js +6 -1
- package/esm/sdk-ui-dashboard.d.ts +134 -3
- package/package.json +21 -21
- package/styles/css/main.css +29 -0
- package/styles/css/main.css.map +1 -1
- package/styles/css/scheduleTimezone.css +30 -0
- package/styles/css/scheduleTimezone.css.map +1 -0
- package/styles/scss/main.scss +1 -0
- package/styles/scss/scheduleTimezone.scss +37 -0
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/PauseAlertRunner.test.d.ts +0 -2
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/PauseAlertRunner.test.d.ts.map +0 -1
- package/esm/presentation/automations/alerting/DefaultAlertingManagementDialog/components/PauseAlertRunner.test.js +0 -39
- package/esm/presentation/automations/connectors/AlertingConnector.test.d.ts +0 -2
- package/esm/presentation/automations/connectors/AlertingConnector.test.d.ts.map +0 -1
- package/esm/presentation/automations/connectors/AlertingConnector.test.js +0 -201
- package/esm/presentation/automations/connectors/ScheduledEmailConnector.test.d.ts +0 -2
- package/esm/presentation/automations/connectors/ScheduledEmailConnector.test.d.ts.map +0 -1
- package/esm/presentation/automations/connectors/ScheduledEmailConnector.test.js +0 -225
- package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.test.d.ts +0 -2
- package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.test.d.ts.map +0 -1
- package/esm/presentation/automations/connectors/hooks/useBuildAlertingDialogContext.test.js +0 -95
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.test.d.ts +0 -2
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.test.d.ts.map +0 -1
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.test.js +0 -185
- package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.test.d.ts +0 -2
- package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.test.d.ts.map +0 -1
- package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailDialogContext.test.js +0 -175
- package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailManagementDialogContext.test.d.ts +0 -2
- package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailManagementDialogContext.test.d.ts.map +0 -1
- package/esm/presentation/automations/connectors/hooks/useBuildScheduledEmailManagementDialogContext.test.js +0 -48
- package/esm/presentation/automations/contexts/AutomationsContext.test.d.ts +0 -2
- package/esm/presentation/automations/contexts/AutomationsContext.test.d.ts.map +0 -1
- package/esm/presentation/automations/contexts/AutomationsContext.test.js +0 -9
- package/esm/presentation/automations/shared/automationFilters/components/AutomationDateFilter.test.d.ts +0 -2
- package/esm/presentation/automations/shared/automationFilters/components/AutomationDateFilter.test.d.ts.map +0 -1
- package/esm/presentation/automations/shared/automationFilters/components/AutomationDateFilter.test.js +0 -159
- package/esm/presentation/export/DefaultDashboardExportVariables.test.d.ts +0 -2
- package/esm/presentation/export/DefaultDashboardExportVariables.test.d.ts.map +0 -1
- package/esm/presentation/export/DefaultDashboardExportVariables.test.js +0 -58
- package/esm/presentation/widget/insight/LayeredTableView.test.d.ts +0 -2
- package/esm/presentation/widget/insight/LayeredTableView.test.d.ts.map +0 -1
- package/esm/presentation/widget/insight/LayeredTableView.test.js +0 -149
- package/esm/presentation/widget/insight/configuration/InsightAlertsNew.test.d.ts +0 -2
- package/esm/presentation/widget/insight/configuration/InsightAlertsNew.test.d.ts.map +0 -1
- package/esm/presentation/widget/insight/configuration/InsightAlertsNew.test.js +0 -124
- package/esm/presentation/widget/insight/geoDefaultDisplayFormRefs.test.d.ts +0 -2
- package/esm/presentation/widget/insight/geoDefaultDisplayFormRefs.test.d.ts.map +0 -1
- package/esm/presentation/widget/insight/geoDefaultDisplayFormRefs.test.js +0 -139
- package/esm/presentation/widget/insight/insightToTable.test.d.ts +0 -2
- package/esm/presentation/widget/insight/insightToTable.test.d.ts.map +0 -1
- package/esm/presentation/widget/insight/insightToTable.test.js +0 -325
|
@@ -445,6 +445,10 @@ export const en_US = {
|
|
|
445
445
|
"text": "Time zone used for date filters and date values on this dashboard.",
|
|
446
446
|
"crowdinContext": "Tooltip of the default time zone picker in the dashboard settings dialog"
|
|
447
447
|
},
|
|
448
|
+
"settingsDashboardDialog.section.timezone.defaultTimezone.help": {
|
|
449
|
+
"text": "More information",
|
|
450
|
+
"crowdinContext": "Screen-reader label of the help icon next to the time zone picker label in the dashboard settings dialog; focusing the icon reads the tooltip with details."
|
|
451
|
+
},
|
|
448
452
|
"settingsDashboardDialog.section.timezone.defaultTimezone.workspace": {
|
|
449
453
|
"text": "Default",
|
|
450
454
|
"crowdinContext": "Time zone picker item meaning the workspace default time zone is used."
|
|
@@ -478,7 +482,7 @@ export const en_US = {
|
|
|
478
482
|
"crowdinContext": "Tooltip of the toggle controlling whether the used time zone is shown on the dashboard"
|
|
479
483
|
},
|
|
480
484
|
"settingsDashboardDialog.section.timezone.select.searchPlaceholder": {
|
|
481
|
-
"text": "Search
|
|
485
|
+
"text": "Search…",
|
|
482
486
|
"crowdinContext": "Placeholder of the search input in the time zone picker"
|
|
483
487
|
},
|
|
484
488
|
"settingsDashboardDialog.section.timezone.select.noMatch": {
|
|
@@ -493,10 +497,6 @@ export const en_US = {
|
|
|
493
497
|
"text": "<b>Note:</b> Time zone resets to the default when you reload the page.",
|
|
494
498
|
"crowdinContext": "Note in the dialog for temporarily changing the dashboard time zone in view mode. The <b> tags wrap the 'Note:' label."
|
|
495
499
|
},
|
|
496
|
-
"timezoneDialog.description.ariaLabel": {
|
|
497
|
-
"text": "Change timezone dialog information message",
|
|
498
|
-
"crowdinContext": "Aria label for the change timezone dialog information message"
|
|
499
|
-
},
|
|
500
500
|
"timezoneDialog.default": {
|
|
501
501
|
"text": "Default",
|
|
502
502
|
"crowdinContext": "Time zone picker item meaning the dashboard's configured time zone is used."
|
|
@@ -506,7 +506,7 @@ export const en_US = {
|
|
|
506
506
|
"crowdinContext": "Time zone picker item meaning the time zone is detected from the viewer's browser. The {timezone} placeholder shows the detected time zone."
|
|
507
507
|
},
|
|
508
508
|
"timezoneDialog.select.searchPlaceholder": {
|
|
509
|
-
"text": "Search
|
|
509
|
+
"text": "Search…",
|
|
510
510
|
"crowdinContext": "Placeholder of the search input in the time zone picker of the change time zone dialog"
|
|
511
511
|
},
|
|
512
512
|
"timezoneDialog.select.noMatch": {
|
|
@@ -957,6 +957,38 @@ export const en_US = {
|
|
|
957
957
|
"text": "Note: These filters will always be used for future exports.",
|
|
958
958
|
"crowdinContext": "Informational message about filters being permanently applied to exports"
|
|
959
959
|
},
|
|
960
|
+
"dialogs.schedule.email.timezone": {
|
|
961
|
+
"text": "Time zone",
|
|
962
|
+
"crowdinContext": "Label of the time zone section in the scheduled export dialog"
|
|
963
|
+
},
|
|
964
|
+
"dialogs.automation.timezone.default": {
|
|
965
|
+
"text": "Default",
|
|
966
|
+
"crowdinContext": "Time zone picker item in the scheduled export dialog meaning the persisted dashboard or workspace/organization time zone setting is used"
|
|
967
|
+
},
|
|
968
|
+
"dialogs.automation.timezone.default.tooltip": {
|
|
969
|
+
"text": "Follows the time zone set for the dashboard or, when the dashboard has none, for your organization, workspace, or user account. It updates automatically if that setting changes.",
|
|
970
|
+
"crowdinContext": "Tooltip of the Default time zone picker item in the scheduled export dialog"
|
|
971
|
+
},
|
|
972
|
+
"dialogs.automation.timezone.select.searchPlaceholder": {
|
|
973
|
+
"text": "Search ...",
|
|
974
|
+
"crowdinContext": "Placeholder of the search input in the time zone picker of the scheduled export dialog"
|
|
975
|
+
},
|
|
976
|
+
"dialogs.automation.timezone.select.noMatch": {
|
|
977
|
+
"text": "No matching time zone.",
|
|
978
|
+
"crowdinContext": "Message shown when the time zone search yields no results in the scheduled export dialog"
|
|
979
|
+
},
|
|
980
|
+
"dialogs.automation.timezone.now": {
|
|
981
|
+
"text": "Now: {time}",
|
|
982
|
+
"crowdinContext": "Live clock preview next to the time zone picker in the scheduled export dialog. Example: 'Now: 14:45'. The {time} placeholder is replaced with the current time in the selected time zone."
|
|
983
|
+
},
|
|
984
|
+
"dialogs.automation.timezone.defaultNow": {
|
|
985
|
+
"text": "{timezone}, Now: {time}",
|
|
986
|
+
"crowdinContext": "Live clock preview next to the time zone picker in the scheduled export dialog when the Default option is selected. Example: 'Prague (GMT+01:00), Now: 14:45'. The {timezone} placeholder shows the time zone the Default option currently resolves to, the {time} placeholder shows the current time in it."
|
|
987
|
+
},
|
|
988
|
+
"dialogs.automation.timezone.usage": {
|
|
989
|
+
"text": "Used to calculate dates in the exported data.",
|
|
990
|
+
"crowdinContext": "Helper text under the time zone picker in the scheduled export dialog"
|
|
991
|
+
},
|
|
960
992
|
"dialogs.automation.filters.missing": {
|
|
961
993
|
"text": "<b>Warning:</b> Some filters couldn't be applied — they're no longer available on the dashboard.",
|
|
962
994
|
"crowdinContext": "Warning message when saved filters are no longer available on the dashboard"
|
|
@@ -993,6 +1025,14 @@ export const en_US = {
|
|
|
993
1025
|
"text": "<b>Warning</b>: Some filters used when this schedule was created are no longer available or valid. Editing will apply the current dashboard filters.",
|
|
994
1026
|
"crowdinContext": "Warning message when editing a schedule with outdated filters"
|
|
995
1027
|
},
|
|
1028
|
+
"dialogs.automation.applyCurrentFilters.schedule.timezone.confirm": {
|
|
1029
|
+
"text": "<b>Warning</b>: The time zone used when this schedule was created no longer matches the dashboard. Editing will apply the dashboard's current time zone.",
|
|
1030
|
+
"crowdinContext": "Warning message when editing a schedule whose stored time zone no longer matches the dashboard"
|
|
1031
|
+
},
|
|
1032
|
+
"dialogs.automation.applyCurrentFilters.schedule.filtersAndTimezone.confirm": {
|
|
1033
|
+
"text": "<b>Warning</b>: Some filters and the time zone used when this schedule was created are no longer available or valid. Editing will apply the current dashboard filters and time zone.",
|
|
1034
|
+
"crowdinContext": "Warning message when editing a schedule with outdated filters and an outdated time zone"
|
|
1035
|
+
},
|
|
996
1036
|
"dialogs.automation.filters.schedule.ariaLabel": {
|
|
997
1037
|
"text": "Information about the option: Always use these filters for future exports.",
|
|
998
1038
|
"crowdinContext": "Aria label for Schedule Dialog Automation Filters tooltip"
|
|
@@ -1525,9 +1565,13 @@ export const en_US = {
|
|
|
1525
1565
|
"text": "The creator can edit this dashboard. Other users with appropriate user roles can edit this dashboard when they drill to it.",
|
|
1526
1566
|
"crowdinContext": "Tooltip explaining that while the dashboard is private, users with proper roles can edit it when accessing through drill navigation"
|
|
1527
1567
|
},
|
|
1568
|
+
"topBar.timezoneIndicator.label": {
|
|
1569
|
+
"text": "Time zone: ",
|
|
1570
|
+
"crowdinContext": "Screen-reader-only prefix of the time zone indicator badge in the dashboard top bar; read before the friendly time zone name (e.g. Prague). Keep the trailing space."
|
|
1571
|
+
},
|
|
1528
1572
|
"topBar.timezoneIndicator.tooltip": {
|
|
1529
1573
|
"text": "Time zone",
|
|
1530
|
-
"crowdinContext": "Tooltip of the time zone indicator in the dashboard top bar
|
|
1574
|
+
"crowdinContext": "Tooltip of the time zone indicator in the dashboard top bar, shown when hovering the indicator badge."
|
|
1531
1575
|
},
|
|
1532
1576
|
"dashboard.shareDialog.removeAccessGranteeTooltip": {
|
|
1533
1577
|
"text": "Remove access to this dashboard.",
|
|
@@ -4,7 +4,7 @@ import { type ReactElement } from "react";
|
|
|
4
4
|
*
|
|
5
5
|
* @remarks
|
|
6
6
|
* The dialog hosts the shared timezone picker with two special items: "Default" (clears the
|
|
7
|
-
* override so the dashboard/workspace configuration applies again) and "
|
|
7
|
+
* override so the dashboard/workspace configuration applies again) and "Device time zone". Applying
|
|
8
8
|
* a selection dispatches the ChangeDashboardTimezoneOverride command; its handler resolves the
|
|
9
9
|
* browser-detected sentinel, so the session-only ui state always ends up with a concrete IANA
|
|
10
10
|
* timezone ID. The override is never persisted with the dashboard.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimezoneDialog.d.ts","sourceRoot":"","sources":["../../../src/presentation/timezoneDialog/TimezoneDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAgD,MAAM,OAAO,CAAC;AAsBxF;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,IAAI,YAAY,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"TimezoneDialog.d.ts","sourceRoot":"","sources":["../../../src/presentation/timezoneDialog/TimezoneDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAgD,MAAM,OAAO,CAAC;AAsBxF;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,IAAI,YAAY,GAAG,IAAI,CA+FpD"}
|
|
@@ -15,7 +15,7 @@ import { selectTimezoneOverride } from "../../model/store/ui/uiSelectors.js";
|
|
|
15
15
|
*
|
|
16
16
|
* @remarks
|
|
17
17
|
* The dialog hosts the shared timezone picker with two special items: "Default" (clears the
|
|
18
|
-
* override so the dashboard/workspace configuration applies again) and "
|
|
18
|
+
* override so the dashboard/workspace configuration applies again) and "Device time zone". Applying
|
|
19
19
|
* a selection dispatches the ChangeDashboardTimezoneOverride command; its handler resolves the
|
|
20
20
|
* browser-detected sentinel, so the session-only ui state always ends up with a concrete IANA
|
|
21
21
|
* timezone ID. The override is never persisted with the dashboard.
|
|
@@ -38,8 +38,6 @@ export function TimezoneDialog() {
|
|
|
38
38
|
const defaultTimezoneId = resolveTimezoneId(timezoneConfig?.timezoneId) ?? workspaceTimezone;
|
|
39
39
|
const specialItems = useMemo(() => {
|
|
40
40
|
const defaultItemLabel = intl.formatMessage({ id: "timezoneDialog.default" });
|
|
41
|
-
// plain ID here — the label template already brackets the value, so the "id (offset)"
|
|
42
|
-
// display label would produce nested brackets
|
|
43
41
|
const browserTimezoneId = Intl.DateTimeFormat().resolvedOptions().timeZone;
|
|
44
42
|
const browserTimezoneName = getTimezoneDisplayLabel(browserTimezoneId);
|
|
45
43
|
const browserItemLabel = intl.formatMessage({ id: "timezoneDialog.fromBrowser" }, { timezone: browserTimezoneName });
|
|
@@ -71,8 +69,11 @@ export function TimezoneDialog() {
|
|
|
71
69
|
_jsxs("div", { className: "gd-timezone-dialog-picker", children: [
|
|
72
70
|
_jsx(TimezoneSelect, { value: selected, onChange: setSelected, specialItems: specialItems, searchPlaceholder: intl.formatMessage({
|
|
73
71
|
id: "timezoneDialog.select.searchPlaceholder",
|
|
74
|
-
}), ariaLabel: intl.formatMessage({ id: "timezoneDialog.title" }), noMatchLabel: intl.formatMessage({ id: "timezoneDialog.select.noMatch" }) }),
|
|
75
|
-
|
|
76
|
-
|
|
72
|
+
}), ariaLabel: intl.formatMessage({ id: "timezoneDialog.title" }), noMatchLabel: intl.formatMessage({ id: "timezoneDialog.select.noMatch" }) }), _jsx("span", { className: "gd-timezone-dialog-current-time", "aria-live": "polite", children: currentTimeOfTimezone
|
|
73
|
+
? intl.formatMessage({ id: "timezoneDialog.currentTime" }, { time: currentTimeOfTimezone })
|
|
74
|
+
: null })
|
|
75
|
+
] }), _jsx(Message, { type: "progress", className: "gd-timezone-dialog-description s-timezone-dialog-description", children: _jsx(FormattedMessage, { id: "timezoneDialog.description", values: {
|
|
76
|
+
b: (chunks) => _jsx("strong", { children: chunks }),
|
|
77
|
+
} }) })
|
|
77
78
|
] }));
|
|
78
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDefaultMenuItems.d.ts","sourceRoot":"","sources":["../../../../src/presentation/topBar/menuButton/useDefaultMenuItems.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDefaultMenuItems.d.ts","sourceRoot":"","sources":["../../../../src/presentation/topBar/menuButton/useDefaultMenuItems.tsx"],"names":[],"mappings":"AAkDA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AA8BlD;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,EAAE,CAgbvD"}
|
|
@@ -2,12 +2,13 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
// (C) 2022-2026 GoodData Corporation
|
|
3
3
|
import { useCallback, useMemo } from "react";
|
|
4
4
|
import { useIntl } from "react-intl";
|
|
5
|
+
import { resolveDashboardTimezoneUserOverrideAllowed } from "@gooddata/sdk-model";
|
|
5
6
|
import { UiIcon, useMediaQuery } from "@gooddata/sdk-ui-kit";
|
|
6
7
|
import { requestOpenDensityDialog } from "../../../model/commands/density.js";
|
|
7
8
|
import { useDashboardDispatch, useDashboardSelector } from "../../../model/react/DashboardStoreProvider.js";
|
|
8
9
|
import { useDashboardScheduledEmails } from "../../../model/react/useDasboardScheduledEmails/useDashboardScheduledEmails.js";
|
|
9
10
|
import { useDashboardAlerts } from "../../../model/react/useDashboardAlerting/useDashboardAlerts.js";
|
|
10
|
-
import { selectEnableDashboardDensitySetting, selectEnableDashboardTabularExport, selectEnableDashboardTimezone, selectEnableSnapshotExport, selectIsReadOnly, selectSettings, } from "../../../model/store/config/configSelectors.js";
|
|
11
|
+
import { selectEnableDashboardDensitySetting, selectEnableDashboardTabularExport, selectEnableDashboardTimezone, selectEnableSnapshotExport, selectEnableTimezoneChange, selectIsReadOnly, selectSettings, } from "../../../model/store/config/configSelectors.js";
|
|
11
12
|
import { selectHasAnyExecutionResultLimitBreaks } from "../../../model/store/executionResults/executionResultsSelectors.js";
|
|
12
13
|
import { selectDashboardTimezoneConfig, selectDashboardTitle, selectIsNewDashboard, } from "../../../model/store/meta/metaSelectors.js";
|
|
13
14
|
import { selectCanCreateAutomation, selectCanExportPdf, selectCanExportTabular, } from "../../../model/store/permissions/permissionsSelectors.js";
|
|
@@ -154,9 +155,12 @@ export function useDefaultMenuItems() {
|
|
|
154
155
|
const isInEditMode = useDashboardSelector(selectIsInEditMode);
|
|
155
156
|
const openDensityDialog = useCallback(() => dispatch(requestOpenDensityDialog()), [dispatch]);
|
|
156
157
|
const isTimezoneEnabled = useDashboardSelector(selectEnableDashboardTimezone);
|
|
158
|
+
const enableTimezoneChange = useDashboardSelector(selectEnableTimezoneChange);
|
|
157
159
|
const timezoneConfig = useDashboardSelector(selectDashboardTimezoneConfig);
|
|
158
160
|
const isInViewMode = useDashboardSelector(selectIsInViewMode);
|
|
159
|
-
const isTimezoneChangeVisible = isTimezoneEnabled &&
|
|
161
|
+
const isTimezoneChangeVisible = isTimezoneEnabled &&
|
|
162
|
+
resolveDashboardTimezoneUserOverrideAllowed(timezoneConfig, enableTimezoneChange) &&
|
|
163
|
+
isInViewMode;
|
|
160
164
|
const openTimezoneDialog = useCallback(() => dispatch(uiActions.openTimezoneDialog()), [dispatch]);
|
|
161
165
|
// Do not show save as new button in menu item when it is already shown as a standalone top bar button.
|
|
162
166
|
const isSaveAsVisible = useDashboardSelector(selectSaveAsVisible);
|
|
@@ -3,9 +3,10 @@ import { type ITimezoneIndicatorProps } from "./types.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Read-only indicator of the time zone effective on the dashboard, shown in the top bar.
|
|
5
5
|
*
|
|
6
|
-
* The badge label is the friendly timezone name only (e.g. "Prague"); the
|
|
7
|
-
*
|
|
8
|
-
* custom renderings.
|
|
6
|
+
* The badge label is the friendly timezone name only (e.g. "Prague"); the hover tooltip shows
|
|
7
|
+
* a generic "Time zone" label. The full timezone info is available via
|
|
8
|
+
* {@link ITimezoneIndicatorProps.timezone} for custom renderings. Screen readers get an sr-only
|
|
9
|
+
* "Time zone: " prefix instead of the tooltip.
|
|
9
10
|
*
|
|
10
11
|
* @alpha
|
|
11
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimezoneIndicator.d.ts","sourceRoot":"","sources":["../../../../src/presentation/topBar/timezoneIndicator/TimezoneIndicator.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAO1C,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D
|
|
1
|
+
{"version":3,"file":"TimezoneIndicator.d.ts","sourceRoot":"","sources":["../../../../src/presentation/topBar/timezoneIndicator/TimezoneIndicator.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAO1C,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAC9B,cAAc,EACd,eAAe,EACf,QAAQ,EACX,EAAE,uBAAuB,GAAG,YAAY,GAAG,IAAI,CAgC/C"}
|
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { FormattedMessage } from "react-intl";
|
|
3
|
-
import {
|
|
2
|
+
import { FormattedMessage, useIntl } from "react-intl";
|
|
3
|
+
import { UiTooltip } from "@gooddata/sdk-ui-kit";
|
|
4
4
|
import { resolveDashboardTimezoneInfo } from "./resolveDashboardTimezoneInfo.js";
|
|
5
5
|
/**
|
|
6
6
|
* Read-only indicator of the time zone effective on the dashboard, shown in the top bar.
|
|
7
7
|
*
|
|
8
|
-
* The badge label is the friendly timezone name only (e.g. "Prague"); the
|
|
9
|
-
*
|
|
10
|
-
* custom renderings.
|
|
8
|
+
* The badge label is the friendly timezone name only (e.g. "Prague"); the hover tooltip shows
|
|
9
|
+
* a generic "Time zone" label. The full timezone info is available via
|
|
10
|
+
* {@link ITimezoneIndicatorProps.timezone} for custom renderings. Screen readers get an sr-only
|
|
11
|
+
* "Time zone: " prefix instead of the tooltip.
|
|
11
12
|
*
|
|
12
13
|
* @alpha
|
|
13
14
|
*/
|
|
14
15
|
export function TimezoneIndicator({ timezoneConfig, defaultTimezone, timezone, }) {
|
|
16
|
+
const intl = useIntl();
|
|
15
17
|
if (!timezoneConfig?.showTimezoneInfo) {
|
|
16
18
|
return null;
|
|
17
19
|
}
|
|
@@ -20,8 +22,7 @@ export function TimezoneIndicator({ timezoneConfig, defaultTimezone, timezone, }
|
|
|
20
22
|
return null;
|
|
21
23
|
}
|
|
22
24
|
const { name } = resolvedTimezone;
|
|
23
|
-
return (_jsx("div", { className: "s-timezone-indicator gd-timezone-indicator", children: _jsxs(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
] }) }));
|
|
25
|
+
return (_jsx("div", { className: "s-timezone-indicator gd-timezone-indicator", children: _jsx(UiTooltip, { arrowPlacement: "top-start", content: intl.formatMessage({ id: "topBar.timezoneIndicator.tooltip" }), triggerBy: ["hover"], anchor: _jsxs("div", { className: "gd-timezone-indicator-content", children: [
|
|
26
|
+
_jsx("i", { "aria-hidden": "true", className: "gd-timezone-indicator-icon" }), _jsx("span", { className: "sr-only", children: _jsx(FormattedMessage, { id: "topBar.timezoneIndicator.label" }) }), _jsx("span", { children: name })
|
|
27
|
+
] }) }) }));
|
|
27
28
|
}
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEditAlert.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EAInB,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"useEditAlert.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,iCAAiC,EACtC,KAAK,iCAAiC,EACtC,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EAInB,MAAM,qBAAqB,CAAC;AAY7B,OAAO,EACH,KAAK,iBAAiB,EAEzB,MAAM,4EAA4E,CAAC;AAiBpF,OAAO,EACH,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,yBAAyB,EACjC,MAAM,8CAA8C,CAAC;AAMtD,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,KAAK,EAAE,yBAAyB,CAAC;IACjC,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,YAAY,EAAE,8BAA8B,EAAE,GAAG,kCAAkC,EAAE,CAAC;IACtF,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,mCAAmC,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,CAAC;CACzD;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoRxB,CAAC"}
|
package/esm/presentation/widget/insight/configuration/InsightAlertConfig/hooks/useEditAlert.js
CHANGED
|
@@ -6,6 +6,7 @@ import { isAutomationExternalUserRecipient, isAutomationUnknownUserRecipient, is
|
|
|
6
6
|
import { useDashboardSelector } from "../../../../../../model/react/DashboardStoreProvider.js";
|
|
7
7
|
import { selectEnableAnomalyDetectionAlert, selectTimezone, selectWeekStart, } from "../../../../../../model/store/config/configSelectors.js";
|
|
8
8
|
import { selectEntitlementMinimumRecurrenceMinutes } from "../../../../../../model/store/entitlements/entitlementsSelectors.js";
|
|
9
|
+
import { selectEffectiveDashboardTimezone } from "../../../../../../model/store/meta/metaSelectors.js";
|
|
9
10
|
import { selectCanUseAiAssistant } from "../../../../../../model/store/permissions/permissionsSelectors.js";
|
|
10
11
|
import { selectCurrentUser } from "../../../../../../model/store/user/userSelectors.js";
|
|
11
12
|
import { getDescription, } from "../../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js";
|
|
@@ -22,7 +23,11 @@ export const useEditAlert = ({ metrics, attributes, alert, onCreate, onUpdate, m
|
|
|
22
23
|
const enableAnomalyDetectionAlert = useDashboardSelector(selectEnableAnomalyDetectionAlert);
|
|
23
24
|
const enableAiAssistant = useDashboardSelector(selectCanUseAiAssistant);
|
|
24
25
|
const weekStart = useDashboardSelector(selectWeekStart);
|
|
25
|
-
|
|
26
|
+
// the custom dashboard timezone (view-mode override or dashboard configuration) wins over
|
|
27
|
+
// the workspace setting for the alert comparison-window computation
|
|
28
|
+
const workspaceTimezone = useDashboardSelector(selectTimezone);
|
|
29
|
+
const customTimezone = useDashboardSelector(selectEffectiveDashboardTimezone);
|
|
30
|
+
const timezone = customTimezone ?? workspaceTimezone;
|
|
26
31
|
const intl = useIntl();
|
|
27
32
|
const minimumRecurrenceMinutesEntitlement = useDashboardSelector(selectEntitlementMinimumRecurrenceMinutes);
|
|
28
33
|
const allowHourlyRecurrence = parseInt(minimumRecurrenceMinutesEntitlement?.value ?? DEFAULT_MIN_RECURRENCE_MINUTES, 10) === 60;
|
|
@@ -6385,7 +6385,46 @@ export declare interface IAutomationsContextValue {
|
|
|
6385
6385
|
allowHourlyRecurrence: boolean;
|
|
6386
6386
|
currentUser: IUser;
|
|
6387
6387
|
weekStart: WeekStart;
|
|
6388
|
+
/**
|
|
6389
|
+
* Automation timezone to display and compute schedule ("Starts on", alert crons, next-run):
|
|
6390
|
+
* the effective dashboard timezone when one is defined, otherwise the workspace setting.
|
|
6391
|
+
* Initial value for new schedule is same as exportTimezones.effectiveTimezone,
|
|
6392
|
+
* but then can be never changed for existing schedule.
|
|
6393
|
+
* Logic that needs to know where the timezone came from should use {@link IAutomationsContextValue.exportTimezones} instead.
|
|
6394
|
+
*/
|
|
6388
6395
|
timezone: string | undefined;
|
|
6396
|
+
/**
|
|
6397
|
+
* Timezone inputs of the scheduled-export "Time zone" section, read from the dashboard store
|
|
6398
|
+
* by the connectors layer — the scheduledEmail tree must not touch the store itself.
|
|
6399
|
+
*/
|
|
6400
|
+
exportTimezones?: {
|
|
6401
|
+
/**
|
|
6402
|
+
* The enableDashboardTimezone feature flag.
|
|
6403
|
+
*/
|
|
6404
|
+
isTimezoneFeatureEnabled: boolean;
|
|
6405
|
+
/**
|
|
6406
|
+
* Whether the dashboard allows the view-mode timezone override; gates the whole section.
|
|
6407
|
+
*/
|
|
6408
|
+
allowUserOverrideInViewMode: boolean;
|
|
6409
|
+
/**
|
|
6410
|
+
* The dashboard's stored timezone configuration id (may be the browser-detected sentinel).
|
|
6411
|
+
*/
|
|
6412
|
+
configuredTimezoneId: string | undefined;
|
|
6413
|
+
/**
|
|
6414
|
+
* The workspace/organization settings-hierarchy timezone.
|
|
6415
|
+
*/
|
|
6416
|
+
workspaceTimezone: string | undefined;
|
|
6417
|
+
/**
|
|
6418
|
+
* The effective dashboard execution timezone (override wins over config, sentinel
|
|
6419
|
+
* resolved).
|
|
6420
|
+
*/
|
|
6421
|
+
effectiveTimezone: string | undefined;
|
|
6422
|
+
/**
|
|
6423
|
+
* Timezone only when the backend cannot derive it at run time (view-mode override or
|
|
6424
|
+
* resolved browser detection); undefined for an explicitly configured dashboard timezone.
|
|
6425
|
+
*/
|
|
6426
|
+
scheduledExportTimezone: string | undefined;
|
|
6427
|
+
};
|
|
6389
6428
|
isWhiteLabeled: boolean;
|
|
6390
6429
|
isSecondaryTitleVisible: boolean;
|
|
6391
6430
|
externalRecipient: string | undefined;
|
|
@@ -17654,6 +17693,42 @@ export declare interface IScheduledEmailDialogSlots {
|
|
|
17654
17693
|
* passed the current filters — see {@link IScheduledEmailDialogFiltersProps}.
|
|
17655
17694
|
*/
|
|
17656
17695
|
Filters?: ComponentType<ISlotProps<IScheduledEmailDialogFiltersProps>>;
|
|
17696
|
+
/**
|
|
17697
|
+
* Wraps or replaces the "Time zone" section on the General tab. Must have a stable reference
|
|
17698
|
+
* identity — see {@link ISlotProps}.
|
|
17699
|
+
*
|
|
17700
|
+
* Renders only when the dialog shows the section at all: the dashboard-timezone feature is
|
|
17701
|
+
* enabled and the dashboard allows the view-mode timezone override. When the section is
|
|
17702
|
+
* hidden, the slot is not rendered either.
|
|
17703
|
+
*/
|
|
17704
|
+
Timezone?: ComponentType<ISlotProps<ScheduledEmailDialogTimezoneDefaultProps>>;
|
|
17705
|
+
}
|
|
17706
|
+
|
|
17707
|
+
/**
|
|
17708
|
+
* Props of the default scheduled email dialog's "Time zone" section (the export-content timezone
|
|
17709
|
+
* picker on the General tab; unrelated to the schedule cron timezone).
|
|
17710
|
+
*
|
|
17711
|
+
* @alpha
|
|
17712
|
+
*/
|
|
17713
|
+
export declare interface IScheduledEmailDialogTimezoneProps {
|
|
17714
|
+
/**
|
|
17715
|
+
* Whether the dialog schedules a single-widget export. Widget schedules always show a concrete
|
|
17716
|
+
* resolved timezone — they have no Default option, because the backend cannot derive anything
|
|
17717
|
+
* dashboard-scoped for them.
|
|
17718
|
+
*/
|
|
17719
|
+
isWidget: boolean;
|
|
17720
|
+
/**
|
|
17721
|
+
* Current selection; an undefined id is the Default option (dashboard schedules only).
|
|
17722
|
+
*/
|
|
17723
|
+
selection: IScheduleTimezoneSelection;
|
|
17724
|
+
/**
|
|
17725
|
+
* Concrete timezone the Default option currently resolves to (display only).
|
|
17726
|
+
*/
|
|
17727
|
+
defaultResolvedTimezone: string | undefined;
|
|
17728
|
+
/**
|
|
17729
|
+
* Called with the picked timezone; undefined selects the Default option.
|
|
17730
|
+
*/
|
|
17731
|
+
onTimezoneChange: (timezoneId: string | undefined) => void;
|
|
17657
17732
|
}
|
|
17658
17733
|
|
|
17659
17734
|
/**
|
|
@@ -17781,6 +17856,30 @@ export declare interface IScheduleEmailContext {
|
|
|
17781
17856
|
schedule?: IAutomationMetadataObject;
|
|
17782
17857
|
}
|
|
17783
17858
|
|
|
17859
|
+
/**
|
|
17860
|
+
* A timezone selection of the schedule dialog's "Time zone" section.
|
|
17861
|
+
*
|
|
17862
|
+
* `shouldSave` decides whether the value is baked into the export definitions. Values the backend
|
|
17863
|
+
* derives itself at run time are displayed but not saved: the Default option of a dashboard
|
|
17864
|
+
* schedule (id undefined; persisted dashboard configuration → settings hierarchy) and a widget
|
|
17865
|
+
* schedule showing the settings-hierarchy resolution (concrete id). Everything the backend cannot
|
|
17866
|
+
* derive is saved: the view-mode override and browser resolution always, the dashboard's stored
|
|
17867
|
+
* configuration for widget schedules, and any timezone picked manually in the dropdown.
|
|
17868
|
+
*
|
|
17869
|
+
* @alpha
|
|
17870
|
+
*/
|
|
17871
|
+
export declare interface IScheduleTimezoneSelection {
|
|
17872
|
+
/**
|
|
17873
|
+
* Selected timezone (IANA ID); undefined represents the Default option.
|
|
17874
|
+
*/
|
|
17875
|
+
id: string | undefined;
|
|
17876
|
+
/**
|
|
17877
|
+
* Whether the selection is baked into the export definitions or left for the backend to
|
|
17878
|
+
* derive at run time.
|
|
17879
|
+
*/
|
|
17880
|
+
shouldSave: boolean;
|
|
17881
|
+
}
|
|
17882
|
+
|
|
17784
17883
|
/**
|
|
17785
17884
|
* Tests whether the provided object is an instance of {@link ICreateAttributeHierarchyRequested}.
|
|
17786
17885
|
*
|
|
@@ -23478,6 +23577,13 @@ export declare type ScheduledEmailDialogHeaderDefaultProps = IScheduledEmailDial
|
|
|
23478
23577
|
ref?: Ref<HTMLInputElement>;
|
|
23479
23578
|
};
|
|
23480
23579
|
|
|
23580
|
+
/**
|
|
23581
|
+
* The exact props the default dialog renders its "Time zone" section with.
|
|
23582
|
+
*
|
|
23583
|
+
* @alpha
|
|
23584
|
+
*/
|
|
23585
|
+
export declare type ScheduledEmailDialogTimezoneDefaultProps = IScheduledEmailDialogTimezoneProps;
|
|
23586
|
+
|
|
23481
23587
|
/**
|
|
23482
23588
|
* @internal
|
|
23483
23589
|
*/
|
|
@@ -25075,6 +25181,13 @@ export declare const selectEnableSnapshotExport: DashboardSelector<boolean>;
|
|
|
25075
25181
|
*/
|
|
25076
25182
|
export declare const selectEnableSnapshotExportAccessibility: DashboardSelector<boolean>;
|
|
25077
25183
|
|
|
25184
|
+
/**
|
|
25185
|
+
* Returns whether end users may change the timezone in Analytical Designer and, by default, on dashboards.
|
|
25186
|
+
*
|
|
25187
|
+
* @alpha
|
|
25188
|
+
*/
|
|
25189
|
+
export declare const selectEnableTimezoneChange: DashboardSelector<boolean>;
|
|
25190
|
+
|
|
25078
25191
|
/**
|
|
25079
25192
|
* Returns whether the unrelated data datasets are shown.
|
|
25080
25193
|
*
|
|
@@ -26694,6 +26807,23 @@ export declare const selectRenderMode: DashboardSelector<RenderMode>;
|
|
|
26694
26807
|
*/
|
|
26695
26808
|
export declare const selectSaveAsVisible: DashboardSelector<boolean>;
|
|
26696
26809
|
|
|
26810
|
+
/**
|
|
26811
|
+
* Selects the timezone to store into a scheduled export definition, as a concrete IANA timezone ID.
|
|
26812
|
+
*
|
|
26813
|
+
* @remarks
|
|
26814
|
+
* Unlike {@link selectEffectiveDashboardTimezone}, this returns a value only when the timezone
|
|
26815
|
+
* cannot be derived by the backend at schedule run time: when the viewer has an ad-hoc view-mode
|
|
26816
|
+
* override active, or when the dashboard is configured with the browser-detected sentinel (the
|
|
26817
|
+
* exporter service has no browser to detect from, so the resolution made here must be persisted).
|
|
26818
|
+
* When the dashboard has an explicit configured timezone — or none, falling back to workspace or
|
|
26819
|
+
* organization settings — this returns undefined and the schedule stores no timezone: the backend
|
|
26820
|
+
* reads the dashboard's stored timezone itself, so schedules stay up to date when the dashboard
|
|
26821
|
+
* or organization configuration changes without having to be recreated.
|
|
26822
|
+
*
|
|
26823
|
+
* @alpha
|
|
26824
|
+
*/
|
|
26825
|
+
export declare const selectScheduledExportTimezone: DashboardSelector<string | undefined>;
|
|
26826
|
+
|
|
26697
26827
|
/**
|
|
26698
26828
|
* @alpha
|
|
26699
26829
|
*/
|
|
@@ -28280,9 +28410,10 @@ export declare type TabsReducer<A extends Action> = CaseReducer<ITabsState, A>;
|
|
|
28280
28410
|
/**
|
|
28281
28411
|
* Read-only indicator of the time zone effective on the dashboard, shown in the top bar.
|
|
28282
28412
|
*
|
|
28283
|
-
* The badge label is the friendly timezone name only (e.g. "Prague"); the
|
|
28284
|
-
*
|
|
28285
|
-
* custom renderings.
|
|
28413
|
+
* The badge label is the friendly timezone name only (e.g. "Prague"); the hover tooltip shows
|
|
28414
|
+
* a generic "Time zone" label. The full timezone info is available via
|
|
28415
|
+
* {@link ITimezoneIndicatorProps.timezone} for custom renderings. Screen readers get an sr-only
|
|
28416
|
+
* "Time zone: " prefix instead of the tooltip.
|
|
28286
28417
|
*
|
|
28287
28418
|
* @alpha
|
|
28288
28419
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gooddata/sdk-ui-dashboard",
|
|
3
|
-
"version": "11.53.0-alpha.
|
|
3
|
+
"version": "11.53.0-alpha.7",
|
|
4
4
|
"description": "GoodData SDK - Dashboard Component",
|
|
5
5
|
"license": "LicenseRef-LICENSE",
|
|
6
6
|
"author": "GoodData Corporation",
|
|
@@ -60,20 +60,20 @@
|
|
|
60
60
|
"ts-invariant": "0.10.3",
|
|
61
61
|
"tslib": "2.8.1",
|
|
62
62
|
"uuid": "11.1.1",
|
|
63
|
-
"@gooddata/sdk-backend-base": "11.53.0-alpha.
|
|
64
|
-
"@gooddata/sdk-
|
|
65
|
-
"@gooddata/sdk-
|
|
66
|
-
"@gooddata/sdk-
|
|
67
|
-
"@gooddata/sdk-ui": "11.53.0-alpha.
|
|
68
|
-
"@gooddata/sdk-ui-ext": "11.53.0-alpha.
|
|
69
|
-
"@gooddata/sdk-ui-
|
|
70
|
-
"@gooddata/sdk-ui-
|
|
71
|
-
"@gooddata/sdk-ui-
|
|
72
|
-
"@gooddata/sdk-ui-
|
|
73
|
-
"@gooddata/sdk-ui-
|
|
74
|
-
"@gooddata/sdk-ui-theme-provider": "11.53.0-alpha.
|
|
75
|
-
"@gooddata/sdk-ui-vis-commons": "11.53.0-alpha.
|
|
76
|
-
"@gooddata/util": "11.53.0-alpha.
|
|
63
|
+
"@gooddata/sdk-backend-base": "11.53.0-alpha.7",
|
|
64
|
+
"@gooddata/sdk-model": "11.53.0-alpha.7",
|
|
65
|
+
"@gooddata/sdk-backend-spi": "11.53.0-alpha.7",
|
|
66
|
+
"@gooddata/sdk-ui": "11.53.0-alpha.7",
|
|
67
|
+
"@gooddata/sdk-ui-charts": "11.53.0-alpha.7",
|
|
68
|
+
"@gooddata/sdk-ui-ext": "11.53.0-alpha.7",
|
|
69
|
+
"@gooddata/sdk-ui-filters": "11.53.0-alpha.7",
|
|
70
|
+
"@gooddata/sdk-ui-pivot": "11.53.0-alpha.7",
|
|
71
|
+
"@gooddata/sdk-ui-geo": "11.53.0-alpha.7",
|
|
72
|
+
"@gooddata/sdk-ui-kit": "11.53.0-alpha.7",
|
|
73
|
+
"@gooddata/sdk-ui-semantic-search": "11.53.0-alpha.7",
|
|
74
|
+
"@gooddata/sdk-ui-theme-provider": "11.53.0-alpha.7",
|
|
75
|
+
"@gooddata/sdk-ui-vis-commons": "11.53.0-alpha.7",
|
|
76
|
+
"@gooddata/util": "11.53.0-alpha.7"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
79
|
"@microsoft/api-documenter": "^7.17.0",
|
|
@@ -119,12 +119,12 @@
|
|
|
119
119
|
"typescript": "5.9.3",
|
|
120
120
|
"vitest": "4.1.8",
|
|
121
121
|
"vitest-dom": "0.1.1",
|
|
122
|
-
"@gooddata/
|
|
123
|
-
"@gooddata/
|
|
124
|
-
"@gooddata/
|
|
125
|
-
"@gooddata/reference-workspace": "11.53.0-alpha.
|
|
126
|
-
"@gooddata/
|
|
127
|
-
"@gooddata/
|
|
122
|
+
"@gooddata/eslint-config": "11.53.0-alpha.7",
|
|
123
|
+
"@gooddata/i18n-toolkit": "11.53.0-alpha.7",
|
|
124
|
+
"@gooddata/oxlint-config": "11.53.0-alpha.7",
|
|
125
|
+
"@gooddata/reference-workspace": "11.53.0-alpha.7",
|
|
126
|
+
"@gooddata/stylelint-config": "11.53.0-alpha.7",
|
|
127
|
+
"@gooddata/sdk-backend-mockingbird": "11.53.0-alpha.7"
|
|
128
128
|
},
|
|
129
129
|
"peerDependencies": {
|
|
130
130
|
"react": "^18.0.0 || ^19.0.0",
|
package/styles/css/main.css
CHANGED
|
@@ -31798,6 +31798,35 @@ figure {
|
|
|
31798
31798
|
width: 100%;
|
|
31799
31799
|
}
|
|
31800
31800
|
|
|
31801
|
+
.gd-schedule-timezone-field {
|
|
31802
|
+
align-items: flex-start;
|
|
31803
|
+
}
|
|
31804
|
+
.gd-schedule-timezone-field .gd-label {
|
|
31805
|
+
line-height: 28px;
|
|
31806
|
+
}
|
|
31807
|
+
.gd-schedule-timezone-field__content {
|
|
31808
|
+
display: flex;
|
|
31809
|
+
flex-direction: column;
|
|
31810
|
+
min-width: 0;
|
|
31811
|
+
flex: 1 1 auto;
|
|
31812
|
+
}
|
|
31813
|
+
.gd-schedule-timezone-field__row {
|
|
31814
|
+
display: flex;
|
|
31815
|
+
align-items: center;
|
|
31816
|
+
gap: 10px;
|
|
31817
|
+
}
|
|
31818
|
+
.gd-schedule-timezone-field__current-time {
|
|
31819
|
+
white-space: nowrap;
|
|
31820
|
+
}
|
|
31821
|
+
.gd-schedule-timezone-field__message {
|
|
31822
|
+
color: var(--gd-palette-complementary-7);
|
|
31823
|
+
font-size: 12px;
|
|
31824
|
+
font-style: normal;
|
|
31825
|
+
font-weight: 400;
|
|
31826
|
+
line-height: 21px;
|
|
31827
|
+
margin-top: 5px;
|
|
31828
|
+
}
|
|
31829
|
+
|
|
31801
31830
|
.gd-pdf-export-dialog {
|
|
31802
31831
|
min-width: 300px;
|
|
31803
31832
|
}
|