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

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 (71) hide show
  1. package/NOTICE +10 -11
  2. package/esm/__version.d.ts +1 -1
  3. package/esm/__version.js +1 -1
  4. package/esm/_staging/sharedHooks/useAttributes.d.ts.map +1 -1
  5. package/esm/_staging/sharedHooks/useAttributes.js +4 -2
  6. package/esm/_staging/sharedHooks/useFiltersNamings.d.ts.map +1 -1
  7. package/esm/_staging/sharedHooks/useFiltersNamings.js +3 -5
  8. package/esm/kdaDialog/composition/KdaAttributesDropdown.d.ts +2 -1
  9. package/esm/kdaDialog/composition/KdaAttributesDropdown.d.ts.map +1 -1
  10. package/esm/kdaDialog/composition/KdaAttributesDropdown.js +4 -5
  11. package/esm/kdaDialog/composition/KeyDriversFooter.d.ts.map +1 -1
  12. package/esm/kdaDialog/composition/KeyDriversFooter.js +12 -4
  13. package/esm/kdaDialog/dialog/KdaDialog.d.ts.map +1 -1
  14. package/esm/kdaDialog/dialog/KdaDialog.js +0 -2
  15. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.d.ts.map +1 -1
  16. package/esm/model/commandHandlers/dashboard/saveDashboardHandler.js +21 -5
  17. package/esm/model/events/dashboard.d.ts +17 -1
  18. package/esm/model/events/dashboard.d.ts.map +1 -1
  19. package/esm/model/events/dashboard.js +2 -1
  20. package/esm/presentation/automations/shared/automationFilters/components/AutomationDateFilter.d.ts.map +1 -1
  21. package/esm/presentation/automations/shared/automationFilters/components/AutomationDateFilter.js +3 -1
  22. package/esm/presentation/automations/shared/hooks/useFiltersNamings.d.ts.map +1 -1
  23. package/esm/presentation/automations/shared/hooks/useFiltersNamings.js +3 -5
  24. package/esm/presentation/constants/zIndex.js +1 -1
  25. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useAttributeDataSet.d.ts.map +1 -1
  26. package/esm/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useAttributeDataSet.js +4 -2
  27. package/esm/presentation/filterBar/dateFilter/dateDimensionGranularities.d.ts +20 -0
  28. package/esm/presentation/filterBar/dateFilter/dateDimensionGranularities.d.ts.map +1 -0
  29. package/esm/presentation/filterBar/dateFilter/dateDimensionGranularities.js +47 -0
  30. package/esm/presentation/filterBar/dateFilter/useDateFilterConfigNarrowedToDimension.d.ts +11 -0
  31. package/esm/presentation/filterBar/dateFilter/useDateFilterConfigNarrowedToDimension.d.ts.map +1 -0
  32. package/esm/presentation/filterBar/dateFilter/useDateFilterConfigNarrowedToDimension.js +25 -0
  33. package/esm/presentation/filterBar/filterBar/DefaultFilterBarItem.d.ts.map +1 -1
  34. package/esm/presentation/filterBar/filterBar/DefaultFilterBarItem.js +4 -2
  35. package/esm/presentation/filterBar/filterBar/filterViews/FilterViews.d.ts.map +1 -1
  36. package/esm/presentation/filterBar/filterBar/filterViews/FilterViews.js +7 -2
  37. package/esm/presentation/widget/dashboardLayout/DashboardCanvasOverlayZIndex.d.ts +5 -0
  38. package/esm/presentation/widget/dashboardLayout/DashboardCanvasOverlayZIndex.d.ts.map +1 -0
  39. package/esm/presentation/widget/dashboardLayout/DashboardCanvasOverlayZIndex.js +10 -0
  40. package/esm/presentation/widget/dashboardLayout/DashboardLayout.d.ts.map +1 -1
  41. package/esm/presentation/widget/dashboardLayout/DashboardLayout.js +2 -1
  42. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogExportDropdown.d.ts.map +1 -1
  43. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogExportDropdown.js +1 -1
  44. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.d.ts.map +1 -1
  45. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/InsightDrillDialog.js +0 -2
  46. package/esm/sdk-ui-dashboard.d.ts +16 -0
  47. package/package.json +21 -21
  48. package/styles/css/dashboard.css.map +1 -1
  49. package/styles/css/drillDialog.css +4 -5
  50. package/styles/css/drillDialog.css.map +1 -1
  51. package/styles/css/filterBar.css.map +1 -1
  52. package/styles/css/floatingToolbar.css.map +1 -1
  53. package/styles/css/kdaDialog.css +0 -5
  54. package/styles/css/kdaDialog.css.map +1 -1
  55. package/styles/css/kpi_alert_dialog.css.map +1 -1
  56. package/styles/css/layout.css.map +1 -1
  57. package/styles/css/main.css +16 -15
  58. package/styles/css/main.css.map +1 -1
  59. package/styles/css/notifications_channels_dialog.css.map +1 -1
  60. package/styles/css/resizing.css.map +1 -1
  61. package/styles/css/toolbar.css.map +1 -1
  62. package/styles/css/topBar.css.map +1 -1
  63. package/styles/scss/_zIndexes.scss +0 -1
  64. package/styles/scss/drillDialog.scss +5 -8
  65. package/styles/scss/kdaDialog.scss +0 -6
  66. package/esm/kdaDialog/dialog/hooks/useKdaDialogTooltipsOverride.d.ts +0 -2
  67. package/esm/kdaDialog/dialog/hooks/useKdaDialogTooltipsOverride.d.ts.map +0 -1
  68. package/esm/kdaDialog/dialog/hooks/useKdaDialogTooltipsOverride.js +0 -11
  69. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/useDrillDialogTooltipsOverride.d.ts +0 -4
  70. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/useDrillDialogTooltipsOverride.d.ts.map +0 -1
  71. package/esm/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/useDrillDialogTooltipsOverride.js +0 -26
package/NOTICE CHANGED
@@ -7,9 +7,9 @@
7
7
 
8
8
  The following 3rd-party software packages may be used by or distributed with gooddata-ui-sdk. Any information relevant to third-party vendors listed below are collected using common, reasonable means.
9
9
 
10
- Date generated: 2026-10-7
10
+ Date generated: 2026-10-9
11
11
 
12
- Revision ID: e469c84a382ddeb7cdb44635954e2578cb2e6e75
12
+ Revision ID: 3ef6d105ddec892804628036fd14253a8cc9efdf
13
13
 
14
14
  ================================================================================
15
15
  ================================================================================
