@gooddata/sdk-ui-dashboard 11.51.0-alpha.3 → 11.51.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertFilters.d.ts.map +1 -1
  4. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertFilters.js +1 -1
  5. package/esm/presentation/automations/alerting/DefaultAlertingDialog/hooks/useAlertFormState.js +1 -1
  6. package/esm/presentation/automations/connectors/ScheduledEmailConnector.js +1 -1
  7. package/esm/presentation/automations/connectors/ScheduledEmailConnector.test.js +1 -1
  8. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduledEmailEffectiveFilters.js +1 -1
  9. package/esm/presentation/automations/scheduledEmail/DefaultScheduledEmailDialog/hooks/useScheduledEmailFilters.js +1 -1
  10. package/esm/presentation/automations/shared/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.js +1 -1
  11. package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.d.ts.map +1 -1
  12. package/esm/presentation/automations/shared/automationFilters/hooks/useValidateExistingAutomationFilters.js +2 -1
  13. package/esm/presentation/automations/shared/automationFilters/utils.d.ts +1 -32
  14. package/esm/presentation/automations/shared/automationFilters/utils.d.ts.map +1 -1
  15. package/esm/presentation/automations/shared/automationFilters/utils.js +2 -177
  16. package/esm/presentation/automations/shared/filters/conversions.d.ts +36 -0
  17. package/esm/presentation/automations/shared/filters/conversions.d.ts.map +1 -0
  18. package/esm/presentation/automations/shared/filters/conversions.js +242 -0
  19. package/esm/presentation/automations/shared/filters/index.d.ts +2 -0
  20. package/esm/presentation/automations/shared/filters/index.d.ts.map +1 -0
  21. package/esm/presentation/automations/shared/filters/index.js +3 -0
  22. package/esm/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.js +2 -2
  23. package/package.json +21 -21
  24. package/styles/css/filterBar.css +1 -0
  25. package/styles/css/filterBar.css.map +1 -1
  26. package/styles/css/main.css +1 -0
  27. package/styles/css/main.css.map +1 -1
  28. package/styles/scss/filterBar.scss +7 -0
  29. package/esm/presentation/automations/scheduledEmail/utils/filters.d.ts +0 -3
  30. package/esm/presentation/automations/scheduledEmail/utils/filters.d.ts.map +0 -1
  31. package/esm/presentation/automations/scheduledEmail/utils/filters.js +0 -5
  32. package/esm/presentation/automations/shared/utils/filterContextUtils.d.ts +0 -4
  33. package/esm/presentation/automations/shared/utils/filterContextUtils.d.ts.map +0 -1
  34. package/esm/presentation/automations/shared/utils/filterContextUtils.js +0 -67
@@ -10,6 +10,13 @@ $attribute-filter-drag-handle-left: 10px;
10
10
 
