@gooddata/sdk-ui-dashboard 11.58.0-alpha.3 → 11.58.0-alpha.4
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 +2 -2
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -2
- package/esm/internal.d.ts +1 -0
- package/esm/internal.d.ts.map +1 -1
- package/esm/internal.js +1 -0
- package/esm/model/commandHandlers/common/validateDrillToCustomUrlParams.d.ts.map +1 -1
- package/esm/model/commandHandlers/common/validateDrillToCustomUrlParams.js +6 -1
- package/esm/model/commandHandlers/common/validateDrills.d.ts.map +1 -1
- package/esm/model/commandHandlers/common/validateDrills.js +12 -3
- package/esm/model/commandHandlers/dashboard/dashboardDrillReferences.d.ts +4 -0
- package/esm/model/commandHandlers/dashboard/dashboardDrillReferences.d.ts.map +1 -0
- package/esm/model/commandHandlers/dashboard/dashboardDrillReferences.js +53 -0
- package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.js +4 -1
- package/esm/model/commandHandlers/dashboard/saveDashboardHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/saveDashboardHandler.js +30 -6
- package/esm/model/commandHandlers/drill/drillToAttributeUrlHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/drillToAttributeUrlHandler.js +2 -0
- package/esm/model/commandHandlers/drill/drillToCustomUrlHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/drillToCustomUrlHandler.js +2 -0
- package/esm/model/commandHandlers/drill/drillToDashboardHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/drillToDashboardHandler.js +2 -0
- package/esm/model/commandHandlers/drill/drillToInsightHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/drillToInsightHandler.js +3 -1
- package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.js +30 -29
- package/esm/model/commandHandlers/drill/validateDrillAccess.d.ts +6 -0
- package/esm/model/commandHandlers/drill/validateDrillAccess.d.ts.map +1 -0
- package/esm/model/commandHandlers/drill/validateDrillAccess.js +10 -0
- package/esm/model/store/catalog/catalogSelectors.d.ts +26 -1
- package/esm/model/store/catalog/catalogSelectors.d.ts.map +1 -1
- package/esm/model/store/catalog/catalogSelectors.js +13 -2
- package/esm/model/store/filtering/dashboardFilterSelectors.d.ts +8 -2
- package/esm/model/store/filtering/dashboardFilterSelectors.d.ts.map +1 -1
- package/esm/model/store/filtering/dashboardFilterSelectors.js +41 -25
- package/esm/model/store/filtering/types.d.ts +5 -0
- package/esm/model/store/filtering/types.d.ts.map +1 -1
- package/esm/model/store/tabs/layout/layoutSelectors.d.ts.map +1 -1
- package/esm/model/store/tabs/layout/layoutSelectors.js +2 -1
- package/esm/model/store/ui/index.d.ts +1 -0
- package/esm/model/store/ui/index.d.ts.map +1 -1
- package/esm/model/store/ui/uiReducers.d.ts +5 -1
- package/esm/model/store/ui/uiReducers.d.ts.map +1 -1
- package/esm/model/store/ui/uiReducers.js +8 -4
- package/esm/model/store/ui/uiSelectors.d.ts +5 -1
- package/esm/model/store/ui/uiSelectors.d.ts.map +1 -1
- package/esm/model/store/ui/uiSelectors.js +4 -0
- package/esm/model/store/ui/uiState.d.ts +2 -1
- package/esm/model/store/ui/uiState.d.ts.map +1 -1
- package/esm/model/store/ui/uiState.js +1 -0
- package/esm/model/store/widgetDrills/drillRestrictionSelectors.d.ts +23 -0
- package/esm/model/store/widgetDrills/drillRestrictionSelectors.d.ts.map +1 -0
- package/esm/model/store/widgetDrills/drillRestrictionSelectors.js +5 -0
- package/esm/model/store/widgetDrills/drillRestrictionUtils.d.ts +5 -0
- package/esm/model/store/widgetDrills/drillRestrictionUtils.d.ts.map +1 -0
- package/esm/model/store/widgetDrills/drillRestrictionUtils.js +27 -0
- package/esm/model/store/widgetDrills/widgetDrillSelectors.d.ts.map +1 -1
- package/esm/model/store/widgetDrills/widgetDrillSelectors.js +9 -5
- package/esm/presentation/automations/alerting/state/AlertingDialogStateProvider.js +1 -0
- package/esm/presentation/automations/alerting/state/useAlertDraftFilterWrites.d.ts +4 -2
- package/esm/presentation/automations/alerting/state/useAlertDraftFilterWrites.d.ts.map +1 -1
- package/esm/presentation/automations/alerting/state/useAlertDraftFilterWrites.js +12 -3
- package/esm/presentation/automations/alerting/utils/items.js +8 -14
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.d.ts.map +1 -1
- package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.js +8 -2
- package/esm/presentation/automations/contexts/AutomationsContext.d.ts +4 -2
- package/esm/presentation/automations/contexts/AutomationsContext.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/hooks/useExportTimezones.js +1 -1
- package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.js +1 -0
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDraftFilterWrites.d.ts +4 -2
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDraftFilterWrites.d.ts.map +1 -1
- package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDraftFilterWrites.js +25 -6
- package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.js +16 -11
- package/esm/presentation/automations/shared/automationFilters/components/AutomationRestrictedFilters.d.ts +9 -0
- package/esm/presentation/automations/shared/automationFilters/components/AutomationRestrictedFilters.d.ts.map +1 -0
- package/esm/presentation/automations/shared/automationFilters/components/AutomationRestrictedFilters.js +22 -0
- package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.d.ts +2 -2
- package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.js +17 -5
- package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.d.ts +8 -0
- package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.js +54 -10
- package/esm/presentation/automations/shared/automationFilters/useAutomationFiltersSelect.d.ts.map +1 -1
- package/esm/presentation/automations/shared/automationFilters/useAutomationFiltersSelect.js +3 -2
- package/esm/presentation/automations/shared/filters/conversions.d.ts +10 -2
- package/esm/presentation/automations/shared/filters/conversions.d.ts.map +1 -1
- package/esm/presentation/automations/shared/filters/conversions.js +15 -6
- package/esm/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.d.ts.map +1 -1
- package/esm/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.js +3 -4
- package/esm/presentation/dashboardSettingsDialog/TimezoneOption.d.ts.map +1 -1
- package/esm/presentation/dashboardSettingsDialog/TimezoneOption.js +20 -7
- package/esm/presentation/dialogs/ExportCsvDialog.d.ts.map +1 -1
- package/esm/presentation/dialogs/ExportCsvDialog.js +2 -1
- package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditorParametersSections/IdentifierParametersSection.js +1 -1
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.d.ts +2 -1
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.d.ts.map +1 -1
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.js +19 -1
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.d.ts.map +1 -1
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.js +12 -4
- package/esm/presentation/drill/DrillSelect/types.d.ts +1 -0
- package/esm/presentation/drill/DrillSelect/types.d.ts.map +1 -1
- package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.d.ts.map +1 -1
- package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.js +4 -2
- package/esm/presentation/insightNotSavedDialog/InsightNotSavedDialog.d.ts.map +1 -1
- package/esm/presentation/insightNotSavedDialog/InsightNotSavedDialog.js +4 -5
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +21 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js +25 -5
- package/esm/sdk-ui-dashboard.d.ts +20 -19
- package/package.json +21 -21
- package/styles/css/dashboard.css +1 -7
- package/styles/css/dashboard.css.map +1 -1
- package/styles/css/dashboardSettingsDialog.css +4 -0
- package/styles/css/dashboardSettingsDialog.css.map +1 -1
- package/styles/css/export.css +0 -6
- package/styles/css/export.css.map +1 -1
- package/styles/css/main.css +5 -13
- package/styles/css/main.css.map +1 -1
- package/styles/css/notifications_channels_dialog.css +1 -7
- package/styles/css/notifications_channels_dialog.css.map +1 -1
- package/styles/scss/dashboardSettingsDialog.scss +5 -0
- package/styles/scss/export.scss +0 -9
- package/styles/scss/notifications_channels_dialog.scss +1 -10
- package/esm/model/types/drillTypes.d.ts +0 -13
- package/esm/model/types/drillTypes.d.ts.map +0 -1
- package/esm/model/types/drillTypes.js +0 -14
|
@@ -6,6 +6,7 @@ import { areObjRefsEqual, dashboardAttributeFilterItemLocalIdentifier, filterCon
|
|
|
6
6
|
import { newMapForObjectWithIdentity } from "../../../../_staging/metadata/objRefMap.js";
|
|
7
7
|
import { isInsightPlaceholderWidget, isKpiPlaceholderWidget, isPlaceholderWidget, } from "../../../../widgets/placeholders/types.js";
|
|
8
8
|
import { isCustomWidget, isExtendedDashboardLayoutWidget, } from "../../../types/layoutTypes.js";
|
|
9
|
+
import { removeIgnoredWidgetFilters } from "../../../utils/widgetFilters.js";
|
|
9
10
|
import { createMemoizedSelector } from "../../_infra/selectors.js";
|
|
10
11
|
import { createUndoableCommandsMapping } from "../../_infra/undoEnhancer.js";
|
|
11
12
|
import { selectCrossFilteringFiltersLocalIdentifiers, selectCrossFilteringFiltersLocalIdentifiersByWidgetRef, selectCrossFilteringItemsByTab, } from "../../drill/drillSelectors.js";
|
|
@@ -345,7 +346,7 @@ export const selectAllFiltersForWidgetByRefAcrossTabs = createMemoizedSelector((
|
|
|
345
346
|
? (widget.ignoreCrossFiltering ?? false)
|
|
346
347
|
: false;
|
|
347
348
|
const allCrossFilteringLocalIdentifiers = crossFilteringItems.flatMap((item) => item.filterLocalIdentifiers);
|
|
348
|
-
return calculateWidgetFilters(widget, dashboardFilters, crossFilteringFiltersLocalIdentifiers, shouldIgnoreCrossFiltering, allCrossFilteringLocalIdentifiers);
|
|
349
|
+
return calculateWidgetFilters(widget, removeIgnoredWidgetFilters(dashboardFilters, widget), crossFilteringFiltersLocalIdentifiers, shouldIgnoreCrossFiltering, allCrossFilteringLocalIdentifiers);
|
|
349
350
|
});
|
|
350
351
|
});
|
|
351
352
|
const selectAllWidgets = createSelector(selectWidgetsMap, (widgetMap) => {
|
|
@@ -31,6 +31,7 @@ export declare const uiActions: {
|
|
|
31
31
|
openSaveAsDialog: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"uiSlice/openSaveAsDialog">;
|
|
32
32
|
closeSaveAsDialog: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"uiSlice/closeSaveAsDialog">;
|
|
33
33
|
openInsightNotSavedDialog: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"uiSlice/openInsightNotSavedDialog">;
|
|
34
|
+
setInsightNotSavedDialogDraftInsightsToPersist: import("@reduxjs/toolkit").ActionCreatorWithPayload<import("@gooddata/sdk-model").IInsight[], "uiSlice/setInsightNotSavedDialogDraftInsightsToPersist">;
|
|
34
35
|
closeInsightNotSavedDialog: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"uiSlice/closeInsightNotSavedDialog">;
|
|
35
36
|
confirmInsightNotSavedDialogSubmit: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"uiSlice/confirmInsightNotSavedDialogSubmit">;
|
|
36
37
|
setFilterBarExpanded: import("@reduxjs/toolkit").ActionCreatorWithPayload<boolean, "uiSlice/setFilterBarExpanded">;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/store/ui/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAe,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EAAE,KAAK,QAAQ,EAAkB,MAAM,cAAc,CAAC;AAQ7D,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAmB,CAAC;AAGjE;;;;GAIG;AACH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/model/store/ui/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAe,MAAM,kBAAkB,CAAC;AAG7D,OAAO,EAAE,KAAK,QAAQ,EAAkB,MAAM,cAAc,CAAC;AAQ7D,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,QAAQ,CAAmB,CAAC;AAGjE;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAyB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Action, type AnyAction, type CaseReducer } from "@reduxjs/toolkit";
|
|
2
|
-
import { type IDrillToCustomUrl, type IInsightWidget, type ObjRef } from "@gooddata/sdk-model";
|
|
2
|
+
import { type IDrillToCustomUrl, type IInsight, type IInsightWidget, type ObjRef } from "@gooddata/sdk-model";
|
|
3
3
|
import { type DraggableLayoutItem } from "../../../presentation/dragAndDrop/types.js";
|
|
4
4
|
import { type DashboardDensity, type DropZoneType, type IAlertDialogContext, type ILayoutItemPath, type ILayoutSectionPath, type IMenuButtonItemsVisibility, type IScheduleEmailContext } from "../../../types.js";
|
|
5
5
|
import { type IDashboardWidgetOverlay } from "../../types/commonTypes.js";
|
|
@@ -52,6 +52,10 @@ export declare const uiReducers: {
|
|
|
52
52
|
openSaveAsDialog: UiReducer<AnyAction>;
|
|
53
53
|
closeSaveAsDialog: UiReducer<AnyAction>;
|
|
54
54
|
openInsightNotSavedDialog: UiReducer<AnyAction>;
|
|
55
|
+
setInsightNotSavedDialogDraftInsightsToPersist: UiReducer<{
|
|
56
|
+
payload: IInsight[];
|
|
57
|
+
type: string;
|
|
58
|
+
}>;
|
|
55
59
|
closeInsightNotSavedDialog: UiReducer<AnyAction>;
|
|
56
60
|
confirmInsightNotSavedDialogSubmit: UiReducer<AnyAction>;
|
|
57
61
|
setFilterBarExpanded: UiReducer<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uiReducers.d.ts","sourceRoot":"","sources":["../../../../src/model/store/ui/uiReducers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAErG,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,MAAM,EAMd,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EACH,KAAK,oBAAoB,EAEzB,KAAK,QAAQ,EAChB,MAAM,cAAc,CAAC;AAEtB,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"uiReducers.d.ts","sourceRoot":"","sources":["../../../../src/model/store/ui/uiReducers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AAErG,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,MAAM,EAMd,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EACH,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EACH,KAAK,oBAAoB,EAEzB,KAAK,QAAQ,EAChB,MAAM,cAAc,CAAC;AAEtB,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,SAAS,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAqaxE,KAAK,oBAAoB,GAAG;IACxB,IAAI,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAwEF,eAAO,MAAM,UAAU;;;;;;;;;;;yBA9euE,MAAM;;;;;;;;;;;;yBA+C3C,MAAM;;;;;;;yBA4BR,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAoQjC,cAAc;2BAAiB,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4DpD,eAAe;oCAA0B,YAAY;;;;;;;;;;;;;;;;;;;mBA7M1D,OAAO;mBACP,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;uBAwSV,MAAM;2CAAiC,MAAM;;;;CAkF3E,CAAC"}
|
|
@@ -7,18 +7,17 @@ const openScheduleEmailDialog = (state, action) => {
|
|
|
7
7
|
state.scheduleEmailDialog.open = true;
|
|
8
8
|
if (schedule) {
|
|
9
9
|
state.scheduleEmailDialog.context = {
|
|
10
|
-
...
|
|
10
|
+
...state.scheduleEmailDialog.context,
|
|
11
11
|
schedule,
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
if (widgetRef) {
|
|
15
15
|
state.scheduleEmailDialog.context = {
|
|
16
|
-
...
|
|
16
|
+
...state.scheduleEmailDialog.context,
|
|
17
17
|
widgetRef,
|
|
18
18
|
};
|
|
19
19
|
if (openedFrom === "widget") {
|
|
20
|
-
|
|
21
|
-
state.scheduleEmailDialog.returnFocusTo = returnFocusTo;
|
|
20
|
+
state.scheduleEmailDialog.returnFocusTo = getDashboardInsightMenuButtonId(objRefToString(widgetRef));
|
|
22
21
|
}
|
|
23
22
|
}
|
|
24
23
|
if (openedFrom === "dashboard") {
|
|
@@ -94,9 +93,13 @@ const closeSaveAsDialog = (state) => {
|
|
|
94
93
|
const openInsightNotSavedDialog = (state) => {
|
|
95
94
|
state.insightNotSavedDialog.open = true;
|
|
96
95
|
};
|
|
96
|
+
const setInsightNotSavedDialogDraftInsightsToPersist = (state, action) => {
|
|
97
|
+
state.insightNotSavedDialog.draftInsightsToPersist = action.payload;
|
|
98
|
+
};
|
|
97
99
|
const closeInsightNotSavedDialog = (state) => {
|
|
98
100
|
state.insightNotSavedDialog.open = false;
|
|
99
101
|
state.insightNotSavedDialog.saveConfirmed = false;
|
|
102
|
+
state.insightNotSavedDialog.draftInsightsToPersist = [];
|
|
100
103
|
};
|
|
101
104
|
const confirmInsightNotSavedDialogSubmit = (state) => {
|
|
102
105
|
state.insightNotSavedDialog.saveConfirmed = true;
|
|
@@ -363,6 +366,7 @@ export const uiReducers = {
|
|
|
363
366
|
openSaveAsDialog,
|
|
364
367
|
closeSaveAsDialog,
|
|
365
368
|
openInsightNotSavedDialog,
|
|
369
|
+
setInsightNotSavedDialogDraftInsightsToPersist,
|
|
366
370
|
closeInsightNotSavedDialog,
|
|
367
371
|
confirmInsightNotSavedDialogSubmit,
|
|
368
372
|
setFilterBarExpanded,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ObjRef } from "@gooddata/sdk-model";
|
|
1
|
+
import { type IInsight, type ObjRef } from "@gooddata/sdk-model";
|
|
2
2
|
import { type DraggableLayoutItem } from "../../../presentation/dragAndDrop/types.js";
|
|
3
3
|
import { type DashboardDensity, type DropZoneType, type IAlertDialogContext, type ILayoutCoordinates, type ILayoutItemPath, type ILayoutSectionPath, type IMenuButtonItemsVisibility, type IScheduleEmailContext } from "../../../types.js";
|
|
4
4
|
import { type IDashboardWidgetOverlay } from "../../types/commonTypes.js";
|
|
@@ -60,6 +60,10 @@ export declare const selectIsInsightNotSavedDialogOpen: DashboardSelector<boolea
|
|
|
60
60
|
* @internal
|
|
61
61
|
*/
|
|
62
62
|
export declare const selectIsInsightNotSavedDialogSaveConfirmed: DashboardSelector<boolean>;
|
|
63
|
+
/**
|
|
64
|
+
* @internal
|
|
65
|
+
*/
|
|
66
|
+
export declare const selectInsightNotSavedDialogDraftInsightsToPersist: DashboardSelector<IInsight[]>;
|
|
63
67
|
/**
|
|
64
68
|
* @alpha
|
|
65
69
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uiSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/ui/uiSelectors.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,MAAM,EAAmC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"uiSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/ui/uiSelectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,6 +66,10 @@ export const selectIsInsightNotSavedDialogOpen = createSelector(selectSelf, (sta
|
|
|
66
66
|
* @internal
|
|
67
67
|
*/
|
|
68
68
|
export const selectIsInsightNotSavedDialogSaveConfirmed = createSelector(selectSelf, (state) => state.insightNotSavedDialog.saveConfirmed);
|
|
69
|
+
/**
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
export const selectInsightNotSavedDialogDraftInsightsToPersist = createSelector(selectSelf, (state) => state.insightNotSavedDialog.draftInsightsToPersist);
|
|
69
73
|
/**
|
|
70
74
|
* @alpha
|
|
71
75
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Identifier, type ObjRef, type Uri } from "@gooddata/sdk-model";
|
|
1
|
+
import { type IInsight, type Identifier, type ObjRef, type Uri } from "@gooddata/sdk-model";
|
|
2
2
|
import { type DraggableLayoutItem } from "../../../presentation/dragAndDrop/types.js";
|
|
3
3
|
import { type DashboardDensity, type DropZoneType, type IAlertDialogContext, type ILayoutItemPath, type ILayoutSectionPath, type IMenuButtonItemsVisibility, type IScheduleEmailContext } from "../../../types.js";
|
|
4
4
|
import { type IDashboardWidgetOverlay } from "../../types/commonTypes.js";
|
|
@@ -48,6 +48,7 @@ export interface IUiState {
|
|
|
48
48
|
insightNotSavedDialog: {
|
|
49
49
|
open: boolean;
|
|
50
50
|
saveConfirmed: boolean;
|
|
51
|
+
draftInsightsToPersist: IInsight[];
|
|
51
52
|
};
|
|
52
53
|
settingsDialog: {
|
|
53
54
|
open: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uiState.d.ts","sourceRoot":"","sources":["../../../../src/model/store/ui/uiState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,MAAM,EAAE,KAAK,GAAG,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"uiState.d.ts","sourceRoot":"","sources":["../../../../src/model/store/ui/uiState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type DashboardDrillDefinition } from "../../../types.js";
|
|
2
|
+
export declare const selectIsDrillRestricted: ((state: import("../types.js").DashboardState) => (drill: DashboardDrillDefinition) => boolean) & {
|
|
3
|
+
clearCache: () => void;
|
|
4
|
+
resultsCount: () => number;
|
|
5
|
+
resetResultsCount: () => void;
|
|
6
|
+
} & {
|
|
7
|
+
resultFunc: (resultFuncArgs_0: import("@gooddata/sdk-backend-spi").IUnavailableDashboardReference[]) => (drill: DashboardDrillDefinition) => boolean;
|
|
8
|
+
memoizedResultFunc: ((resultFuncArgs_0: import("@gooddata/sdk-backend-spi").IUnavailableDashboardReference[]) => (drill: DashboardDrillDefinition) => boolean) & {
|
|
9
|
+
clearCache: () => void;
|
|
10
|
+
resultsCount: () => number;
|
|
11
|
+
resetResultsCount: () => void;
|
|
12
|
+
};
|
|
13
|
+
lastResult: () => (drill: DashboardDrillDefinition) => boolean;
|
|
14
|
+
dependencies: [import("../types.js").DashboardSelector<import("@gooddata/sdk-backend-spi").IUnavailableDashboardReference[]>];
|
|
15
|
+
recomputations: () => number;
|
|
16
|
+
resetRecomputations: () => void;
|
|
17
|
+
dependencyRecomputations: () => number;
|
|
18
|
+
resetDependencyRecomputations: () => void;
|
|
19
|
+
} & {
|
|
20
|
+
memoize: typeof import("@reduxjs/toolkit").weakMapMemoize;
|
|
21
|
+
argsMemoize: typeof import("@reduxjs/toolkit").weakMapMemoize;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=drillRestrictionSelectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drillRestrictionSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/widgetDrills/drillRestrictionSelectors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAKlE,eAAO,MAAM,uBAAuB,4DAGpB,wBAAwB,KAAG,OAAO;;;;;oHAAlC,wBAAwB,KAAG,OAAO;;;;;;8BAAlC,wBAAwB,KAAG,OAAO;;;;;;;;;CAEjD,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { createSelector } from "@reduxjs/toolkit";
|
|
3
|
+
import { selectUnavailableObjects } from "../unavailableObjects/unavailableObjectsSelectors.js";
|
|
4
|
+
import { isDrillRestricted } from "./drillRestrictionUtils.js";
|
|
5
|
+
export const selectIsDrillRestricted = createSelector(selectUnavailableObjects, (unavailable) => (drill) => isDrillRestricted(drill, unavailable));
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type IUnavailableDashboardReference } from "@gooddata/sdk-backend-spi";
|
|
2
|
+
import { type DashboardDrillDefinition } from "../../../types.js";
|
|
3
|
+
/** Identifies positively reported restrictions; missing metadata alone is not a permission signal. */
|
|
4
|
+
export declare function isDrillRestricted(drill: DashboardDrillDefinition, unavailable: IUnavailableDashboardReference[]): boolean;
|
|
5
|
+
//# sourceMappingURL=drillRestrictionUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drillRestrictionUtils.d.ts","sourceRoot":"","sources":["../../../../src/model/store/widgetDrills/drillRestrictionUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAYhF,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAGlE,sGAAsG;AACtG,wBAAgB,iBAAiB,CAC7B,KAAK,EAAE,wBAAwB,EAC/B,WAAW,EAAE,8BAA8B,EAAE,GAC9C,OAAO,CAiCT"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// (C) 2026 GoodData Corporation
|
|
2
|
+
import { isComputedAttributeRef, isDrillToAttributeUrl, isDrillToCustomUrl, isDrillToDashboard, isDrillToInsight, isIdentifierRef, } from "@gooddata/sdk-model";
|
|
3
|
+
import { getDrillToCustomUrlReferences } from "@gooddata/sdk-model/internal";
|
|
4
|
+
import { isDashboardObjectRestricted } from "../filtering/restrictedFilterUtils.js";
|
|
5
|
+
/** Identifies positively reported restrictions; missing metadata alone is not a permission signal. */
|
|
6
|
+
export function isDrillRestricted(drill, unavailable) {
|
|
7
|
+
if (unavailable.length === 0) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
if (isDrillToInsight(drill)) {
|
|
11
|
+
return isDashboardObjectRestricted(drill.target, "insight", unavailable);
|
|
12
|
+
}
|
|
13
|
+
if (isDrillToDashboard(drill)) {
|
|
14
|
+
return (!!drill.target && isDashboardObjectRestricted(drill.target, "analyticalDashboard", unavailable));
|
|
15
|
+
}
|
|
16
|
+
const isLabelRestricted = (ref) => isDashboardObjectRestricted(ref, isComputedAttributeRef(ref) ? "computedAttribute" : "displayForm", unavailable);
|
|
17
|
+
if (isDrillToAttributeUrl(drill)) {
|
|
18
|
+
return (isLabelRestricted(drill.target.displayForm) ||
|
|
19
|
+
isLabelRestricted(drill.target.hyperlinkDisplayForm));
|
|
20
|
+
}
|
|
21
|
+
if (isDrillToCustomUrl(drill)) {
|
|
22
|
+
return getDrillToCustomUrlReferences(drill.target).some((ref) => isIdentifierRef(ref) &&
|
|
23
|
+
ref.type !== undefined &&
|
|
24
|
+
isDashboardObjectRestricted(ref, ref.type, unavailable));
|
|
25
|
+
}
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgetDrillSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/widgetDrills/widgetDrillSelectors.ts"],"names":[],"mappings":"AAMA,OAAO,EASH,KAAK,mBAAmB,EAGxB,KAAK,MAAM,EAad,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,KAAK,aAAa,EAGlB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACxB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,4CAA4C,EACpD,MAAM,mBAAmB,CAAC;AA0C3B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"widgetDrillSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/widgetDrills/widgetDrillSelectors.ts"],"names":[],"mappings":"AAMA,OAAO,EASH,KAAK,mBAAmB,EAGxB,KAAK,MAAM,EAad,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,KAAK,aAAa,EAGlB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACxB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACH,KAAK,wBAAwB,EAC7B,KAAK,8BAA8B,EACnC,KAAK,4CAA4C,EACpD,MAAM,mBAAmB,CAAC;AA0C3B,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIrD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IACzC,eAAe,EAAE,wBAAwB,CAAC;IAC1C,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAClC;AA2TD;;GAEG;AACH,eAAO,MAAM,mCAAmC,EAAE,CAC9C,GAAG,EAAE,MAAM,KACV,iBAAiB,CAAC,4BAA4B,EAAE,CAuCpD,CAAC;AA+JF;;GAEG;AACH,eAAO,MAAM,mDAAmD,EAAE,CAC9D,GAAG,EAAE,MAAM,KACV,iBAAiB,CAAC,4CAA4C,EAAE,CA6BpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qCAAqC,EAAE,CAChD,GAAG,EAAE,MAAM,KACV,iBAAiB,CAAC,8BAA8B,EAAE,CA2DtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oCAAoC,EAAE,CAC/C,GAAG,EAAE,MAAM,KACV,iBAAiB,CAAC,4BAA4B,EAAE,CAcpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iCAAiC,EAAE,CAC5C,GAAG,EAAE,MAAM,KACV,iBAAiB,CAAC,4BAA4B,EAAE,CAgDpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sCAAsC,EAAE,CACjD,GAAG,EAAE,MAAM,KACV,iBAAiB,CAAC,4BAA4B,EAAE,CAiDpD,CAAC;AAgCF;;GAEG;AACH,eAAO,MAAM,4CAA4C,EAAE,CACvD,GAAG,EAAE,MAAM,KACV,iBAAiB,CAAC,4BAA4B,EAAE,CAuCpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,+BAA+B,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,iBAAiB,CAAC,aAAa,EAAE,CAkC3F,CAAC;AAMN;;GAEG;AACH,eAAO,MAAM,2CAA2C,EAAE,CACtD,qBAAqB,EAAE,sBAAsB,GAAG,SAAS,EACzD,2BAA2B,EAAE,mBAAmB,EAAE,GAAG,SAAS,EAC9D,mBAAmB,EAAE,OAAO,GAAG,SAAS,KACvC,iBAAiB,CAAC,4BAA4B,EAAE,CA4CpD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2CAA2C,EAAE,CACtD,qBAAqB,EAAE,sBAAsB,GAAG,SAAS,EACzD,2BAA2B,EAAE,mBAAmB,EAAE,GAAG,SAAS,EAC9D,mBAAmB,EAAE,OAAO,GAAG,SAAS,KACvC,iBAAiB,CAAC,gBAAgB,EAAE,CAgBxC,CAAC"}
|
|
@@ -9,7 +9,7 @@ import { existBlacklistHierarchyPredicate } from "../../utils/attributeHierarchy
|
|
|
9
9
|
import { createMemoizedSelector } from "../_infra/selectors.js";
|
|
10
10
|
import { selectAccessibleDashboardsLoaded, selectAccessibleDashboardsMap, } from "../accessibleDashboards/accessibleDashboardsSelectors.js";
|
|
11
11
|
import { selectBackendCapabilities, selectSupportsAttributeHierarchies, selectSupportsCrossFiltering, } from "../backendCapabilities/backendCapabilitiesSelectors.js";
|
|
12
|
-
import {
|
|
12
|
+
import { selectAllCatalogAttributesMap, selectAllCatalogDisplayFormsMap, selectAttributesWithDisplayFormLink, selectAttributesWithHierarchyDescendants, selectCatalogDateAttributes, selectCatalogIsLoaded, selectDrillableAttributeHierarchies, } from "../catalog/catalogSelectors.js";
|
|
13
13
|
import { selectDisableDefaultDrills, selectEnableDrillToUrlByDefault, selectEnableKda, selectEnableSecondGranularities, selectIsDisabledCrossFiltering, selectIsDisabledKda, selectIsEmbedded, } from "../config/configSelectors.js";
|
|
14
14
|
import { selectDrillableItems } from "../drill/drillSelectors.js";
|
|
15
15
|
import { selectDrillTargetsByWidgetRef } from "../drillTargets/drillTargetsSelectors.js";
|
|
@@ -17,6 +17,7 @@ import { selectInsightByWidgetRef, selectInsightsMap } from "../insights/insight
|
|
|
17
17
|
import { getKeyDriverAnalysisSupportedGranularities } from "../keyDriverAnalysis/const.js";
|
|
18
18
|
import { selectDisableDashboardCrossFiltering, selectDisableDashboardKda } from "../meta/metaSelectors.js";
|
|
19
19
|
import { selectIgnoredDrillDownHierarchiesByWidgetRef, selectIgnoredDrillToUrlAttributesByWidgetRef, selectWidgetDrills, } from "../tabs/layout/layoutSelectors.js";
|
|
20
|
+
import { selectIsDrillRestricted } from "./drillRestrictionSelectors.js";
|
|
20
21
|
function drillDefinitionToPredicates(drill) {
|
|
21
22
|
let origin;
|
|
22
23
|
if (isDrillFromMeasure(drill.origin)) {
|
|
@@ -204,7 +205,7 @@ function getGlobalDrillDownAttributeHierarchyDefinitions(catalogAttributeHierarc
|
|
|
204
205
|
/**
|
|
205
206
|
* @internal
|
|
206
207
|
*/
|
|
207
|
-
export const selectImplicitDrillsDownByWidgetRef = createMemoizedSelector((ref) => createSelector(selectDrillTargetsByWidgetRef(ref), selectAttributesWithHierarchyDescendants, selectAllCatalogAttributesMap, selectSupportsAttributeHierarchies, selectInsightByWidgetRef(ref), selectIgnoredDrillDownHierarchiesByWidgetRef(ref),
|
|
208
|
+
export const selectImplicitDrillsDownByWidgetRef = createMemoizedSelector((ref) => createSelector(selectDrillTargetsByWidgetRef(ref), selectAttributesWithHierarchyDescendants, selectAllCatalogAttributesMap, selectSupportsAttributeHierarchies, selectInsightByWidgetRef(ref), selectIgnoredDrillDownHierarchiesByWidgetRef(ref), selectDrillableAttributeHierarchies, selectBackendCapabilities, (availableDrillTargets, attributesWithHierarchyDescendants, allCatalogAttributesMap, isDrillDownEnabled, widgetInsight, ignoredHierarchies, allCatalogAttributeHierarchies, backendCapabilities) => {
|
|
208
209
|
const isWidgetEnableDrillDown = !widgetInsight?.insight?.properties?.["controls"]?.disableDrillDown;
|
|
209
210
|
if (isDrillDownEnabled && isWidgetEnableDrillDown) {
|
|
210
211
|
const availableDrillAttributes = availableDrillTargets?.availableDrillTargets?.attributes ?? [];
|
|
@@ -286,7 +287,7 @@ const selectKdaByWidgetRef = createMemoizedSelector((ref) => createSelector(sele
|
|
|
286
287
|
/**
|
|
287
288
|
* @internal
|
|
288
289
|
*/
|
|
289
|
-
export const selectGlobalDrillsDownAttributeHierarchyByWidgetRef = createMemoizedSelector((ref) => createSelector(selectDrillTargetsByWidgetRef(ref),
|
|
290
|
+
export const selectGlobalDrillsDownAttributeHierarchyByWidgetRef = createMemoizedSelector((ref) => createSelector(selectDrillTargetsByWidgetRef(ref), selectDrillableAttributeHierarchies, selectIgnoredDrillDownHierarchiesByWidgetRef(ref), selectSupportsAttributeHierarchies, selectInsightByWidgetRef(ref), (availableDrillTargets, catalogAttributeHierarchies, ignoredDrillDownHierarchies, supportAttributeHierarchies, widgetInsight) => {
|
|
290
291
|
const isWidgetEnableDrillDown = !widgetInsight?.insight?.properties?.["controls"]?.disableDrillDown;
|
|
291
292
|
const enableDrillDown = supportAttributeHierarchies && isWidgetEnableDrillDown;
|
|
292
293
|
if (enableDrillDown) {
|
|
@@ -369,8 +370,11 @@ export const selectConfiguredDrillsByWidgetRef = createMemoizedSelector((ref) =>
|
|
|
369
370
|
/**
|
|
370
371
|
* @internal
|
|
371
372
|
*/
|
|
372
|
-
export const selectValidConfiguredDrillsByWidgetRef = createMemoizedSelector((ref) => createSelector(selectConfiguredDrillsByWidgetRef(ref), selectAllCatalogDisplayFormsMap, selectAccessibleDashboardsMap, selectInsightsMap, (drills = [], displayFormsMap, accessibleDashboardsMap, insightsMap) => {
|
|
373
|
+
export const selectValidConfiguredDrillsByWidgetRef = createMemoizedSelector((ref) => createSelector(selectConfiguredDrillsByWidgetRef(ref), selectAllCatalogDisplayFormsMap, selectAccessibleDashboardsMap, selectInsightsMap, selectIsDrillRestricted, (drills = [], displayFormsMap, accessibleDashboardsMap, insightsMap, isRestricted) => {
|
|
373
374
|
return drills.filter((drill) => {
|
|
375
|
+
if (isRestricted(drill.drillDefinition)) {
|
|
376
|
+
return true;
|
|
377
|
+
}
|
|
374
378
|
switch (drill.drillDefinition.type) {
|
|
375
379
|
case "drillToAttributeUrl": {
|
|
376
380
|
return displayFormsMap.get(drill.drillDefinition.target.hyperlinkDisplayForm);
|
|
@@ -454,7 +458,7 @@ export const selectDrillableItemsByWidgetRef = createMemoizedSelector((ref) => c
|
|
|
454
458
|
/**
|
|
455
459
|
* @internal
|
|
456
460
|
*/
|
|
457
|
-
export const selectImplicitDrillsByAvailableDrillTargets = createMemoizedSelector((availableDrillTargets, ignoredDrillDownHierarchies = [], disableDrillIntoURL) => createSelector(selectAttributesWithDisplayFormLink, selectAttributesWithHierarchyDescendants, selectAllCatalogAttributesMap, selectSupportsAttributeHierarchies,
|
|
461
|
+
export const selectImplicitDrillsByAvailableDrillTargets = createMemoizedSelector((availableDrillTargets, ignoredDrillDownHierarchies = [], disableDrillIntoURL) => createSelector(selectAttributesWithDisplayFormLink, selectAttributesWithHierarchyDescendants, selectAllCatalogAttributesMap, selectSupportsAttributeHierarchies, selectDrillableAttributeHierarchies, selectBackendCapabilities, selectEnableDrillToUrlByDefault, (attributesWithLink, attributesWithHierarchyDescendants, allCatalogAttributesMap, isDrillDownEnabled, allCatalogHierarchies, backendCapabilities, enableDrillToUrlByDefault) => {
|
|
458
462
|
const isDrillToUrlDisabled = disableDrillIntoURL ?? !enableDrillToUrlByDefault;
|
|
459
463
|
const availableDrillAttributes = availableDrillTargets?.attributes ?? [];
|
|
460
464
|
const drillDownDrills = isDrillDownEnabled
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Dispatch, type SetStateAction } from "react";
|
|
2
|
-
import { type FilterContextItem, type IAutomationMetadataObjectDefinition, type IAutomationVisibleFilter, type IInsight, type IWidget, type WeekStart } from "@gooddata/sdk-model";
|
|
2
|
+
import { type FilterContextItem, type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IAutomationVisibleFilter, type IInsight, type IWidget, type WeekStart } from "@gooddata/sdk-model";
|
|
3
3
|
import { type AlertAttribute, type AlertMetric } from "../types.js";
|
|
4
4
|
import { type IMeasureFormatMap } from "../utils/getters.js";
|
|
5
5
|
/**
|
|
@@ -8,6 +8,8 @@ import { type IMeasureFormatMap } from "../utils/getters.js";
|
|
|
8
8
|
*/
|
|
9
9
|
export interface IUseAlertDraftFilterWritesProps {
|
|
10
10
|
setEditedAutomation: Dispatch<SetStateAction<IAutomationMetadataObjectDefinition | undefined>>;
|
|
11
|
+
/** The alert as it was loaded; the source of the visible-filter entries only it can name. */
|
|
12
|
+
alertToEdit?: IAutomationMetadataObject;
|
|
11
13
|
dashboardHiddenFilters: FilterContextItem[];
|
|
12
14
|
commonDateFilterId?: string;
|
|
13
15
|
widget?: IWidget;
|
|
@@ -27,7 +29,7 @@ export interface IUseAlertDraftFilterWritesProps {
|
|
|
27
29
|
*
|
|
28
30
|
* @internal
|
|
29
31
|
*/
|
|
30
|
-
export declare function useAlertDraftFilterWrites({ setEditedAutomation, dashboardHiddenFilters, commonDateFilterId, widget, insight, availableFiltersAsVisibleFilters, supportedMeasures, supportedAttributes, measureFormatMap, selectedMeasure, selectedAttribute, selectedValue, weekStart, timezone, }: IUseAlertDraftFilterWritesProps): {
|
|
32
|
+
export declare function useAlertDraftFilterWrites({ setEditedAutomation, alertToEdit, dashboardHiddenFilters, commonDateFilterId, widget, insight, availableFiltersAsVisibleFilters, supportedMeasures, supportedAttributes, measureFormatMap, selectedMeasure, selectedAttribute, selectedValue, weekStart, timezone, }: IUseAlertDraftFilterWritesProps): {
|
|
31
33
|
applyFiltersToDraft: (filters: FilterContextItem[]) => void;
|
|
32
34
|
};
|
|
33
35
|
//# sourceMappingURL=useAlertDraftFilterWrites.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAlertDraftFilterWrites.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/useAlertDraftFilterWrites.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"useAlertDraftFilterWrites.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/alerting/state/useAlertDraftFilterWrites.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAwB,MAAM,OAAO,CAAC;AAEjF,OAAO,EACH,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,mCAAmC,EACxC,KAAK,wBAAwB,EAC7B,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,SAAS,EACjB,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7D;;;GAGG;AACH,MAAM,WAAW,+BAA+B;IAC5C,mBAAmB,EAAE,QAAQ,CAAC,cAAc,CAAC,mCAAmC,GAAG,SAAS,CAAC,CAAC,CAAC;IAC/F,6FAA6F;IAC7F,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;IAC5C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,gCAAgC,CAAC,EAAE,wBAAwB,EAAE,GAAG,SAAS,CAAC;IAC1E,iBAAiB,EAAE,WAAW,EAAE,CAAC;IACjC,mBAAmB,EAAE,cAAc,EAAE,CAAC;IACtC,gBAAgB,EAAE,iBAAiB,CAAC;IACpC,eAAe,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,iBAAiB,EAAE,cAAc,GAAG,SAAS,CAAC;IAC9C,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,EACtC,mBAAmB,EACnB,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,MAAM,EACN,OAAO,EACP,gCAAgC,EAChC,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,QAAQ,GACX,EAAE,+BAA+B,GAAG;IAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAA;CAAE,CAgGnG"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
|
-
import { useCallback } from "react";
|
|
2
|
+
import { useCallback, useMemo } from "react";
|
|
3
|
+
import { useAutomationsContext } from "../../contexts/AutomationsContext.js";
|
|
3
4
|
import { getAppliedWidgetFilters, getVisibleFiltersByFilters } from "../../shared/filters/index.js";
|
|
4
5
|
import { transformAlertByAttribute, transformAlertByMetric } from "../utils/transformation.js";
|
|
5
6
|
/**
|
|
@@ -7,14 +8,21 @@ import { transformAlertByAttribute, transformAlertByMetric } from "../utils/tran
|
|
|
7
8
|
*
|
|
8
9
|
* @internal
|
|
9
10
|
*/
|
|
10
|
-
export function useAlertDraftFilterWrites({ setEditedAutomation, dashboardHiddenFilters, commonDateFilterId, widget, insight, availableFiltersAsVisibleFilters, supportedMeasures, supportedAttributes, measureFormatMap, selectedMeasure, selectedAttribute, selectedValue, weekStart, timezone, }) {
|
|
11
|
+
export function useAlertDraftFilterWrites({ setEditedAutomation, alertToEdit, dashboardHiddenFilters, commonDateFilterId, widget, insight, availableFiltersAsVisibleFilters, supportedMeasures, supportedAttributes, measureFormatMap, selectedMeasure, selectedAttribute, selectedValue, weekStart, timezone, }) {
|
|
12
|
+
const { isFilterRestricted } = useAutomationsContext();
|
|
13
|
+
// Read from the loaded alert, not from the draft, so an entry the dashboard cannot name survives
|
|
14
|
+
// every rewrite of the filter list.
|
|
15
|
+
const restrictedFallback = useMemo(() => ({
|
|
16
|
+
storedVisibleFilters: alertToEdit?.metadata?.visibleFilters,
|
|
17
|
+
isFilterRestricted,
|
|
18
|
+
}), [alertToEdit, isFilterRestricted]);
|
|
11
19
|
const applyFiltersToDraft = useCallback((filters) => {
|
|
12
20
|
setEditedAutomation((s) => {
|
|
13
21
|
if (!s) {
|
|
14
22
|
return undefined;
|
|
15
23
|
}
|
|
16
24
|
const appliedFilters = getAppliedWidgetFilters(filters, dashboardHiddenFilters, widget, insight, commonDateFilterId, true, !s.metadata?.widget);
|
|
17
|
-
const visibleFilters = getVisibleFiltersByFilters(filters, availableFiltersAsVisibleFilters, true);
|
|
25
|
+
const visibleFilters = getVisibleFiltersByFilters(filters, availableFiltersAsVisibleFilters, true, restrictedFallback);
|
|
18
26
|
const updatedAutomationWithFilters = {
|
|
19
27
|
...s,
|
|
20
28
|
alert: {
|
|
@@ -41,6 +49,7 @@ export function useAlertDraftFilterWrites({ setEditedAutomation, dashboardHidden
|
|
|
41
49
|
}, [
|
|
42
50
|
setEditedAutomation,
|
|
43
51
|
availableFiltersAsVisibleFilters,
|
|
52
|
+
restrictedFallback,
|
|
44
53
|
widget,
|
|
45
54
|
insight,
|
|
46
55
|
dashboardHiddenFilters,
|
|
@@ -219,26 +219,20 @@ function collectAllMetric(insight, alert) {
|
|
|
219
219
|
if (alert.alert?.condition.type === "comparison") {
|
|
220
220
|
const left = alert.alert?.condition.left;
|
|
221
221
|
return {
|
|
222
|
-
primaries:
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
newMeasure(left.id, (a) => a.format(left.format).title(left.title).localId(left.id)),
|
|
226
|
-
]
|
|
227
|
-
: []),
|
|
228
|
-
],
|
|
222
|
+
primaries: left
|
|
223
|
+
? [newMeasure(left.id, (a) => a.format(left.format).title(left.title).localId(left.id))]
|
|
224
|
+
: [],
|
|
229
225
|
others: [],
|
|
230
226
|
};
|
|
231
227
|
}
|
|
232
228
|
if (alert.alert?.condition.type === "anomalyDetection") {
|
|
233
229
|
const measure = alert.alert?.condition.measure;
|
|
234
230
|
return {
|
|
235
|
-
primaries:
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
: []),
|
|
241
|
-
],
|
|
231
|
+
primaries: measure
|
|
232
|
+
? [
|
|
233
|
+
newMeasure(measure.id, (a) => a.format(measure.format).title(measure.title).localId(measure.id)),
|
|
234
|
+
]
|
|
235
|
+
: [],
|
|
242
236
|
others: [],
|
|
243
237
|
};
|
|
244
238
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBuildAutomationsContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/connectors/hooks/useBuildAutomationsContext.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useBuildAutomationsContext.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/connectors/hooks/useBuildAutomationsContext.ts"],"names":[],"mappings":"AA2FA,OAAO,KAAK,EACR,wBAAwB,EAG3B,MAAM,sCAAsC,CAAC;AAI9C,wBAAgB,0BAA0B,IAAI,wBAAwB,CAiQrE"}
|
|
@@ -4,7 +4,8 @@ import { useDashboardSelector } from "../../../../model/react/DashboardStoreProv
|
|
|
4
4
|
import { selectAllCatalogAttributesMap, selectAllCatalogDisplayFormsMap, selectCatalogAttributesWithComputed, selectCatalogDateDatasets, selectCatalogMeasures, selectCatalogParameters, selectCatalogParametersIsLoaded, } from "../../../../model/store/catalog/catalogSelectors.js";
|
|
5
5
|
import { selectEnableAlertOncePerInterval, selectEnableAnomalyDetectionAlert, selectEnableAutomationEvaluationMode, selectEnableParameters, selectEnableSlideshowExports, selectEnableStringParameters, selectEnableTimezoneChange, selectExternalRecipient, selectIsWhiteLabeled, selectLocale, selectSeparators, selectSettings, selectTimezone, selectWeekStart, } from "../../../../model/store/config/configSelectors.js";
|
|
6
6
|
import { selectEntitlementMinimumRecurrenceMinutes, selectMaxAutomationRecipients, } from "../../../../model/store/entitlements/entitlementsSelectors.js";
|
|
7
|
-
import { selectAutomationAvailableDashboardFilters, selectAutomationCommonDateFilterId, selectAutomationDefaultSelectedFilters, selectAutomationFiltersByTab,
|
|
7
|
+
import { selectAllDashboardFiltersWithoutCrossFiltering, selectAutomationAvailableDashboardFilters, selectAutomationCommonDateFilterId, selectAutomationDefaultSelectedFilters, selectAutomationFiltersByTab, selectDashboardHiddenFilters, selectDashboardLockedFilters, } from "../../../../model/store/filtering/dashboardFilterSelectors.js";
|
|
8
|
+
import { isDashboardFilterRestricted } from "../../../../model/store/filtering/restrictedFilterUtils.js";
|
|
8
9
|
import { selectDashboardTimezoneConfig, selectEffectiveDashboardTimezone, selectPersistedDashboardFilterContextDateFilterConfig, selectScheduledExportTimezone, } from "../../../../model/store/meta/metaSelectors.js";
|
|
9
10
|
import { selectCanCreateAutomation, selectCanManageWorkspace, selectCanUseAiAssistant, } from "../../../../model/store/permissions/permissionsSelectors.js";
|
|
10
11
|
import { selectAttributeFilterConfigsOverrides, selectAttributeFilterConfigsOverridesByTab, selectAttributeFilterConfigsSelectionTypeMap, selectAttributeFilterConfigsSelectionTypeMapByTab, } from "../../../../model/store/tabs/attributeFilterConfigs/attributeFilterConfigsSelectors.js";
|
|
@@ -16,6 +17,7 @@ import { selectMeasureValueFilterConfigsOverrides, selectMeasureValueFilterConfi
|
|
|
16
17
|
import { selectSmartPersistedTabsParameters } from "../../../../model/store/tabs/parameters/parametersSelectors.js";
|
|
17
18
|
import { selectTabs } from "../../../../model/store/tabs/tabsSelectors.js";
|
|
18
19
|
import { selectExecutionTimestamp, selectScheduleEmailDialogReturnFocusTo, } from "../../../../model/store/ui/uiSelectors.js";
|
|
20
|
+
import { selectUnavailableObjects } from "../../../../model/store/unavailableObjects/unavailableObjectsSelectors.js";
|
|
19
21
|
import { selectCurrentUser } from "../../../../model/store/user/userSelectors.js";
|
|
20
22
|
const DEFAULT_MIN_RECURRENCE_MINUTES = "60";
|
|
21
23
|
export function useBuildAutomationsContext() {
|
|
@@ -45,7 +47,8 @@ export function useBuildAutomationsContext() {
|
|
|
45
47
|
const commonDateFilterId = useDashboardSelector(selectAutomationCommonDateFilterId);
|
|
46
48
|
const lockedFilters = useDashboardSelector(selectDashboardLockedFilters);
|
|
47
49
|
const hiddenFilters = useDashboardSelector(selectDashboardHiddenFilters);
|
|
48
|
-
const availableFilters = useDashboardSelector(
|
|
50
|
+
const availableFilters = useDashboardSelector(selectAllDashboardFiltersWithoutCrossFiltering);
|
|
51
|
+
const unavailableObjects = useDashboardSelector(selectUnavailableObjects);
|
|
49
52
|
const automationFiltersByTab = useDashboardSelector(selectAutomationFiltersByTab);
|
|
50
53
|
const defaultSelectedFilters = useDashboardSelector(selectAutomationDefaultSelectedFilters);
|
|
51
54
|
const automationAvailableFilters = useDashboardSelector(selectAutomationAvailableDashboardFilters);
|
|
@@ -95,6 +98,7 @@ export function useBuildAutomationsContext() {
|
|
|
95
98
|
const widgetLocalIdToTabIdMap = useDashboardSelector(selectWidgetLocalIdToTabIdMap);
|
|
96
99
|
const getCatalogAttributeByRef = useCallback((ref) => allCatalogAttributesMap.get(ref), [allCatalogAttributesMap]);
|
|
97
100
|
const getAttributeFilterDisplayForm = useCallback((displayForm) => attrFilterDisplayFormsMap.get(displayForm) ?? catalogDisplayFormsMap.get(displayForm), [attrFilterDisplayFormsMap, catalogDisplayFormsMap]);
|
|
101
|
+
const isFilterRestricted = useCallback((filter) => isDashboardFilterRestricted(filter, unavailableObjects), [unavailableObjects]);
|
|
98
102
|
const widgetExistsByRef = useCallback((ref) => !!ref && widgetsMap.get(ref) !== undefined, [widgetsMap]);
|
|
99
103
|
const dateFilterConfig = useMemo(() => ({
|
|
100
104
|
availableGranularities,
|
|
@@ -177,6 +181,7 @@ export function useBuildAutomationsContext() {
|
|
|
177
181
|
widgetLocalIdToTabIdMap,
|
|
178
182
|
getCatalogAttributeByRef,
|
|
179
183
|
getAttributeFilterDisplayForm,
|
|
184
|
+
isFilterRestricted,
|
|
180
185
|
widgetExistsByRef,
|
|
181
186
|
scheduleEmailDialogReturnFocusTo,
|
|
182
187
|
}), [
|
|
@@ -219,6 +224,7 @@ export function useBuildAutomationsContext() {
|
|
|
219
224
|
widgetLocalIdToTabIdMap,
|
|
220
225
|
getCatalogAttributeByRef,
|
|
221
226
|
getAttributeFilterDisplayForm,
|
|
227
|
+
isFilterRestricted,
|
|
222
228
|
widgetExistsByRef,
|
|
223
229
|
scheduleEmailDialogReturnFocusTo,
|
|
224
230
|
]);
|
|
@@ -99,11 +99,13 @@ export interface IAutomationsContextValue {
|
|
|
99
99
|
lockedFilters: FilterContextItem[];
|
|
100
100
|
/** Dashboard filters configured as hidden; from selectDashboardHiddenFilters. */
|
|
101
101
|
hiddenFilters: FilterContextItem[];
|
|
102
|
-
/** Dashboard's applied filters with cross-filtering filters removed; from
|
|
102
|
+
/** Dashboard's applied filters with cross-filtering filters removed; from selectAllDashboardFiltersWithoutCrossFiltering. */
|
|
103
103
|
availableFilters: FilterContextItem[];
|
|
104
|
+
/** Whether the user may not read the object a filter filters by. Such a filter is kept in the automation, but the filter bar reports it as a count instead of rendering it. */
|
|
105
|
+
isFilterRestricted: (filter: FilterContextItem) => boolean;
|
|
104
106
|
/** Automation-available filters structured per dashboard tab, for whole-dashboard automations on a tabbed dashboard; from selectAutomationFiltersByTab. */
|
|
105
107
|
automationFiltersByTab: IAutomationFiltersTab[];
|
|
106
|
-
/** Automation-available filters with empty (all-values) filters removed; preselects filters for a new automation. From selectAutomationDefaultSelectedFilters. */
|
|
108
|
+
/** Automation-available filters with empty (all-values) filters removed, except restricted ones; preselects filters for a new automation. From selectAutomationDefaultSelectedFilters. */
|
|
107
109
|
defaultSelectedFilters: FilterContextItem[];
|
|
108
110
|
/** Dashboard filters available to an automation — hidden filters removed, common date filter included; from selectAutomationAvailableDashboardFilters. */
|
|
109
111
|
automationAvailableFilters: FilterContextItem[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutomationsContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/contexts/AutomationsContext.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AutomationsContext.d.ts","sourceRoot":"","sources":["../../../../src/presentation/automations/contexts/AutomationsContext.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACR,qCAAqC,EACrC,qBAAqB,EACrB,iBAAiB,EACjB,mCAAmC,EACnC,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,+BAA+B,EAC/B,0BAA0B,EAC1B,8BAA8B,EAC9B,kCAAkC,EAClC,mBAAmB,EACnB,wBAAwB,EACxB,WAAW,EACX,SAAS,EACT,KAAK,EACL,MAAM,EACN,SAAS,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAErF;;;;;GAKG;AACH,MAAM,WAAW,4BAA4B;IACzC,6IAA6I;IAC7I,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,6JAA6J;IAC7J,iBAAiB,EAAE,wBAAwB,CAAC;IAC5C;;;;;OAKG;IACH,sBAAsB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,qBAAqB,EAAE,CAAC;IACnE;;;;;OAKG;IACH,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,wBAAwB,GAAG,SAAS,CAAC;CAC7E;AAED;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACnC,8EAA8E;IAC9E,OAAO,EAAE,OAAO,CAAC;IACjB,sFAAsF;IACtF,uBAAuB,EAAE,OAAO,CAAC;IACjC,qEAAqE;IACrE,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACpC;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB,kGAAkG;IAClG,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;CACnE;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACrC,+FAA+F;IAC/F,MAAM,EAAE,OAAO,CAAC;IAChB,+EAA+E;IAC/E,UAAU,EAAE,WAAW,CAAC;IACxB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,4GAA4G;IAC5G,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,sEAAsE;IACtE,mBAAmB,EAAE,mBAAmB,EAAE,CAAC;IAC3C,6DAA6D;IAC7D,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,wHAAwH;IACxH,gBAAgB,EAAE,4BAA4B,CAAC;IAC/C;;;OAGG;IACH,uBAAuB,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAChE,wHAAwH;IACxH,sBAAsB,EAAE,+BAA+B,EAAE,CAAC;IAC1D,iJAAiJ;IACjJ,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,+BAA+B,EAAE,CAAC,CAAC;IAC/E,gJAAgJ;IAChJ,+BAA+B,EAAE,GAAG,CAAC,MAAM,EAAE,qCAAqC,GAAG,SAAS,CAAC,CAAC;IAChG,iKAAiK;IACjK,oCAAoC,EAAE,MAAM,CACxC,MAAM,EACN,GAAG,CAAC,MAAM,EAAE,qCAAqC,GAAG,SAAS,CAAC,CACjE,CAAC;IACF,sHAAsH;IACtH,iBAAiB,EAAE,8BAA8B,EAAE,CAAC;IACpD,uIAAuI;IACvI,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,8BAA8B,EAAE,CAAC,CAAC;IACzE,gJAAgJ;IAChJ,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,GAAG,SAAS,CAAC,CAAC;IACvF,+HAA+H;IAC/H,yBAAyB,EAAE,kCAAkC,EAAE,CAAC;IAChE,uJAAuJ;IACvJ,8BAA8B,EAAE,MAAM,CAAC,MAAM,EAAE,kCAAkC,EAAE,CAAC,CAAC;IACrF,0JAA0J;IAC1J,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,6FAA6F;IAC7F,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,iFAAiF;IACjF,aAAa,EAAE,iBAAiB,EAAE,CAAC;IACnC,6HAA6H;IAC7H,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,+KAA+K;IAC/K,kBAAkB,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC;IAC3D,2JAA2J;IAC3J,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,0LAA0L;IAC1L,sBAAsB,EAAE,iBAAiB,EAAE,CAAC;IAC5C,0JAA0J;IAC1J,0BAA0B,EAAE,iBAAiB,EAAE,CAAC;IAChD;;;;OAIG;IACH,wBAAwB,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,wBAAwB,EAAE,OAAO,CAAC;IAClC,+IAA+I;IAC/I,qBAAqB,EAAE,OAAO,CAAC;IAC/B,kDAAkD;IAClD,WAAW,EAAE,KAAK,CAAC;IACnB,8EAA8E;IAC9E,SAAS,EAAE,SAAS,CAAC;IACrB;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,EAAE;QACd;;WAEG;QACH,wBAAwB,EAAE,OAAO,CAAC;QAClC;;WAEG;QACH,2BAA2B,EAAE,OAAO,CAAC;QACrC;;WAEG;QACH,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;QACzC;;WAEG;QACH,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC;;;WAGG;QACH,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;QACtC;;;WAGG;QACH,uBAAuB,EAAE,MAAM,GAAG,SAAS,CAAC;KAC/C,CAAC;IACF,kHAAkH;IAClH,cAAc,EAAE,OAAO,CAAC;IACxB,0HAA0H;IAC1H,uBAAuB,EAAE,OAAO,CAAC;IACjC,wIAAwI;IACxI,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,uEAAuE;IACvE,QAAQ,EAAE;QACN,wIAAwI;QACxI,mBAAmB,EAAE,OAAO,CAAC;QAC7B,8GAA8G;QAC9G,0BAA0B,EAAE,OAAO,CAAC;QACpC,sGAAsG;QACtG,2BAA2B,EAAE,OAAO,CAAC;QACrC,6KAA6K;QAC7K,iBAAiB,EAAE,OAAO,CAAC;QAC3B,wFAAwF;QACxF,kBAAkB,EAAE,OAAO,CAAC;QAC5B,uGAAuG;QACvG,sBAAsB,EAAE,OAAO,CAAC;QAChC,4GAA4G;QAC5G,8BAA8B,EAAE,OAAO,CAAC;KAC3C,CAAC;IACF,gIAAgI;IAChI,UAAU,EAAE,sBAAsB,CAAC;IACnC;;;;OAIG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sFAAsF;IACtF,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,2JAA2J;IAC3J,wBAAwB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,iBAAiB,GAAG,qBAAqB,GAAG,SAAS,CAAC;IACjG;;;;OAIG;IACH,6BAA6B,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,mCAAmC,GAAG,SAAS,CAAC;IACxG;;;;OAIG;IACH,gCAAgC,CAAC,EAAE,MAAM,CAAC;IAC1C;;;;OAIG;IACH,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC;CAC3D;AAID;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B,gEAA8B,CAAC;AAEtE;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,wBAAwB,CAWhE"}
|
|
@@ -19,7 +19,7 @@ import { useAutomationsContext } from "../../contexts/AutomationsContext.js";
|
|
|
19
19
|
*/
|
|
20
20
|
export function useExportTimezones(isWidgetSchedule) {
|
|
21
21
|
const { exportTimezones } = useAutomationsContext();
|
|
22
|
-
const { isTimezoneFeatureEnabled = false, allowUserOverrideInViewMode = false, configuredTimezoneId
|
|
22
|
+
const { isTimezoneFeatureEnabled = false, allowUserOverrideInViewMode = false, configuredTimezoneId, workspaceTimezone, effectiveTimezone, scheduledExportTimezone: explicitTimezone, } = exportTimezones ?? {};
|
|
23
23
|
const canSelectScheduleTimezone = isTimezoneFeatureEnabled && allowUserOverrideInViewMode;
|
|
24
24
|
const initialSelection = isWidgetSchedule
|
|
25
25
|
? effectiveTimezone
|
package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.js
CHANGED
|
@@ -96,6 +96,7 @@ function LoadedScheduledEmailDialogState({ children }) {
|
|
|
96
96
|
});
|
|
97
97
|
const { applyFiltersToDraft, applyFiltersByTabToDraft } = useScheduledEmailDraftFilterWrites({
|
|
98
98
|
setEditedAutomation: formState.setEditedAutomation,
|
|
99
|
+
scheduledExportToEdit,
|
|
99
100
|
widget,
|
|
100
101
|
insight,
|
|
101
102
|
storeFilters,
|