@gooddata/sdk-ui-dashboard 11.62.0-alpha.2 → 11.62.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/NOTICE +33 -610
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/_staging/dashboard/dashboardFilterContext.d.ts.map +1 -1
  5. package/esm/_staging/dashboard/dashboardFilterContext.js +4 -2
  6. package/esm/_staging/dashboard/dashboardFilterContextValidation.js +1 -1
  7. package/esm/index.d.ts +5 -3
  8. package/esm/index.d.ts.map +1 -1
  9. package/esm/index.js +1 -1
  10. package/esm/model/commandHandlers/dashboard/common/filterViews.d.ts +3 -2
  11. package/esm/model/commandHandlers/dashboard/common/filterViews.d.ts.map +1 -1
  12. package/esm/model/commandHandlers/dashboard/common/filterViews.js +12 -6
  13. package/esm/model/commandHandlers/dashboard/common/stateInitializers.d.ts.map +1 -1
  14. package/esm/model/commandHandlers/dashboard/common/stateInitializers.js +5 -6
  15. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.d.ts.map +1 -1
  16. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/index.js +1 -1
  17. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadUnavailableReferences.d.ts.map +1 -1
  18. package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/loadUnavailableReferences.js +2 -0
  19. package/esm/model/commandHandlers/dashboard/resetDashboardHandler.d.ts.map +1 -1
  20. package/esm/model/commandHandlers/dashboard/resetDashboardHandler.js +3 -1
  21. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.d.ts.map +1 -1
  22. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.js +6 -5
  23. package/esm/model/commandHandlers/drill/drillToDashboardHandler.d.ts.map +1 -1
  24. package/esm/model/commandHandlers/drill/drillToDashboardHandler.js +4 -1
  25. package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.d.ts.map +1 -1
  26. package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.js +5 -3
  27. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.d.ts +21 -1
  28. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.d.ts.map +1 -1
  29. package/esm/model/commandHandlers/drill/resolveDrillToCustomUrl.js +56 -54
  30. package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeFilterSelectionHandler.d.ts.map +1 -1
  31. package/esm/model/commandHandlers/filterContext/attributeFilter/changeAttributeFilterSelectionHandler.js +17 -4
  32. package/esm/model/commandHandlers/filterContext/attributeFilter/replaceAttributeFilterItemSelectionHandler.d.ts.map +1 -1
  33. package/esm/model/commandHandlers/filterContext/attributeFilter/replaceAttributeFilterItemSelectionHandler.js +6 -1
  34. package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.d.ts.map +1 -1
  35. package/esm/model/commandHandlers/filterContext/changeFilterContextSelectionHandler.js +188 -70
  36. package/esm/model/commandHandlers/filterContext/common.d.ts +14 -2
  37. package/esm/model/commandHandlers/filterContext/common.d.ts.map +1 -1
  38. package/esm/model/commandHandlers/filterContext/common.js +43 -6
  39. package/esm/model/commandHandlers/filterContext/dateFilter/changeDateFilterSelectionHandler.d.ts.map +1 -1
  40. package/esm/model/commandHandlers/filterContext/dateFilter/changeDateFilterSelectionHandler.js +13 -3
  41. package/esm/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterConditionHandler.d.ts.map +1 -1
  42. package/esm/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterConditionHandler.js +11 -2
  43. package/esm/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterDimensionalityHandler.d.ts.map +1 -1
  44. package/esm/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterDimensionalityHandler.js +3 -0
  45. package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.d.ts +10 -2
  46. package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.d.ts.map +1 -1
  47. package/esm/model/commandHandlers/parameters/changeParameterValuesHandler.js +20 -3
  48. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.d.ts.map +1 -1
  49. package/esm/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.js +21 -4
  50. package/esm/model/commandHandlers/tabs/createDashboardTabHandler.d.ts.map +1 -1
  51. package/esm/model/commandHandlers/tabs/createDashboardTabHandler.js +27 -3
  52. package/esm/model/commands/filters.d.ts +16 -1
  53. package/esm/model/commands/filters.d.ts.map +1 -1
  54. package/esm/model/commands/filters.js +4 -3
  55. package/esm/model/commands/parameters.d.ts +4 -3
  56. package/esm/model/commands/parameters.d.ts.map +1 -1
  57. package/esm/model/commands/parameters.js +3 -2
  58. package/esm/model/store/drill/drillSelectors.d.ts +6 -0
  59. package/esm/model/store/drill/drillSelectors.d.ts.map +1 -1
  60. package/esm/model/store/drill/drillSelectors.js +9 -0
  61. package/esm/model/store/filtering/dashboardFilterSelectors.d.ts +6 -1
  62. package/esm/model/store/filtering/dashboardFilterSelectors.d.ts.map +1 -1
  63. package/esm/model/store/filtering/dashboardFilterSelectors.js +21 -19
  64. package/esm/model/store/filtering/restrictedFilterUtils.d.ts +26 -1
  65. package/esm/model/store/filtering/restrictedFilterUtils.d.ts.map +1 -1
  66. package/esm/model/store/filtering/restrictedFilterUtils.js +74 -6
  67. package/esm/model/store/meta/metaSelectors.d.ts +6 -0
  68. package/esm/model/store/meta/metaSelectors.d.ts.map +1 -1
  69. package/esm/model/store/meta/metaSelectors.js +13 -3
  70. package/esm/model/store/tabs/filterContext/filterContextReducers.d.ts +48 -0
  71. package/esm/model/store/tabs/filterContext/filterContextReducers.d.ts.map +1 -1
  72. package/esm/model/store/tabs/filterContext/filterContextReducers.js +362 -102
  73. package/esm/model/store/tabs/filterContext/filterContextSelectors.d.ts +74 -1
  74. package/esm/model/store/tabs/filterContext/filterContextSelectors.d.ts.map +1 -1
  75. package/esm/model/store/tabs/filterContext/filterContextSelectors.js +27 -21
  76. package/esm/model/store/tabs/filterContext/filterSync.d.ts +101 -0
  77. package/esm/model/store/tabs/filterContext/filterSync.d.ts.map +1 -0
  78. package/esm/model/store/tabs/filterContext/filterSync.js +361 -0
  79. package/esm/model/store/tabs/index.d.ts +2 -0
  80. package/esm/model/store/tabs/index.d.ts.map +1 -1
  81. package/esm/model/store/tabs/parameters/parametersReducers.d.ts +5 -0
  82. package/esm/model/store/tabs/parameters/parametersReducers.d.ts.map +1 -1
  83. package/esm/model/store/tabs/parameters/parametersReducers.js +9 -5
  84. package/esm/model/store/tabs/tabsReducers.d.ts +6 -0
  85. package/esm/model/store/tabs/tabsReducers.d.ts.map +1 -1
  86. package/esm/model/store/tabs/tabsReducers.js +14 -6
  87. package/esm/model/store/tabs/tabsState.d.ts +10 -0
  88. package/esm/model/store/tabs/tabsState.d.ts.map +1 -1
  89. package/esm/model/store/tabs/tabsState.js +20 -0
  90. package/esm/model/store/unavailableObjects/copyBlockingReferences.d.ts +5 -3
  91. package/esm/model/store/unavailableObjects/copyBlockingReferences.d.ts.map +1 -1
  92. package/esm/model/store/unavailableObjects/copyBlockingReferences.js +9 -16
  93. package/esm/model/store/unavailableObjects/unavailableObjectsSelectors.d.ts +0 -16
  94. package/esm/model/store/unavailableObjects/unavailableObjectsSelectors.d.ts.map +1 -1
  95. package/esm/model/store/unavailableObjects/unavailableObjectsSelectors.js +0 -18
  96. package/esm/model/utils/attributeFilterMatching.d.ts +38 -0
  97. package/esm/model/utils/attributeFilterMatching.d.ts.map +1 -0
  98. package/esm/model/utils/attributeFilterMatching.js +110 -0
  99. package/esm/model/utils/attributeFilterSelectionTypeCompatibility.d.ts.map +1 -0
  100. package/esm/presentation/automations/alerting/state/types.d.ts +2 -2
  101. package/esm/presentation/automations/alerting/state/types.d.ts.map +1 -1
  102. package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.d.ts.map +1 -1
  103. package/esm/presentation/automations/connectors/hooks/useBuildAutomationsContext.js +7 -3
  104. package/esm/presentation/automations/contexts/AutomationsContext.d.ts +6 -2
  105. package/esm/presentation/automations/contexts/AutomationsContext.d.ts.map +1 -1
  106. package/esm/presentation/automations/scheduledEmail/state/types.d.ts +2 -2
  107. package/esm/presentation/automations/scheduledEmail/state/types.d.ts.map +1 -1
  108. package/esm/presentation/automations/scheduledEmail/types.d.ts +2 -2
  109. package/esm/presentation/automations/scheduledEmail/types.d.ts.map +1 -1
  110. package/esm/presentation/automations/shared/automationFilters/automationParameters.d.ts +11 -1
  111. package/esm/presentation/automations/shared/automationFilters/automationParameters.d.ts.map +1 -1
  112. package/esm/presentation/automations/shared/automationFilters/automationParameters.js +2 -0
  113. package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.d.ts +3 -3
  114. package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.d.ts.map +1 -1
  115. package/esm/presentation/automations/shared/automationFilters/components/AutomationFiltersSelect.js +3 -13
  116. package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.d.ts +1 -1
  117. package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.d.ts.map +1 -1
  118. package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.js +1 -1
  119. package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.d.ts.map +1 -1
  120. package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.js +1 -1
  121. package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.d.ts +2 -2
  122. package/esm/presentation/automations/shared/automationFilters/useAutomationAlertParameters.d.ts.map +1 -1
  123. package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.d.ts +6 -2
  124. package/esm/presentation/automations/shared/automationFilters/useAutomationExportParameters.d.ts.map +1 -1
  125. package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.d.ts.map +1 -1
  126. package/esm/presentation/automations/shared/automationFilters/useAutomationFilters.js +2 -2
  127. package/esm/presentation/automations/shared/automationFilters/utils.d.ts.map +1 -1
  128. package/esm/presentation/automations/shared/automationFilters/utils.js +8 -0
  129. package/esm/presentation/automations/shared/filters/conversions.d.ts +1 -1
  130. package/esm/presentation/automations/shared/filters/conversions.d.ts.map +1 -1
  131. package/esm/presentation/automations/shared/filters/conversions.js +5 -3
  132. package/esm/presentation/automations/shared/slots/types.d.ts +2 -2
  133. package/esm/presentation/automations/shared/slots/types.d.ts.map +1 -1
  134. package/esm/presentation/dashboardSettingsDialog/useDialogData.js +1 -1
  135. package/esm/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilter.d.ts.map +1 -1
  136. package/esm/presentation/filterBar/attributeFilter/DefaultDashboardAttributeFilter.js +1 -4
  137. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.d.ts +2 -11
  138. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.d.ts.map +1 -1
  139. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.js +17 -16
  140. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/staticListItems.d.ts +11 -0
  141. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/staticListItems.d.ts.map +1 -0
  142. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/staticListItems.js +7 -0
  143. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useMetricDropdownItems.d.ts +2 -11
  144. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useMetricDropdownItems.d.ts.map +1 -1
  145. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useMetricDropdownItems.js +0 -6
  146. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useParameterDropdownItems.d.ts +34 -0
  147. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useParameterDropdownItems.d.ts.map +1 -0
  148. package/esm/presentation/filterBar/attributeFilter/addAttributeFilter/useParameterDropdownItems.js +41 -0
  149. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useLimitingItemsConfiguration.d.ts.map +1 -1
  150. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useLimitingItemsConfiguration.js +4 -17
  151. package/esm/presentation/filterBar/attributeFilter/useDependentDateFilters.d.ts.map +1 -1
  152. package/esm/presentation/filterBar/attributeFilter/useDependentDateFilters.js +4 -13
  153. package/esm/presentation/filterBar/attributeFilter/useParentFilters.d.ts.map +1 -1
  154. package/esm/presentation/filterBar/attributeFilter/useParentFilters.js +3 -10
  155. package/esm/presentation/filterBar/filterBar/DefaultDashboardFilterGroup.d.ts.map +1 -1
  156. package/esm/presentation/filterBar/filterBar/DefaultDashboardFilterGroup.js +0 -9
  157. package/esm/presentation/filterBar/filterBar/DefaultFilterBarItem.d.ts.map +1 -1
  158. package/esm/presentation/filterBar/filterBar/DefaultFilterBarItem.js +15 -3
  159. package/esm/presentation/filterBar/filterBar/hooks/useResetFiltersButton.d.ts.map +1 -1
  160. package/esm/presentation/filterBar/filterBar/hooks/useResetFiltersButton.js +4 -0
  161. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +8 -0
  162. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  163. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +8 -0
  164. package/esm/presentation/widget/insight/configuration/DrillFilters/drillFiltersConfigUtils.d.ts +2 -3
  165. package/esm/presentation/widget/insight/configuration/DrillFilters/drillFiltersConfigUtils.d.ts.map +1 -1
  166. package/esm/presentation/widget/insight/configuration/DrillFilters/drillFiltersConfigUtils.js +29 -133
  167. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapDashboardFilterToOption.d.ts.map +1 -1
  168. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapDashboardFilterToOption.js +1 -1
  169. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceInsightFilterToOption.d.ts.map +1 -1
  170. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceInsightFilterToOption.js +1 -1
  171. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceMeasureFilterToOption.d.ts.map +1 -1
  172. package/esm/presentation/widget/insight/configuration/DrillFilters/optionMappings/mapSourceMeasureFilterToOption.js +1 -1
  173. package/esm/sdk-ui-dashboard.d.ts +135 -13
  174. package/package.json +23 -23
  175. package/styles/css/main.css +4 -0
  176. package/styles/css/main.css.map +1 -1
  177. package/esm/model/commandHandlers/dashboard/common/attributeFilterSelectionTypeCompatibility.d.ts.map +0 -1
  178. /package/esm/model/{commandHandlers/dashboard/common → utils}/attributeFilterSelectionTypeCompatibility.d.ts +0 -0
  179. /package/esm/model/{commandHandlers/dashboard/common → utils}/attributeFilterSelectionTypeCompatibility.js +0 -0