11
11
  .dash-filters-wrapper {
12
12
  position: relative;
13
+ // The ".show-all" row below is in the flow, so it adds a full-width band to this wrapper that
14
+ // only the centred button paints on. The wrapper sits in the sticky/fixed dashboard header, so
15
+ // without a background of its own that band is see-through and the dashboard content scrolling
16
+ // underneath shows through either side of the button (EB-872). Paint the content background
17
+ // here rather than on ".show-all": as the parent, it lands *below* the filter rows' bottom
18
+ // border in paint order, so the border still shows through.
19
+ background-color: variables.$gd-dashboards-content-backgroundColor;
13
20
 
14
21
  .show-all {
15
22
  position: relative;
@@ -1,3 +0,0 @@
1
- import { type FilterContextItem } from "@gooddata/sdk-model";
2
- export declare function getAppliedDashboardFilters(selectedAutomationFilters: FilterContextItem[], dashboardHiddenFilters: FilterContextItem[], storeFilters?: boolean): FilterContextItem[] | undefined;
3
- //# sourceMappingURL=filters.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/scheduledEmail/utils/filters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI7D,wBAAgB,0BAA0B,CACtC,yBAAyB,EAAE,iBAAiB,EAAE,EAC9C,sBAAsB,EAAE,iBAAiB,EAAE,EAC3C,YAAY,CAAC,EAAE,OAAO,mCAOzB"}
@@ -1,5 +0,0 @@
1
- // (C) 2026 GoodData Corporation
2
- import { getAppliedDashboardFilters as getAppliedDashboardFiltersFromAutomationFilters } from "../../shared/automationFilters/utils.js";
3
- export function getAppliedDashboardFilters(selectedAutomationFilters, dashboardHiddenFilters, storeFilters) {
4
- return getAppliedDashboardFiltersFromAutomationFilters(selectedAutomationFilters, dashboardHiddenFilters, storeFilters);
5
- }
@@ -1,4 +0,0 @@
1
- import { type FilterContextItem } from "@gooddata/sdk-model";
2
- import { type IDashboardFilter } from "../../../../types.js";
3
- export declare function dashboardFilterToFilterContextItem(filter: IDashboardFilter, keepDatasets: boolean): FilterContextItem | undefined;
4
- //# sourceMappingURL=filterContextUtils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filterContextUtils.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/utils/filterContextUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAEH,KAAK,iBAAiB,EAmBzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,wBAAgB,kCAAkC,CAC9C,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,OAAO,GACtB,iBAAiB,GAAG,SAAS,CA8E/B"}
@@ -1,67 +0,0 @@
1
- // (C) 2021-2026 GoodData Corporation
2
- // Derived from _staging/dashboard/dashboardFilterContext.ts
3
- import { NotSupported } from "@gooddata/sdk-backend-spi";
4
- import { filterAttributeElements, filterLocalIdentifier, filterObjRef, isAbsoluteDateFilter, isAllTimeDateFilter, isArbitraryAttributeFilter, isAttributeFilterWithSelection, isMatchAttributeFilter, isMeasureValueFilter, isNegativeAttributeFilter, isObjRef, isRelativeBoundedDateFilter, isRelativeDateFilter, measureValueFilterConditions, measureValueFilterMeasure, newAbsoluteDashboardDateFilter, newAllTimeDashboardDateFilter, newRelativeDashboardDateFilter, } from "@gooddata/sdk-model";
5
- export function dashboardFilterToFilterContextItem(filter, keepDatasets) {
6
- if (isAttributeFilterWithSelection(filter)) {
7
- return {
8
- attributeFilter: {
9
- negativeSelection: isNegativeAttributeFilter(filter),
10
- displayForm: filterObjRef(filter),
11
- attributeElements: filterAttributeElements(filter),
12
- selectionMode: "multi",
13
- localIdentifier: filterLocalIdentifier(filter),
14
- },
15
- };
16
- }
17
- else if (isArbitraryAttributeFilter(filter)) {
18
- return {
19
- arbitraryAttributeFilter: {
20
- displayForm: filterObjRef(filter),
21
- values: filter.arbitraryAttributeFilter.values,
22
- negativeSelection: filter.arbitraryAttributeFilter.negativeSelection ?? false,
23
- localIdentifier: filterLocalIdentifier(filter),
24
- },
25
- };
26
- }
27
- else if (isMatchAttributeFilter(filter)) {
28
- return {
29
- matchAttributeFilter: {
30
- displayForm: filterObjRef(filter),
31
- operator: filter.matchAttributeFilter.operator,
32
- literal: filter.matchAttributeFilter.literal,
33
- caseSensitive: filter.matchAttributeFilter.caseSensitive,
34
- negativeSelection: filter.matchAttributeFilter.negativeSelection,
35
- localIdentifier: filterLocalIdentifier(filter),
36
- },
37
- };
38
- }
39
- else if (isAbsoluteDateFilter(filter)) {
40
- return newAbsoluteDashboardDateFilter(filter.absoluteDateFilter.from, filter.absoluteDateFilter.to, keepDatasets ? filter.absoluteDateFilter.dataSet : undefined, filter.absoluteDateFilter.localIdentifier, filter.absoluteDateFilter.emptyValueHandling);
41
- }
42
- else if (isAllTimeDateFilter(filter)) {
43
- return newAllTimeDashboardDateFilter(keepDatasets ? filter.relativeDateFilter.dataSet : undefined, filter.relativeDateFilter.localIdentifier, filter.relativeDateFilter.emptyValueHandling);
44
- }
45
- else if (isRelativeDateFilter(filter)) {
46
- return newRelativeDashboardDateFilter(filter.relativeDateFilter.granularity, filter.relativeDateFilter.from, filter.relativeDateFilter.to, keepDatasets ? filter.relativeDateFilter.dataSet : undefined, filter.relativeDateFilter.localIdentifier, isRelativeBoundedDateFilter(filter) ? filter.relativeDateFilter.boundedFilter : undefined, filter.relativeDateFilter.emptyValueHandling);
47
- }
48
- else if (isMeasureValueFilter(filter)) {
49
- const measure = measureValueFilterMeasure(filter);
50
- // Dashboard MVFs always reference the measure by ObjRef. Insight MVFs use LocalIdRef
51
- // (bucket localId) and have no honest representation in the dashboard filter context —
52
- // they reach this converter only because automation execution filters mix dashboard and
53
- // insight filters. Caller is responsible for dropping these undefined entries.
54
- if (!isObjRef(measure)) {
55
- return undefined;
56
- }
57
- const conditions = measureValueFilterConditions(filter);
58
- return {
59
- dashboardMeasureValueFilter: {
60
- measure,
61
- localIdentifier: filter.measureValueFilter.localIdentifier ?? `mvf:${JSON.stringify(measure)}`,
62
- ...(conditions ? { conditions } : {}),
63
- },
64
- };
65
- }
66
- throw new NotSupported(`Unsupported filter type! Please provide valid dashboard filter. Filter: ${JSON.stringify(filter)}`);
67
- }