@gooddata/sdk-model 10.28.0-alpha.92 → 10.28.0-alpha.94

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.
@@ -26,5 +26,5 @@ import { IFilter, INullableFilter } from "./index.js";
26
26
  * @param addedFilters - new filters to add on top of original
27
27
  * @internal
28
28
  */
29
- export declare function mergeFilters(originalFilters: IFilter[], addedFilters: INullableFilter[] | undefined): IFilter[];
29
+ export declare function mergeFilters(originalFilters: IFilter[], addedFilters: INullableFilter[] | undefined, commonDateFilterId?: string): IFilter[];
30
30
  //# sourceMappingURL=filterMerge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filterMerge.d.ts","sourceRoot":"","sources":["../../../src/execution/filter/filterMerge.ts"],"names":[],"mappings":"AAEA,OAAO,EAGH,OAAO,EASP,eAAe,EAClB,MAAM,YAAY,CAAC;AAsCpB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CACxB,eAAe,EAAE,OAAO,EAAE,EAC1B,YAAY,EAAE,eAAe,EAAE,GAAG,SAAS,GAC5C,OAAO,EAAE,CA6BX"}
1
+ {"version":3,"file":"filterMerge.d.ts","sourceRoot":"","sources":["../../../src/execution/filter/filterMerge.ts"],"names":[],"mappings":"AAEA,OAAO,EAGH,OAAO,EASP,eAAe,EAElB,MAAM,YAAY,CAAC;AAsCpB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CACxB,eAAe,EAAE,OAAO,EAAE,EAC1B,YAAY,EAAE,eAAe,EAAE,GAAG,SAAS,EAC3C,kBAAkB,CAAC,EAAE,MAAM,GAC5B,OAAO,EAAE,CA6BX"}
@@ -1,6 +1,6 @@
1
- // (C) 2019-2021 GoodData Corporation
1
+ // (C) 2019-2025 GoodData Corporation
2
2
  import { objRefToString } from "../../objRef/index.js";
3
- import { isAttributeFilter, isDateFilter, filterObjRef, isAllTimeDateFilter, isMeasureValueFilter, isRankingFilter, } from "./index.js";
3
+ import { isAttributeFilter, isDateFilter, filterObjRef, isAllTimeDateFilter, isMeasureValueFilter, isRankingFilter, filterLocalIdentifier, } from "./index.js";
4
4
  import compact from "lodash/compact.js";
5
5
  import groupBy from "lodash/groupBy.js";
6
6
  import last from "lodash/last.js";
@@ -57,7 +57,7 @@ function separateFiltersByType(filters) {
57
57
  * @param addedFilters - new filters to add on top of original
58
58
  * @internal
59
59
  */
60
- export function mergeFilters(originalFilters, addedFilters) {
60
+ export function mergeFilters(originalFilters, addedFilters, commonDateFilterId) {
61
61
  invariant(originalFilters, "original filters must be specified");
62
62
  const filtersToMerge = compact(addedFilters ?? []);
63
63
  if (!filtersToMerge.length) {
@@ -71,14 +71,14 @@ export function mergeFilters(originalFilters, addedFilters) {
71
71
  // concat attribute filters
72
72
  const attributeFilters = [...original.attribute, ...added.attribute];
73
73
  // merge date filters by date dataset qualifier
74
- const dateFilters = mergeDateFilters(original.date, added.date);
74
+ const dateFilters = mergeDateFilters(original.date, added.date, commonDateFilterId);
75
75
  // merge measure value filters by measure
76
76
  const measureValueFilters = mergeMeasureValueFilters(original.measureValue, added.measureValue);
77
77
  // concat ranking filters
78
78
  const rankingFilters = [...original.ranking, ...added.ranking];
79
79
  return [...attributeFilters, ...dateFilters, ...measureValueFilters, ...rankingFilters];
80
80
  }
81
- function mergeDateFilters(originalFilters, addedFilters) {
81
+ function mergeDateFilters(originalFilters, addedFilters, commonDateFilterId) {
82
82
  const allFilters = [...originalFilters, ...addedFilters];
83
83
  const grouped = groupBy(allFilters, (f) => objRefToString(filterObjRef(f)));
84
84
  const mergedFilters = [];
@@ -86,6 +86,18 @@ function mergeDateFilters(originalFilters, addedFilters) {
86
86
  // use the last filter for the dimension specified.
87
87
  // this makes sure that the added filter wins if it is specified
88
88
  const lastFilterForDimension = last(filtersForDimension);
89
+ const commonDateFilter = commonDateFilterId
90
+ ? filtersForDimension.find((f) => filterLocalIdentifier(f) === commonDateFilterId)
91
+ : undefined;
92
+ const lastFilterIsCommon = commonDateFilterId
93
+ ? filterLocalIdentifier(lastFilterForDimension) === commonDateFilterId
94
+ : false;
95
+ // Handle case, when there are 2 date filters with the same date dataset,
96
+ // and when one of them is common date filter.
97
+ // In this case, we want to use both filters.
98
+ if (!lastFilterIsCommon && commonDateFilter && !isAllTimeDateFilter(commonDateFilter)) {
99
+ mergedFilters.push(commonDateFilter);
100
+ }
89
101
  // if the last filter is all time, clear filters for this dimension, otherwise use the last filter
90
102
  if (!isAllTimeDateFilter(lastFilterForDimension)) {
91
103
  mergedFilters.push(lastFilterForDimension);
@@ -1 +1 @@
1
- {"version":3,"file":"filterMerge.js","sourceRoot":"","sources":["../../../src/execution/filter/filterMerge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filterMerge.js","sourceRoot":"","sources":["../../../src/execution/filter/filterMerge.ts"],"names":[],"mappings":"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"}
@@ -11416,7 +11416,7 @@ export declare function measureValueFilterOperator(filter: IMeasureValueFilter):
11416
11416
  * @param addedFilters - new filters to add on top of original
11417
11417
  * @internal
11418
11418
  */
11419
- export declare function mergeFilters(originalFilters: IFilter[], addedFilters: INullableFilter[] | undefined): IFilter[];
11419
+ export declare function mergeFilters(originalFilters: IFilter[], addedFilters: INullableFilter[] | undefined, commonDateFilterId?: string): IFilter[];
11420
11420
 
11421
11421
  /**
11422
11422
  * Type that represents any metadata object
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gooddata/sdk-model",
3
- "version": "10.28.0-alpha.92",
3
+ "version": "10.28.0-alpha.94",
4
4
  "author": "GoodData",
5
5
  "description": "GoodData Model definitions used by UI components and Backend SPI and its implementations",
6
6
  "repository": {