@@ -219,8 +219,8 @@ No first party licenses found in gooddata-ui-sdk
219
219
  - array-union (2.1.0) [MIT]
220
220
  - astral-regex (2.0.0) [MIT]
221
221
  - asynckit (0.4.0) [MIT]
222
- - axios (1.18.1) [MIT]
223
- - axios-cache-interceptor (1.12.0) [MIT]
222
+ - axios (1.20.0) [MIT]
223
+ - axios-cache-interceptor (1.12.3) [MIT]
224
224
  - babel-plugin-macros (3.1.0) [MIT]
225
225
  - bail (2.0.2) [MIT]
226
226
  - balanced-match (2.0.0) [MIT]
@@ -19838,9 +19838,9 @@ Dependency Path: axios > form-data > asynckit > axios-cache-interceptor > axios
19838
19838
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
19839
19839
 
19840
19840
  --------------------------------------------------------------------------------
19841
- Package Title: axios (1.18.1)
19841
+ Package Title: axios (1.20.0)
19842
19842
 
19843
- Package Locator: npm+axios$1.18.1
19843
+ Package Locator: npm+axios$1.20.0
19844
19844
 
19845
19845
  Package Depth: Direct
19846
19846
  --------------------------------------------------------------------------------
@@ -19884,14 +19884,13 @@ MIT
19884
19884
  Authors: jasonsaayman@gmail.com
19885
19885
  Package Manager: NPM
19886
19886
  Project URL: https://axios-http.com/
19887
- Package Download URL: https://registry.npmjs.org/axios/-/axios-1.18.1.tgz
19888
19887
  Dependency Path: axios > axios-cache-interceptor > axios
19889
19888
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
19890
19889
 
19891
19890
  --------------------------------------------------------------------------------
19892
- Package Title: axios-cache-interceptor (1.12.0)
19891
+ Package Title: axios-cache-interceptor (1.12.3)
19893
19892
 
19894
- Package Locator: npm+axios-cache-interceptor$1.12.0
19893
+ Package Locator: npm+axios-cache-interceptor$1.12.3
19895
19894
 
19896
19895
  Package Depth: Direct
19897
19896
  --------------------------------------------------------------------------------
@@ -19959,7 +19958,7 @@ MIT
19959
19958
  Authors: arthur.fiorette@gmail.com
19960
19959
  Package Manager: NPM
19961
19960
  Project URL: https://axios-cache-interceptor.js.org/
19962
- Package Download URL: https://registry.npmjs.org/axios-cache-interceptor/-/axios-cache-interceptor-1.12.0.tgz
19961
+ Package Download URL: https://registry.npmjs.org/axios-cache-interceptor/-/axios-cache-interceptor-1.12.3.tgz
19963
19962
  Dependency Path: axios-cache-interceptor
19964
19963
  File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
19965
19964
 
@@ -64773,4 +64772,4 @@ File Path(s): common/config/subspaces/sdk/pnpm-lock.yaml
64773
64772
  --------------------------------------------------------------------------------
64774
64773
  --------------------------------------------------------------------------------
64775
64774
 
64776
- Report Generated by FOSSA on 2026-10-7
64775
+ Report Generated by FOSSA on 2026-10-9
@@ -1,4 +1,4 @@
1
- export declare const LIB_VERSION = "11.62.0-alpha.0";
1
+ export declare const LIB_VERSION = "11.62.0-alpha.2";
2
2
  export declare const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
3
3
  export declare const LIB_NAME = "@gooddata/sdk-ui-dashboard";
4
4
  //# sourceMappingURL=__version.d.ts.map
package/esm/__version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // (C) 2021 GoodData Corporation
2
2
  // DO NOT CHANGE THIS FILE, IT IS RE-GENERATED ON EVERY BUILD
3
- export const LIB_VERSION = "11.62.0-alpha.0";
3
+ export const LIB_VERSION = "11.62.0-alpha.2";
4
4
  export const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
5
5
  export const LIB_NAME = "@gooddata/sdk-ui-dashboard";
