@gooddata/sdk-ui-dashboard 11.58.0-alpha.3 → 11.58.0-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/index.d.ts +2 -2
  4. package/esm/index.d.ts.map +1 -1
  5. package/esm/index.js +2 -2
  6. package/esm/internal.d.ts +1 -0
  7. package/esm/internal.d.ts.map +1 -1
  8. package/esm/internal.js +1 -0
  9. package/esm/model/commandHandlers/common/validateDrillToCustomUrlParams.d.ts.map +1 -1
  10. package/esm/model/commandHandlers/common/validateDrillToCustomUrlParams.js +6 -1
  11. package/esm/model/commandHandlers/common/validateDrills.d.ts.map +1 -1
  12. package/esm/model/commandHandlers/common/validateDrills.js +12 -3
  13. package/esm/model/commandHandlers/dashboard/dashboardDrillReferences.d.ts +4 -0
  14. package/esm/model/commandHandlers/dashboard/dashboardDrillReferences.d.ts.map +1 -0
  15. package/esm/model/commandHandlers/dashboard/dashboardDrillReferences.js +53 -0
  16. package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.d.ts.map +1 -1
  17. package/esm/model/commandHandlers/dashboard/saveAsDashboardHandler.js +4 -1
  18. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.d.ts.map +1 -1
  19. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.js +30 -6
  20. package/esm/model/commandHandlers/drill/drillToAttributeUrlHandler.d.ts.map +1 -1
  21. package/esm/model/commandHandlers/drill/drillToAttributeUrlHandler.js +2 -0
  22. package/esm/model/commandHandlers/drill/drillToCustomUrlHandler.d.ts.map +1 -1
  23. package/esm/model/commandHandlers/drill/drillToCustomUrlHandler.js +2 -0
  24. package/esm/model/commandHandlers/drill/drillToDashboardHandler.d.ts.map +1 -1
  25. package/esm/model/commandHandlers/drill/drillToDashboardHandler.js +2 -0
  26. package/esm/model/commandHandlers/drill/drillToInsightHandler.d.ts.map +1 -1
  27. package/esm/model/commandHandlers/drill/drillToInsightHandler.js +3 -1
  28. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.d.ts.map +1 -1
  29. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.js +30 -29
  30. package/esm/model/commandHandlers/drill/validateDrillAccess.d.ts +6 -0
  31. package/esm/model/commandHandlers/drill/validateDrillAccess.d.ts.map +1 -0
  32. package/esm/model/commandHandlers/drill/validateDrillAccess.js +10 -0
  33. package/esm/model/store/catalog/catalogSelectors.d.ts +26 -1
  34. package/esm/model/store/catalog/catalogSelectors.d.ts.map +1 -1
  35. package/esm/model/store/catalog/catalogSelectors.js +13 -2
  36. package/esm/model/store/filtering/dashboardFilterSelectors.d.ts +8 -2
  37. package/esm/model/store/filtering/dashboardFilterSelectors.d.ts.map +1 -1
  38. package/esm/model/store/filtering/dashboardFilterSelectors.js +41 -25
  39. package/esm/model/store/filtering/types.d.ts +5 -0
  40. package/esm/model/store/filtering/types.d.ts.map +1 -1
  41. package/esm/model/store/tabs/layout/layoutSelectors.d.ts.map +1 -1
  42. package/esm/model/store/tabs/layout/layoutSelectors.js +2 -1
  43. package/esm/model/store/ui/index.d.ts +1 -0
  44. package/esm/model/store/ui/index.d.ts.map +1 -1
  45. package/esm/model/store/ui/uiReducers.d.ts +5 -1
  46. package/esm/model/store/ui/uiReducers.d.ts.map +1 -1
  47. package/esm/model/store/ui/uiReducers.js +8 -4
  48. package/esm/model/store/ui/uiSelectors.d.ts +5 -1
  49. package/esm/model/store/ui/uiSelectors.d.ts.map +1 -1
  50. package/esm/model/store/ui/uiSelectors.js +4 -0
  51. package/esm/model/store/ui/uiState.d.ts +2 -1
  52. package/esm/model/store/ui/uiState.d.ts.map +1 -1
  53. package/esm/model/store/ui/uiState.js +1 -0
  54. package/esm/model/store/widgetDrills/drillRestrictionSelectors.d.ts +23 -0
  55. package/esm/model/store/widgetDrills/drillRestrictionSelectors.d.ts.map +1 -0
  56. package/esm/model/store/widgetDrills/drillRestrictionSelectors.js +5 -0
  57. package/esm/model/store/widgetDrills/drillRestrictionUtils.d.ts +5 -0
  58. package/esm/model/store/widgetDrills/drillRestrictionUtils.d.ts.map +1 -0
  59. package/esm/model/store/widgetDrills/drillRestrictionUtils.js +27 -0
  60. package/esm/model/store/widgetDrills/widgetDrillSelectors.d.ts.map +1 -1
  61. package/esm/model/store/widgetDrills/widgetDrillSelectors.js +9 -5
  62. package/esm/presentation/automations/alerting/state/AlertingDialogStateProvider.js +1 -0
  63. package/esm/presentation/automations/alerting/state/useAlertDraftFilterWrites.d.ts +4 -2
  64. package/esm/presentation/automations/alerting/state/useAlertDraftFilterWrites.d.ts.map +1 -1
  65. package/esm/presentation/automations/alerting/state/useAlertDraftFilterWrites.js +12 -3
  66. package/esm/presentation/automations/alerting/utils/items.js +8 -14
  67. package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.d.ts.map +1 -1
  68. package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.js +8 -2
  69. package/esm/presentation/automations/contexts/AutomationsContext.d.ts +4 -2
  70. package/esm/presentation/automations/contexts/AutomationsContext.d.ts.map +1 -1
  71. package/esm/presentation/automations/scheduledEmail/hooks/useExportTimezones.js +1 -1
  72. package/esm/presentation/automations/scheduledEmail/state/ScheduledEmailDialogStateProvider.js +1 -0
  73. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDraftFilterWrites.d.ts +4 -2
  74. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDraftFilterWrites.d.ts.map +1 -1
  75. package/esm/presentation/automations/scheduledEmail/state/useScheduledEmailDraftFilterWrites.js +25 -6
  76. package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.d.ts.map +1 -1
  77. package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.js +16 -11
  78. package/esm/presentation/automations/shared/automationFilters/components/AutomationRestrictedFilters.d.ts +9 -0
  79. package/esm/presentation/automations/shared/automationFilters/components/AutomationRestrictedFilters.d.ts.map +1 -0
  80. package/esm/presentation/automations/shared/automationFilters/components/AutomationRestrictedFilters.js +22 -0
  81. package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.d.ts +2 -2
  82. package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.d.ts.map +1 -1
  83. package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.js +17 -5
  84. package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.d.ts +8 -0
  85. package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.d.ts.map +1 -1
  86. package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.js +54 -10
  87. package/esm/presentation/automations/shared/automationFilters/useAutomationFiltersSelect.d.ts.map +1 -1
  88. package/esm/presentation/automations/shared/automationFilters/useAutomationFiltersSelect.js +3 -2
  89. package/esm/presentation/automations/shared/filters/conversions.d.ts +10 -2
  90. package/esm/presentation/automations/shared/filters/conversions.d.ts.map +1 -1
  91. package/esm/presentation/automations/shared/filters/conversions.js +15 -6
  92. package/esm/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.d.ts.map +1 -1
  93. package/esm/presentation/dashboardSettingsDialog/DefaultDashboardSettingsDialog.js +3 -4
  94. package/esm/presentation/dashboardSettingsDialog/TimezoneOption.d.ts.map +1 -1
  95. package/esm/presentation/dashboardSettingsDialog/TimezoneOption.js +20 -7
  96. package/esm/presentation/dialogs/ExportCsvDialog.d.ts.map +1 -1
  97. package/esm/presentation/dialogs/ExportCsvDialog.js +2 -1
  98. package/esm/presentation/drill/DrillConfigPanel/DrillToUrl/CustomUrlEditorParametersSections/IdentifierParametersSection.js +1 -1
  99. package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.d.ts +2 -1
  100. package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.d.ts.map +1 -1
  101. package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.js +19 -1
  102. package/esm/presentation/drill/DrillSelect/WithDrillSelect.d.ts.map +1 -1
  103. package/esm/presentation/drill/DrillSelect/WithDrillSelect.js +12 -4
  104. package/esm/presentation/drill/DrillSelect/types.d.ts +1 -0
  105. package/esm/presentation/drill/DrillSelect/types.d.ts.map +1 -1
  106. package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.d.ts.map +1 -1
  107. package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.js +4 -2
  108. package/esm/presentation/insightNotSavedDialog/InsightNotSavedDialog.d.ts.map +1 -1
  109. package/esm/presentation/insightNotSavedDialog/InsightNotSavedDialog.js +4 -5
  110. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +21 -1
  111. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  112. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +25 -5
  113. package/esm/presentation/topBar/buttonBar/button/saveButton/DefaultSaveButton.d.ts.map +1 -1
  114. package/esm/presentation/topBar/buttonBar/button/saveButton/DefaultSaveButton.js +3 -2
  115. package/esm/sdk-ui-dashboard.d.ts +20 -19
  116. package/package.json +21 -21
  117. package/styles/css/dashboard.css +1 -7
  118. package/styles/css/dashboard.css.map +1 -1
  119. package/styles/css/dashboardSettingsDialog.css +4 -0
  120. package/styles/css/dashboardSettingsDialog.css.map +1 -1
  121. package/styles/css/export.css +0 -6
  122. package/styles/css/export.css.map +1 -1
  123. package/styles/css/main.css +5 -13
  124. package/styles/css/main.css.map +1 -1
  125. package/styles/css/notifications_channels_dialog.css +1 -7
  126. package/styles/css/notifications_channels_dialog.css.map +1 -1
  127. package/styles/scss/dashboardSettingsDialog.scss +5 -0
  128. package/styles/scss/export.scss +0 -9
  129. package/styles/scss/notifications_channels_dialog.scss +1 -10
  130. package/esm/model/types/drillTypes.d.ts +0 -13
  131. package/esm/model/types/drillTypes.d.ts.map +0 -1
  132. 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAyB,CAAC"}
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;AA4ZxE,KAAK,oBAAoB,GAAG;IACxB,IAAI,EAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAwEF,eAAO,MAAM,UAAU;;;;;;;;;;;yBAreuE,MAAM;;;;;;;;;;;;yBA8C3C,MAAM;;;;;;;yBA4BR,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA4PjC,cAAc;2BAAiB,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;kBA4DpD,eAAe;oCAA0B,YAAY;;;;;;;;;;;;;;;;;;;mBA7M1D,OAAO;mBACP,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;uBAwSV,MAAM;2CAAiC,MAAM;;;;CAiF3E,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
- ...(state.scheduleEmailDialog.context || {}),
10
+ ...state.scheduleEmailDialog.context,
11
11
  schedule,
