@gooddata/sdk-ui-dashboard 11.7.0-alpha.3 → 11.7.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/_staging/sharedHooks/useAttributeFilterDisplayFormFromMap.d.ts +3 -0
- package/esm/_staging/sharedHooks/useAttributeFilterDisplayFormFromMap.d.ts.map +1 -0
- package/esm/_staging/sharedHooks/useAttributeFilterDisplayFormFromMap.js +11 -0
- package/esm/_staging/sharedHooks/useAttributeFilterDisplayFormFromMap.js.map +1 -0
- package/esm/_staging/sharedHooks/useFiltersNamings.js +4 -3
- package/esm/_staging/sharedHooks/useFiltersNamings.js.map +1 -1
- package/esm/kdaDialog/components/KdaContent.d.ts.map +1 -1
- package/esm/kdaDialog/components/KdaContent.js +3 -2
- package/esm/kdaDialog/components/KdaContent.js.map +1 -1
- package/esm/kdaDialog/components/KdaKeyDriverChart.d.ts +3 -1
- package/esm/kdaDialog/components/KdaKeyDriverChart.d.ts.map +1 -1
- package/esm/kdaDialog/components/KdaKeyDriverChart.js +4 -2
- package/esm/kdaDialog/components/KdaKeyDriverChart.js.map +1 -1
- package/esm/kdaDialog/composition/AddFilterButton.d.ts +2 -0
- package/esm/kdaDialog/composition/AddFilterButton.d.ts.map +1 -0
- package/esm/kdaDialog/composition/AddFilterButton.js +28 -0
- package/esm/kdaDialog/composition/AddFilterButton.js.map +1 -0
- package/esm/kdaDialog/composition/FiltersBar.d.ts.map +1 -1
- package/esm/kdaDialog/composition/FiltersBar.js +5 -28
- package/esm/kdaDialog/composition/FiltersBar.js.map +1 -1
- package/esm/kdaDialog/composition/KeyDriversOverview.js +2 -2
- package/esm/kdaDialog/composition/KeyDriversOverview.js.map +1 -1
- package/esm/kdaDialog/composition/hooks/useAddNewAttributeHandler.d.ts +5 -0
- package/esm/kdaDialog/composition/hooks/useAddNewAttributeHandler.d.ts.map +1 -0
- package/esm/kdaDialog/composition/hooks/useAddNewAttributeHandler.js +23 -0
- package/esm/kdaDialog/composition/hooks/useAddNewAttributeHandler.js.map +1 -0
- package/esm/kdaDialog/composition/hooks/useAttributeFiltersChangeHandler.d.ts +7 -0
- package/esm/kdaDialog/composition/hooks/useAttributeFiltersChangeHandler.d.ts.map +1 -0
- package/esm/kdaDialog/composition/hooks/useAttributeFiltersChangeHandler.js +31 -0
- package/esm/kdaDialog/composition/hooks/useAttributeFiltersChangeHandler.js.map +1 -0
- package/esm/kdaDialog/composition/hooks/useDataViewWithConfig.d.ts +2 -0
- package/esm/kdaDialog/composition/hooks/useDataViewWithConfig.d.ts.map +1 -1
- package/esm/kdaDialog/composition/hooks/useDataViewWithConfig.js +1 -0
- package/esm/kdaDialog/composition/hooks/useDataViewWithConfig.js.map +1 -1
- package/esm/kdaDialog/composition/hooks/useDrillAttributeHandler.d.ts +5 -0
- package/esm/kdaDialog/composition/hooks/useDrillAttributeHandler.d.ts.map +1 -0
- package/esm/kdaDialog/composition/hooks/useDrillAttributeHandler.js +57 -0
- package/esm/kdaDialog/composition/hooks/useDrillAttributeHandler.js.map +1 -0
- package/esm/kdaDialog/composition/hooks/usePeriodChangeHandler.d.ts +3 -2
- package/esm/kdaDialog/composition/hooks/usePeriodChangeHandler.d.ts.map +1 -1
- package/esm/kdaDialog/composition/hooks/usePeriodChangeHandler.js +15 -1
- package/esm/kdaDialog/composition/hooks/usePeriodChangeHandler.js.map +1 -1
- package/esm/kdaDialog/composition/hooks/useUnusedAttributes.d.ts +3 -0
- package/esm/kdaDialog/composition/hooks/useUnusedAttributes.d.ts.map +1 -0
- package/esm/kdaDialog/composition/hooks/useUnusedAttributes.js +20 -0
- package/esm/kdaDialog/composition/hooks/useUnusedAttributes.js.map +1 -0
- package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.d.ts.map +1 -1
- package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.js +11 -6
- package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.js.map +1 -1
- package/esm/kdaDialog/hooks/useRelevantFilters.d.ts +2 -0
- package/esm/kdaDialog/hooks/useRelevantFilters.d.ts.map +1 -0
- package/esm/kdaDialog/hooks/useRelevantFilters.js +16 -0
- package/esm/kdaDialog/hooks/useRelevantFilters.js.map +1 -0
- package/esm/kdaDialog/providers/Kda.js +1 -1
- package/esm/kdaDialog/providers/Kda.js.map +1 -1
- package/esm/kdaDialog/utils.d.ts +4 -0
- package/esm/kdaDialog/utils.d.ts.map +1 -1
- package/esm/kdaDialog/utils.js +43 -0
- package/esm/kdaDialog/utils.js.map +1 -1
- package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.d.ts.map +1 -1
- package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.js +43 -3
- package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.js.map +1 -1
- package/esm/model/commands/drill.d.ts +7 -2
- package/esm/model/commands/drill.d.ts.map +1 -1
- package/esm/model/commands/drill.js +3 -1
- package/esm/model/commands/drill.js.map +1 -1
- package/esm/model/index.d.ts +1 -0
- package/esm/model/index.d.ts.map +1 -1
- package/esm/model/index.js +1 -0
- package/esm/model/index.js.map +1 -1
- package/esm/{presentation/utils.d.ts → model/utils/widgetFilters.d.ts} +8 -2
- package/esm/model/utils/widgetFilters.d.ts.map +1 -0
- package/esm/{presentation/utils.js → model/utils/widgetFilters.js} +7 -1
- package/esm/model/utils/widgetFilters.js.map +1 -0
- package/esm/presentation/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.d.ts.map +1 -1
- package/esm/presentation/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.js +1 -2
- package/esm/presentation/automationFilters/hooks/useDefaultSelectedFiltersForExistingAutomation.js.map +1 -1
- package/esm/presentation/automationFilters/hooks/useDefaultSelectedFiltersForNewAutomation.d.ts.map +1 -1
- package/esm/presentation/automationFilters/hooks/useDefaultSelectedFiltersForNewAutomation.js +1 -2
- package/esm/presentation/automationFilters/hooks/useDefaultSelectedFiltersForNewAutomation.js.map +1 -1
- package/esm/presentation/automationFilters/useAutomationFiltersSelect.d.ts.map +1 -1
- package/esm/presentation/automationFilters/useAutomationFiltersSelect.js +1 -2
- package/esm/presentation/automationFilters/useAutomationFiltersSelect.js.map +1 -1
- package/esm/presentation/automationFilters/utils.d.ts.map +1 -1
- package/esm/presentation/automationFilters/utils.js +1 -1
- package/esm/presentation/automationFilters/utils.js.map +1 -1
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.d.ts.map +1 -1
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.js +4 -3
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.js.map +1 -1
- package/esm/presentation/drill/hooks/useDrills.d.ts +1 -1
- package/esm/presentation/drill/hooks/useKeyDriverAnalysis.d.ts +1 -1
- package/esm/presentation/drill/utils/kdaUtils.d.ts.map +1 -1
- package/esm/presentation/drill/utils/kdaUtils.js +217 -95
- package/esm/presentation/drill/utils/kdaUtils.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.d.ts.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.js +4 -3
- package/esm/presentation/filterBar/attributeFilter/AttributeFilterParentFilteringContext.js.map +1 -1
- package/esm/presentation/filterBar/attributeFilter/CustomDropdownActions.js +4 -3
- package/esm/presentation/filterBar/attributeFilter/CustomDropdownActions.js.map +1 -1
- package/esm/presentation/localization/bundles/en-US.json +16 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +4 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js +4 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js.map +1 -1
- package/esm/presentation/widget/common/configuration/AttributeFilterConfiguration.js +4 -3
- package/esm/presentation/widget/common/configuration/AttributeFilterConfiguration.js.map +1 -1
- package/esm/presentation/widget/common/configuration/AttributeFilterConfigurationItem.js +3 -3
- package/esm/presentation/widget/common/configuration/AttributeFilterConfigurationItem.js.map +1 -1
- package/esm/presentation/widget/common/configuration/FilterConfiguration.d.ts.map +1 -1
- package/esm/presentation/widget/common/configuration/FilterConfiguration.js +4 -3
- package/esm/presentation/widget/common/configuration/FilterConfiguration.js.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/DashboardInsightWithDrillDialog.d.ts.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/DashboardInsightWithDrillDialog.js +3 -14
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/DashboardInsightWithDrillDialog.js.map +1 -1
- package/esm/sdk-ui-dashboard.d.ts +16 -1
- package/package.json +18 -18
- package/styles/css/kdaDialog.css +7 -0
- package/styles/css/kdaDialog.css.map +1 -1
- package/styles/css/main.css +7 -0
- package/styles/css/main.css.map +1 -1
- package/styles/scss/kdaDialog.scss +11 -0
- package/esm/presentation/utils.d.ts.map +0 -1
- package/esm/presentation/utils.js.map +0 -1
package/esm/__version.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "11.7.0-alpha.
|
|
1
|
+
export declare const LIB_VERSION = "11.7.0-alpha.5";
|
|
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,6 +1,6 @@
|
|
|
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.7.0-alpha.
|
|
3
|
+
export const LIB_VERSION = "11.7.0-alpha.5";
|
|
4
4
|
export const LIB_DESCRIPTION = "GoodData SDK - Dashboard Component";
|
|
5
5
|
export const LIB_NAME = "@gooddata/sdk-ui-dashboard";
|
|
6
6
|
//# sourceMappingURL=__version.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ObjRef } from "@gooddata/sdk-model";
|
|
2
|
+
export declare function useAttributeFilterDisplayFormFromMap(): (displayForm: ObjRef) => import("@gooddata/sdk-model").IAttributeDisplayFormMetadataObject | undefined;
|
|
3
|
+
//# sourceMappingURL=useAttributeFilterDisplayFormFromMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAttributeFilterDisplayFormFromMap.d.ts","sourceRoot":"","sources":["../../../src/_staging/sharedHooks/useAttributeFilterDisplayFormFromMap.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQ7C,wBAAgB,oCAAoC,kBAI9B,MAAM,mFAK3B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { selectAllCatalogDisplayFormsMap, selectAttributeFilterDisplayFormsMap, useDashboardSelector, } from "../../model/index.js";
|
|
4
|
+
export function useAttributeFilterDisplayFormFromMap() {
|
|
5
|
+
const catalogDisplayFormsMap = useDashboardSelector(selectAllCatalogDisplayFormsMap);
|
|
6
|
+
const attributeFilterDisplayFormsMap = useDashboardSelector(selectAttributeFilterDisplayFormsMap);
|
|
7
|
+
return useCallback((displayForm) => {
|
|
8
|
+
return attributeFilterDisplayFormsMap.get(displayForm) ?? catalogDisplayFormsMap.get(displayForm);
|
|
9
|
+
}, [attributeFilterDisplayFormsMap, catalogDisplayFormsMap]);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=useAttributeFilterDisplayFormFromMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAttributeFilterDisplayFormFromMap.js","sourceRoot":"","sources":["../../../src/_staging/sharedHooks/useAttributeFilterDisplayFormFromMap.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAIpC,OAAO,EACH,+BAA+B,EAC/B,oCAAoC,EACpC,oBAAoB,GACvB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,UAAU,oCAAoC;IAChD,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,+BAA+B,CAAC,CAAC;IACrF,MAAM,8BAA8B,GAAG,oBAAoB,CAAC,oCAAoC,CAAC,CAAC;IAClG,OAAO,WAAW,CACd,CAAC,WAAmB,EAAE,EAAE;QACpB,OAAO,8BAA8B,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACtG,CAAC,EACD,CAAC,8BAA8B,EAAE,sBAAsB,CAAC,CAC3D,CAAC;AACN,CAAC"}
|
|
@@ -3,9 +3,10 @@ import { useIntl } from "react-intl";
|
|
|
3
3
|
import { v4 as uuidv4 } from "uuid";
|
|
4
4
|
import { getAttributeElementsItems, isAllTimeDashboardDateFilter, isAllValuesDashboardAttributeFilter, isDashboardAttributeFilter, isDashboardCommonDateFilter, isDashboardDateFilterWithDimension, serializeObjRef, } from "@gooddata/sdk-model";
|
|
5
5
|
import { DateFilterHelpers, getAttributeFilterSubtitle, getLocalizedIcuDateFormatPattern, } from "@gooddata/sdk-ui-filters";
|
|
6
|
+
import { useAttributeFilterDisplayFormFromMap } from "./useAttributeFilterDisplayFormFromMap.js";
|
|
6
7
|
import { useCommonDateFilterTitle } from "./useCommonDateFilterTitle.js";
|
|
7
8
|
import { useDateFiltersTitles } from "./useDateFiltersTitles.js";
|
|
8
|
-
import { selectAllCatalogAttributesMap,
|
|
9
|
+
import { selectAllCatalogAttributesMap, selectLocale, selectSettings, useDashboardSelector, } from "../../model/index.js";
|
|
9
10
|
import { convertDateFilterConfigToDateFilterOptions } from "../dateFilterConfig/dateFilterConfigConverters.js";
|
|
10
11
|
import { matchDateFilterToDateFilterOptionWithPreference } from "../dateFilterConfig/dateFilterOptionMapping.js";
|
|
11
12
|
import { defaultDateFilterConfig } from "../dateFilterConfig/defaultConfig.js";
|
|
@@ -17,7 +18,7 @@ export function useFiltersNamings(filtersToDisplay) {
|
|
|
17
18
|
const dateFormat = settings.formatLocale
|
|
18
19
|
? getLocalizedIcuDateFormatPattern(settings.formatLocale)
|
|
19
20
|
: settings.responsiveUiDateFormat;
|
|
20
|
-
const
|
|
21
|
+
const getAttributeFilterDisplayFormFromMap = useAttributeFilterDisplayFormFromMap();
|
|
21
22
|
const attrMap = useDashboardSelector(selectAllCatalogAttributesMap);
|
|
22
23
|
const dateFiltersToDisplay = filtersToDisplay.filter(isDashboardDateFilterWithDimension);
|
|
23
24
|
const commonDateFilterTitle = useCommonDateFilterTitle(intl);
|
|
@@ -26,7 +27,7 @@ export function useFiltersNamings(filtersToDisplay) {
|
|
|
26
27
|
const extendedFiltersToDisplay = ensureAllTimeFilterForExport(filtersToDisplay);
|
|
27
28
|
return extendedFiltersToDisplay.map((filter) => {
|
|
28
29
|
if (isDashboardAttributeFilter(filter)) {
|
|
29
|
-
const displayForm =
|
|
30
|
+
const displayForm = getAttributeFilterDisplayFormFromMap(filter.attributeFilter.displayForm);
|
|
30
31
|
if (!displayForm) {
|
|
31
32
|
return undefined;
|
|
32
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFiltersNamings.js","sourceRoot":"","sources":["../../../src/_staging/sharedHooks/useFiltersNamings.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAIH,yBAAyB,EACzB,4BAA4B,EAC5B,mCAAmC,EACnC,0BAA0B,EAC1B,2BAA2B,EAC3B,kCAAkC,EAClC,eAAe,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACH,iBAAiB,EACjB,0BAA0B,EAC1B,gCAAgC,GACnC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EACH,6BAA6B,EAC7B,
|
|
1
|
+
{"version":3,"file":"useFiltersNamings.js","sourceRoot":"","sources":["../../../src/_staging/sharedHooks/useFiltersNamings.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KdaContent.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaContent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMlC,UAAU,gBAAgB;IACtB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,wBAAgB,UAAU,CAAC,EACvB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,GACb,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"KdaContent.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaContent.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMlC,UAAU,gBAAgB;IACtB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,wBAAgB,UAAU,CAAC,EACvB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,GACb,EAAE,gBAAgB,2CAuBlB"}
|
|
@@ -3,8 +3,9 @@ import cx from "classnames";
|
|
|
3
3
|
import { useKdaState } from "../providers/KdaState.js";
|
|
4
4
|
export function KdaContent({ leftContent, rightContent, leftLoader, rightLoader, leftError, rightError, }) {
|
|
5
5
|
const { state } = useKdaState();
|
|
6
|
-
const
|
|
7
|
-
const
|
|
6
|
+
const loading = state.relevantStatus === "loading" || state.relevantStatus === "pending";
|
|
7
|
+
const leftPanelLoading = loading || state.itemsStatus === "pending" || state.itemsStatus === "loading";
|
|
8
|
+
const rightPanelLoading = loading || state.selectedStatus === "pending" || state.selectedStatus === "loading";
|
|
8
9
|
const leftPanelError = state.itemsStatus === "error";
|
|
9
10
|
const rightPanelError = state.selectedStatus === "error";
|
|
10
11
|
return (_jsxs("div", { className: cx("gd-kda-dialog-content"), children: [_jsx("div", { className: cx("gd-kda-dialog-content-left-panel"), children: leftPanelLoading ? leftLoader : leftPanelError ? leftError : leftContent }), _jsx("div", { className: cx("gd-kda-dialog-content-divider") }), _jsx("div", { className: cx("gd-kda-dialog-content-right-panel"), children: rightPanelLoading ? rightLoader : rightPanelError ? rightError : rightContent })] }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KdaContent.js","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaContent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAWvD,MAAM,UAAU,UAAU,CAAC,EACvB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,GACK;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAEhC,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"KdaContent.js","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaContent.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAWvD,MAAM,UAAU,UAAU,CAAC,EACvB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,GACK;IACf,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAEhC,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC;IAEzF,MAAM,gBAAgB,GAAG,OAAO,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC;IACvG,MAAM,iBAAiB,GACnB,OAAO,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC;IAExF,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,KAAK,OAAO,CAAC;IACrD,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,KAAK,OAAO,CAAC;IAEzD,OAAO,CACH,eAAK,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,aACvC,cAAK,SAAS,EAAE,EAAE,CAAC,kCAAkC,CAAC,YACjD,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,GACvE,EACN,cAAK,SAAS,EAAE,EAAE,CAAC,+BAA+B,CAAC,GAAQ,EAC3D,cAAK,SAAS,EAAE,EAAE,CAAC,mCAAmC,CAAC,YAClD,iBAAiB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,GAC5E,IACJ,CACT,CAAC;AACN,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { IDataView } from "@gooddata/sdk-backend-spi";
|
|
2
|
+
import { ObjRef } from "@gooddata/sdk-model";
|
|
2
3
|
import { IChartConfig } from "@gooddata/sdk-ui-charts";
|
|
3
4
|
export interface KdaKeyDriverChartProps {
|
|
4
5
|
config: IChartConfig | null;
|
|
5
6
|
dataView: IDataView | null;
|
|
7
|
+
attribute?: ObjRef | null;
|
|
6
8
|
}
|
|
7
|
-
export declare function KdaKeyDriverChart({ config, dataView }: KdaKeyDriverChartProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare function KdaKeyDriverChart({ config, dataView, attribute }: KdaKeyDriverChartProps): import("react/jsx-runtime").JSX.Element;
|
|
8
10
|
//# sourceMappingURL=KdaKeyDriverChart.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KdaKeyDriverChart.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaKeyDriverChart.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"KdaKeyDriverChart.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaKeyDriverChart.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAOvD,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,sBAAsB,2CA8BxF"}
|
|
@@ -6,10 +6,12 @@ import { useIntl } from "react-intl";
|
|
|
6
6
|
import { RawChart } from "@gooddata/sdk-ui-charts/internal";
|
|
7
7
|
import { UiSkeleton, useElementSize } from "@gooddata/sdk-ui-kit";
|
|
8
8
|
import { useTheme } from "@gooddata/sdk-ui-theme-provider";
|
|
9
|
-
|
|
9
|
+
import { useDrillAttributeHandler } from "../composition/hooks/useDrillAttributeHandler.js";
|
|
10
|
+
export function KdaKeyDriverChart({ config, dataView, attribute }) {
|
|
10
11
|
const intl = useIntl();
|
|
11
12
|
const theme = useTheme();
|
|
12
13
|
const { ref, width, height } = useElementSize();
|
|
13
|
-
|
|
14
|
+
const { onDrillCallback } = useDrillAttributeHandler();
|
|
15
|
+
return (_jsx("div", { className: cx("gd-kda-key-drivers-detail-visualisation-container"), ref: ref, children: config && dataView ? (_jsx(RawChart, { type: "combo", locale: intl.locale, width: width, height: height, config: config, dataView: dataView, drillableItems: attribute ? [attribute] : [], onDrill: onDrillCallback, onLegendReady: noop, afterRender: noop, onDataTooLarge: noop, onNegativeValues: noop, theme: theme })) : (_jsx(UiSkeleton, { itemWidth: width, itemHeight: height })) }));
|
|
14
16
|
}
|
|
15
17
|
//# sourceMappingURL=KdaKeyDriverChart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KdaKeyDriverChart.js","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaKeyDriverChart.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"KdaKeyDriverChart.js","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaKeyDriverChart.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAKrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAQ5F,MAAM,UAAU,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAA0B;IACrF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc,EAAkB,CAAC;IAChE,MAAM,EAAE,eAAe,EAAE,GAAG,wBAAwB,EAAE,CAAC;IAEvD,OAAO,CACH,cAAK,SAAS,EAAE,EAAE,CAAC,mDAAmD,CAAC,EAAE,GAAG,EAAE,GAAG,YAC5E,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAClB,KAAC,QAAQ,IACL,IAAI,EAAC,OAAO,EACZ,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAC5C,OAAO,EAAE,eAAe,EACxB,aAAa,EAAE,IAAI,EACnB,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,EACpB,gBAAgB,EAAE,IAAI,EACtB,KAAK,EAAE,KAAK,GACd,CACL,CAAC,CAAC,CAAC,CACA,KAAC,UAAU,IAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAI,CACvD,GACC,CACT,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddFilterButton.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/AddFilterButton.tsx"],"names":[],"mappings":"AAYA,wBAAgB,eAAe,4CAiE9B"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
// (C) 2025 GoodData Corporation
|
|
3
|
+
import { useId } from "react";
|
|
4
|
+
import { FormattedMessage, useIntl } from "react-intl";
|
|
5
|
+
import { Typography, UiIconButton, UiTooltip } from "@gooddata/sdk-ui-kit";
|
|
6
|
+
import { useAddNewAttributeHandler } from "./hooks/useAddNewAttributeHandler.js";
|
|
7
|
+
import { useUnusedAttributes } from "./hooks/useUnusedAttributes.js";
|
|
8
|
+
import { AttributesDropdown } from "../../presentation/filterBar/attributeFilter/addAttributeFilter/AttributesDropdown.js";
|
|
9
|
+
export function AddFilterButton() {
|
|
10
|
+
const intl = useIntl();
|
|
11
|
+
const attributes = useUnusedAttributes();
|
|
12
|
+
const tooltipText = intl.formatMessage({ id: "kdaDialog.dialog.filters.add.tooltip" });
|
|
13
|
+
const searchAriaLabel = intl.formatMessage({ id: "kdaDialog.dialog.filters.search" });
|
|
14
|
+
const ariaLabelledBy = useId();
|
|
15
|
+
const attributesDropdownId = useId();
|
|
16
|
+
const isAddButtonDisabled = attributes.length === 0;
|
|
17
|
+
const { onSelectCallback } = useAddNewAttributeHandler();
|
|
18
|
+
return (_jsx(AttributesDropdown, { id: attributesDropdownId, openOnInit: false, dateDatasets: [], attributes: attributes, onSelect: onSelectCallback, onClose: () => { }, renderVirtualisedList: true, accessibilityConfig: {
|
|
19
|
+
ariaLabelledBy,
|
|
20
|
+
searchAriaLabel,
|
|
21
|
+
}, className: "gd-kda-attribute-add-dropdown", DropdownButtonComponent: ({ buttonRef, isOpen, onClick }) => (_jsx(UiTooltip, { arrowPlacement: "left", triggerBy: ["hover", "focus"], content: tooltipText, anchor: _jsx(UiIconButton, { icon: "plus", label: tooltipText, onClick: onClick, size: "small", variant: "tertiary", isDisabled: isAddButtonDisabled, ref: buttonRef, accessibilityConfig: {
|
|
22
|
+
ariaLabel: tooltipText,
|
|
23
|
+
ariaControls: attributesDropdownId,
|
|
24
|
+
ariaExpanded: isOpen,
|
|
25
|
+
ariaHaspopup: "dialog",
|
|
26
|
+
} }) })), DropdownTitleComponent: () => (_jsx("div", { className: "gd-automation-filters__dropdown-header", children: _jsx(Typography, { tagName: "h3", id: ariaLabelledBy, children: _jsx(FormattedMessage, { id: "kdaDialog.dialog.filters.title" }) }) })), renderNoData: () => (_jsx("div", { className: "gd-automation-filters__dropdown-no-filters", children: _jsx(FormattedMessage, { id: "kdaDialog.dialog.filters.noFilters" }) })) }));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=AddFilterButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AddFilterButton.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/AddFilterButton.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAa,KAAK,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uFAAuF,CAAC;AAE3H,MAAM,UAAU,eAAe;IAC3B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IAEzC,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,sCAAsC,EAAE,CAAC,CAAC;IACvF,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,iCAAiC,EAAE,CAAC,CAAC;IAEtF,MAAM,cAAc,GAAG,KAAK,EAAE,CAAC;IAC/B,MAAM,oBAAoB,GAAG,KAAK,EAAE,CAAC;IACrC,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;IAEpD,MAAM,EAAE,gBAAgB,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAEzD,OAAO,CACH,KAAC,kBAAkB,IACf,EAAE,EAAE,oBAAoB,EACxB,UAAU,EAAE,KAAK,EACjB,YAAY,EAAE,EAAE,EAChB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EACjB,qBAAqB,QACrB,mBAAmB,EAAE;YACjB,cAAc;YACd,eAAe;SAClB,EACD,SAAS,EAAC,+BAA+B,EACzC,uBAAuB,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACzD,KAAC,SAAS,IACN,cAAc,EAAC,MAAM,EACrB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,WAAW,EACpB,MAAM,EACF,KAAC,YAAY,IACT,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,UAAU,EAClB,UAAU,EAAE,mBAAmB,EAC/B,GAAG,EAAE,SAAyC,EAC9C,mBAAmB,EAAE;oBACjB,SAAS,EAAE,WAAW;oBACtB,YAAY,EAAE,oBAAoB;oBAClC,YAAY,EAAE,MAAM;oBACpB,YAAY,EAAE,QAAQ;iBACzB,GACH,GAER,CACL,EACD,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAC1B,cAAK,SAAS,EAAC,wCAAwC,YACnD,KAAC,UAAU,IAAC,OAAO,EAAC,IAAI,EAAC,EAAE,EAAE,cAAc,YACvC,KAAC,gBAAgB,IAAC,EAAE,EAAC,gCAAgC,GAAG,GAC/C,GACX,CACT,EACD,YAAY,EAAE,GAAG,EAAE,CAAC,CAChB,cAAK,SAAS,EAAC,4CAA4C,YACvD,KAAC,gBAAgB,IAAC,EAAE,EAAC,oCAAoC,GAAG,GAC1D,CACT,GACH,CACL,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiltersBar.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/FiltersBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FiltersBar.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/FiltersBar.tsx"],"names":[],"mappings":"AAYA,wBAAgB,UAAU,4CA6BzB"}
|
|
@@ -1,41 +1,18 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2025 GoodData Corporation
|
|
3
|
-
import { useCallback, useMemo } from "react";
|
|
4
3
|
import { useIntl } from "react-intl";
|
|
4
|
+
import { AddFilterButton } from "./AddFilterButton.js";
|
|
5
5
|
import { selectAttributeFilterConfigsOverrides, useDashboardSelector } from "../../model/index.js";
|
|
6
6
|
import { AttributeBar } from "../components/bars/AttributeBar.js";
|
|
7
7
|
import { DateBar } from "../components/bars/DateBar.js";
|
|
8
8
|
import { KdaBar } from "../components/KdaBar.js";
|
|
9
|
-
import {
|
|
10
|
-
import { useKdaState } from "../providers/KdaState.js";
|
|
9
|
+
import { useAttributeFiltersChangeHandler } from "./hooks/useAttributeFiltersChangeHandler.js";
|
|
11
10
|
import { usePeriodChangeHandler } from "./hooks/usePeriodChangeHandler.js";
|
|
12
11
|
export function FiltersBar() {
|
|
13
12
|
const intl = useIntl();
|
|
14
13
|
const attributeConfigs = useDashboardSelector(selectAttributeFilterConfigsOverrides);
|
|
15
|
-
const
|
|
16
|
-
const {
|
|
17
|
-
|
|
18
|
-
const dateAttribute = useMemo(() => {
|
|
19
|
-
return dateAttributeFinder(def?.dateAttribute);
|
|
20
|
-
}, [dateAttributeFinder, def?.dateAttribute]);
|
|
21
|
-
const options = useMemo(() => {
|
|
22
|
-
return {
|
|
23
|
-
dateAttribute,
|
|
24
|
-
period: def?.type ?? "previous_period",
|
|
25
|
-
range: def?.range,
|
|
26
|
-
};
|
|
27
|
-
}, [dateAttribute, def?.type, def?.range]);
|
|
28
|
-
const onChangeAttributeFilter = useCallback((newFilter) => {
|
|
29
|
-
// eslint-disable-next-line
|
|
30
|
-
console.log("on Change Attribute Filter", newFilter);
|
|
31
|
-
//TODO: onChangeAttributeFilter
|
|
32
|
-
}, []);
|
|
33
|
-
const onDeleteAttributeFilter = useCallback((filter) => {
|
|
34
|
-
// eslint-disable-next-line
|
|
35
|
-
console.log("on Delete Attribute Filter", filter);
|
|
36
|
-
//TODO: onDeleteAttributeFilter
|
|
37
|
-
}, []);
|
|
38
|
-
const { onPeriodChange, isAvailable } = usePeriodChangeHandler(dateAttribute);
|
|
39
|
-
return (_jsx(KdaBar, { title: intl.formatMessage({ id: "kdaDialog.dialog.bars.filters.title" }), content: _jsxs(_Fragment, { children: [_jsx(DateBar, { options: options, isAvailable: isAvailable, onPeriodChange: onPeriodChange }), state.attributeFilters.map((attributeFilter, i) => (_jsx(AttributeBar, { attribute: attributeFilter, attributeConfigs: attributeConfigs, onChange: onChangeAttributeFilter, onDelete: onDeleteAttributeFilter }, i)))] }) }));
|
|
14
|
+
const { attributeFilters, onChangeAttributeFilter, onDeleteAttributeFilter } = useAttributeFiltersChangeHandler();
|
|
15
|
+
const { isAvailable, options, onPeriodChange } = usePeriodChangeHandler();
|
|
16
|
+
return (_jsx(KdaBar, { title: intl.formatMessage({ id: "kdaDialog.dialog.bars.filters.title" }), content: _jsxs(_Fragment, { children: [_jsx(DateBar, { options: options, isAvailable: isAvailable, onPeriodChange: onPeriodChange }), attributeFilters.map((attributeFilter, i) => (_jsx(AttributeBar, { attribute: attributeFilter, attributeConfigs: attributeConfigs, onChange: onChangeAttributeFilter, onDelete: onDeleteAttributeFilter }, i))), _jsx(AddFilterButton, {})] }) }));
|
|
40
17
|
}
|
|
41
18
|
//# sourceMappingURL=FiltersBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiltersBar.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/FiltersBar.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"FiltersBar.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/FiltersBar.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,qCAAqC,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,gCAAgC,EAAE,MAAM,6CAA6C,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,MAAM,UAAU,UAAU;IACtB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,qCAAqC,CAAC,CAAC;IAErF,MAAM,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,GACxE,gCAAgC,EAAE,CAAC;IACvC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAE1E,OAAO,CACH,KAAC,MAAM,IACH,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,qCAAqC,EAAE,CAAC,EACxE,OAAO,EACH,8BACI,KAAC,OAAO,IAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,GAAI,EACtF,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1C,KAAC,YAAY,IAET,SAAS,EAAE,eAAe,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,uBAAuB,EACjC,QAAQ,EAAE,uBAAuB,IAJ5B,CAAC,CAKR,CACL,CAAC,EACF,KAAC,eAAe,KAAG,IACpB,GAET,CACL,CAAC;AACN,CAAC"}
|
|
@@ -28,8 +28,8 @@ function KeyDriversDetail({ detailsId }) {
|
|
|
28
28
|
const description = getDescription(state.selectedItem);
|
|
29
29
|
const category = getCategory(state.selectedItem);
|
|
30
30
|
const { group, item } = useGroupAndItem();
|
|
31
|
-
const { config, dataView } = useDataViewWithConfig(group, item);
|
|
32
|
-
return (_jsxs("div", { className: cx("gd-kda-key-drivers-detail"), id: detailsId, children: [_jsxs("div", { children: [_jsx("div", { className: cx("gd-kda-key-drivers-detail-title"), children: getTitle(intl, state.selectedItem) }), description ? (_jsx("div", { className: cx("gd-kda-key-drivers-detail-description"), children: description })) : null] }), _jsx("div", { className: cx("gd-kda-key-drivers-detail-visualisation"), children: _jsx(KdaKeyDriverChart, { config: config, dataView: dataView }) }), _jsxs("div", { className: cx("gd-kda-key-drivers-detail-info"), children: [_jsx(UiIcon, { type: "questionMark", size: 12 }), " ", intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.overview.detail.tip" }, {
|
|
31
|
+
const { config, dataView, attribute } = useDataViewWithConfig(group, item);
|
|
32
|
+
return (_jsxs("div", { className: cx("gd-kda-key-drivers-detail"), id: detailsId, children: [_jsxs("div", { children: [_jsx("div", { className: cx("gd-kda-key-drivers-detail-title"), children: getTitle(intl, state.selectedItem) }), description ? (_jsx("div", { className: cx("gd-kda-key-drivers-detail-description"), children: description })) : null] }), _jsx("div", { className: cx("gd-kda-key-drivers-detail-visualisation"), children: _jsx(KdaKeyDriverChart, { config: config, dataView: dataView, attribute: attribute }) }), _jsxs("div", { className: cx("gd-kda-key-drivers-detail-info"), children: [_jsx(UiIcon, { type: "questionMark", size: 12 }), " ", intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.overview.detail.tip" }, {
|
|
33
33
|
category,
|
|
34
34
|
})] })] }));
|
|
35
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyDriversOverview.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversOverview.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAa,OAAO,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAA6B,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAO7D,MAAM,UAAU,kBAAkB,CAAC,EAAE,OAAO,EAAE,SAAS,EAA2B;IAC9E,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAEhC,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,EAAE,CAAC;QAC9C,OAAO,KAAC,iBAAiB,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC;IACzE,CAAC;IAED,OAAO,KAAC,gBAAgB,IAAC,SAAS,EAAE,SAAS,GAAI,CAAC;AACtD,CAAC;AAOD,SAAS,iBAAiB,CAAC,EAAE,OAAO,EAAE,SAAS,EAA0B;IACrE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAChC,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAEzD,OAAO,CACH,eAAK,SAAS,EAAE,EAAE,CAAC,6BAA6B,CAAC,EAAE,EAAE,EAAE,SAAS,aAC5D,cAAK,SAAS,EAAE,EAAE,CAAC,mCAAmC,CAAC,YAClD,cAAc,CAAC,CAAC,CAAC,CACd,KAAC,UAAU,IAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,GAAI,CACjD,CAAC,CAAC,CAAC,CACA,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,mDAAmD,EAAE,CAAC,CAClF,GACC,EACN,cAAK,SAAS,EAAE,EAAE,CAAC,sCAAsC,CAAC,YACrD,cAAc,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,kBAAkB,KAAG,GACvF,EACN,cAAK,SAAS,EAAE,EAAE,CAAC,qCAAqC,CAAC,YACpD,OAAO,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,GAAI,CAAC,CAAC,CAAC,KAAC,iBAAiB,KAAG,GAChF,IACJ,CACT,CAAC;AACN,CAAC;AAMD,SAAS,gBAAgB,CAAC,EAAE,SAAS,EAA0B;IAC3D,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAEhC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAEjD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,eAAe,EAAE,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"KeyDriversOverview.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversOverview.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAddNewAttributeHandler.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useAddNewAttributeHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAO7C,wBAAgB,yBAAyB;4BAM3B,MAAM;EAenB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { useIdPrefixed } from "@gooddata/sdk-ui-kit";
|
|
4
|
+
import { useAttribute } from "../../hooks/useAttribute.js";
|
|
5
|
+
import { useKdaState } from "../../providers/KdaState.js";
|
|
6
|
+
import { createNewAttributeFilter } from "../../utils.js";
|
|
7
|
+
export function useAddNewAttributeHandler() {
|
|
8
|
+
const attributeFinder = useAttribute();
|
|
9
|
+
const { state, setState } = useKdaState();
|
|
10
|
+
const id = useIdPrefixed("attr_id_");
|
|
11
|
+
const onSelectCallback = useCallback((ref) => {
|
|
12
|
+
const attr = attributeFinder(ref);
|
|
13
|
+
if (attr) {
|
|
14
|
+
setState({
|
|
15
|
+
attributeFilters: [...state.attributeFilters, createNewAttributeFilter(attr, id)],
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}, [attributeFinder, id, setState, state.attributeFilters]);
|
|
19
|
+
return {
|
|
20
|
+
onSelectCallback,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=useAddNewAttributeHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAddNewAttributeHandler.js","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useAddNewAttributeHandler.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAGpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,UAAU,yBAAyB;IACrC,MAAM,eAAe,GAAG,YAAY,EAAE,CAAC;IACvC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;IAC1C,MAAM,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAErC,MAAM,gBAAgB,GAAG,WAAW,CAChC,CAAC,GAAW,EAAE,EAAE;QACZ,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAElC,IAAI,IAAI,EAAE,CAAC;YACP,QAAQ,CAAC;gBACL,gBAAgB,EAAE,CAAC,GAAG,KAAK,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACpF,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EACD,CAAC,eAAe,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAC1D,CAAC;IAEF,OAAO;QACH,gBAAgB;KACnB,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IDashboardAttributeFilter } from "@gooddata/sdk-model";
|
|
2
|
+
export declare function useAttributeFiltersChangeHandler(): {
|
|
3
|
+
attributeFilters: IDashboardAttributeFilter[];
|
|
4
|
+
onChangeAttributeFilter: (newFilter: IDashboardAttributeFilter) => void;
|
|
5
|
+
onDeleteAttributeFilter: (filter: IDashboardAttributeFilter) => void;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=useAttributeFiltersChangeHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAttributeFiltersChangeHandler.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useAttributeFiltersChangeHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAKhE,wBAAgB,gCAAgC;;yCAK5B,yBAAyB;sCAe5B,yBAAyB;EAczC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { useRelevantFilters } from "../../hooks/useRelevantFilters.js";
|
|
4
|
+
import { useKdaState } from "../../providers/KdaState.js";
|
|
5
|
+
export function useAttributeFiltersChangeHandler() {
|
|
6
|
+
const { state, setState } = useKdaState();
|
|
7
|
+
const attributeFilters = useRelevantFilters();
|
|
8
|
+
const onChangeAttributeFilter = useCallback((newFilter) => {
|
|
9
|
+
const updated = state.attributeFilters.slice().map((f) => {
|
|
10
|
+
if (f.attributeFilter.localIdentifier === newFilter.attributeFilter.localIdentifier) {
|
|
11
|
+
return newFilter;
|
|
12
|
+
}
|
|
13
|
+
return f;
|
|
14
|
+
});
|
|
15
|
+
setState({
|
|
16
|
+
attributeFilters: updated,
|
|
17
|
+
});
|
|
18
|
+
}, [setState, state.attributeFilters]);
|
|
19
|
+
const onDeleteAttributeFilter = useCallback((filter) => {
|
|
20
|
+
const updated = state.attributeFilters.slice().filter((s) => s !== filter);
|
|
21
|
+
setState({
|
|
22
|
+
attributeFilters: updated,
|
|
23
|
+
});
|
|
24
|
+
}, [setState, state.attributeFilters]);
|
|
25
|
+
return {
|
|
26
|
+
attributeFilters,
|
|
27
|
+
onChangeAttributeFilter,
|
|
28
|
+
onDeleteAttributeFilter,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=useAttributeFiltersChangeHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAttributeFiltersChangeHandler.js","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useAttributeFiltersChangeHandler.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAIpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,MAAM,UAAU,gCAAgC;IAC5C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;IAC1C,MAAM,gBAAgB,GAAG,kBAAkB,EAAE,CAAC;IAE9C,MAAM,uBAAuB,GAAG,WAAW,CACvC,CAAC,SAAoC,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACrD,IAAI,CAAC,CAAC,eAAe,CAAC,eAAe,KAAK,SAAS,CAAC,eAAe,CAAC,eAAe,EAAE,CAAC;gBAClF,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,OAAO,CAAC,CAAC;QACb,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC;YACL,gBAAgB,EAAE,OAAO;SAC5B,CAAC,CAAC;IACP,CAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CACrC,CAAC;IAEF,MAAM,uBAAuB,GAAG,WAAW,CACvC,CAAC,MAAiC,EAAE,EAAE;QAClC,MAAM,OAAO,GAAG,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC;QAC3E,QAAQ,CAAC;YACL,gBAAgB,EAAE,OAAO;SAC5B,CAAC,CAAC;IACP,CAAC,EACD,CAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CACrC,CAAC;IAEF,OAAO;QACH,gBAAgB;QAChB,uBAAuB;QACvB,uBAAuB;KAC1B,CAAC;AACN,CAAC"}
|
|
@@ -2,8 +2,10 @@ import { KdaItem, KdaItemGroup } from "../../internalTypes.js";
|
|
|
2
2
|
export declare function useDataViewWithConfig(group: KdaItemGroup | null, item: KdaItem | null): {
|
|
3
3
|
config: null;
|
|
4
4
|
dataView: null;
|
|
5
|
+
attribute?: undefined;
|
|
5
6
|
} | {
|
|
6
7
|
config: import("@gooddata/sdk-ui-charts").IChartConfig;
|
|
7
8
|
dataView: import("@gooddata/sdk-backend-spi").IDataView | null;
|
|
9
|
+
attribute: import("@gooddata/sdk-model").ObjRef;
|
|
8
10
|
};
|
|
9
11
|
//# sourceMappingURL=useDataViewWithConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataViewWithConfig.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useDataViewWithConfig.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI/D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI
|
|
1
|
+
{"version":3,"file":"useDataViewWithConfig.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useDataViewWithConfig.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAI/D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;;;;;;;;EA6BrF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDataViewWithConfig.js","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useDataViewWithConfig.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEnG,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,UAAU,qBAAqB,CAAC,KAA0B,EAAE,IAAoB;IAClF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAEtD,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAEhC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAEpC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,sCAAsC,EAAE,CAAC,CAAC;IAEjF,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO;gBACH,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;aACjB,CAAC;QACN,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAE3E,OAAO;YACH,MAAM;YACN,QAAQ;
|
|
1
|
+
{"version":3,"file":"useDataViewWithConfig.js","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useDataViewWithConfig.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEnG,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,UAAU,qBAAqB,CAAC,KAA0B,EAAE,IAAoB;IAClF,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAEtD,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAEhC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAEpC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,sCAAsC,EAAE,CAAC,CAAC;IAEjF,OAAO,OAAO,CAAC,GAAG,EAAE;QAChB,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO;gBACH,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;aACjB,CAAC;QACN,CAAC;QAED,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAE3E,OAAO;YACH,MAAM;YACN,QAAQ;YACR,SAAS,EAAE,KAAK,CAAC,SAAS;SAC7B,CAAC;IACN,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;AAC5E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDrillAttributeHandler.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useDrillAttributeHandler.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAO/C,wBAAgB,wBAAwB;6BAMxB,WAAW;EAwD1B"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
import { areObjRefsEqual, isAttributeDescriptor, isResultAttributeHeader, } from "@gooddata/sdk-model";
|
|
4
|
+
import { useIdPrefixed } from "@gooddata/sdk-ui-kit";
|
|
5
|
+
import { useAttribute } from "../../hooks/useAttribute.js";
|
|
6
|
+
import { useKdaState } from "../../providers/KdaState.js";
|
|
7
|
+
import { createNewAttributeFilter, updateExistingAttributeFilter } from "../../utils.js";
|
|
8
|
+
export function useDrillAttributeHandler() {
|
|
9
|
+
const { state, setState } = useKdaState();
|
|
10
|
+
const attributeFinder = useAttribute();
|
|
11
|
+
const id = useIdPrefixed("attr_id_");
|
|
12
|
+
const onDrillCallback = useCallback((event) => {
|
|
13
|
+
const attribute = event.drillContext.intersection
|
|
14
|
+
?.map((i) => i.header)
|
|
15
|
+
.filter(isAttributeDescriptor)[0];
|
|
16
|
+
const attributeItem = event.drillContext.intersection
|
|
17
|
+
?.map((i) => i.header)
|
|
18
|
+
.filter(isResultAttributeHeader)[0];
|
|
19
|
+
if (!attribute) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (!attributeItem) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
const currentFilters = state.attributeFilters;
|
|
26
|
+
const catalogAttribute = attributeFinder(attribute.attributeHeader.ref);
|
|
27
|
+
if (!catalogAttribute) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const found = currentFilters.find((f) => areObjRefsEqual(f.attributeFilter.displayForm, catalogAttribute.attribute.ref) ||
|
|
31
|
+
catalogAttribute.displayForms.some((df) => areObjRefsEqual(df.ref, f.attributeFilter.displayForm)));
|
|
32
|
+
const value = attributeItem.attributeHeaderItem.uri;
|
|
33
|
+
if (found) {
|
|
34
|
+
const newFilters = state.attributeFilters.map((f) => {
|
|
35
|
+
if (found === f) {
|
|
36
|
+
return updateExistingAttributeFilter(f, value);
|
|
37
|
+
}
|
|
38
|
+
return f;
|
|
39
|
+
});
|
|
40
|
+
setState({
|
|
41
|
+
attributeFilters: newFilters,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
setState({
|
|
46
|
+
attributeFilters: [
|
|
47
|
+
...state.attributeFilters,
|
|
48
|
+
createNewAttributeFilter(catalogAttribute, id, value),
|
|
49
|
+
],
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}, [attributeFinder, id, setState, state.attributeFilters]);
|
|
53
|
+
return {
|
|
54
|
+
onDrillCallback,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=useDrillAttributeHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDrillAttributeHandler.js","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/useDrillAttributeHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { KdaDateOptions } from "../../internalTypes.js";
|
|
2
2
|
import { KdaPeriodType } from "../../types.js";
|
|
3
|
-
export declare function usePeriodChangeHandler(
|
|
3
|
+
export declare function usePeriodChangeHandler(): {
|
|
4
|
+
options: KdaDateOptions;
|
|
4
5
|
isAvailable: boolean;
|
|
5
6
|
onPeriodChange: (type: KdaPeriodType) => void;
|
|
6
7
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePeriodChangeHandler.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/usePeriodChangeHandler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePeriodChangeHandler.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/usePeriodChangeHandler.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAkB,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/D,wBAAgB,sBAAsB;;;2BAmBvB,aAAa;EAwB3B"}
|
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
// (C) 2025 GoodData Corporation
|
|
2
2
|
import { useCallback, useMemo } from "react";
|
|
3
|
+
import { useDateAttribute } from "../../hooks/useDateAttribute.js";
|
|
3
4
|
import { useKdaState } from "../../providers/KdaState.js";
|
|
4
|
-
export function usePeriodChangeHandler(
|
|
5
|
+
export function usePeriodChangeHandler() {
|
|
6
|
+
const dateAttributeFinder = useDateAttribute();
|
|
5
7
|
const { state, setState } = useKdaState();
|
|
8
|
+
const def = state.definition;
|
|
9
|
+
const dateAttribute = useMemo(() => {
|
|
10
|
+
return dateAttributeFinder(def?.dateAttribute);
|
|
11
|
+
}, [dateAttributeFinder, def?.dateAttribute]);
|
|
12
|
+
const options = useMemo(() => {
|
|
13
|
+
return {
|
|
14
|
+
dateAttribute,
|
|
15
|
+
period: def?.type ?? "previous_period",
|
|
16
|
+
range: def?.range,
|
|
17
|
+
};
|
|
18
|
+
}, [dateAttribute, def?.type, def?.range]);
|
|
6
19
|
const onPeriodChange = useCallback((type) => {
|
|
7
20
|
const def = state.definition;
|
|
8
21
|
if (!def || !dateAttribute) {
|
|
@@ -17,6 +30,7 @@ export function usePeriodChangeHandler(dateAttribute) {
|
|
|
17
30
|
return isPeriodChangeAvailable(dateAttribute);
|
|
18
31
|
}, [dateAttribute]);
|
|
19
32
|
return {
|
|
33
|
+
options,
|
|
20
34
|
isAvailable,
|
|
21
35
|
onPeriodChange,
|
|
22
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePeriodChangeHandler.js","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/usePeriodChangeHandler.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAI7C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D,MAAM,UAAU,sBAAsB,CAAC
|
|
1
|
+
{"version":3,"file":"usePeriodChangeHandler.js","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/usePeriodChangeHandler.ts"],"names":[],"mappings":"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"}
|