@gooddata/sdk-ui-dashboard 11.5.0-alpha.2 → 11.5.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +5 -5
- package/esm/__version.d.ts +1 -1
- package/esm/__version.js +1 -1
- package/esm/_staging/sharedHooks/useRichTextFilters.d.ts.map +1 -1
- package/esm/_staging/sharedHooks/useRichTextFilters.js +2 -1
- package/esm/_staging/sharedHooks/useRichTextFilters.js.map +1 -1
- package/esm/kdaDialog/components/KdaSummaryHeadline.d.ts.map +1 -1
- package/esm/kdaDialog/components/KdaSummaryHeadline.js +7 -5
- package/esm/kdaDialog/components/KdaSummaryHeadline.js.map +1 -1
- package/esm/kdaDialog/components/bars/AttributeBar.js +1 -1
- package/esm/kdaDialog/components/bars/AttributeBar.js.map +1 -1
- package/esm/kdaDialog/components/bars/DateBar.d.ts +4 -3
- package/esm/kdaDialog/components/bars/DateBar.d.ts.map +1 -1
- package/esm/kdaDialog/components/bars/DateBar.js +5 -4
- package/esm/kdaDialog/components/bars/DateBar.js.map +1 -1
- package/esm/kdaDialog/components/bars/MetricBar.d.ts +2 -2
- package/esm/kdaDialog/components/bars/MetricBar.d.ts.map +1 -1
- package/esm/kdaDialog/components/bars/MetricBar.js +1 -1
- package/esm/kdaDialog/components/bars/MetricBar.js.map +1 -1
- package/esm/kdaDialog/composition/FiltersBar.d.ts.map +1 -1
- package/esm/kdaDialog/composition/FiltersBar.js +25 -14
- package/esm/kdaDialog/composition/FiltersBar.js.map +1 -1
- package/esm/kdaDialog/composition/KeyDriversFooter.d.ts.map +1 -1
- package/esm/kdaDialog/composition/KeyDriversFooter.js +3 -3
- package/esm/kdaDialog/composition/KeyDriversFooter.js.map +1 -1
- package/esm/kdaDialog/composition/MetricsBar.js +1 -1
- package/esm/kdaDialog/composition/MetricsBar.js.map +1 -1
- package/esm/kdaDialog/dialog/KdaDialog.d.ts.map +1 -1
- package/esm/kdaDialog/dialog/KdaDialog.js +2 -1
- package/esm/kdaDialog/dialog/KdaDialog.js.map +1 -1
- package/esm/kdaDialog/dialog/KdaDialogSections.d.ts.map +1 -1
- package/esm/kdaDialog/dialog/KdaDialogSections.js +2 -2
- package/esm/kdaDialog/dialog/KdaDialogSections.js.map +1 -1
- package/esm/kdaDialog/index.d.ts +1 -1
- package/esm/kdaDialog/index.d.ts.map +1 -1
- package/esm/kdaDialog/internal.d.ts +1 -0
- package/esm/kdaDialog/internal.d.ts.map +1 -1
- package/esm/kdaDialog/internal.js +1 -0
- package/esm/kdaDialog/internal.js.map +1 -1
- package/esm/kdaDialog/internalTypes.d.ts +10 -13
- package/esm/kdaDialog/internalTypes.d.ts.map +1 -1
- package/esm/kdaDialog/providers/Kda.d.ts +10 -0
- package/esm/kdaDialog/providers/Kda.d.ts.map +1 -0
- package/esm/kdaDialog/providers/Kda.js +15 -0
- package/esm/kdaDialog/providers/Kda.js.map +1 -0
- package/esm/kdaDialog/providers/KdaState.d.ts.map +1 -1
- package/esm/kdaDialog/providers/KdaState.js +3 -5
- package/esm/kdaDialog/providers/KdaState.js.map +1 -1
- package/esm/kdaDialog/types.d.ts +43 -0
- package/esm/kdaDialog/types.d.ts.map +1 -1
- package/esm/kdaDialog/utils.d.ts +6 -0
- package/esm/kdaDialog/utils.d.ts.map +1 -0
- package/esm/kdaDialog/utils.js +20 -0
- package/esm/kdaDialog/utils.js.map +1 -0
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.d.ts.map +1 -1
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.js +3 -2
- package/esm/model/commandHandlers/dashboard/initializeDashboardHandler/resolveDashboardConfig.js.map +1 -1
- package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.d.ts +6 -0
- package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.d.ts.map +1 -0
- package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.js +64 -0
- package/esm/model/commandHandlers/drill/keyDriverAnalysisHandler.js.map +1 -0
- package/esm/model/commandHandlers/index.d.ts.map +1 -1
- package/esm/model/commandHandlers/index.js +2 -0
- package/esm/model/commandHandlers/index.js.map +1 -1
- package/esm/model/commands/base.d.ts +1 -1
- package/esm/model/commands/base.d.ts.map +1 -1
- package/esm/model/commands/base.js +1 -0
- package/esm/model/commands/base.js.map +1 -1
- package/esm/model/commands/drill.d.ts +41 -2
- package/esm/model/commands/drill.d.ts.map +1 -1
- package/esm/model/commands/drill.js +24 -0
- package/esm/model/commands/drill.js.map +1 -1
- package/esm/model/commands/index.d.ts +4 -4
- package/esm/model/commands/index.d.ts.map +1 -1
- package/esm/model/commands/index.js +1 -1
- package/esm/model/commands/index.js.map +1 -1
- package/esm/model/events/base.d.ts +1 -1
- package/esm/model/events/base.d.ts.map +1 -1
- package/esm/model/events/base.js.map +1 -1
- package/esm/model/events/drill.d.ts +94 -1
- package/esm/model/events/drill.d.ts.map +1 -1
- package/esm/model/events/drill.js +45 -0
- package/esm/model/events/drill.js.map +1 -1
- package/esm/model/events/index.d.ts +4 -4
- package/esm/model/events/index.d.ts.map +1 -1
- package/esm/model/events/index.js +1 -1
- package/esm/model/events/index.js.map +1 -1
- package/esm/model/store/dashboardStore.d.ts.map +1 -1
- package/esm/model/store/dashboardStore.js +3 -0
- package/esm/model/store/dashboardStore.js.map +1 -1
- package/esm/presentation/constants/zIndex.d.ts +2 -0
- package/esm/presentation/constants/zIndex.d.ts.map +1 -1
- package/esm/presentation/constants/zIndex.js +4 -0
- package/esm/presentation/constants/zIndex.js.map +1 -1
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.d.ts +3 -2
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.d.ts.map +1 -1
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.js +13 -5
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.js.map +1 -1
- package/esm/presentation/drill/hooks/useDrills.d.ts +9 -2
- package/esm/presentation/drill/hooks/useDrills.d.ts.map +1 -1
- package/esm/presentation/drill/hooks/useDrills.js +9 -0
- package/esm/presentation/drill/hooks/useDrills.js.map +1 -1
- package/esm/presentation/drill/hooks/useKeyDriverAnalysis.d.ts +17 -0
- package/esm/presentation/drill/hooks/useKeyDriverAnalysis.d.ts.map +1 -0
- package/esm/presentation/drill/hooks/useKeyDriverAnalysis.js +16 -0
- package/esm/presentation/drill/hooks/useKeyDriverAnalysis.js.map +1 -0
- package/esm/presentation/drill/index.d.ts +1 -1
- package/esm/presentation/drill/index.d.ts.map +1 -1
- package/esm/presentation/drill/index.js +1 -0
- package/esm/presentation/drill/index.js.map +1 -1
- package/esm/presentation/drill/types.d.ts +23 -2
- package/esm/presentation/drill/types.d.ts.map +1 -1
- package/esm/presentation/drill/types.js.map +1 -1
- package/esm/presentation/drill/utils/kdaUtils.d.ts +10 -9
- package/esm/presentation/drill/utils/kdaUtils.d.ts.map +1 -1
- package/esm/presentation/drill/utils/kdaUtils.js +94 -22
- package/esm/presentation/drill/utils/kdaUtils.js.map +1 -1
- package/esm/presentation/localization/bundles/en-US.json +4 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +1 -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 +1 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js.map +1 -1
- package/esm/presentation/widget/common/configuration/ConfigurationBubble.d.ts +0 -1
- package/esm/presentation/widget/common/configuration/ConfigurationBubble.d.ts.map +1 -1
- package/esm/presentation/widget/common/configuration/ConfigurationBubble.js +0 -7
- package/esm/presentation/widget/common/configuration/ConfigurationBubble.js.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/DashboardInsightWithDrillDialog.d.ts.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/DashboardInsightWithDrillDialog.js +11 -2
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/DashboardInsightWithDrillDialog.js.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsightWithDrillSelect.d.ts.map +1 -1
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsightWithDrillSelect.js +2 -2
- package/esm/presentation/widget/insight/ViewModeDashboardInsight/Insight/DashboardInsightWithDrillSelect.js.map +1 -1
- package/esm/presentation/widget/insight/types.d.ts +5 -1
- package/esm/presentation/widget/insight/types.d.ts.map +1 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.d.ts.map +1 -1
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.js +6 -0
- package/esm/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenu/DashboardInsightMenuBubble.js.map +1 -1
- package/esm/sdk-ui-dashboard.d.ts +211 -6
- package/package.json +17 -17
- package/styles/css/insightConfiguration.css +27 -2
- package/styles/css/insightConfiguration.css.map +1 -1
- package/styles/css/main.css +31 -6
- package/styles/css/main.css.map +1 -1
- package/styles/scss/insightConfiguration.scss +33 -2
|
@@ -9,4 +9,8 @@ export const DASHBOARD_OVERLAYS_FILTER_Z_INDEX = 6000;
|
|
|
9
9
|
export const DASHBOARD_DIALOG_OVERS_Z_INDEX = 6100;
|
|
10
10
|
// Z index of the toast messages container overlay
|
|
11
11
|
export const DASHBOARD_TOASTS_OVERLAY_Z_INDEX = 9000;
|
|
12
|
+
// Z index of the drill menu when overlayed by the drill dialog
|
|
13
|
+
export const DASHBOARD_DRILL_MENU_BOTTOM_LAYER_Z_INDEX = DASHBOARD_OVERLAYS_FILTER_Z_INDEX;
|
|
14
|
+
// Z index of the drill menu when not overlayed by the drill dialog
|
|
15
|
+
export const DASHBOARD_DRILL_MENU_TOP_LAYER_Z_INDEX = DASHBOARD_DIALOG_OVERS_Z_INDEX;
|
|
12
16
|
//# sourceMappingURL=zIndex.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zIndex.js","sourceRoot":"","sources":["../../../src/presentation/constants/zIndex.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,iDAAiD;AACjD,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C,wDAAwD;AACxD,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,CAAC;AAEtD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,CAAC;AAEtD,+CAA+C;AAC/C,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAEnD,kDAAkD;AAClD,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC"}
|
|
1
|
+
{"version":3,"file":"zIndex.js","sourceRoot":"","sources":["../../../src/presentation/constants/zIndex.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,iDAAiD;AACjD,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,CAAC;AAE/C,wDAAwD;AACxD,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,CAAC;AAEtD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iCAAiC,GAAG,IAAI,CAAC;AAEtD,+CAA+C;AAC/C,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAEnD,kDAAkD;AAClD,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC;AAErD,+DAA+D;AAC/D,MAAM,CAAC,MAAM,yCAAyC,GAAG,iCAAiC,CAAC;AAE3F,mEAAmE;AACnE,MAAM,CAAC,MAAM,sCAAsC,GAAG,8BAA8B,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ReactElement } from "react";
|
|
2
2
|
import { IInsight, ObjRef } from "@gooddata/sdk-model";
|
|
3
3
|
import { IDrillSelectCloseBehavior } from "./types.js";
|
|
4
|
-
import { OnDrillDownSuccess, OnDrillToAttributeUrlSuccess, OnDrillToCustomUrlSuccess, OnDrillToDashboardSuccess, OnDrillToInsightSuccess, OnWidgetDrill } from "../types.js";
|
|
4
|
+
import { OnDrillDownSuccess, OnDrillToAttributeUrlSuccess, OnDrillToCustomUrlSuccess, OnDrillToDashboardSuccess, OnDrillToInsightSuccess, OnKeyDriverAnalysisSuccess, OnWidgetDrill } from "../types.js";
|
|
5
5
|
/**
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
@@ -15,6 +15,7 @@ export interface WithDrillSelectProps {
|
|
|
15
15
|
onDrillToDashboardSuccess?: OnDrillToDashboardSuccess;
|
|
16
16
|
onDrillToAttributeUrlSuccess?: OnDrillToAttributeUrlSuccess;
|
|
17
17
|
onDrillToCustomUrlSuccess?: OnDrillToCustomUrlSuccess;
|
|
18
|
+
onKeyDriverAnalysisSuccess?: OnKeyDriverAnalysisSuccess;
|
|
18
19
|
onError?: (error: any) => void;
|
|
19
20
|
children: (props: {
|
|
20
21
|
onDrill: OnWidgetDrill;
|
|
@@ -23,5 +24,5 @@ export interface WithDrillSelectProps {
|
|
|
23
24
|
/**
|
|
24
25
|
* @internal
|
|
25
26
|
*/
|
|
26
|
-
export declare function WithDrillSelect({ widgetRef, children, insight, closeBehavior, visualizationId, onDrillDownSuccess, onDrillToInsightSuccess, onDrillToDashboardSuccess, onDrillToAttributeUrlSuccess, onDrillToCustomUrlSuccess, onError, }: WithDrillSelectProps): ReactElement;
|
|
27
|
+
export declare function WithDrillSelect({ widgetRef, children, insight, closeBehavior, visualizationId, onDrillDownSuccess, onDrillToInsightSuccess, onDrillToDashboardSuccess, onDrillToAttributeUrlSuccess, onDrillToCustomUrlSuccess, onKeyDriverAnalysisSuccess, onError, }: WithDrillSelectProps): ReactElement;
|
|
27
28
|
//# sourceMappingURL=WithDrillSelect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithDrillSelect.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/WithDrillSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"WithDrillSelect.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/WithDrillSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAA0C,MAAM,OAAO,CAAC;AAK7E,OAAO,EACH,QAAQ,EACR,MAAM,EAOT,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAsB,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAuB3E,OAAO,EACH,kBAAkB,EAClB,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,aAAa,EAChB,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,QAAQ,CAAC;IAClB,aAAa,CAAC,EAAE,yBAAyB,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;IAC5D,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IACxD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,KAAK,YAAY,CAAC;CACjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAC5B,SAAS,EACT,QAAQ,EACR,OAAO,EACP,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,yBAAyB,EACzB,0BAA0B,EAC1B,OAAO,GACV,EAAE,oBAAoB,GAAG,YAAY,CAgJrC"}
|
|
@@ -1,20 +1,22 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2020-2025 GoodData Corporation
|
|
3
|
-
import { useCallback, useRef, useState } from "react";
|
|
3
|
+
import { useCallback, useMemo, useRef, useState } from "react";
|
|
4
4
|
import cx from "classnames";
|
|
5
5
|
import { v4 as uuid } from "uuid";
|
|
6
6
|
import { isCrossFiltering, isDrillToAttributeUrl, isDrillToCustomUrl, isDrillToDashboard, isDrillToInsight, isKeyDriveAnalysis, } from "@gooddata/sdk-model";
|
|
7
7
|
import { useAutoupdateRef } from "@gooddata/sdk-ui";
|
|
8
|
+
import { OverlayController, OverlayControllerProvider } from "@gooddata/sdk-ui-kit";
|
|
8
9
|
import { DrillSelectDropdown } from "./DrillSelectDropdown.js";
|
|
9
10
|
import { selectBackendCapabilities, selectDisableDefaultDrills, selectLocale, selectWidgetDrills, useDashboardSelector, } from "../../../model/index.js";
|
|
10
11
|
import { isDrillDownDefinition, } from "../../../types.js";
|
|
12
|
+
import { DASHBOARD_DRILL_MENU_BOTTOM_LAYER_Z_INDEX, DASHBOARD_DRILL_MENU_TOP_LAYER_Z_INDEX, } from "../../constants/index.js";
|
|
11
13
|
import { IntlWrapper } from "../../localization/index.js";
|
|
12
14
|
import { useDrills } from "../hooks/useDrills.js";
|
|
13
15
|
import { filterDrillFromAttributeByPriority } from "../utils/drillDownUtils.js";
|
|
14
16
|
/**
|
|
15
17
|
* @internal
|
|
16
18
|
*/
|
|
17
|
-
export function WithDrillSelect({ widgetRef, children, insight, closeBehavior, visualizationId, onDrillDownSuccess, onDrillToInsightSuccess, onDrillToDashboardSuccess, onDrillToAttributeUrlSuccess, onDrillToCustomUrlSuccess, onError, }) {
|
|
19
|
+
export function WithDrillSelect({ widgetRef, children, insight, closeBehavior, visualizationId, onDrillDownSuccess, onDrillToInsightSuccess, onDrillToDashboardSuccess, onDrillToAttributeUrlSuccess, onDrillToCustomUrlSuccess, onKeyDriverAnalysisSuccess, onError, }) {
|
|
18
20
|
const { current: drillPickerId } = useRef(uuid());
|
|
19
21
|
const [dropdownProps, setDropdownProps] = useState(null);
|
|
20
22
|
const [isOpen, setIsOpen] = useState(true);
|
|
@@ -49,6 +51,7 @@ export function WithDrillSelect({ widgetRef, children, insight, closeBehavior, v
|
|
|
49
51
|
},
|
|
50
52
|
onDrillDownSuccess,
|
|
51
53
|
onDrillToInsightSuccess,
|
|
54
|
+
onKeyDriverAnalysisSuccess,
|
|
52
55
|
onDrillToDashboardSuccess,
|
|
53
56
|
onDrillToAttributeUrlSuccess,
|
|
54
57
|
onDrillToCustomUrlSuccess,
|
|
@@ -60,7 +63,7 @@ export function WithDrillSelect({ widgetRef, children, insight, closeBehavior, v
|
|
|
60
63
|
insight,
|
|
61
64
|
closeBehavior,
|
|
62
65
|
});
|
|
63
|
-
const onSelect = useCallback((drillDefinition,
|
|
66
|
+
const onSelect = useCallback((drillDefinition, context, drillEvent, correlationId, drillContext) => {
|
|
64
67
|
const { drills, dropdownProps, insight, closeBehavior } = onSelectDepsRef.current;
|
|
65
68
|
const effectiveDrillEvent = drillEvent ?? dropdownProps?.drillEvent;
|
|
66
69
|
const effectiveCorrelationId = correlationId ?? dropdownProps?.correlationId;
|
|
@@ -85,7 +88,7 @@ export function WithDrillSelect({ widgetRef, children, insight, closeBehavior, v
|
|
|
85
88
|
drills.crossFiltering.run(insight, drillDefinition, effectiveDrillEvent, effectiveCorrelationId);
|
|
86
89
|
}
|
|
87
90
|
else if (isKeyDriveAnalysis(drillDefinition)) {
|
|
88
|
-
|
|
91
|
+
drills.keyDriverAnalysis.run(drillDefinition, effectiveDrillEvent, context, effectiveCorrelationId);
|
|
89
92
|
}
|
|
90
93
|
if (closeBehavior === "closeOnSelect") {
|
|
91
94
|
setIsOpen(false);
|
|
@@ -99,7 +102,12 @@ export function WithDrillSelect({ widgetRef, children, insight, closeBehavior, v
|
|
|
99
102
|
setIsOpen(false);
|
|
100
103
|
};
|
|
101
104
|
const dropDownAnchorClass = `s-drill-picker-${drillPickerId}`;
|
|
102
|
-
const
|
|
105
|
+
const overlayController = useMemo(() => {
|
|
106
|
+
return closeBehavior === "preventClose"
|
|
107
|
+
? OverlayController.getInstance(DASHBOARD_DRILL_MENU_BOTTOM_LAYER_Z_INDEX)
|
|
108
|
+
: OverlayController.getInstance(DASHBOARD_DRILL_MENU_TOP_LAYER_Z_INDEX);
|
|
109
|
+
}, [closeBehavior]);
|
|
110
|
+
const drillDownDropdown = dropdownProps ? (_jsx(IntlWrapper, { locale: locale, children: _jsx(OverlayControllerProvider, { overlayController: overlayController, children: _jsx(DrillSelectDropdown, { ...dropdownProps, dropDownAnchorClass: dropDownAnchorClass, isOpen: isOpen, onClose: handleClose, onSelect: onSelect, visualizationId: visualizationId }) }) })) : null;
|
|
103
111
|
return (_jsxs("div", { className: cx("gd-drill-modal-wrapper-mask", dropDownAnchorClass), children: [children({ onDrill: drills.drill.run }), drillDownDropdown] }));
|
|
104
112
|
}
|
|
105
113
|
function getDrillDefinitionType(validDrillDefinitions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithDrillSelect.js","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/WithDrillSelect.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAAgB,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"WithDrillSelect.js","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/WithDrillSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OnCrossFiltering, OnCrossFilteringError, OnCrossFilteringSuccess, OnDashboardDrill, OnDashboardDrillError, OnDashboardDrillSuccess, OnDrillDown, OnDrillDownSuccess, OnDrillToAttributeUrl, OnDrillToAttributeUrlSuccess, OnDrillToCustomUrl, OnDrillToCustomUrlSuccess, OnDrillToDashboard, OnDrillToDashboardSuccess, OnDrillToInsight, OnDrillToInsightSuccess, OnDrillToLegacyDashboard, OnDrillToLegacyDashboardSuccess } from "../types.js";
|
|
1
|
+
import { OnCrossFiltering, OnCrossFilteringError, OnCrossFilteringSuccess, OnDashboardDrill, OnDashboardDrillError, OnDashboardDrillSuccess, OnDrillDown, OnDrillDownSuccess, OnDrillToAttributeUrl, OnDrillToAttributeUrlSuccess, OnDrillToCustomUrl, OnDrillToCustomUrlSuccess, OnDrillToDashboard, OnDrillToDashboardSuccess, OnDrillToInsight, OnDrillToInsightSuccess, OnDrillToLegacyDashboard, OnDrillToLegacyDashboardSuccess, OnKeyDriverAnalysis, OnKeyDriverAnalysisError, OnKeyDriverAnalysisSuccess } from "../types.js";
|
|
2
2
|
/**
|
|
3
3
|
* @internal
|
|
4
4
|
*/
|
|
@@ -27,12 +27,15 @@ export interface UseDrillsProps {
|
|
|
27
27
|
onCrossFiltering?: OnCrossFiltering;
|
|
28
28
|
onCrossFilteringSuccess?: OnCrossFilteringSuccess;
|
|
29
29
|
onCrossFilteringError?: OnCrossFilteringError;
|
|
30
|
+
onKeyDriverAnalysis?: OnKeyDriverAnalysis;
|
|
31
|
+
onKeyDriverAnalysisSuccess?: OnKeyDriverAnalysisSuccess;
|
|
32
|
+
onKeyDriverAnalysisError?: OnKeyDriverAnalysisError;
|
|
30
33
|
onError?: OnDashboardDrillError;
|
|
31
34
|
}
|
|
32
35
|
/**
|
|
33
36
|
* @internal
|
|
34
37
|
*/
|
|
35
|
-
export declare function useDrills({ onDrill, onDrillSuccess, onDrillError, onDrillDown, onDrillDownSuccess, onDrillDownError, onDrillToInsight, onDrillToInsightSuccess, onDrillToInsightError, onDrillToDashboard, onDrillToDashboardSuccess, onDrillToDashboardError, onDrillToAttributeUrl, onDrillToAttributeUrlSuccess, onDrillToAttributeUrlError, onDrillToCustomUrl, onDrillToCustomUrlSuccess, onDrillToCustomUrlError, onDrillToLegacyDashboard, onDrillToLegacyDashboardSuccess, onDrillToLegacyDashboardError, onCrossFiltering, onCrossFilteringSuccess, onCrossFilteringError, onError, }: UseDrillsProps): {
|
|
38
|
+
export declare function useDrills({ onDrill, onDrillSuccess, onDrillError, onDrillDown, onDrillDownSuccess, onDrillDownError, onDrillToInsight, onDrillToInsightSuccess, onDrillToInsightError, onDrillToDashboard, onDrillToDashboardSuccess, onDrillToDashboardError, onDrillToAttributeUrl, onDrillToAttributeUrlSuccess, onDrillToAttributeUrlError, onDrillToCustomUrl, onDrillToCustomUrlSuccess, onDrillToCustomUrlError, onDrillToLegacyDashboard, onDrillToLegacyDashboardSuccess, onDrillToLegacyDashboardError, onCrossFiltering, onCrossFilteringSuccess, onCrossFilteringError, onKeyDriverAnalysis, onKeyDriverAnalysisSuccess, onKeyDriverAnalysisError, onError, }: UseDrillsProps): {
|
|
36
39
|
drill: {
|
|
37
40
|
run: (drillEvent: import("../../../types.js").IDashboardDrillEvent, drillContext: import("../../../types.js").DashboardDrillContext, correlationId?: string | undefined) => void;
|
|
38
41
|
status?: import("../../../index.js").CommandProcessingStatus;
|
|
@@ -65,5 +68,9 @@ export declare function useDrills({ onDrill, onDrillSuccess, onDrillError, onDri
|
|
|
65
68
|
run: (insight: import("@gooddata/sdk-model").IInsight, drillDefinition: import("@gooddata/sdk-model").ICrossFiltering, drillEvent: import("../../../types.js").IDashboardDrillEvent, correlationId?: string | undefined) => void;
|
|
66
69
|
status?: import("../../../index.js").CommandProcessingStatus;
|
|
67
70
|
};
|
|
71
|
+
keyDriverAnalysis: {
|
|
72
|
+
run: (drillDefinition: import("@gooddata/sdk-model").IKeyDriveAnalysis, drillEvent: import("../../../types.js").IDashboardDrillEvent, keyDriveItem: import("../../../index.js").DashboardKeyDriverCombinationItem, correlationId?: string | undefined) => void;
|
|
73
|
+
status?: import("../../../index.js").CommandProcessingStatus;
|
|
74
|
+
};
|
|
68
75
|
};
|
|
69
76
|
//# sourceMappingURL=useDrills.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDrills.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/hooks/useDrills.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDrills.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/hooks/useDrills.ts"],"names":[],"mappings":"AAUA,OAAO,EACH,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,EAC5B,kBAAkB,EAClB,yBAAyB,EACzB,kBAAkB,EAClB,yBAAyB,EACzB,gBAAgB,EAChB,uBAAuB,EACvB,wBAAwB,EACxB,+BAA+B,EAC/B,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC7B,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IAErC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IAEzC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAE9C,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,uBAAuB,CAAC,EAAE,qBAAqB,CAAC;IAEhD,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,4BAA4B,CAAC,EAAE,4BAA4B,CAAC;IAC5D,0BAA0B,CAAC,EAAE,qBAAqB,CAAC;IAEnD,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACxC,yBAAyB,CAAC,EAAE,yBAAyB,CAAC;IACtD,uBAAuB,CAAC,EAAE,qBAAqB,CAAC;IAEhD,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,+BAA+B,CAAC,EAAE,+BAA+B,CAAC;IAClE,6BAA6B,CAAC,EAAE,qBAAqB,CAAC;IAEtD,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAE9C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IACxD,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IAEpD,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EACtB,OAAO,EACP,cAAc,EACd,YAAY,EAEZ,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAEhB,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EAErB,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,EAEvB,qBAAqB,EACrB,4BAA4B,EAC5B,0BAA0B,EAE1B,kBAAkB,EAClB,yBAAyB,EACzB,uBAAuB,EAEvB,wBAAwB,EACxB,+BAA+B,EAC/B,6BAA6B,EAE7B,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EAErB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EAExB,OAAO,GACV,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkEhB"}
|
|
@@ -7,6 +7,7 @@ import { useDrillToCustomUrl } from "./useDrillToCustomUrl.js";
|
|
|
7
7
|
import { useDrillToDashboard } from "./useDrillToDashboard.js";
|
|
8
8
|
import { useDrillToInsight } from "./useDrillToInsight.js";
|
|
9
9
|
import { useDrillToLegacyDashboard } from "./useDrillToLegacyDashboard.js";
|
|
10
|
+
import { useKeyDriverAnalysis } from "./useKeyDriverAnalysis.js";
|
|
10
11
|
/**
|
|
11
12
|
* @internal
|
|
12
13
|
*/
|
|
@@ -26,6 +27,8 @@ onDrillToLegacyDashboard, onDrillToLegacyDashboardSuccess, onDrillToLegacyDashbo
|
|
|
26
27
|
//
|
|
27
28
|
onCrossFiltering, onCrossFilteringSuccess, onCrossFilteringError,
|
|
28
29
|
//
|
|
30
|
+
onKeyDriverAnalysis, onKeyDriverAnalysisSuccess, onKeyDriverAnalysisError,
|
|
31
|
+
//
|
|
29
32
|
onError, }) {
|
|
30
33
|
const drill = useDrill({
|
|
31
34
|
onBeforeRun: onDrill,
|
|
@@ -67,6 +70,11 @@ onError, }) {
|
|
|
67
70
|
onSuccess: onCrossFilteringSuccess,
|
|
68
71
|
onError: onCrossFilteringError ?? onError,
|
|
69
72
|
});
|
|
73
|
+
const keyDriverAnalysis = useKeyDriverAnalysis({
|
|
74
|
+
onBeforeRun: onKeyDriverAnalysis,
|
|
75
|
+
onSuccess: onKeyDriverAnalysisSuccess,
|
|
76
|
+
onError: onKeyDriverAnalysisError ?? onError,
|
|
77
|
+
});
|
|
70
78
|
return {
|
|
71
79
|
drill,
|
|
72
80
|
drillDown,
|
|
@@ -76,6 +84,7 @@ onError, }) {
|
|
|
76
84
|
drillToCustomUrl,
|
|
77
85
|
drillToLegacyDashboard,
|
|
78
86
|
crossFiltering,
|
|
87
|
+
keyDriverAnalysis,
|
|
79
88
|
};
|
|
80
89
|
}
|
|
81
90
|
//# sourceMappingURL=useDrills.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDrills.js","sourceRoot":"","sources":["../../../../src/presentation/drill/hooks/useDrills.ts"],"names":[],"mappings":"AAAA,qCAAqC;
|
|
1
|
+
{"version":3,"file":"useDrills.js","sourceRoot":"","sources":["../../../../src/presentation/drill/hooks/useDrills.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DashboardCommandFailed, KeyDriverAnalysis } from "../../../model/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
export interface UseKeyDriverAnalysisProps {
|
|
6
|
+
onSuccess?: (event: any) => void;
|
|
7
|
+
onError?: (event: DashboardCommandFailed<KeyDriverAnalysis>) => void;
|
|
8
|
+
onBeforeRun?: (cmd: KeyDriverAnalysis) => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export declare const useKeyDriverAnalysis: ({ onSuccess, onError, onBeforeRun }?: UseKeyDriverAnalysisProps) => {
|
|
14
|
+
run: (drillDefinition: import("@gooddata/sdk-model").IKeyDriveAnalysis, drillEvent: import("../../../types.js").IDashboardDrillEvent, keyDriveItem: import("../../../model/index.js").DashboardKeyDriverCombinationItem, correlationId?: string | undefined) => void;
|
|
15
|
+
status?: import("../../../model/index.js").CommandProcessingStatus;
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=useKeyDriverAnalysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyDriverAnalysis.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/hooks/useKeyDriverAnalysis.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,sBAAsB,EACtB,iBAAiB,EAGpB,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IACrE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,IAAI,CAAC;CAClD;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,sCAAqC,yBAA8B;;;CASvG,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// (C) 2023-2025 GoodData Corporation
|
|
2
|
+
import { keyDriverAnalysis, useDashboardCommandProcessing, } from "../../../model/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export const useKeyDriverAnalysis = ({ onSuccess, onError, onBeforeRun } = {}) => {
|
|
7
|
+
return useDashboardCommandProcessing({
|
|
8
|
+
commandCreator: keyDriverAnalysis,
|
|
9
|
+
successEvent: "GDC.DASH/EVT.DRILL.KEY_DRIVER_ANALYSIS.RESOLVED",
|
|
10
|
+
errorEvent: "GDC.DASH/EVT.COMMAND.FAILED",
|
|
11
|
+
onSuccess,
|
|
12
|
+
onError,
|
|
13
|
+
onBeforeRun,
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=useKeyDriverAnalysis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyDriverAnalysis.js","sourceRoot":"","sources":["../../../../src/presentation/drill/hooks/useKeyDriverAnalysis.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAGH,iBAAiB,EACjB,6BAA6B,GAChC,MAAM,yBAAyB,CAAC;AAWjC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,KAAgC,EAAE,EAAE,EAAE;IACxG,OAAO,6BAA6B,CAAC;QACjC,cAAc,EAAE,iBAAiB;QACjC,YAAY,EAAE,iDAAiD;QAC/D,UAAU,EAAE,6BAA6B;QACzC,SAAS;QACT,OAAO;QACP,WAAW;KACd,CAAC,CAAC;AACP,CAAC,CAAC"}
|
|
@@ -15,6 +15,6 @@ export { useDrillToLegacyDashboard } from "./hooks/useDrillToLegacyDashboard.js"
|
|
|
15
15
|
export type { WithDrillSelectProps } from "./DrillSelect/WithDrillSelect.js";
|
|
16
16
|
export { WithDrillSelect } from "./DrillSelect/WithDrillSelect.js";
|
|
17
17
|
export type { IDrillSelectCloseBehavior } from "./DrillSelect/types.js";
|
|
18
|
-
export type { OnWidgetDrill, OnDashboardDrill, DrillStep, OnDrillDown, OnDrillToAttributeUrl, OnDrillToCustomUrl, OnDrillToDashboard, OnDrillToInsight, OnDashboardDrillError, OnDashboardDrillSuccess, OnDrillDownSuccess, OnDrillToAttributeUrlSuccess, OnDrillToCustomUrlSuccess, OnDrillToDashboardSuccess, OnDrillToInsightSuccess, OnDrillToLegacyDashboard, OnDrillToLegacyDashboardSuccess, IDrillToUrl, } from "./types.js";
|
|
18
|
+
export type { OnWidgetDrill, OnDashboardDrill, DrillStep, OnDrillDown, OnDrillToAttributeUrl, OnDrillToCustomUrl, OnDrillToDashboard, OnDrillToInsight, OnDashboardDrillError, OnDashboardDrillSuccess, OnDrillDownSuccess, OnDrillToAttributeUrlSuccess, OnDrillToCustomUrlSuccess, OnDrillToDashboardSuccess, OnDrillToInsightSuccess, OnDrillToLegacyDashboard, OnDrillToLegacyDashboardSuccess, OnKeyDriverAnalysis, OnKeyDriverAnalysisError, OnKeyDriverAnalysisSuccess, KeyDriveInfo, IDrillToUrl, } from "./types.js";
|
|
19
19
|
export { getDrillDownTitle } from "./utils/drillDownUtils.js";
|
|
20
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/presentation/drill/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/presentation/drill/index.ts"],"names":[],"mappings":"AAEA,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,YAAY,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,YAAY,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,YAAY,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,YAAY,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,YAAY,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,YAAY,EACR,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,kBAAkB,EAClB,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,EACxB,+BAA+B,EAC/B,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,YAAY,EACZ,WAAW,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/presentation/drill/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/presentation/drill/index.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAGrC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AA0BnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { IDrillToAttributeUrl, IDrillToCustomUrl, IDrillToInsight, IInsight, IListedDashboard, ObjRef } from "@gooddata/sdk-model";
|
|
1
|
+
import { IDrillToAttributeUrl, IDrillToCustomUrl, IDrillToInsight, IInsight, IKeyDriveAnalysis, IListedDashboard, ObjRef } from "@gooddata/sdk-model";
|
|
2
2
|
import { IAvailableDrillTargetMeasure, IAvailableDrillTargets } from "@gooddata/sdk-ui";
|
|
3
|
-
import {
|
|
3
|
+
import { IKdaDefinition } from "../../kdaDialog/index.js";
|
|
4
|
+
import { CrossFiltering, DashboardCommandFailed, DashboardCrossFilteringResolved, DashboardDrillCommand, DashboardDrillDownResolved, DashboardDrillResolved, DashboardDrillToAttributeUrlResolved, DashboardDrillToCustomUrlResolved, DashboardDrillToDashboardResolved, DashboardDrillToInsightResolved, DashboardDrillToLegacyDashboardResolved, DashboardKeyDriverAnalysisResolved, Drill, DrillDown, DrillToAttributeUrl, DrillToCustomUrl, DrillToDashboard, DrillToInsight, DrillToLegacyDashboard, KeyDriverAnalysis } from "../../model/index.js";
|
|
4
5
|
import { DashboardDrillContext, IDashboardDrillEvent, IDrillDownDefinition } from "../../types.js";
|
|
5
6
|
/**
|
|
6
7
|
* @alpha
|
|
@@ -86,6 +87,26 @@ export type OnCrossFilteringSuccess = (event: DashboardCrossFilteringResolved) =
|
|
|
86
87
|
* @internal
|
|
87
88
|
*/
|
|
88
89
|
export type OnCrossFilteringError = OnDashboardDrillError;
|
|
90
|
+
/**
|
|
91
|
+
* @internal
|
|
92
|
+
*/
|
|
93
|
+
export interface KeyDriveInfo {
|
|
94
|
+
readonly keyDriveDefinition: IKdaDefinition;
|
|
95
|
+
drillEvent: IDashboardDrillEvent;
|
|
96
|
+
drillDefinition: IKeyDriveAnalysis;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* @internal
|
|
100
|
+
*/
|
|
101
|
+
export type OnKeyDriverAnalysis = (cmd: KeyDriverAnalysis) => void;
|
|
102
|
+
/**
|
|
103
|
+
* @internal
|
|
104
|
+
*/
|
|
105
|
+
export type OnKeyDriverAnalysisSuccess = (event: DashboardKeyDriverAnalysisResolved) => void;
|
|
106
|
+
/**
|
|
107
|
+
* @internal
|
|
108
|
+
*/
|
|
109
|
+
export type OnKeyDriverAnalysisError = OnDashboardDrillError;
|
|
89
110
|
/**
|
|
90
111
|
* @internal
|
|
91
112
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/presentation/drill/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/presentation/drill/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/presentation/drill/types.ts"],"names":[],"mappings":"AAAA,qCAAqC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/presentation/drill/types.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAQH,qBAAqB,EACrB,kBAAkB,GACrB,MAAM,qBAAqB,CAAC;AAmK7B,MAAM,UAAU,YAAY,CAAC,eAAwB;IACjD,OAAO,kBAAkB,CAAC,eAAe,CAAC,IAAI,qBAAqB,CAAC,eAAe,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IACzB,4DAAuC,CAAA;IACvC,wDAAmC,CAAA;IACnC,6CAAwB,CAAA;IACxB,gDAA2B,CAAA;AAC/B,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B;AAmCD,MAAM,UAAU,wBAAwB,CAAC,IAAa;IAClD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAK,IAAgC,CAAC,SAAS,KAAK,SAAS,CAAC;AACvF,CAAC;AAQD,MAAM,UAAU,sBAAsB,CAAC,IAAa;IAChD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAK,IAA8B,CAAC,UAAU,KAAK,SAAS,CAAC;AACtF,CAAC;AAMD,MAAM,UAAU,wBAAwB,CAAC,IAAa;IAClD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAK,IAAgC,CAAC,SAAS,KAAK,SAAS,CAAC;AACvF,CAAC;AAOD,MAAM,UAAU,2BAA2B,CAAC,IAAa;IACrD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAK,IAAmC,CAAC,2BAA2B,KAAK,SAAS,CAAC;AAC5G,CAAC;AAUD,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC5C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAK,IAA0B,CAAC,cAAc,KAAK,SAAS,CAAC;AACtF,CAAC;AAYD,MAAM,UAAU,qCAAqC,CACjD,IAAa;IAEb,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAK,IAA2C,CAAC,qBAAqB,KAAK,SAAS,CAAC;AAC9G,CAAC;AAED,kFAAkF;AAClF,MAAM,CAAN,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAChC,kDAAsB,CAAA;IACtB,+CAAmB,CAAA;IACnB,uDAA2B,CAAA;IAC3B,yEAA6C,CAAA;IAC7C,2EAA+C,CAAA;AACnD,CAAC,EANW,wBAAwB,KAAxB,wBAAwB,QAMnC;AAkBD,MAAM,UAAU,6BAA6B,CAAC,GAAY;IACtD,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAK,GAAoC,CAAC,OAAO,KAAK,SAAS,CAAC;AACxF,CAAC;AAUD,MAAM,UAAU,yCAAyC,CACrD,IAAa;IAEb,OAAO,CACH,CAAC,OAAO,CAAC,IAAI,CAAC,IAAK,IAA+C,CAAC,qBAAqB,KAAK,SAAS,CACzG,CAAC;AACN,CAAC"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { IntlShape } from "react-intl";
|
|
2
|
-
import { IKeyDriveAnalysis
|
|
2
|
+
import { IKeyDriveAnalysis } from "@gooddata/sdk-model";
|
|
3
3
|
import { IDrillEvent } from "@gooddata/sdk-ui";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
import { DashboardKeyDriverCombinationItem } from "../../../model/index.js";
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare function getKdaKeyDriverCombinations(drillDefinition: IKeyDriveAnalysis, drillEvent: IDrillEvent): DashboardKeyDriverCombinationItem[];
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare function getKeyDriverCombinationItemTitle(intl: IntlShape, item: DashboardKeyDriverCombinationItem): string;
|
|
12
13
|
//# sourceMappingURL=kdaUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kdaUtils.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/utils/kdaUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,
|
|
1
|
+
{"version":3,"file":"kdaUtils.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/utils/kdaUtils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAGH,iBAAiB,EAIpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGH,WAAW,EAGd,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AAE5E;;GAEG;AACH,wBAAgB,2BAA2B,CACvC,eAAe,EAAE,iBAAiB,EAClC,UAAU,EAAE,WAAW,GACxB,iCAAiC,EAAE,CA2BrC;AAiED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,iCAAiC,UAsCxG"}
|
|
@@ -3,6 +3,9 @@ import { isEqualWith } from "lodash-es";
|
|
|
3
3
|
import { isMeasureDescriptor, } from "@gooddata/sdk-model";
|
|
4
4
|
import { DataViewFacade, isDrillIntersectionAttributeItem, } from "@gooddata/sdk-ui";
|
|
5
5
|
import { getDrillOriginLocalIdentifier } from "../../../_staging/drills/drillingUtils.js";
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
6
9
|
export function getKdaKeyDriverCombinations(drillDefinition, drillEvent) {
|
|
7
10
|
const dv = DataViewFacade.for(drillEvent.dataView);
|
|
8
11
|
const { attributeHeader, metricHeader } = findHeadersCombinations(drillDefinition, drillEvent);
|
|
@@ -13,52 +16,87 @@ export function getKdaKeyDriverCombinations(drillDefinition, drillEvent) {
|
|
|
13
16
|
const dateAttribute = findDateValues(dv, attributeHeader);
|
|
14
17
|
const metricValue = findMetricValues(dv, metricHeader, dateAttribute.dims);
|
|
15
18
|
const res = [];
|
|
19
|
+
// There is a previous value in graph
|
|
20
|
+
const before = createBefore(dateAttribute, metricValue);
|
|
21
|
+
res.push(...(before ? [before] : []));
|
|
22
|
+
// There is a next value in graph
|
|
23
|
+
const after = createAfter(dateAttribute, metricValue);
|
|
24
|
+
res.push(...(after ? [after] : []));
|
|
25
|
+
// There is a previous year value in graph
|
|
26
|
+
const year = createYearToYear(dv, metricHeader, dateAttribute, metricValue);
|
|
27
|
+
res.push(...(year ? [year] : []));
|
|
28
|
+
return res;
|
|
29
|
+
}
|
|
30
|
+
function createBefore(dateAttribute, metricValue) {
|
|
16
31
|
if (dateAttribute.previousValue && metricValue.previousValue) {
|
|
17
|
-
|
|
32
|
+
const currentValue = metricValue.currentValue.rawValue;
|
|
33
|
+
const previousValue = metricValue.previousValue.rawValue;
|
|
34
|
+
return {
|
|
18
35
|
where: "before",
|
|
19
|
-
difference:
|
|
20
|
-
metricValue.previousValue.rawValue,
|
|
36
|
+
difference: currentValue - previousValue,
|
|
21
37
|
type: "comparative",
|
|
22
|
-
|
|
23
|
-
|
|
38
|
+
values: [previousValue, currentValue],
|
|
39
|
+
range: [dateAttribute.previousValue, dateAttribute.currentValue],
|
|
40
|
+
};
|
|
24
41
|
}
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
function createAfter(dateAttribute, metricValue) {
|
|
25
45
|
if (dateAttribute.nextValue && metricValue.nextValue) {
|
|
26
|
-
|
|
46
|
+
const currentValue = metricValue.currentValue.rawValue;
|
|
47
|
+
const nextValue = metricValue.nextValue.rawValue;
|
|
48
|
+
return {
|
|
27
49
|
where: "after",
|
|
28
|
-
difference:
|
|
50
|
+
difference: nextValue - currentValue,
|
|
29
51
|
type: "comparative",
|
|
30
|
-
|
|
31
|
-
|
|
52
|
+
values: [currentValue, nextValue],
|
|
53
|
+
range: [dateAttribute.currentValue, dateAttribute.nextValue],
|
|
54
|
+
};
|
|
32
55
|
}
|
|
33
|
-
|
|
34
|
-
where: "none",
|
|
35
|
-
difference: 0,
|
|
36
|
-
type: "year-to-year",
|
|
37
|
-
date: dateAttribute.currentValue,
|
|
38
|
-
});
|
|
39
|
-
return res;
|
|
56
|
+
return undefined;
|
|
40
57
|
}
|
|
58
|
+
function createYearToYear(dv, metric, dateAttribute, metricValue) {
|
|
59
|
+
const values = dateAttribute.values;
|
|
60
|
+
const previousYear = findValuePreviousYear(dateAttribute.currentValue);
|
|
61
|
+
const previousYearMetricValue = findMetricPreviousYearValue(dv, metric, values, previousYear);
|
|
62
|
+
if (previousYear && previousYearMetricValue && metricValue) {
|
|
63
|
+
const previousValue = previousYearMetricValue.rawValue;
|
|
64
|
+
const currentValue = metricValue.currentValue.rawValue;
|
|
65
|
+
return {
|
|
66
|
+
where: "none",
|
|
67
|
+
difference: previousValue - currentValue,
|
|
68
|
+
type: "year-to-year",
|
|
69
|
+
values: [previousValue, currentValue],
|
|
70
|
+
range: [previousYear, dateAttribute.currentValue],
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* @internal
|
|
77
|
+
*/
|
|
41
78
|
export function getKeyDriverCombinationItemTitle(intl, item) {
|
|
42
79
|
switch (item.type) {
|
|
43
80
|
case "comparative": {
|
|
44
81
|
const where = item.where === "before"
|
|
45
82
|
? intl.formatMessage({ id: "drill.kda.from" })
|
|
46
83
|
: intl.formatMessage({ id: "drill.kda.in" });
|
|
84
|
+
const date = item.where === "before" ? item.range[0] : item.range[1];
|
|
47
85
|
if (item.difference < 0) {
|
|
48
86
|
return intl.formatMessage({ id: "drill.kda.drop" }, {
|
|
49
87
|
where,
|
|
50
|
-
title:
|
|
88
|
+
title: date.attributeHeaderItem.formattedName,
|
|
51
89
|
});
|
|
52
90
|
}
|
|
53
91
|
if (item.difference > 0) {
|
|
54
92
|
return intl.formatMessage({ id: "drill.kda.increase" }, {
|
|
55
93
|
where,
|
|
56
|
-
title:
|
|
94
|
+
title: date.attributeHeaderItem.formattedName,
|
|
57
95
|
});
|
|
58
96
|
}
|
|
59
97
|
return intl.formatMessage({ id: "drill.kda.no_change" }, {
|
|
60
98
|
where,
|
|
61
|
-
title:
|
|
99
|
+
title: date.attributeHeaderItem.formattedName,
|
|
62
100
|
});
|
|
63
101
|
}
|
|
64
102
|
case "year-to-year":
|
|
@@ -96,16 +134,26 @@ function findDateValues(dv, attributeHeader) {
|
|
|
96
134
|
}
|
|
97
135
|
return prev;
|
|
98
136
|
}, [-1, -1, -1]);
|
|
99
|
-
const
|
|
100
|
-
const
|
|
101
|
-
const
|
|
137
|
+
const values = headers[dims[0]][dims[1]];
|
|
138
|
+
const previousValue = getAttributeHeader(attributeHeader.attributeHeader, values[dims[2] - 1]);
|
|
139
|
+
const currentValue = attributeHeader;
|
|
140
|
+
const nextValue = getAttributeHeader(attributeHeader.attributeHeader, values[dims[2] + 1]);
|
|
102
141
|
return {
|
|
142
|
+
values,
|
|
103
143
|
previousValue,
|
|
104
144
|
currentValue,
|
|
105
145
|
nextValue,
|
|
106
146
|
dims,
|
|
107
147
|
};
|
|
108
148
|
}
|
|
149
|
+
function getAttributeHeader(attributeHeader, header) {
|
|
150
|
+
return header
|
|
151
|
+
? {
|
|
152
|
+
...header,
|
|
153
|
+
attributeHeader,
|
|
154
|
+
}
|
|
155
|
+
: undefined;
|
|
156
|
+
}
|
|
109
157
|
function findMetricValues(dv, metricHeader, dims) {
|
|
110
158
|
const localId = metricHeader.measureHeaderItem.localIdentifier;
|
|
111
159
|
const data = Array.from(dv.data().series().allForMeasure(localId))[0].dataPoints();
|
|
@@ -118,4 +166,28 @@ function findMetricValues(dv, metricHeader, dims) {
|
|
|
118
166
|
nextValue,
|
|
119
167
|
};
|
|
120
168
|
}
|
|
169
|
+
function findMetricPreviousYearValue(dv, metricHeader, values, previousYear) {
|
|
170
|
+
if (!previousYear) {
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
const localId = metricHeader.measureHeaderItem.localIdentifier;
|
|
174
|
+
const data = Array.from(dv.data().series().allForMeasure(localId))[0].dataPoints();
|
|
175
|
+
const prevYearIndex = values.findIndex((v) => v.attributeHeaderItem.normalizedValue === previousYear.attributeHeaderItem.normalizedValue);
|
|
176
|
+
return data[prevYearIndex] ?? null;
|
|
177
|
+
}
|
|
178
|
+
function findValuePreviousYear(current) {
|
|
179
|
+
const value = current.attributeHeaderItem.normalizedValue;
|
|
180
|
+
if (!value) {
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
const date = new Date(value);
|
|
184
|
+
date.setFullYear(date.getFullYear() - 1);
|
|
185
|
+
return {
|
|
186
|
+
...current,
|
|
187
|
+
attributeHeaderItem: {
|
|
188
|
+
...current.attributeHeaderItem,
|
|
189
|
+
normalizedValue: date.toISOString(),
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
}
|
|
121
193
|
//# sourceMappingURL=kdaUtils.js.map
|