12
12
  };
13
13
  }
14
14
  if (widgetRef) {
15
15
  state.scheduleEmailDialog.context = {
16
- ...(state.scheduleEmailDialog.context || {}),
16
+ ...state.scheduleEmailDialog.context,
17
17
  widgetRef,
18
18
  };
19
19
  if (openedFrom === "widget") {
20
- const returnFocusTo = getDashboardInsightMenuButtonId(objRefToString(widgetRef));
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":"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"}
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":"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"}
1
+ {"version":3,"file":"uiState.d.ts","sourceRoot":"","sources":["../../../../src/model/store/ui/uiState.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export const uiInitialState = {
24
24
  insightNotSavedDialog: {
25
25
  open: false,
26
26
  saveConfirmed: false,
27
+ draftInsightsToPersist: [],
27
28
  },
28
29
  settingsDialog: {
29
30
  open: false,
@@ -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;AAErD;;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,CA6CpD,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"}
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 { selectAllCatalogAttributeHierarchies, selectAllCatalogAttributesMap, selectAllCatalogDisplayFormsMap, selectAttributesWithDisplayFormLink, selectAttributesWithHierarchyDescendants, selectCatalogDateAttributes, selectCatalogIsLoaded, } from "../catalog/catalogSelectors.js";
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), selectAllCatalogAttributeHierarchies, selectBackendCapabilities, (availableDrillTargets, attributesWithHierarchyDescendants, allCatalogAttributesMap, isDrillDownEnabled, widgetInsight, ignoredHierarchies, allCatalogAttributeHierarchies, backendCapabilities) => {
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), selectAllCatalogAttributeHierarchies, selectIgnoredDrillDownHierarchiesByWidgetRef(ref), selectSupportsAttributeHierarchies, selectInsightByWidgetRef(ref), (availableDrillTargets, catalogAttributeHierarchies, ignoredDrillDownHierarchies, supportAttributeHierarchies, widgetInsight) => {
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, selectAllCatalogAttributeHierarchies, selectBackendCapabilities, selectEnableDrillToUrlByDefault, (attributesWithLink, attributesWithHierarchyDescendants, allCatalogAttributesMap, isDrillDownEnabled, allCatalogHierarchies, backendCapabilities, enableDrillToUrlByDefault) => {
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
@@ -67,6 +67,7 @@ function LoadedAlertingDialogState({ children }) {
67
67
  });
68
68
  const { applyFiltersToDraft } = useAlertDraftFilterWrites({
69
69
  setEditedAutomation: formState.setEditedAutomation,
70
+ alertToEdit,
70
71
  dashboardHiddenFilters,
71
72
  commonDateFilterId,
72
73
  widget,
@@ -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,EAAe,MAAM,OAAO,CAAC;AAExE,OAAO,EACH,KAAK,iBAAiB,EAEtB,KAAK,mCAAmC,EACxC,KAAK,wBAAwB,EAC7B,KAAK,QAAQ,EACb,KAAK,OAAO,EACZ,KAAK,SAAS,EACjB,MAAM,qBAAqB,CAAC;AAG7B,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,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,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,CAmFnG"}
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
- ...(left
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
- ...(measure
237
- ? [
238
- newMeasure(measure.id, (a) => a.format(measure.format).title(measure.title).localId(measure.id)),
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":"AAyFA,OAAO,KAAK,EACR,wBAAwB,EAG3B,MAAM,sCAAsC,CAAC;AAI9C,wBAAgB,0BAA0B,IAAI,wBAAwB,CA0PrE"}
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, selectDashboardFiltersWithoutCrossFiltering, selectDashboardHiddenFilters, selectDashboardLockedFilters, } from "../../../../model/store/filtering/dashboardFilterSelectors.js";
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(selectDashboardFiltersWithoutCrossFiltering);
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 selectDashboardFiltersWithoutCrossFiltering. */
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":"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"}
@@ -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 = undefined, workspaceTimezone = undefined, effectiveTimezone = undefined, scheduledExportTimezone: explicitTimezone = undefined, } = exportTimezones ?? {};
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
@@ -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,