@@ -7,9 +7,10 @@ import { invalidArgumentsProvided } from "../../../events/general.js";
7
7
  import { dispatchDashboardEvent } from "../../../store/_infra/eventDispatcher.js";
8
8
  import { selectIsApplyFiltersAllAtOnceEnabledAndSet } from "../../../store/config/configSelectors.js";
9
9
  import { selectIsCrossFiltering } from "../../../store/drill/drillSelectors.js";
10
+ import { selectEnablePersistentFiltersAcrossTabs } from "../../../store/meta/metaSelectors.js";
10
11
  import { selectFilterContextDateFilter, selectFilterContextDateFilterByDataSet, } from "../../../store/tabs/filterContext/filterContextSelectors.js";
11
12
  import { tabsActions } from "../../../store/tabs/index.js";
12
- import { canApplyDateFilter, dispatchFilterContextChanged, resetCrossFiltering } from "../common.js";
13
+ import { canApplyDateFilter, captureFilterContextByTabSnapshot, dispatchFilterContextChanged, dispatchFilterContextChangedForMutatedTabs, resetCrossFiltering, } from "../common.js";
13
14
  export function* changeDateFilterSelectionHandler(ctx, cmd) {
14
15
  const isAllTime = cmd.payload.type === "relative" &&
15
16
  cmd.payload.granularity === "GDC.time.date" &&
@@ -19,6 +20,8 @@ export function* changeDateFilterSelectionHandler(ctx, cmd) {
19
20
  if (!canApply) {
20
21
  throw invalidArgumentsProvided(ctx, cmd, `Cannot apply a date filter that is invalid by the current dateFilterConfig.`);
21
22
  }
23
+ const filterContextSnapshot = yield call(captureFilterContextByTabSnapshot);
24
+ const enablePersistentFiltersAcrossTabs = yield select(selectEnablePersistentFiltersAcrossTabs);
22
25
  const isApplyAllAtOnceEnabledAndSet = yield select(selectIsApplyFiltersAllAtOnceEnabledAndSet);
23
26
  const isWorkingSelectionChange = cmd.payload.isWorkingSelectionChange && isApplyAllAtOnceEnabledAndSet;
24
27
  const localIdentifierObj = cmd.payload.localIdentifier
@@ -29,6 +32,7 @@ export function* changeDateFilterSelectionHandler(ctx, cmd) {
29
32
  type: "allTime",
30
33
  dataSet: cmd.payload.dataSet,
31
34
  isWorkingSelectionChange,
35
+ enablePersistentFiltersAcrossTabs,
32
36
  ...localIdentifierObj,
33
37
  ...(cmd.payload.emptyValueHandling
34
38
  ? { emptyValueHandling: cmd.payload.emptyValueHandling }
@@ -41,6 +45,7 @@ export function* changeDateFilterSelectionHandler(ctx, cmd) {
41
45
  to: cmd.payload.to,
42
46
  dataSet: cmd.payload.dataSet,
43
47
  isWorkingSelectionChange,
48
+ enablePersistentFiltersAcrossTabs,
44
49
  ...localIdentifierObj,
45
50
  ...(cmd.payload.boundedFilter ? { boundedFilter: cmd.payload.boundedFilter } : {}),
46
51
  ...(cmd.payload.emptyValueHandling
@@ -57,11 +62,16 @@ export function* changeDateFilterSelectionHandler(ctx, cmd) {
57
62
  ? yield select(selectFilterContextDateFilterByDataSet(cmd.payload.dataSet))
58
63
  : yield select(selectFilterContextDateFilter);
59
64
  yield dispatchDashboardEvent(dateFilterChanged(ctx, affectedFilter, cmd.payload.dateFilterOptionLocalId, cmd.correlationId));
60
- yield call(dispatchFilterContextChanged, ctx, cmd);
65
+ if (enablePersistentFiltersAcrossTabs) {
66
+ yield call(dispatchFilterContextChangedForMutatedTabs, ctx, cmd, filterContextSnapshot);
67
+ }
68
+ else {
69
+ yield call(dispatchFilterContextChanged, ctx, cmd);
70
+ }
61
71
  }
62
72
  function dateFilterSelectionToDateFilter(dateFilterSelection) {
63
73
  if (dateFilterSelection.type === "absolute" && dateFilterSelection.from && dateFilterSelection.to) {
64
- return newAbsoluteDashboardDateFilter(dateFilterSelection.from.toString(), dateFilterSelection.to.toString(), undefined, dateFilterSelection.localIdentifier, dateFilterSelection.emptyValueHandling);
74
+ return newAbsoluteDashboardDateFilter(dateFilterSelection.from.toString(), dateFilterSelection.to.toString(), undefined, dateFilterSelection.localIdentifier, dateFilterSelection.emptyValueHandling, dateFilterSelection.granularity);
65
75
  }
66
76
  else if (dateFilterSelection.type === "relative" &&
67
77
  dateFilterSelection.granularity === "GDC.time.date" &&
@@ -1 +1 @@
1
- {"version":3,"file":"changeMeasureValueFilterConditionHandler.d.ts","sourceRoot":"","sources":["../../../../../src/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterConditionHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,OAAO,EAAE,KAAK,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;AASvF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,wBAAiB,wCAAwC,CACrD,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,kCAAkC,GACxC,YAAY,CAAC,IAAI,CAAC,CAyCpB"}
1
+ {"version":3,"file":"changeMeasureValueFilterConditionHandler.d.ts","sourceRoot":"","sources":["../../../../../src/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterConditionHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,OAAO,EAAE,KAAK,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;AAUvF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAQtE,wBAAiB,wCAAwC,CACrD,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,kCAAkC,GACxC,YAAY,CAAC,IAAI,CAAC,CAmDpB"}
@@ -4,12 +4,15 @@ import { invariant } from "ts-invariant";
4
4
  import { measureValueFilterConditionChanged } from "../../../events/filters.js";
5
5
  import { invalidArgumentsProvided } from "../../../events/general.js";
6
6
  import { dispatchDashboardEvent } from "../../../store/_infra/eventDispatcher.js";
7
+ import { selectEnablePersistentFiltersAcrossTabs } from "../../../store/meta/metaSelectors.js";
7
8
  import { selectFilterContextMeasureValueFilterByLocalId, selectWorkingFilterContextMeasureValueFilterByLocalId, } from "../../../store/tabs/filterContext/filterContextSelectors.js";
8
9
  import { tabsActions } from "../../../store/tabs/index.js";
9
- import { dispatchFilterContextChanged } from "../common.js";
10
+ import { captureFilterContextByTabSnapshot, dispatchFilterContextChanged, dispatchFilterContextChangedForMutatedTabs, } from "../common.js";
10
11
  export function* changeMeasureValueFilterConditionHandler(ctx, cmd) {
11
12
  const { localIdentifier, conditions, isWorkingSelectionChange } = cmd.payload;
12
13
  const existingFilter = yield select(selectFilterContextMeasureValueFilterByLocalId(localIdentifier));
14
+ const enablePersistentFiltersAcrossTabs = yield select(selectEnablePersistentFiltersAcrossTabs);
15
+ const filterContextSnapshot = yield call(captureFilterContextByTabSnapshot);
13
16
  if (!existingFilter) {
14
17
  throw invalidArgumentsProvided(ctx, cmd, `Attempting to change condition of measure value filter ${localIdentifier} that does not exist on the dashboard.`);
15
18
  }
@@ -17,6 +20,7 @@ export function* changeMeasureValueFilterConditionHandler(ctx, cmd) {
17
20
  localIdentifier,
18
21
  conditions,
19
22
  ...(isWorkingSelectionChange === undefined ? {} : { isWorkingSelectionChange }),
23
+ enablePersistentFiltersAcrossTabs,
20
24
  }));
21
25
  const updatedFilterSelector = isWorkingSelectionChange
22
26
  ? selectWorkingFilterContextMeasureValueFilterByLocalId(localIdentifier)
@@ -24,5 +28,10 @@ export function* changeMeasureValueFilterConditionHandler(ctx, cmd) {
24
28
  const updatedFilter = yield select(updatedFilterSelector);
25
29
  invariant(updatedFilter, "Inconsistent state in changeMeasureValueFilterConditionHandler");
26
30
  yield dispatchDashboardEvent(measureValueFilterConditionChanged(ctx, localIdentifier, updatedFilter, conditions, cmd.correlationId));
27
- yield call(dispatchFilterContextChanged, ctx, cmd);
31
+ if (enablePersistentFiltersAcrossTabs) {
32
+ yield call(dispatchFilterContextChangedForMutatedTabs, ctx, cmd, filterContextSnapshot);
33
+ }
34
+ else {
35
+ yield call(dispatchFilterContextChanged, ctx, cmd);
36
+ }
28
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"changeMeasureValueFilterDimensionalityHandler.d.ts","sourceRoot":"","sources":["../../../../../src/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterDimensionalityHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,OAAO,EAAE,KAAK,oCAAoC,EAAE,MAAM,8BAA8B,CAAC;AAMzF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,wBAAiB,6CAA6C,CAC1D,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,oCAAoC,GAC1C,YAAY,CAAC,IAAI,CAAC,CAqCpB"}
1
+ {"version":3,"file":"changeMeasureValueFilterDimensionalityHandler.d.ts","sourceRoot":"","sources":["../../../../../src/model/commandHandlers/filterContext/measureValueFilter/changeMeasureValueFilterDimensionalityHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,OAAO,EAAE,KAAK,oCAAoC,EAAE,MAAM,8BAA8B,CAAC;AAOzF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,wBAAiB,6CAA6C,CAC1D,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,oCAAoC,GAC1C,YAAY,CAAC,IAAI,CAAC,CAwCpB"}
@@ -4,18 +4,21 @@ import { invariant } from "ts-invariant";
4
4
  import { measureValueFilterDimensionalityChanged } from "../../../events/filters.js";
5
5
  import { invalidArgumentsProvided } from "../../../events/general.js";
6
6
  import { dispatchDashboardEvent } from "../../../store/_infra/eventDispatcher.js";
7
+ import { selectEnablePersistentFiltersAcrossTabs } from "../../../store/meta/metaSelectors.js";
7
8
  import { selectFilterContextMeasureValueFilterByLocalId } from "../../../store/tabs/filterContext/filterContextSelectors.js";
8
9
  import { tabsActions } from "../../../store/tabs/index.js";
9
10
  import { dispatchFilterContextChanged } from "../common.js";
10
11
  export function* changeMeasureValueFilterDimensionalityHandler(ctx, cmd) {
11
12
  const { localIdentifier, dimensionality } = cmd.payload;
12
13
  const existingFilter = yield select(selectFilterContextMeasureValueFilterByLocalId(localIdentifier));
14
+ const enablePersistentFiltersAcrossTabs = yield select(selectEnablePersistentFiltersAcrossTabs);
13
15
  if (!existingFilter) {
14
16
  throw invalidArgumentsProvided(ctx, cmd, `Attempting to change dimensionality of measure value filter ${localIdentifier} that does not exist on the dashboard.`);
15
17
  }
16
18
  yield put(tabsActions.setMeasureValueFilterDimensionality({
17
19
  localIdentifier,
18
20
  dimensionality,
21
+ enablePersistentFiltersAcrossTabs,
19
22
  }));
20
23
  const updatedFilter = yield select(selectFilterContextMeasureValueFilterByLocalId(localIdentifier));
21
24
  invariant(updatedFilter, "Inconsistent state in changeMeasureValueFilterDimensionalityHandler");
@@ -4,12 +4,20 @@ import { type IDashboardCommand } from "../../commands/base.js";
4
4
  import { type IChangeParameterValues } from "../../commands/parameters.js";
5
5
  import { type DashboardContext } from "../../types/commonTypes.js";
6
6
  /**
7
- * Parameters not present on the target tab are ignored by the reducer. The event is emitted only
8
- * when at least one applied value of the tab changes.
7
+ * Parameters not present on a written tab are ignored by the reducer. When persistent filters
8
+ * across tabs are on, the same values are written to every tab. A change event is emitted for
9
+ * each tab whose applied values differ from the snapshot, source tab first.
9
10
  *
10
11
  * @internal
11
12
  */
12
13
  export declare function changeParameterValuesHandler(ctx: DashboardContext, cmd: IChangeParameterValues): SagaIterator<void>;
14
+ /**
15
+ * Emits one `GDC.DASH/EVT.PARAMETERS.CHANGED` per tab whose applied values changed. Local parameter
16
+ * state is stored from that event, so every written tab has to emit or its saved value stays stale.
17
+ *
18
+ * @internal
19
+ */
20
+ export declare function dispatchParametersChangedForAffectedTabs(ctx: DashboardContext, cmd: IDashboardCommand, valuesBefore: Record<string, IInsightParameterValue[] | undefined>, sourceTabId: string): SagaIterator<void>;
13
21
  /**
14
22
  * Emits `GDC.DASH/EVT.PARAMETERS.CHANGED` only when the tab's applied values differ from the snapshot.
15
23
  * Emits nothing when the tab does not exist.
@@ -1 +1 @@
1
- {"version":3,"file":"changeParameterValuesHandler.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/parameters/changeParameterValuesHandler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAO3E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;;;GAKG;AACH,wBAAiB,4BAA4B,CACzC,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,sBAAsB,GAC5B,YAAY,CAAC,IAAI,CAAC,CAmBpB;AAED;;;;;GAKG;AACH,wBAAiB,yBAAyB,CACtC,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,iBAAiB,EACtB,kBAAkB,EAAE,MAAM,EAC1B,YAAY,EAAE,sBAAsB,EAAE,GAAG,SAAS,GACnD,YAAY,CAAC,IAAI,CAAC,CASpB"}
1
+ {"version":3,"file":"changeParameterValuesHandler.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/parameters/changeParameterValuesHandler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAQ3E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;;;;;GAMG;AACH,wBAAiB,4BAA4B,CACzC,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,sBAAsB,GAC5B,YAAY,CAAC,IAAI,CAAC,CAsBpB;AAED;;;;;GAKG;AACH,wBAAiB,wCAAwC,CACrD,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,iBAAiB,EACtB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,EAAE,GAAG,SAAS,CAAC,EAClE,WAAW,EAAE,MAAM,GACpB,YAAY,CAAC,IAAI,CAAC,CAOpB;AAED;;;;;GAKG;AACH,wBAAiB,yBAAyB,CACtC,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,iBAAiB,EACtB,kBAAkB,EAAE,MAAM,EAC1B,YAAY,EAAE,sBAAsB,EAAE,GAAG,SAAS,GACnD,YAAY,CAAC,IAAI,CAAC,CASpB"}
@@ -4,12 +4,14 @@ import { call, put, select } from "redux-saga/effects";
4
4
  import { parametersChanged } from "../../events/parameters.js";
5
5
  import { dispatchDashboardEvent } from "../../store/_infra/eventDispatcher.js";
6
6
  import { selectEnableParameters } from "../../store/config/configSelectors.js";
7
+ import { selectEnablePersistentFiltersAcrossTabs } from "../../store/meta/metaSelectors.js";
7
8
  import { tabsActions } from "../../store/tabs/index.js";
8
9
  import { selectParameterValuesByTab } from "../../store/tabs/parameters/parametersSelectors.js";
9
10
  import { selectActiveOrDefaultTabLocalIdentifier } from "../../store/tabs/tabsSelectors.js";
10
11
  /**
11
- * Parameters not present on the target tab are ignored by the reducer. The event is emitted only
12
- * when at least one applied value of the tab changes.
12
+ * Parameters not present on a written tab are ignored by the reducer. When persistent filters
13
+ * across tabs are on, the same values are written to every tab. A change event is emitted for
14
+ * each tab whose applied values differ from the snapshot, source tab first.
13
15
  *
14
16
  * @internal
15
17
  */
@@ -19,12 +21,27 @@ export function* changeParameterValuesHandler(ctx, cmd) {
19
21
  return;
20
22
  }
21
23
  const tabId = cmd.payload.tabLocalIdentifier ?? (yield select(selectActiveOrDefaultTabLocalIdentifier));
24
+ const enablePersistentFiltersAcrossTabs = yield select(selectEnablePersistentFiltersAcrossTabs);
22
25
  const valuesBefore = yield select(selectParameterValuesByTab);
23
26
  yield put(tabsActions.setParameterRuntimeValues({
24
27
  values: cmd.payload.parameters,
25
28
  tabLocalIdentifier: cmd.payload.tabLocalIdentifier,
29
+ enablePersistentFiltersAcrossTabs,
26
30
  }));
27
- yield call(dispatchParametersChanged, ctx, cmd, tabId, valuesBefore[tabId]);
31
+ yield call(dispatchParametersChangedForAffectedTabs, ctx, cmd, valuesBefore, tabId);
32
+ }
33
+ /**
34
+ * Emits one `GDC.DASH/EVT.PARAMETERS.CHANGED` per tab whose applied values changed. Local parameter
35
+ * state is stored from that event, so every written tab has to emit or its saved value stays stale.
36
+ *
37
+ * @internal
38
+ */
39
+ export function* dispatchParametersChangedForAffectedTabs(ctx, cmd, valuesBefore, sourceTabId) {
40
+ const valuesByTab = yield select(selectParameterValuesByTab);
41
+ const tabIds = [sourceTabId, ...Object.keys(valuesByTab).filter((id) => id !== sourceTabId)];
42
+ for (const tabId of tabIds) {
43
+ yield call(dispatchParametersChanged, ctx, cmd, tabId, valuesBefore[tabId]);
44
+ }
28
45
  }
29
46
  /**
30
47
  * Emits `GDC.DASH/EVT.PARAMETERS.CHANGED` only when the tab's applied values differ from the snapshot.
@@ -1 +1 @@
1
- {"version":3,"file":"initializeAutomationsHandler.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAiD/C,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAwC/E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAWnE,wBAAiB,4BAA4B,CACzC,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,sBAAsB,GAC7B,YAAY,CA4Sd"}
1
+ {"version":3,"file":"initializeAutomationsHandler.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/scheduledEmail/initializeAutomationsHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAiD/C,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AA8C/E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAWnE,wBAAiB,4BAA4B,CACzC,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,sBAAsB,GAC7B,YAAY,CAkTd"}
@@ -17,6 +17,8 @@ import { selectAutomationsIsInitialized, selectAutomationsIsLoading, } from "../
17
17
  import { automationsActions } from "../../store/automations/index.js";
18
18
  import { selectCatalogParameters, selectCatalogParametersIsLoaded, } from "../../store/catalog/catalogSelectors.js";
19
19
  import { selectEnableDashboardPartialRendering, selectEnableNotificationChannelIdentifiers, selectEnableParameters, selectEnableStringParameters, selectExternalRecipient, selectFocusObject, selectIsExport, selectIsReadOnly, selectOpenAutomationOnLoad, } from "../../store/config/configSelectors.js";
20
+ import { selectRestrictedDashboardFilterLocalIdentifiers, selectRestrictedDashboardFilterLocalIdentifiersForTab, } from "../../store/filtering/dashboardFilterSelectors.js";
21
+ import { isDashboardFilterCopyRestricted } from "../../store/filtering/restrictedFilterUtils.js";
20
22
  import { selectInsightByWidgetRef } from "../../store/insights/insightsSelectors.js";
21
23
  import { selectDashboardId } from "../../store/meta/metaSelectors.js";
22
24
  import { notificationChannelsActions } from "../../store/notificationChannels/index.js";
@@ -27,8 +29,9 @@ import { selectFilterContextFilters, selectFiltersForTab, } from "../../store/ta
27
29
  import { selectWidgetByRef } from "../../store/tabs/layout/layoutSelectors.js";
28
30
  import { selectActiveTabLocalIdentifier } from "../../store/tabs/tabsSelectors.js";
29
31
  import { uiActions } from "../../store/ui/index.js";
32
+ import { selectUnavailableObjects } from "../../store/unavailableObjects/unavailableObjectsSelectors.js";
30
33
  import { selectCurrentUser } from "../../store/user/userSelectors.js";
31
- import { isFilterTypeCompatibleWithSelectionType } from "../dashboard/common/attributeFilterSelectionTypeCompatibility.js";
34
+ import { isFilterTypeCompatibleWithSelectionType } from "../../utils/attributeFilterSelectionTypeCompatibility.js";
32
35
  import { changeFilterContextSelectionHandler } from "../filterContext/changeFilterContextSelectionHandler.js";
33
36
  import { changeParameterValuesHandler } from "../parameters/changeParameterValuesHandler.js";
34
37
  import { switchDashboardTabHandler } from "../tabs/switchDashboardTabHandler.js";
@@ -108,7 +111,8 @@ export function* initializeAutomationsHandler(ctx, _cmd) {
108
111
  // Empty sanitized filters = keep filters as they are, do not reset them (all alert execution filters are insight specific / ignored).
109
112
  // Non-empty sanitized filters = set them (some alert execution filters are originating from the dashboard).
110
113
  if (targetAlertFilters.length === 0 || compatibleFiltersToSet.length > 0) {
111
- const cmd = changeFilterContextSelection(compatibleFiltersToSet, true, automationId);
114
+ const readableFiltersToSet = yield call(omitRestrictedFilterCopies, compatibleFiltersToSet);
115
+ const cmd = changeFilterContextSelection(readableFiltersToSet, true, automationId);
112
116
  yield call(changeFilterContextSelectionHandler, ctx, cmd);
113
117
  }
114
118
  }
@@ -139,8 +143,9 @@ export function* initializeAutomationsHandler(ctx, _cmd) {
139
143
  // Empty sanitized filters = keep filters as they are.
140
144
  // Non-empty sanitized filters = set them.
141
145
  if (compactedTabFilters.length === 0 || compatibleFilters.length > 0) {
146
+ const readableFilters = yield call(omitRestrictedFilterCopies, compatibleFilters, tabId);
142
147
  const cmd = changeFilterContextSelectionByParams({
143
- filters: compatibleFilters,
148
+ filters: readableFilters,
144
149
  resetOthers: true,
145
150
  correlationId: automationId,
146
151
  tabLocalIdentifier: tabId,
@@ -163,7 +168,8 @@ export function* initializeAutomationsHandler(ctx, _cmd) {
163
168
  // Empty sanitized filters = keep filters as they are, do not reset them (all schedule execution filters are ignored).
164
169
  // Non-empty sanitized filters = set them (some schedule export definition filters are originating from the dashboard).
165
170
  if (targetExportDefinitionFilters.length === 0 || compatibleFiltersToSet.length > 0) {
166
- const cmd = changeFilterContextSelection(compatibleFiltersToSet, true, automationId);
171
+ const readableFiltersToSet = yield call(omitRestrictedFilterCopies, compatibleFiltersToSet);
172
+ const cmd = changeFilterContextSelection(readableFiltersToSet, true, automationId);
167
173
  yield call(changeFilterContextSelectionHandler, ctx, cmd);
168
174
  }
169
175
  }
@@ -220,6 +226,17 @@ export function* initializeAutomationsHandler(ctx, _cmd) {
220
226
  ]));
221
227
  }
222
228
  }
229
+ /**
230
+ * Leaves out the stored copies of restricted filters. A restricted filter keeps its stored value, and the
231
+ * selection change would pass it over and apply its copy to a readable filter with the same label.
232
+ */
233
+ function* omitRestrictedFilterCopies(filters, tabLocalIdentifier) {
234
+ const unavailableObjects = yield select(selectUnavailableObjects);
235
+ const restrictedLocalIdentifiers = yield select(tabLocalIdentifier
236
+ ? selectRestrictedDashboardFilterLocalIdentifiersForTab(tabLocalIdentifier)
237
+ : selectRestrictedDashboardFilterLocalIdentifiers);
238
+ return filters.filter((filter) => !isDashboardFilterCopyRestricted(filter, restrictedLocalIdentifiers, unavailableObjects));
239
+ }
223
240
  function extractRelevantFilters(targetAutomation, insight, activeTabLocalIdentifier) {
224
241
  //alert, widget
225
242
  const targetAlertFilters = targetAutomation?.alert?.execution?.filters;
@@ -1 +1 @@
1
- {"version":3,"file":"createDashboardTabHandler.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/tabs/createDashboardTabHandler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAgB/C,OAAO,EAAE,KAAK,mBAAmB,EAAsB,MAAM,wBAAwB,CAAC;AAatF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAyDnE;;GAEG;AACH,wBAAiB,yBAAyB,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,mBAAmB,GAAG,YAAY,CAuExG"}
1
+ {"version":3,"file":"createDashboardTabHandler.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/tabs/createDashboardTabHandler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAmB/C,OAAO,EAAE,KAAK,mBAAmB,EAAsB,MAAM,wBAAwB,CAAC;AAgBtF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAuEnE;;GAEG;AACH,wBAAiB,yBAAyB,CAAC,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,mBAAmB,GAAG,YAAY,CAyFxG"}
@@ -1,4 +1,5 @@
1
1
  // (C) 2025-2026 GoodData Corporation
2
+ import { cloneDeep } from "lodash-es";
2
3
  import { call, put, select } from "redux-saga/effects";
3
4
  import { createDefaultFilterContext } from "../../../_staging/dashboard/defaultFilterContext.js";
4
5
  import { DEFAULT_FISCAL_DATE_FILTER_PRESET } from "../../../_staging/dateFilterConfig/defaultConfig.js";
@@ -9,13 +10,16 @@ import { dashboardTabCreated } from "../../events/tabs.js";
9
10
  import { dispatchDashboardEvent } from "../../store/_infra/eventDispatcher.js";
10
11
  import { InitialUndoState } from "../../store/_infra/undoEnhancer.js";
11
12
  import { selectActiveCalendars, selectDateFilterConfig, selectSettings, } from "../../store/config/configSelectors.js";
13
+ import { selectCrossFilteringFiltersLocalIdentifiersByTab } from "../../store/drill/drillSelectors.js";
14
+ import { selectEnablePersistentFiltersAcrossTabs } from "../../store/meta/metaSelectors.js";
15
+ import { seedSyncedTabFilters } from "../../store/tabs/filterContext/filterSync.js";
12
16
  import { tabsActions } from "../../store/tabs/index.js";
13
17
  import { selectScreen } from "../../store/tabs/layout/layoutSelectors.js";
14
18
  import { selectActiveTabLocalIdentifier, selectTabs } from "../../store/tabs/tabsSelectors.js";
15
19
  import { generateTabLocalIdentifier } from "../../utils/tabLocalIdentifier.js";
16
20
  import { EmptyDashboardLayout } from "../dashboard/common/dashboardInitialize.js";
17
21
  import { switchDashboardTabHandler } from "./switchDashboardTabHandler.js";
18
- const getTabState = ({ title, localIdentifier, isRenaming, filterContext, dateFilterConfig, dateFilterConfigs, attributeFilterConfigs, layout, screen, }) => {
22
+ const getTabState = ({ title, localIdentifier, isRenaming, filterContext, originalFilterContext, attributeFilterDisplayForms, dateFilterConfig, dateFilterConfigs, attributeFilterConfigs, measureValueFilterConfigs, filterGroupsConfig, layout, screen, }) => {
19
23
  return {
20
24
  title,
21
25
  localIdentifier,
@@ -23,6 +27,8 @@ const getTabState = ({ title, localIdentifier, isRenaming, filterContext, dateFi
23
27
  filterContext: {
24
28
  filtersWithInvalidSelection: [],
25
29
  filterContextDefinition: filterContext,
30
+ originalFilterContextDefinition: originalFilterContext,
31
+ attributeFilterDisplayForms,
26
32
  },
27
33
  dateFilterConfig: {
28
34
  dateFilterConfig: undefined,
@@ -36,6 +42,10 @@ const getTabState = ({ title, localIdentifier, isRenaming, filterContext, dateFi
36
42
  attributeFilterConfigs: {
37
43
  attributeFilterConfigs,
38
44
  },
45
+ measureValueFilterConfigs: {
46
+ measureValueFilterConfigs,
47
+ },
48
+ filterGroupsConfig,
39
49
  layout: {
40
50
  layout: layout,
41
51
  stash: {},
@@ -58,7 +68,7 @@ export function* createDashboardTabHandler(ctx, cmd) {
58
68
  const activeCalendars = yield select(selectActiveCalendars);
59
69
  const screen = yield select(selectScreen);
60
70
  const updatedTabs = (tabs ?? []).slice();
61
- // 2. Create new tab with an empty filter context and layout
71
+ // 2. Create new tab with an empty layout and a default filter context (seeded from the active tab when filters sync across tabs)
62
72
  const effectiveDateFilterConfig = activeCalendars?.fiscal &&
63
73
  activeCalendars?.default === "FISCAL" &&
64
74
  configHasFiscalPresets(dateFilterConfig)
@@ -66,13 +76,27 @@ export function* createDashboardTabHandler(ctx, cmd) {
66
76
  : dateFilterConfig;
67
77
  const newTabId = generateTabLocalIdentifier();
68
78
  const newTabFilterContext = createDefaultFilterContext(effectiveDateFilterConfig, true);
79
+ // Synced writes only update existing counterparts and reset needs originals to restore to,
80
+ // so a tab created while sync is on must start with the synced filters as its saved state.
81
+ const activeTab = tabs?.find((tab) => tab.localIdentifier === activeTabLocalIdentifier);
82
+ const crossFilteringLocalIdsByTab = yield select(selectCrossFilteringFiltersLocalIdentifiersByTab);
83
+ const enablePersistentFiltersAcrossTabs = yield select(selectEnablePersistentFiltersAcrossTabs);
84
+ const seed = enablePersistentFiltersAcrossTabs && activeTab
85
+ ? seedSyncedTabFilters(activeTab, newTabFilterContext, crossFilteringLocalIdsByTab)
86
+ : undefined;
69
87
  const newTab = getTabState({
70
88
  localIdentifier: newTabId,
71
89
  title,
72
90
  layout: EmptyDashboardLayout,
73
91
  screen,
74
- filterContext: newTabFilterContext,
92
+ filterContext: seed?.filterContextDefinition ?? newTabFilterContext,
93
+ originalFilterContext: seed ? cloneDeep(seed.filterContextDefinition) : undefined,
94
+ attributeFilterDisplayForms: seed?.attributeFilterDisplayForms,
75
95
  dateFilterConfig,
96
+ dateFilterConfigs: seed?.dateFilterConfigs,
97
+ attributeFilterConfigs: seed?.attributeFilterConfigs,
98
+ measureValueFilterConfigs: seed?.measureValueFilterConfigs,
99
+ filterGroupsConfig: seed?.filterGroupsConfig,
76
100
  isRenaming: shouldStartRenaming,
77
101
  });
78
102
  // 4. Insert new tab at specified index (or append)
@@ -706,6 +706,14 @@ export type ChangeFilterContextSelectionPayload = {
706
706
  * payload carries localIdentifiers.
707
707
  */
708
708
  matchByLocalIdentifier?: boolean;
709
+ /**
710
+ * When true, tabs other than the one this command addresses keep their own saved initial
711
+ * filter values instead of receiving this payload. Used by filter reset when filters are
712
+ * persisted across tabs.
713
+ *
714
+ * @internal
715
+ */
716
+ restorePerTabOriginals?: boolean;
709
717
  };
710
718
  /**
711
719
  * Command for changing multiple filters at once.
@@ -760,6 +768,13 @@ export type ChangeFilterContextSelectionParams = {
760
768
  * as a fallback. See {@link ChangeFilterContextSelectionPayload}. Defaults to false.
761
769
  */
762
770
  matchByLocalIdentifier?: boolean;
771
+ /**
772
+ * When true, other tabs restore their own saved initial filter values.
773
+ * See {@link ChangeFilterContextSelectionPayload.restorePerTabOriginals}.
774
+ *
775
+ * @internal
776
+ */
777
+ restorePerTabOriginals?: boolean;
763
778
  };
764
779
  /**
765
780
  * Creates the {@link ChangeFilterContextSelection} command.
@@ -776,7 +791,7 @@ export type ChangeFilterContextSelectionParams = {
776
791
  * TODO: next major release can remove ByParams suffix and use this implementation instead of original cmd creator + other creators can be rewritten to use params object
777
792
  * https://gooddata.atlassian.net/browse/STL-700
778
793
  */
779
- export declare function changeFilterContextSelectionByParams({ filters, attributeFilterConfigs, resetOthers, correlationId, tabLocalIdentifier, matchByLocalIdentifier, }: ChangeFilterContextSelectionParams): ChangeFilterContextSelection;
794
+ export declare function changeFilterContextSelectionByParams({ filters, attributeFilterConfigs, resetOthers, correlationId, tabLocalIdentifier, matchByLocalIdentifier, restorePerTabOriginals, }: ChangeFilterContextSelectionParams): ChangeFilterContextSelection;
780
795
  /**
781
796
  * @beta
782
797
  */
@@ -1 +1 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/model/commands/filters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/model/commands/filters.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // (C) 2021-2026 GoodData Corporation
2
- import { absoluteDateFilterValues, filterAttributeElements, filterLocalIdentifier, filterObjRef, isAllTimeDateFilter, isArbitraryAttributeFilter, isAttributeFilterWithSelection, isMatchAttributeFilter, isPositiveAttributeFilter, isRelativeBoundedDateFilter, isRelativeDateFilter, relativeDateFilterValues, } from "@gooddata/sdk-model";
2
+ import { absoluteDateFilterValues, filterAttributeElements, filterLocalIdentifier, filterObjRef, isAllTimeDateFilter, isArbitraryAttributeFilter, isAttributeFilterWithSelection, isDateFilterGranularity, isMatchAttributeFilter, isPositiveAttributeFilter, isRelativeBoundedDateFilter, isRelativeDateFilter, relativeDateFilterValues, } from "@gooddata/sdk-model";
3
3
  /**
4
4
  * Creates the ChangeDateFilterSelection command.
5
5
  *
@@ -79,7 +79,7 @@ export function applyDateFilter(filter, correlationId) {
79
79
  else {
80
80
  const values = absoluteDateFilterValues(filter, true);
81
81
  const emptyValueHandling = filter.absoluteDateFilter.emptyValueHandling;
82
- return changeDateFilterSelection("absolute", "GDC.time.date", values.from, values.to, undefined, correlationId, values.dataSet, undefined, filter.absoluteDateFilter.localIdentifier, undefined, emptyValueHandling);
82
+ return changeDateFilterSelection("absolute", isDateFilterGranularity(values.granularity) ? values.granularity : "GDC.time.date", values.from, values.to, undefined, correlationId, values.dataSet, undefined, filter.absoluteDateFilter.localIdentifier, undefined, emptyValueHandling);
83
83
  }
84
84
  }
85
85
  /**
@@ -586,7 +586,7 @@ export function changeFilterContextSelection(filters, resetOthers = false, corre
586
586
  * TODO: next major release can remove ByParams suffix and use this implementation instead of original cmd creator + other creators can be rewritten to use params object
587
587
  * https://gooddata.atlassian.net/browse/STL-700
588
588
  */
589
- export function changeFilterContextSelectionByParams({ filters, attributeFilterConfigs = [], resetOthers = false, correlationId, tabLocalIdentifier, matchByLocalIdentifier, }) {
589
+ export function changeFilterContextSelectionByParams({ filters, attributeFilterConfigs = [], resetOthers = false, correlationId, tabLocalIdentifier, matchByLocalIdentifier, restorePerTabOriginals, }) {
590
590
  return {
591
591
  type: "GDC.DASH/CMD.FILTER_CONTEXT.CHANGE_SELECTION",
592
592
  correlationId,
@@ -596,6 +596,7 @@ export function changeFilterContextSelectionByParams({ filters, attributeFilterC
596
596
  resetOthers,
597
597
  tabLocalIdentifier,
598
598
  matchByLocalIdentifier,
599
+ restorePerTabOriginals,
599
600
  },
600
601
  };
601
602
  }
@@ -32,7 +32,7 @@ export interface IChangeParameterValuesPayload {
32
32
  readonly tabLocalIdentifier?: string;
33
33
  }
34
34
  /**
35
- * Command for setting runtime parameter overrides on the currently active tab.
35
+ * Command for setting runtime parameter overrides.
36
36
  *
37
37
  * @remarks
38
38
  * See {@link changeParameterValues} for a factory function that will help you create this command.
@@ -48,8 +48,9 @@ export interface IChangeParameterValues extends IDashboardCommand {
48
48
  *
49
49
  * @remarks
50
50
  * Dispatching this command sets the provided parameter values as runtime overrides on the
51
- * currently active tab. Only parameters already present on the active tab are affected; values
52
- * for unknown parameter refs are ignored.
51
+ * target tab, or the active tab when none is named. When persistent filters across tabs are
52
+ * enabled, the same values are written to every tab that already defines the parameter.
53
+ * Unknown parameter refs are ignored.
53
54
  *
54
55
  * Mirrors {@link changeFilterContextSelectionByParams} for parameters, so drill targets can
55
56
  * inherit the source dashboard's active parameter overrides.
@@ -1 +1 @@
1
- {"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../../src/model/commands/parameters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACtC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC1C,QAAQ,CAAC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IAC7C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC7D,QAAQ,CAAC,IAAI,EAAE,uCAAuC,CAAC;IACvD,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;CACnD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,EAClC,UAAU,EACV,kBAAkB,EAClB,aAAa,GAChB,EAAE,2BAA2B,GAAG,sBAAsB,CAStD"}
1
+ {"version":3,"file":"parameters.d.ts","sourceRoot":"","sources":["../../../src/model/commands/parameters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE9E,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEnD;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACtC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC1C,QAAQ,CAAC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IAC7C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC7D,QAAQ,CAAC,IAAI,EAAE,uCAAuC,CAAC;IACvD,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;CACnD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,EAClC,UAAU,EACV,kBAAkB,EAClB,aAAa,GAChB,EAAE,2BAA2B,GAAG,sBAAsB,CAStD"}
@@ -4,8 +4,9 @@
4
4
  *
5
5
  * @remarks
6
6
  * Dispatching this command sets the provided parameter values as runtime overrides on the
7
- * currently active tab. Only parameters already present on the active tab are affected; values
8
- * for unknown parameter refs are ignored.
7
+ * target tab, or the active tab when none is named. When persistent filters across tabs are
8
+ * enabled, the same values are written to every tab that already defines the parameter.
9
+ * Unknown parameter refs are ignored.
9
10
  *
10
11
  * Mirrors {@link changeFilterContextSelectionByParams} for parameters, so drill targets can
11
12
  * inherit the source dashboard's active parameter overrides.
@@ -21,6 +21,12 @@ export declare const selectCrossFilteringItems: DashboardSelector<ICrossFilterin
21
21
  * @internal
22
22
  */
23
23
  export declare const selectCrossFilteringItemsByTab: DashboardSelector<Record<string, ICrossFilteringItem[]>>;
24
+ /**
25
+ * Returns local identifiers of cross-filtering virtual filters for all tabs keyed by tab identifier.
26
+ *
27
+ * @internal
28
+ */
29
+ export declare const selectCrossFilteringFiltersLocalIdentifiersByTab: DashboardSelector<Record<string, string[]>>;
24
30
  /**
25
31
  * @beta
26
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"drillSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/drill/drillSelectors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAI3F,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAOtD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,aAAa,EAAE,CAMnE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,CAM9E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAG9F,CAAC;AAEP;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,OAAO,CAG7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mCAAmC,EAAE,CAC9C,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,mBAAmB,GAAG,SAAS,CAIrD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2CAA2C,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAGnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iDAAiD,EAAE,CAC5D,eAAe,EAAE,MAAM,KACtB,iBAAiB,CAAC,OAAO,CAI7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sDAAsD,EAAE,CACjE,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,MAAM,EAAE,GAAG,SAAS,CAE1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6CAA6C,EAAE,CACxD,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,8BAA8B,EAAE,EAAE,GAAG,SAAS,CAGpE,CAAC"}
1
+ {"version":3,"file":"drillSelectors.d.ts","sourceRoot":"","sources":["../../../../src/model/store/drill/drillSelectors.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,8BAA8B,EAAE,MAAM,kBAAkB,CAAC;AAI3F,OAAO,EAAE,KAAK,iBAAiB,EAAuB,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAOtD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,CAAC,aAAa,EAAE,CAMnE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,iBAAiB,CAAC,mBAAmB,EAAE,CAM9E,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAG9F,CAAC;AAEP;;;;GAIG;AACH,eAAO,MAAM,gDAAgD,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAQpG,CAAC;AAEN;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,iBAAiB,CAAC,OAAO,CAG7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mCAAmC,EAAE,CAC9C,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,mBAAmB,GAAG,SAAS,CAIrD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2CAA2C,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAGnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iDAAiD,EAAE,CAC5D,eAAe,EAAE,MAAM,KACtB,iBAAiB,CAAC,OAAO,CAI7B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sDAAsD,EAAE,CACjE,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,MAAM,EAAE,GAAG,SAAS,CAE1C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6CAA6C,EAAE,CACxD,GAAG,EAAE,MAAM,GAAG,SAAS,KACtB,iBAAiB,CAAC,8BAA8B,EAAE,EAAE,GAAG,SAAS,CAGpE,CAAC"}
@@ -29,6 +29,15 @@ export const selectCrossFilteringItems = createSelector(selectSelf, selectActive
29
29
  export const selectCrossFilteringItemsByTab = createSelector(selectSelf, (drillState) => {
30
30
  return drillState.crossFiltering;
31
31
  });
32
+ /**
33
+ * Returns local identifiers of cross-filtering virtual filters for all tabs keyed by tab identifier.
34
+ *
35
+ * @internal
36
+ */
37
+ export const selectCrossFilteringFiltersLocalIdentifiersByTab = createSelector(selectCrossFilteringItemsByTab, (itemsByTab) => Object.fromEntries(Object.entries(itemsByTab).map(([tabId, items]) => [
38
+ tabId,
39
+ items.flatMap((item) => item.filterLocalIdentifiers),
40
+ ])));
32
41
  /**
33
42
  * @beta
34
43
  */