@@ -1 +1 @@
1
- {"version":3,"file":"useAttributes.d.ts","sourceRoot":"","sources":["../../../src/_staging/sharedHooks/useAttributes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAWjF;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE;;;;EAkCnD"}
1
+ {"version":3,"file":"useAttributes.d.ts","sourceRoot":"","sources":["../../../src/_staging/sharedHooks/useAttributes.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAYjF;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE;;;;EAmCnD"}
@@ -3,6 +3,7 @@ import { useEffect, useMemo } from "react";
3
3
  import { queryAttributeByDisplayForm, } from "../../model/queries/attributes.js";
4
4
  import { useDashboardSelector } from "../../model/react/DashboardStoreProvider.js";
5
5
  import { useDashboardQueryProcessing } from "../../model/react/useDashboardQueryProcessing.js";
6
+ import { selectIsAiMode } from "../../model/store/config/configSelectors.js";
6
7
  import { selectIsNewDashboard } from "../../model/store/meta/metaSelectors.js";
7
8
  import { selectPreloadedAttributesWithReferences } from "../../model/store/tabs/filterContext/filterContextSelectors.js";
8
9
  /**
@@ -15,12 +16,13 @@ export function useAttributes(displayForms) {
15
16
  // First wait for preloaded filter attributes, otherwise we might be spawning lot of unnecessary requests
16
17
  const attributesWithReferences = useDashboardSelector(selectPreloadedAttributesWithReferences);
17
18
  const isNewDashboard = useDashboardSelector(selectIsNewDashboard);
19
+ const isAiMode = useDashboardSelector(selectIsAiMode);
18
20
  useEffect(() => {
19
- const shouldLoad = isNewDashboard || attributesWithReferences;
21
+ const shouldLoad = isNewDashboard || isAiMode || attributesWithReferences;
20
22
  if (shouldLoad) {
21
23
  getAttributes(displayForms);
22
24
  }
23
- }, [displayForms, getAttributes, isNewDashboard, attributesWithReferences]);
25
+ }, [displayForms, getAttributes, isNewDashboard, isAiMode, attributesWithReferences]);
24
26
  const attributesLoading = useMemo(() => {
25
27
  return attributesLoadingStatus === "pending" || attributesLoadingStatus === "running";
26
28
  }, [attributesLoadingStatus]);
@@ -1 +1 @@
1
- {"version":3,"file":"useFiltersNamings.d.ts","sourceRoot":"","sources":["../../../src/_staging/sharedHooks/useFiltersNamings.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,iBAAiB,EAItB,KAAK,MAAM,EAkBd,MAAM,qBAAqB,CAAC;AA+B7B,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,iBAAiB,GAAG,YAAY,GAAG,oBAAoB,CAAC;IAC9D,GAAG,EAAE,OAAO,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAiPF,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,CAIrG;AAED,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,GAChD,MAAM,CAAC,MAAM,EAAE,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC,CAa9C"}
1
+ {"version":3,"file":"useFiltersNamings.d.ts","sourceRoot":"","sources":["../../../src/_staging/sharedHooks/useFiltersNamings.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,KAAK,iBAAiB,EAItB,KAAK,MAAM,EAiBd,MAAM,qBAAqB,CAAC;AA0B7B,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,iBAAiB,GAAG,YAAY,GAAG,oBAAoB,CAAC;IAC9D,GAAG,EAAE,OAAO,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA4OF,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,CAIrG;AAED,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,GAChD,MAAM,CAAC,MAAM,EAAE,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC,CAa9C"}
@@ -5,7 +5,7 @@ import { areObjRefsEqual, dashboardAttributeFilterItemLocalIdentifier, dashboard
5
5
  import { DateFilterHelpers, getAttributeFilterSubtitle, getLocalizedIcuDateFormatPattern, getMeasureValueFilterConditionLabel, getTextFilterStateText, } from "@gooddata/sdk-ui-filters";
6
6
  import { useDashboardSelector } from "../../model/react/DashboardStoreProvider.js";
7
7
  import { selectAllCatalogAttributesMap, selectCatalogMeasures, } from "../../model/store/catalog/catalogSelectors.js";
8
- import { selectLocale, selectSeparators, selectSettings, selectWeekStart, } from "../../model/store/config/configSelectors.js";
8
+ import { selectLocale, selectSeparators, selectSettings } from "../../model/store/config/configSelectors.js";
9
9
  import { convertDateFilterConfigToDateFilterOptions } from "../dateFilterConfig/dateFilterConfigConverters.js";
10
10
  import { matchDateFilterToDateFilterOptionWithPreference } from "../dateFilterConfig/dateFilterOptionMapping.js";
11
11
  import { defaultDateFilterConfig } from "../dateFilterConfig/defaultConfig.js";
@@ -35,7 +35,6 @@ function useFilterNamingDependencies(filtersForTitles) {
35
35
  const attrMap = useDashboardSelector(selectAllCatalogAttributesMap);
36
36
  const measures = useDashboardSelector(selectCatalogMeasures);
37
37
  const separators = useDashboardSelector(selectSeparators);
38
- const weekStart = useDashboardSelector(selectWeekStart);
39
38
  const dateFiltersForTitles = filtersForTitles.filter(isDashboardDateFilterWithDimension);
40
39
  const commonDateFilterTitle = useCommonDateFilterTitle(intl);
41
40
  const allDateFiltersTitlesObj = useDateFiltersTitles(dateFiltersForTitles, intl);
@@ -43,7 +42,6 @@ function useFilterNamingDependencies(filtersForTitles) {
43
42
  intl,
44
43
  locale,
45
44
  dateFormat,
46
- weekStart,
47
45
  getAttributeFilterDisplayFormFromMap,
48
46
  attrMap,
49
47
  measures,
@@ -57,7 +55,7 @@ function useFilterNamingDependencies(filtersForTitles) {
57
55
  * Extracted to avoid code duplication between useFiltersNamings and useFiltersByTabNamings.
58
56
  */
59
57
  function transformFiltersToNamings(filtersToDisplay, deps) {
60
- const { intl, dateFormat, weekStart, getAttributeFilterDisplayFormFromMap, attrMap, measures, separators, commonDateFilterTitle, allDateFiltersTitlesObj, } = deps;
58
+ const { intl, dateFormat, getAttributeFilterDisplayFormFromMap, attrMap, measures, separators, commonDateFilterTitle, allDateFiltersTitlesObj, } = deps;
61
59
  // we want to show all time filter in the list of filters even if it is not stored
62
60
  const extendedFiltersToDisplay = ensureAllTimeFilterForExport(filtersToDisplay);
63
61
  return extendedFiltersToDisplay.map((filter) => {
@@ -90,7 +88,7 @@ function transformFiltersToNamings(filtersToDisplay, deps) {
90
88
  */
91
89
  const dateFilterOptionInfo = matchDateFilterToDateFilterOptionWithPreference(filter, convertDateFilterConfigToDateFilterOptions(defaultDateFilterConfig), undefined);
92
90
  const dateFilterOption = DateFilterHelpers.applyExcludeCurrentPeriod(dateFilterOptionInfo.dateFilterOption, dateFilterOptionInfo.excludeCurrentPeriod);
93
- const subtitle = DateFilterHelpers.getDateFilterTitleUsingTranslator(dateFilterOption, intl, "full", dateFormat, weekStart);
91
+ const subtitle = DateFilterHelpers.getDateFilterTitleUsingTranslator(dateFilterOption, intl, "full", dateFormat);
94
92
  const a = filter;
95
93
  if (isDashboardDateFilterWithDimension(a)) {
96
94
  const key = serializeObjRef(a.dateFilter.dataSet);
@@ -1,6 +1,7 @@
1
1
  import { type ICatalogAttribute } from "@gooddata/sdk-model";
2
2
  import { type IKdaItemGroup } from "../internalTypes.js";
3
3
  export interface IKdaAttributesDropdownProps {
4
+ buttonId: string;
4
5
  buttonLabel: string;
5
6
  attributesCount: number;
6
7
  validAttributes: ICatalogAttribute[];
@@ -11,5 +12,5 @@ export interface IKdaAttributesDropdownProps {
11
12
  onOpen: () => void;
12
13
  onClose: () => void;
13
14
  }
14
- export declare function KdaAttributesDropdown({ buttonLabel, attributesCount, validAttributes, initialAttributes, mapAttributes, isSearchBarVisible, onApply, onOpen, onClose, }: IKdaAttributesDropdownProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function KdaAttributesDropdown({ buttonId, buttonLabel, attributesCount, validAttributes, initialAttributes, mapAttributes, isSearchBarVisible, onApply, onOpen, onClose, }: IKdaAttributesDropdownProps): import("react/jsx-runtime").JSX.Element;
15
16
  //# sourceMappingURL=KdaAttributesDropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KdaAttributesDropdown.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KdaAttributesDropdown.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAW7D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAYzD,MAAM,WAAW,2BAA2B;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;IACtD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACjD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,qBAAqB,CAAC,EAClC,WAAW,EACX,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,OAAO,EACP,MAAM,EACN,OAAO,GACV,EAAE,2BAA2B,2CA0K7B"}
1
+ {"version":3,"file":"KdaAttributesDropdown.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KdaAttributesDropdown.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAU7D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAYzD,MAAM,WAAW,2BAA2B;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,iBAAiB,EAAE,CAAC;IACrC,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;IACvC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;IACtD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,CAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,IAAI,CAAC;IACjD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,wBAAgB,qBAAqB,CAAC,EAClC,QAAQ,EACR,WAAW,EACX,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,OAAO,EACP,MAAM,EACN,OAAO,GACV,EAAE,2BAA2B,2CAyK7B"}
@@ -2,20 +2,19 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // (C) 2025-2026 GoodData Corporation
3
3
  import { useId } from "react";
4
4
  import { FormattedMessage, useIntl } from "react-intl";
5
- import { Dropdown, InvertableSelectSearchBar, InvertableSelectVirtualised, SeparatorLine, UiButton, useIdPrefixed, } from "@gooddata/sdk-ui-kit";
5
+ import { Dropdown, InvertableSelectSearchBar, InvertableSelectVirtualised, SeparatorLine, UiButton, } from "@gooddata/sdk-ui-kit";
6
6
  import { getAttributeKey, getAttributeTitle, useKdaAttributesSelection, } from "./hooks/useKdaAttributesSelection.js";
7
7
  import { KdaAttributesSelectItem } from "./KdaAttributesSelectItem.js";
8
8
  const ITEM_HEIGHT = 28;
9
9
  const ALIGN_POINTS = [{ align: "tl bl" }];
10
- export function KdaAttributesDropdown({ buttonLabel, attributesCount, validAttributes, initialAttributes, mapAttributes, isSearchBarVisible, onApply, onOpen, onClose, }) {
10
+ export function KdaAttributesDropdown({ buttonId, buttonLabel, attributesCount, validAttributes, initialAttributes, mapAttributes, isSearchBarVisible, onApply, onOpen, onClose, }) {
11
11
  const intl = useIntl();
12
12
  const labelKeyDriversId = useId();
13
- const dropdownButtonId = useIdPrefixed("kda-attributes-dropdown-button");
14
13
  const { searchString, setSearchString, selection, isInverted, filteredOptions, resolvedSelection, isApplyDisabled, onSelect, resetSelection, } = useKdaAttributesSelection(validAttributes, initialAttributes);
15
14
  const popupLabel = intl.formatMessage({
16
15
  id: "kdaDialog.dialog.keyDrives.overview.summary.drivers.popupLabel",
17
16
  });
18
- return (_jsx(Dropdown, { className: "gd-kda-attributes-dropdown", closeOnEscape: true, autofocusOnOpen: true, overlayPositionType: "sameAsTarget", alignPoints: ALIGN_POINTS, returnFocusTo: dropdownButtonId, onOpenStateChanged: (isOpen) => {
17
+ return (_jsx(Dropdown, { className: "gd-kda-attributes-dropdown", closeOnEscape: true, autofocusOnOpen: true, overlayPositionType: "sameAsTarget", alignPoints: ALIGN_POINTS, returnFocusTo: buttonId, onOpenStateChanged: (isOpen) => {
19
18
  if (isOpen) {
20
19
  resetSelection();
21
20
  onOpen();
@@ -23,7 +22,7 @@ export function KdaAttributesDropdown({ buttonLabel, attributesCount, validAttri
23
22
  else {
24
23
  onClose();
25
24
  }
26
- }, renderButton: ({ toggleDropdown, isOpen, buttonRef, dropdownId }) => (_jsx(UiButton, { id: dropdownButtonId, dataTestId: `${attributesCount}_attributes`, ref: buttonRef, variant: "tertiary", iconAfter: "settings", isSelected: isOpen, label: buttonLabel, onClick: toggleDropdown, accessibilityConfig: {
25
+ }, renderButton: ({ toggleDropdown, isOpen, buttonRef, dropdownId }) => (_jsx(UiButton, { id: buttonId, dataTestId: `${attributesCount}_attributes`, ref: buttonRef, variant: "tertiary", iconAfter: "settings", isSelected: isOpen, label: buttonLabel, onClick: toggleDropdown, accessibilityConfig: {
27
26
  ariaHaspopup: "dialog",
28
27
  ariaExpanded: isOpen,
29
28
  ariaControls: isOpen ? dropdownId : undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"KeyDriversFooter.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversFooter.tsx"],"names":[],"mappings":"AAgBA,wBAAgB,gBAAgB,mDA2E/B"}
1
+ {"version":3,"file":"KeyDriversFooter.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversFooter.tsx"],"names":[],"mappings":"AAgBA,wBAAgB,gBAAgB,mDAqF/B"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  // (C) 2025-2026 GoodData Corporation
3
- import { useCallback } from "react";
3
+ import { useCallback, useState } from "react";
4
4
  import { FormattedMessage } from "react-intl";
5
5
  import { areObjRefsEqual } from "@gooddata/sdk-model";
6
- import { UiSkeleton } from "@gooddata/sdk-ui-kit";
6
+ import { UiSkeleton, useIdPrefixed, useUiAutofocusConnectors } from "@gooddata/sdk-ui-kit";
7
7
  import { useDashboardSelector } from "../../model/react/DashboardStoreProvider.js";
8
8
  import { selectCatalogIsLoaded } from "../../model/store/catalog/catalogSelectors.js";
9
9
  import { useKdaState } from "../providers/KdaState.js";
@@ -11,6 +11,8 @@ import { useKdaValidAttributes } from "./hooks/useKdaValidAttributes.js";
11
11
  import { KdaAttributesDropdown } from "./KdaAttributesDropdown.js";
12
12
  export function KeyDriversFooter() {
13
13
  const { state, setState } = useKdaState();
14
+ const [applyCount, setApplyCount] = useState(0);
15
+ const attributesButtonId = useIdPrefixed("kda-attributes-dropdown-button");
14
16
  const isCatalogLoaded = useDashboardSelector(selectCatalogIsLoaded);
15
17
  const isLoading = !isCatalogLoaded ||
16
18
  state.itemsStatus === "pending" ||
@@ -20,6 +22,7 @@ export function KeyDriversFooter() {
20
22
  const isError = state.itemsStatus === "error";
21
23
  const { validAttributes, mapAttributes, initialAttributes, isSearchBarVisible } = useKdaValidAttributes();
22
24
  const onApply = useCallback((selected) => {
25
+ setApplyCount((count) => count + 1);
23
26
  setState({
24
27
  selectedAttributes: selected.map((item) => {
25
28
  const existingRef = state.selectedAttributes.find((ref) => item.displayForms.some((df) => areObjRefsEqual(df.ref, ref)));
@@ -34,18 +37,23 @@ export function KeyDriversFooter() {
34
37
  const onClose = useCallback(() => {
35
38
  setState({ attributesDropdownOpen: false });
36
39
  }, [setState]);
40
+ const autofocus = useUiAutofocusConnectors({
41
+ active: applyCount > 0 && !isLoading,
42
+ refocusKey: `${applyCount}-${isLoading}`,
43
+ initialFocus: attributesButtonId,
44
+ });
37
45
  //Do not show footer when kda is not loaded at all
38
46
  if (isError) {
39
47
  return null;
40
48
  }
41
- return (_jsx("div", { children: isLoading ? (_jsx(UiSkeleton, { itemHeight: 23, itemWidth: 300 })) : (_jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.overview.summary.drivers.description", values: {
49
+ return (_jsx("div", { ref: autofocus.ref, children: isLoading ? (_jsx(UiSkeleton, { itemHeight: 23, itemWidth: 300 })) : (_jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.overview.summary.drivers.description", values: {
42
50
  combinations: state.items.length,
43
51
  attributes: state.selectedAttributes.length,
44
52
  button: (chunks) => {
45
53
  const buttonLabel = chunks
46
54
  .filter((chunk) => typeof chunk === "string")
47
55
  .join("");
48
- return (_jsx(KdaAttributesDropdown, { buttonLabel: buttonLabel, attributesCount: state.selectedAttributes.length, validAttributes: validAttributes, initialAttributes: initialAttributes, mapAttributes: mapAttributes, isSearchBarVisible: isSearchBarVisible, onApply: onApply, onOpen: onOpen, onClose: onClose }));
56
+ return (_jsx(KdaAttributesDropdown, { buttonId: attributesButtonId, buttonLabel: buttonLabel, attributesCount: state.selectedAttributes.length, validAttributes: validAttributes, initialAttributes: initialAttributes, mapAttributes: mapAttributes, isSearchBarVisible: isSearchBarVisible, onApply: onApply, onOpen: onOpen, onClose: onClose }));
49
57
  },
50
58
  } })) }));
51
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"KdaDialog.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/dialog/KdaDialog.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAgBnD;;GAEG;AACH,wBAAgB,SAAS,CAAC,EACtB,SAAS,EACT,eAAsB,EACtB,uBAAuB,EACvB,OAAO,EACP,QAAQ,EACR,cAAc,GACjB,EAAE,eAAe,2CAiHjB"}
1
+ {"version":3,"file":"KdaDialog.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/dialog/KdaDialog.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAenD;;GAEG;AACH,wBAAgB,SAAS,CAAC,EACtB,SAAS,EACT,eAAsB,EACtB,uBAAuB,EACvB,OAAO,EACP,QAAQ,EACR,cAAc,GACjB,EAAE,eAAe,2CAgHjB"}
@@ -17,7 +17,6 @@ import { useKdaState } from "../providers/KdaState.js";
17
17
  import { useChangeAnalysis } from "./hooks/useChangeAnalysis.js";
18
18
  import { useCloseOnEscape } from "./hooks/useCloseOnEscape.js";
19
19
  import { useKdaDialogAccessibility } from "./hooks/useKdaDialogAccessibility.js";
20
- import { useKdaDialogTooltipsOverride } from "./hooks/useKdaDialogTooltipsOverride.js";
21
20
  import { useValidAttributes } from "./hooks/useValidAttributes.js";
22
21
  import { KdaDialogControls } from "./KdaDialogControls.js";
23
22
  import { KdaDialogFloatingStatusBar, getFloatingStatus } from "./KdaDialogFloatingStatusBar.js";
@@ -47,7 +46,6 @@ export function KdaDialog({ className, showCloseButton = true, parentOverlayCont
47
46
  }, [isMinimized, onToggle]);
48
47
  useChangeAnalysis();
49
48
  useValidAttributes();
50
- useKdaDialogTooltipsOverride();
51
49
  const closeOnEscape = useCloseOnEscape();
52
50
  return (_jsx(OverlayControllerProvider, { overlayController: effectiveOverlayController, children: isMinimized ? (_jsx(Dialog, { autofocusOnOpen: true, initialFocus: accessibilityConfig.descriptionElementId, className: cx(dialogBaseClassName, "gd-kda-dialog--minimized", {
53
51
  [`gd-kda-dialog--minimized--${status}`]: true,
@@ -1 +1 @@
1
- {"version":3,"file":"saveDashboardHandler.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/dashboard/saveDashboardHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAK/C,OAAO,EAGH,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EAWxB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,2BAA2B,CAAC;AAkChF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AA2L1E,wBAAgB,uBAAuB,CACnC,SAAS,EAAE,oBAAoB,EAC/B,gBAAgB,EAAE,OAAO,YAAO,EAChC,cAAc,EAAE,OAAO,GACxB,oBAAoB,CAkBtB;AAyED,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,GAAG,gBAAgB,CAEjG;AAsUD,wBAAiB,oBAAoB,CACjC,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,cAAc,GACpB,YAAY,CAAC,cAAc,GAAG,SAAS,CAAC,CAsG1C"}
1
+ {"version":3,"file":"saveDashboardHandler.d.ts","sourceRoot":"","sources":["../../../../src/model/commandHandlers/dashboard/saveDashboardHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAK/C,OAAO,EAGH,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EAYxB,MAAM,qBAAqB,CAAC;AAS7B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,2BAA2B,CAAC;AAkChF,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AA2M1E,wBAAgB,uBAAuB,CACnC,SAAS,EAAE,oBAAoB,EAC/B,gBAAgB,EAAE,OAAO,YAAO,EAChC,cAAc,EAAE,OAAO,GACxB,oBAAoB,CAkBtB;AAyED,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,GAAG,gBAAgB,CAEjG;AAsUD,wBAAiB,oBAAoB,CACjC,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,cAAc,GACpB,YAAY,CAAC,cAAc,GAAG,SAAS,CAAC,CA0G1C"}
@@ -3,7 +3,7 @@ import { batchActions } from "redux-batched-actions";
3
3
  import { all, call, put, select, take } from "redux-saga/effects";
4
4
  import { invariant } from "ts-invariant";
5
5
  import { isUnexpectedResponseError } from "@gooddata/sdk-backend-spi";
6
- import { areObjRefsEqual, insightRef, isTempFilterContext, } from "@gooddata/sdk-model";
6
+ import { areObjRefsEqual, insightRef, isIdentifierRef, isTempFilterContext, } from "@gooddata/sdk-model";
7
7
  import { dashboardFilterContextIdentity } from "../../../_staging/dashboard/dashboardFilterContext.js";
8
8
  import { dashboardLayoutRemoveIdentity, dashboardLayoutWidgetIdentityMap, } from "../../../_staging/dashboard/dashboardLayout.js";
9
9
  import { createListedDashboard } from "../../../_staging/listedDashboard/listedDashboardUtils.js";
@@ -40,6 +40,7 @@ import { changeRenderModeHandler } from "../renderMode/changeRenderModeHandler.j
40
40
  import { switchDashboardTabHandler } from "../tabs/switchDashboardTabHandler.js";
41
41
  import { dashboardWithDrillReferences } from "./dashboardDrillReferences.js";
42
42
  function* persistDraftInsights(ctx, cmd, insights) {
43
+ const savedInsights = [];
43
44
  for (const draftInsight of insights) {
44
45
  const persistedInsight = yield call(async () => {
45
46
  return ctx.backend.workspace(ctx.workspace).insights().createInsight(draftInsight, false);
@@ -72,7 +73,19 @@ function* persistDraftInsights(ctx, cmd, insights) {
72
73
  }));
73
74
  }
74
75
  yield put(insightsActions.setInsights(updatedInsights));
76
+ const originalInsightRef = insightRef(draftInsight);
77
+ const savedInsightRef = insightRef(persistedInsight);
78
+ const originalInsightId = isIdentifierRef(originalInsightRef)
79
+ ? originalInsightRef.identifier
80
+ : draftInsight.insight.identifier;
81
+ const savedInsightId = isIdentifierRef(savedInsightRef)
82
+ ? savedInsightRef.identifier
83
+ : persistedInsight.insight.identifier;
84
+ if (originalInsightId && savedInsightId) {
85
+ savedInsights.push({ originalInsightId, savedInsightId });
86
+ }
75
87
  }
88
+ return savedInsights;
76
89
  }
77
90
  async function draftInsightExistsOnBackend(ctx, draftInsight) {
78
91
  const ref = insightRef(draftInsight);
@@ -431,9 +444,9 @@ export function* saveDashboardHandler(ctx, cmd) {
431
444
  if (isInsightNotSavedDialogOpen) {
432
445
  yield put(uiActions.closeInsightNotSavedDialog());
433
446
  }
434
- if (shouldPersistDraftInsights && draftInsightsToPersist.length > 0) {
435
- yield call(persistDraftInsights, ctx, cmd, draftInsightsToPersist);
436
- }
447
+ const savedInsights = shouldPersistDraftInsights && draftInsightsToPersist.length > 0
448
+ ? yield call(persistDraftInsights, ctx, cmd, draftInsightsToPersist)
449
+ : [];
437
450
  const persistedDashboard = yield select(selectPersistedDashboard);
438
451
  const isNewDashboard = persistedDashboard === undefined;
439
452
  const isAiBuilder = ctx.config?.isAiMode;
@@ -470,7 +483,10 @@ export function* saveDashboardHandler(ctx, cmd) {
470
483
  yield dispatchDashboardEvent(switchedEvent);
471
484
  }
472
485
  yield put(savingActions.setSavingSuccess());
473
- return dashboardSaved(ctx, dashboard, created, cmd.correlationId);
486
+ return dashboardSaved(ctx, dashboard, created, cmd.correlationId, {
487
+ ...(isAiBuilder ? { originalDashboardId: saveCtx.dashboardFromState.identifier } : {}),
488
+ ...(savedInsights.length > 0 ? { savedInsights } : {}),
489
+ });
474
490
  }
475
491
  catch (e) {
476
492
  yield put(savingActions.setSavingError(e));
@@ -108,6 +108,22 @@ export type DashboardSavedPayload = {
108
108
  * If false, an existing dashboard was updated.
109
109
  */
110
110
  readonly newDashboard: boolean;
111
+ /**
112
+ * Identifier of the dashboard definition before it was persisted. This is present when an AI
113
+ * dashboard draft was saved and can differ from the identifier of dashboard.
114
+ *
115
+ * @internal
116
+ */
117
+ readonly originalDashboardId?: string;
118
+ /**
119
+ * Draft insights persisted as part of the dashboard save.
120
+ *
121
+ * @internal
122
+ */
123
+ readonly savedInsights?: ReadonlyArray<{
124
+ readonly originalInsightId: string;
125
+ readonly savedInsightId: string;
126
+ }>;
111
127
  };
112
128
  /**
113
129
  * This event is emitted at the end of successful dashboard save command processing. At this point, the
@@ -119,7 +135,7 @@ export type DashboardSaved = IDashboardEvent & {
119
135
  readonly type: "GDC.DASH/EVT.SAVED";
120
136
  readonly payload: DashboardSavedPayload;
121
137
  };
122
- export declare function dashboardSaved(ctx: DashboardContext, dashboard: IDashboard, newDashboard: boolean, correlationId?: string): DashboardSaved;
138
+ export declare function dashboardSaved(ctx: DashboardContext, dashboard: IDashboard, newDashboard: boolean, correlationId?: string, savedObjects?: Pick<DashboardSavedPayload, "originalDashboardId" | "savedInsights">): DashboardSaved;
123
139
  /**
124
140
  * Tests whether the provided object is an instance of {@link DashboardSaved}.
125
141
  *
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/model/events/dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../../src/model/events/dashboard.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,7 @@ export function dashboardDeinitialized(ctx, dashboard, correlationId) {
37
37
  * @public
38
38
  */
39
39
  export const isDashboardDeinitialized = eventGuard("GDC.DASH/EVT.DEINITIALIZED");
40
- export function dashboardSaved(ctx, dashboard, newDashboard, correlationId) {
40
+ export function dashboardSaved(ctx, dashboard, newDashboard, correlationId, savedObjects) {
41
41
  return {
42
42
  type: "GDC.DASH/EVT.SAVED",
43
43
  ctx,
@@ -45,6 +45,7 @@ export function dashboardSaved(ctx, dashboard, newDashboard, correlationId) {
45
45
  payload: {
46
46
  dashboard,
47
47
  newDashboard,
48
+ ...savedObjects,
48
49
  },
49
50
  };
50
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AutomationDateFilter.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/shared/automationFilters/components/AutomationDateFilter.tsx"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,iBAAiB,EAEtB,KAAK,oBAAoB,EAE5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,mBAAmB,EAAoC,MAAM,sBAAsB,CAAC;AAqGlG,wBAAgB,oBAAoB,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,EACR,KAAK,GACR,EAAE;IACC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,2CA8DA"}
1
+ {"version":3,"file":"AutomationDateFilter.d.ts","sourceRoot":"","sources":["../../../../../../src/presentation/automations/shared/automationFilters/components/AutomationDateFilter.tsx"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,iBAAiB,EAEtB,KAAK,oBAAoB,EAE5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,KAAK,mBAAmB,EAAoC,MAAM,sBAAsB,CAAC;AAsGlG,wBAAgB,oBAAoB,CAAC,EACjC,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,kBAAkB,EAClB,mBAAmB,EACnB,QAAQ,EACR,KAAK,GACR,EAAE;IACC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,KAAK,IAAI,CAAC;IAC1D,QAAQ,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,2CAoEA"}
@@ -5,6 +5,7 @@ import { useIntl } from "react-intl";
5
5
  import { areObjRefsEqual, } from "@gooddata/sdk-model";
6
6
  import { UiChip, UiTooltip, useIdPrefixed } from "@gooddata/sdk-ui-kit";
7
7
  import { DefaultDashboardDateFilter } from "../../../../filterBar/dateFilter/DefaultDashboardDateFilter.js";
8
+ import { useDateFilterConfigNarrowedToDimension } from "../../../../filterBar/dateFilter/useDateFilterConfigNarrowedToDimension.js";
8
9
  import { useAutomationsContext } from "../../../contexts/AutomationsContext.js";
9
10
  import { AutomationDateFilterProvider, useAutomationDateFilterContext, } from "./AutomationDateFilterContext.js";
10
11
  function AutomationDateFilterButton(props) {
@@ -64,11 +65,12 @@ export function AutomationDateFilter({ filter, onChange, onDelete, isLocked, isC
64
65
  availableGranularities,
65
66
  dateFilterOptions,
66
67
  };
68
+ const dateFilterConfigNarrowedToDimension = useDateFilterConfigNarrowedToDimension(commonDateFilterComponentConfig, allDateDatasets, isCommonDateFilter ? undefined : filter.dateFilter.dataSet);
67
69
  const defaultDateFilterName = allDateDatasets.find((ds) => areObjRefsEqual(ds.dataSet.ref, filter.dateFilter.dataSet))?.dataSet?.title;
68
70
  const filterConfig = isCommonDateFilter
69
71
  ? commonDateFilterComponentConfig
70
72
  : {
71
- ...commonDateFilterComponentConfig,
73
+ ...dateFilterConfigNarrowedToDimension,
72
74
  customFilterName: defaultDateFilterName,
73
75
  };
74
76
  return (_jsx(AutomationDateFilterProvider, { filter: filter, onDelete: onDelete, isLocked: isLocked, isCommonDateFilter: isCommonDateFilter, deleteAriaLabel: deleteAriaLabel, deleteTooltipContent: deleteTooltipContent, lockedTooltipContent: lockedTooltipContent, children: _jsx(DefaultDashboardDateFilter, { filter: filter, workingFilter: filter, onFilterChanged: handleFilterChanged, readonly: readonly || isLocked, config: filterConfig, overlayPositionType: overlayPositionType, ButtonComponent: AutomationDateFilterButton, tabId: tabId }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"useFiltersNamings.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/hooks/useFiltersNamings.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,iBAAiB,EAItB,KAAK,MAAM,EAiBd,MAAM,qBAAqB,CAAC;AAqB7B,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,iBAAiB,GAAG,YAAY,GAAG,oBAAoB,CAAC;IAC9D,GAAG,EAAE,OAAO,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAoQF,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,CAIrG;AAED,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,GAChD,MAAM,CAAC,MAAM,EAAE,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC,CAe9C"}
1
+ {"version":3,"file":"useFiltersNamings.d.ts","sourceRoot":"","sources":["../../../../../src/presentation/automations/shared/hooks/useFiltersNamings.ts"],"names":[],"mappings":"AAMA,OAAO,EACH,KAAK,iBAAiB,EAItB,KAAK,MAAM,EAgBd,MAAM,qBAAqB,CAAC;AAqB7B,MAAM,MAAM,YAAY,GAAG;IACvB,IAAI,EAAE,iBAAiB,GAAG,YAAY,GAAG,oBAAoB,CAAC;IAC9D,GAAG,EAAE,OAAO,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA8PF,wBAAgB,iBAAiB,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,CAIrG;AAED,wBAAgB,sBAAsB,CAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,EAAE,CAAC,GAChD,MAAM,CAAC,MAAM,EAAE,CAAC,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC,CAe9C"}
@@ -24,7 +24,7 @@ function isPercentageFormat(format) {
24
24
  */
25
25
  function useFilterNamingDependencies(filtersForTitles) {
26
26
  const intl = useIntl();
27
- const { locale, settings, catalogMeasures: measures, separators, weekStart, getCatalogAttributeByRef, } = useAutomationsContext();
27
+ const { locale, settings, catalogMeasures: measures, separators, getCatalogAttributeByRef, } = useAutomationsContext();
28
28
  const dateFormat = settings?.formatLocale
29
29
  ? getLocalizedIcuDateFormatPattern(settings.formatLocale)
30
30
  : settings?.responsiveUiDateFormat;
@@ -36,7 +36,6 @@ function useFilterNamingDependencies(filtersForTitles) {
36
36
  intl,
37
37
  locale,
38
38
  dateFormat,
39
- weekStart,
40
39
  getAttributeFilterDisplayFormFromMap,
41
40
  getCatalogAttributeByRef,
42
41
  measures,
@@ -47,7 +46,6 @@ function useFilterNamingDependencies(filtersForTitles) {
47
46
  intl,
48
47
  locale,
49
48
  dateFormat,
50
- weekStart,
51
49
  getAttributeFilterDisplayFormFromMap,
52
50
  getCatalogAttributeByRef,
53
51
  measures,
@@ -61,7 +59,7 @@ function useFilterNamingDependencies(filtersForTitles) {
61
59
  * Extracted to avoid code duplication between useFiltersNamings and useFiltersByTabNamings.
62
60
  */
63
61
  function transformFiltersToNamings(filtersToDisplay, deps) {
64
- const { intl, dateFormat, weekStart, getAttributeFilterDisplayFormFromMap, getCatalogAttributeByRef, measures, separators, commonDateFilterTitle, allDateFiltersTitlesObj, } = deps;
62
+ const { intl, dateFormat, getAttributeFilterDisplayFormFromMap, getCatalogAttributeByRef, measures, separators, commonDateFilterTitle, allDateFiltersTitlesObj, } = deps;
65
63
  // we want to show all time filter in the list of filters even if it is not stored
66
64
  const extendedFiltersToDisplay = ensureAllTimeFilterForExport(filtersToDisplay);
67
65
  return extendedFiltersToDisplay.map((filter) => {
@@ -94,7 +92,7 @@ function transformFiltersToNamings(filtersToDisplay, deps) {
94
92
  */
95
93
  const dateFilterOptionInfo = matchDateFilterToDateFilterOptionWithPreference(filter, convertDateFilterConfigToDateFilterOptions(defaultDateFilterConfig), undefined);
96
94
  const dateFilterOption = DateFilterHelpers.applyExcludeCurrentPeriod(dateFilterOptionInfo.dateFilterOption, dateFilterOptionInfo.excludeCurrentPeriod);
97
- const subtitle = DateFilterHelpers.getDateFilterTitleUsingTranslator(dateFilterOption, intl, "full", dateFormat, weekStart);
95
+ const subtitle = DateFilterHelpers.getDateFilterTitleUsingTranslator(dateFilterOption, intl, "full", dateFormat);
98
96
  const a = filter;
99
97
  if (isDashboardDateFilterWithDimension(a)) {
100
98
  const key = serializeObjRef(a.dateFilter.dataSet);
@@ -1,4 +1,4 @@
1
- // (C) 2020-2025 GoodData Corporation
1
+ // (C) 2020-2026 GoodData Corporation
2
2
  // Z index of all overlays in Dashboard component
3
3
  export const DASHBOARD_OVERLAYS_Z_INDEX = 5000;
4
4
  // Z index of all overlays in Dashboard header component
@@ -1 +1 @@
1
- {"version":3,"file":"useAttributeDataSet.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useAttributeDataSet.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAW/E;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,UAAO;;;;EAkCxE"}
1
+ {"version":3,"file":"useAttributeDataSet.d.ts","sourceRoot":"","sources":["../../../../../../../src/presentation/filterBar/attributeFilter/dashboardDropdownBody/configuration/hooks/useAttributeDataSet.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,sBAAsB,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAY/E;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,UAAO;;;;EAmCxE"}
@@ -3,6 +3,7 @@ import { useEffect, useMemo } from "react";
3
3
  import { queryAttributeDataSet, } from "../../../../../../model/queries/attributeDataSet.js";
4
4
  import { useDashboardSelector } from "../../../../../../model/react/DashboardStoreProvider.js";
5
5
  import { useDashboardQueryProcessing } from "../../../../../../model/react/useDashboardQueryProcessing.js";
6
+ import { selectIsAiMode } from "../../../../../../model/store/config/configSelectors.js";
6
7
  import { selectIsNewDashboard } from "../../../../../../model/store/meta/metaSelectors.js";
7
8
  import { selectPreloadedAttributesWithReferences } from "../../../../../../model/store/tabs/filterContext/filterContextSelectors.js";
8
9
  /**
@@ -15,12 +16,13 @@ export function useAttributeDataSet(displayForm, loadQuery = true) {
15
16
  // First wait for preloaded filter attributes, otherwise we might be spawning lot of unnecessary requests
16
17
  const attributesWithReferences = useDashboardSelector(selectPreloadedAttributesWithReferences);
17
18
  const isNewDashboard = useDashboardSelector(selectIsNewDashboard);
19
+ const isAiMode = useDashboardSelector(selectIsAiMode);
18
20
  useEffect(() => {
19
- const shouldLoad = isNewDashboard || attributesWithReferences;
21
+ const shouldLoad = isNewDashboard || isAiMode || attributesWithReferences;
20
22
  if (loadQuery && shouldLoad) {
21
23
  getAttributeDataSet(displayForm);
22
24
  }
23
- }, [displayForm, isNewDashboard, loadQuery, getAttributeDataSet, attributesWithReferences]);
25
+ }, [displayForm, isNewDashboard, isAiMode, loadQuery, getAttributeDataSet, attributesWithReferences]);
24
26
  const attributesDataSetLoading = useMemo(() => {
25
27
  return attributesDataSetLoadingStatus === "pending" || attributesDataSetLoadingStatus === "running";
26
28
  }, [attributesDataSetLoadingStatus]);
@@ -0,0 +1,20 @@
1
+ import { type DateFilterGranularity, type ICatalogDateDataset, type ObjRef } from "@gooddata/sdk-model";
2
+ import { type IDateFilterOptionsByType } from "@gooddata/sdk-ui-filters";
3
+ /**
4
+ * Date filter granularities exposed by the date dimension the filter is bound to.
5
+ *
6
+ * Returns undefined when the filter is not bound to a dimension (the common date filter) or when the dimension
7
+ * is not in the catalog - in both cases the granularities must not be narrowed.
8
+ */
9
+ export declare function getDateDimensionGranularities(dateDatasets: ICatalogDateDataset[], dataSetRef: ObjRef | undefined): DateFilterGranularity[] | undefined;
10
+ /**
11
+ * Keeps only the relative presets and the relative/absolute form granularities supported by the dimension.
12
+ * A stored filter whose granularity is dropped is reconstructed as a form and the date filter body moves it
13
+ * to the first available granularity once the form is opened.
14
+ */
15
+ export declare function narrowDateFilterOptionsToGranularities(dateFilterOptions: IDateFilterOptionsByType, granularities: DateFilterGranularity[]): IDateFilterOptionsByType;
16
+ /**
17
+ * Keeps only the available granularities the dimension exposes, preserving their original order.
18
+ */
19
+ export declare function narrowGranularities(availableGranularities: DateFilterGranularity[], granularities: DateFilterGranularity[]): DateFilterGranularity[];
20
+ //# sourceMappingURL=dateDimensionGranularities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateDimensionGranularities.d.ts","sourceRoot":"","sources":["../../../../src/presentation/filterBar/dateFilter/dateDimensionGranularities.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,MAAM,EAGd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE;;;;;GAKG;AACH,wBAAgB,6BAA6B,CACzC,YAAY,EAAE,mBAAmB,EAAE,EACnC,UAAU,EAAE,MAAM,GAAG,SAAS,GAC/B,qBAAqB,EAAE,GAAG,SAAS,CAUrC;AAED;;;;GAIG;AACH,wBAAgB,sCAAsC,CAClD,iBAAiB,EAAE,wBAAwB,EAC3C,aAAa,EAAE,qBAAqB,EAAE,GACvC,wBAAwB,CA0B1B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,sBAAsB,EAAE,qBAAqB,EAAE,EAC/C,aAAa,EAAE,qBAAqB,EAAE,GACvC,qBAAqB,EAAE,CAEzB"}