@gooddata/sdk-ui-dashboard 11.4.0-alpha.3 → 11.4.0
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 +1 -1
- package/esm/__version.d.ts +1 -1
- package/esm/__version.d.ts.map +1 -1
- package/esm/__version.js +1 -1
- package/esm/__version.js.map +1 -1
- package/esm/model/store/config/configSelectors.d.ts +12 -0
- package/esm/model/store/config/configSelectors.d.ts.map +1 -1
- package/esm/model/store/config/configSelectors.js +17 -0
- package/esm/model/store/config/configSelectors.js.map +1 -1
- package/esm/model/store/meta/metaSelectors.d.ts +6 -0
- package/esm/model/store/meta/metaSelectors.d.ts.map +1 -1
- package/esm/model/store/meta/metaSelectors.js +9 -0
- package/esm/model/store/meta/metaSelectors.js.map +1 -1
- package/esm/model/store/widgetDrills/widgetDrillSelectors.d.ts.map +1 -1
- package/esm/model/store/widgetDrills/widgetDrillSelectors.js +41 -4
- package/esm/model/store/widgetDrills/widgetDrillSelectors.js.map +1 -1
- package/esm/presentation/automationFilters/useAutomationFilters.js +2 -2
- package/esm/presentation/automationFilters/useAutomationFilters.js.map +1 -1
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.d.ts +1 -1
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.d.ts.map +1 -1
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.js +33 -9
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdown.js.map +1 -1
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.d.ts.map +1 -1
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.js +1 -0
- package/esm/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.js.map +1 -1
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.d.ts.map +1 -1
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.js +25 -5
- package/esm/presentation/drill/DrillSelect/WithDrillSelect.js.map +1 -1
- package/esm/presentation/drill/DrillSelect/types.d.ts +3 -1
- package/esm/presentation/drill/DrillSelect/types.d.ts.map +1 -1
- package/esm/presentation/drill/DrillSelect/types.js +2 -0
- package/esm/presentation/drill/DrillSelect/types.js.map +1 -1
- package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.d.ts +4 -2
- package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.d.ts.map +1 -1
- package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.js +15 -4
- package/esm/presentation/drill/hooks/useDrillSelectDropdownMenuItems.js.map +1 -1
- package/esm/presentation/drill/utils/kdaUtils.d.ts +12 -0
- package/esm/presentation/drill/utils/kdaUtils.d.ts.map +1 -0
- package/esm/presentation/drill/utils/kdaUtils.js +121 -0
- package/esm/presentation/drill/utils/kdaUtils.js.map +1 -0
- package/esm/presentation/localization/bundles/en-US.json +28 -0
- package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +7 -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 +8 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js.map +1 -1
- package/package.json +17 -18
- package/styles/css/main.css +4 -2
- package/styles/css/main.css.map +1 -1
|
@@ -2,10 +2,10 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
// (C) 2020-2025 GoodData Corporation
|
|
3
3
|
import { useCallback, useEffect, useMemo, useRef } from "react";
|
|
4
4
|
import stringify from "json-stable-stringify";
|
|
5
|
-
import { compact,
|
|
5
|
+
import { compact, groupBy } from "lodash-es";
|
|
6
6
|
import { useIntl } from "react-intl";
|
|
7
7
|
import { invariant } from "ts-invariant";
|
|
8
|
-
import { insightTitle, isAttributeDescriptor, isCrossFiltering, isDrillFromAttribute, isDrillToDashboard, isDrillToInsight, isDrillToLegacyDashboard, isIdentifierRef, } from "@gooddata/sdk-model";
|
|
8
|
+
import { insightTitle, isAttributeDescriptor, isCrossFiltering, isDrillFromAttribute, isDrillToDashboard, isDrillToInsight, isDrillToLegacyDashboard, isIdentifierRef, isKeyDriveAnalysis, } from "@gooddata/sdk-model";
|
|
9
9
|
import { UnexpectedSdkError } from "@gooddata/sdk-ui";
|
|
10
10
|
import { Overlay, UiFocusManager, UiMenu } from "@gooddata/sdk-ui-kit";
|
|
11
11
|
import { DrillSelectDropdownMenuItem } from "./DrillSelectDropdownMenuItem.js";
|
|
@@ -17,6 +17,7 @@ import { useDrillSelectDropdownMenuItems } from "../hooks/useDrillSelectDropdown
|
|
|
17
17
|
import { isDrillToUrl } from "../types.js";
|
|
18
18
|
import { dashboardMatch } from "../utils/dashboardPredicate.js";
|
|
19
19
|
import { getDrillDownTitle, getDrillOriginAttributeElementTitle, getTotalDrillToUrlCount, } from "../utils/drillDownUtils.js";
|
|
20
|
+
import { getKdaKeyDriverCombinations, getKeyDriverCombinationItemTitle } from "../utils/kdaUtils.js";
|
|
20
21
|
export function DrillSelectDropdown({ isOpen, dropDownAnchorClass, onClose, onSelect, drillDefinitions, drillEvent, }) {
|
|
21
22
|
const intl = useIntl();
|
|
22
23
|
const dashboardList = useDashboardSelector(selectAccessibleDashboards);
|
|
@@ -80,18 +81,29 @@ export function DrillSelectDropdown({ isOpen, dropDownAnchorClass, onClose, onSe
|
|
|
80
81
|
widget,
|
|
81
82
|
attributeDisplayForms,
|
|
82
83
|
]);
|
|
83
|
-
const
|
|
84
|
-
|
|
84
|
+
const grouped = groupBy(drillSelectItems, (item) => {
|
|
85
|
+
if (isDrillDownDefinition(item.drillDefinition)) {
|
|
86
|
+
return "drillDown";
|
|
87
|
+
}
|
|
88
|
+
if (isCrossFiltering(item.drillDefinition)) {
|
|
89
|
+
return "crossFiltering";
|
|
90
|
+
}
|
|
91
|
+
if (isKeyDriveAnalysis(item.drillDefinition)) {
|
|
92
|
+
return "keyDriverAnalysis";
|
|
93
|
+
}
|
|
94
|
+
return "drill";
|
|
95
|
+
});
|
|
85
96
|
const menuItems = useDrillSelectDropdownMenuItems({
|
|
86
|
-
drillDownItems,
|
|
87
|
-
|
|
88
|
-
|
|
97
|
+
drillDownItems: grouped["drillDown"] ?? [],
|
|
98
|
+
crossFilteringItems: grouped["crossFiltering"] ?? [],
|
|
99
|
+
keyDriverAnalysisItems: grouped["keyDriverAnalysis"] ?? [],
|
|
100
|
+
drillItems: grouped["drill"] ?? [],
|
|
89
101
|
onSelect,
|
|
90
102
|
});
|
|
91
103
|
if (!isOpen) {
|
|
92
104
|
return null;
|
|
93
105
|
}
|
|
94
|
-
return (_jsx("div", { className: "gd-drill-modal-picker-overlay-mask", children: _jsx(Overlay, { closeOnOutsideClick: true, closeOnEscape: true, alignTo: `.${dropDownAnchorClass}`, onClose: onClose, children: _jsx(UiFocusManager, { enableFocusTrap: true, enableAutofocus: true, enableReturnFocusOnUnmount: true, children: _jsx("div", { onScroll: stopPropagation, className: "gd-drill-modal-picker-dropdown s-drill-item-selector-dropdown", children: _jsx(UiMenu, { items: menuItems, onSelect: (item) => onSelect(item.data.drillDefinition), shouldCloseOnSelect: false, onClose: onClose, onUnhandledKeyDown: handleKeyDown, maxHeight: 160, containerBottomPadding: "medium", ariaAttributes: {
|
|
106
|
+
return (_jsx("div", { className: "gd-drill-modal-picker-overlay-mask", children: _jsx(Overlay, { closeOnOutsideClick: true, closeOnEscape: true, alignTo: `.${dropDownAnchorClass}`, onClose: onClose, children: _jsx(UiFocusManager, { enableFocusTrap: true, enableAutofocus: true, enableReturnFocusOnUnmount: true, children: _jsx("div", { onScroll: stopPropagation, className: "gd-drill-modal-picker-dropdown s-drill-item-selector-dropdown", children: _jsx(UiMenu, { items: menuItems, onSelect: (item) => onSelect(item.data.drillDefinition, item.data.context), shouldCloseOnSelect: false, onClose: onClose, onUnhandledKeyDown: handleKeyDown, maxHeight: 160, containerBottomPadding: "medium", ariaAttributes: {
|
|
95
107
|
id: "drill-select-menu",
|
|
96
108
|
"aria-label": intl.formatMessage({ id: "drill_modal_picker.label" }),
|
|
97
109
|
}, InteractiveItem: DrillSelectDropdownMenuItem }) }) }) }) }));
|
|
@@ -102,7 +114,7 @@ const getDashboardTitle = (dashboardRef, dashboardList) => {
|
|
|
102
114
|
};
|
|
103
115
|
export const createDrillSelectItems = ({ drillDefinitions, drillEvent, insights, dashboardList, dashboardTitle, intl, widget, attributeDisplayForms, }) => {
|
|
104
116
|
const totalDrillToUrls = getTotalDrillToUrlCount(drillDefinitions);
|
|
105
|
-
return drillDefinitions.
|
|
117
|
+
return drillDefinitions.flatMap((drillDefinition) => {
|
|
106
118
|
invariant(!isDrillToLegacyDashboard(drillDefinition), "Drill to pixel perfect dashboards from insight is not supported.");
|
|
107
119
|
if (isDrillDownDefinition(drillDefinition)) {
|
|
108
120
|
const { title: drillTitle } = drillDefinition;
|
|
@@ -163,6 +175,18 @@ export const createDrillSelectItems = ({ drillDefinitions, drillEvent, insights,
|
|
|
163
175
|
id: stringify(drillDefinition) || "undefined",
|
|
164
176
|
};
|
|
165
177
|
}
|
|
178
|
+
if (isKeyDriveAnalysis(drillDefinition)) {
|
|
179
|
+
const items = getKdaKeyDriverCombinations(drillDefinition, drillEvent);
|
|
180
|
+
return items.map((item) => {
|
|
181
|
+
return {
|
|
182
|
+
name: getKeyDriverCombinationItemTitle(intl, item),
|
|
183
|
+
type: DrillType.KEY_DRIVER_ANALYSIS,
|
|
184
|
+
drillDefinition,
|
|
185
|
+
id: stringify(drillDefinition) || "undefined",
|
|
186
|
+
context: item,
|
|
187
|
+
};
|
|
188
|
+
});
|
|
189
|
+
}
|
|
166
190
|
const unhandledDefinition = drillDefinition;
|
|
167
191
|
throw new UnexpectedSdkError(`Unhandled drill definition: ${JSON.stringify(unhandledDefinition)}`);
|
|
168
192
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrillSelectDropdown.js","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/DrillSelectDropdown.tsx"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,OAAO,EAA0B,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAExF,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"DrillSelectDropdown.js","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/DrillSelectDropdown.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrillSelectDropdownMenuItem.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,2BAA2B,EAAoB,MAAM,sBAAsB,CAAC;AAGrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"DrillSelectDropdownMenuItem.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,2BAA2B,EAAoB,MAAM,sBAAsB,CAAC;AAGrF,OAAO,EAAE,gCAAgC,EAAE,MAAM,6CAA6C,CAAC;AAW/F,wBAAgB,2BAA2B,CAAC,EACxC,IAAI,EAAE,EACF,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,GACjD,GACJ,EAAE,2BAA2B,CAAC,gCAAgC,CAAC,2CA8C/D"}
|
|
@@ -9,6 +9,7 @@ const DRILL_ICON_NAME = {
|
|
|
9
9
|
[DrillType.DRILL_TO_URL]: "link",
|
|
10
10
|
[DrillType.DRILL_DOWN]: "trendDown",
|
|
11
11
|
[DrillType.CROSS_FILTERING]: "filter",
|
|
12
|
+
[DrillType.KEY_DRIVER_ANALYSIS]: "explainai",
|
|
12
13
|
};
|
|
13
14
|
export function DrillSelectDropdownMenuItem({ item: { data: { type, name, attributeValue, onSelect }, }, }) {
|
|
14
15
|
const renderLoading = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrillSelectDropdownMenuItem.js","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyC,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,eAAe,GAAgC;IACjD,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,SAAS;IACzC,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,SAAS;IACvC,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM;IAChC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,WAAW;IACnC,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"DrillSelectDropdownMenuItem.js","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/DrillSelectDropdownMenuItem.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAyC,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,MAAM,eAAe,GAAgC;IACjD,CAAC,SAAS,CAAC,kBAAkB,CAAC,EAAE,SAAS;IACzC,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,SAAS;IACvC,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM;IAChC,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,WAAW;IACnC,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,QAAQ;IACrC,CAAC,SAAS,CAAC,mBAAmB,CAAC,EAAE,WAAW;CAC/C,CAAC;AAEF,MAAM,UAAU,2BAA2B,CAAC,EACxC,IAAI,EAAE,EACF,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,GACjD,GAC2D;IAC5D,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,OAAO,CACH,cAAK,SAAS,EAAC,0DAA0D,YACrE,cAAK,SAAS,EAAC,kBAAkB,GAAG,GAClC,CACT,CAAC;IACN,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,CAAiB,EAAE,EAAE;QAClC,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,QAAQ,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,EAAE,CACpB,iCAAiC,EACjC,8BAA8B,EAC9B,KAAK,IAAI,EAAE,EACX,EAAE,CACL,CAAC;IAEF,MAAM,mBAAmB,GAAG,IAAI,KAAK,SAAS,CAAC,gBAAgB,IAAI,IAAI,KAAK,SAAS,CAAC,UAAU,CAAC;IAEjG,uEAAuE;IACvE,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAExD,OAAO,CACH,kBACI,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,aAAa,EACxB,KAAK,EAAE,KAAK,mBACG,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,aAEzD,cAAK,SAAS,EAAC,oCAAoC,YAC/C,KAAC,MAAM,IAAC,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAC,iBAAiB,EAAC,UAAU,SAAG,GAClF,EACL,IAAI,CAAC,CAAC,CAAC,CACJ,wBACK,IAAI,EACJ,cAAc,CAAC,CAAC,CAAC,sCAAc,cAAc,SAAS,CAAC,CAAC,CAAC,IAAI,IAC9D,CACP,CAAC,CAAC,CAAC,CACA,aAAa,EAAE,CAClB,IACI,CACZ,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithDrillSelect.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/WithDrillSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAiC,MAAM,OAAO,CAAC;AAKpE,OAAO,EACH,QAAQ,EACR,MAAM,
|
|
1
|
+
{"version":3,"file":"WithDrillSelect.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/WithDrillSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAiC,MAAM,OAAO,CAAC;AAKpE,OAAO,EACH,QAAQ,EACR,MAAM,EAOT,MAAM,qBAAqB,CAAC;AAI7B,OAAO,EAAsB,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAkB3E,OAAO,EACH,kBAAkB,EAClB,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,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,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,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,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,yBAAyB,EACzB,OAAO,GACV,EAAE,oBAAoB,GAAG,YAAY,CAiIrC"}
|
|
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
3
3
|
import { useCallback, useRef, useState } from "react";
|
|
4
4
|
import cx from "classnames";
|
|
5
5
|
import { v4 as uuid } from "uuid";
|
|
6
|
-
import { isCrossFiltering, isDrillToAttributeUrl, isDrillToCustomUrl, isDrillToDashboard, isDrillToInsight, } from "@gooddata/sdk-model";
|
|
6
|
+
import { isCrossFiltering, isDrillToAttributeUrl, isDrillToCustomUrl, isDrillToDashboard, isDrillToInsight, isKeyDriveAnalysis, } from "@gooddata/sdk-model";
|
|
7
7
|
import { useAutoupdateRef } from "@gooddata/sdk-ui";
|
|
8
8
|
import { DrillSelectDropdown } from "./DrillSelectDropdown.js";
|
|
9
9
|
import { selectBackendCapabilities, selectDisableDefaultDrills, selectLocale, selectWidgetDrills, useDashboardSelector, } from "../../../model/index.js";
|
|
@@ -33,10 +33,11 @@ export function WithDrillSelect({ widgetRef, children, insight, closeBehavior, o
|
|
|
33
33
|
const validDrillDefinitions = supportsAttributeHierarchies
|
|
34
34
|
? drillDefinitions
|
|
35
35
|
: filterDrillFromAttributeByPriority(drillDefinitions, configuredDrills);
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
const type = getDrillDefinitionType(validDrillDefinitions);
|
|
37
|
+
if (type === "single") {
|
|
38
|
+
onSelect(validDrillDefinitions[0], undefined, drillEvent, s.correlationId, context);
|
|
38
39
|
}
|
|
39
|
-
else if (
|
|
40
|
+
else if (type === "multiple") {
|
|
40
41
|
setDropdownProps({
|
|
41
42
|
drillDefinitions: validDrillDefinitions,
|
|
42
43
|
drillEvent: drillEvent,
|
|
@@ -59,7 +60,7 @@ export function WithDrillSelect({ widgetRef, children, insight, closeBehavior, o
|
|
|
59
60
|
insight,
|
|
60
61
|
closeBehavior,
|
|
61
62
|
});
|
|
62
|
-
const onSelect = useCallback((drillDefinition, drillEvent, correlationId, drillContext) => {
|
|
63
|
+
const onSelect = useCallback((drillDefinition, _context, drillEvent, correlationId, drillContext) => {
|
|
63
64
|
const { drills, dropdownProps, insight, closeBehavior } = onSelectDepsRef.current;
|
|
64
65
|
const effectiveDrillEvent = drillEvent ?? dropdownProps?.drillEvent;
|
|
65
66
|
const effectiveCorrelationId = correlationId ?? dropdownProps?.correlationId;
|
|
@@ -83,6 +84,9 @@ export function WithDrillSelect({ widgetRef, children, insight, closeBehavior, o
|
|
|
83
84
|
else if (isCrossFiltering(drillDefinition)) {
|
|
84
85
|
drills.crossFiltering.run(insight, drillDefinition, effectiveDrillEvent, effectiveCorrelationId);
|
|
85
86
|
}
|
|
87
|
+
else if (isKeyDriveAnalysis(drillDefinition)) {
|
|
88
|
+
//TODO: Run kda analysis dialog
|
|
89
|
+
}
|
|
86
90
|
if (closeBehavior === "closeOnSelect") {
|
|
87
91
|
setIsOpen(false);
|
|
88
92
|
}
|
|
@@ -98,4 +102,20 @@ export function WithDrillSelect({ widgetRef, children, insight, closeBehavior, o
|
|
|
98
102
|
const drillDownDropdown = dropdownProps ? (_jsx(IntlWrapper, { locale: locale, children: _jsx(DrillSelectDropdown, { ...dropdownProps, dropDownAnchorClass: dropDownAnchorClass, isOpen: isOpen, onClose: handleClose, onSelect: onSelect }) })) : null;
|
|
99
103
|
return (_jsxs("div", { className: cx("gd-drill-modal-wrapper-mask", dropDownAnchorClass), children: [children({ onDrill: drills.drill.run }), drillDownDropdown] }));
|
|
100
104
|
}
|
|
105
|
+
function getDrillDefinitionType(validDrillDefinitions) {
|
|
106
|
+
if (validDrillDefinitions.length === 1) {
|
|
107
|
+
const firstDrillDefinition = validDrillDefinitions[0];
|
|
108
|
+
//NOTE: Key drive analysis has always items to choose
|
|
109
|
+
if (firstDrillDefinition.type === "keyDriveAnalysis") {
|
|
110
|
+
return "multiple";
|
|
111
|
+
}
|
|
112
|
+
return "single";
|
|
113
|
+
}
|
|
114
|
+
else if (validDrillDefinitions.length > 1) {
|
|
115
|
+
return "multiple";
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
return "none";
|
|
119
|
+
}
|
|
120
|
+
}
|
|
101
121
|
//# sourceMappingURL=WithDrillSelect.js.map
|
|
@@ -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;AAEpE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAGH,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"WithDrillSelect.js","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/WithDrillSelect.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@ export declare enum DrillType {
|
|
|
8
8
|
DRILL_TO_INSIGHT = "drill-to-insight",
|
|
9
9
|
DRILL_TO_URL = "drill-to-url",
|
|
10
10
|
DRILL_DOWN = "drill-down",
|
|
11
|
-
CROSS_FILTERING = "cross-filtering"
|
|
11
|
+
CROSS_FILTERING = "cross-filtering",
|
|
12
|
+
KEY_DRIVER_ANALYSIS = "key-driver-analysis"
|
|
12
13
|
}
|
|
13
14
|
export interface DrillSelectItem {
|
|
14
15
|
type: DrillType;
|
|
@@ -16,6 +17,7 @@ export interface DrillSelectItem {
|
|
|
16
17
|
name: string;
|
|
17
18
|
drillDefinition: DashboardDrillDefinition;
|
|
18
19
|
attributeValue?: string | null;
|
|
20
|
+
context?: unknown;
|
|
19
21
|
}
|
|
20
22
|
export interface DrillSelectContext {
|
|
21
23
|
drillDefinitions: DashboardDrillDefinition[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/types.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAEhG,OAAO,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE1G;;GAEG;AACH,oBAAY,SAAS;IACjB,kBAAkB,uBAAuB;IACzC,gBAAgB,qBAAqB;IACrC,YAAY,iBAAiB;IAC7B,UAAU,eAAe;IACzB,eAAe,oBAAoB;IACnC,mBAAmB,wBAAwB;CAC9C;AAED,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,wBAAwB,CAAC;IAC1C,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAC/B,gBAAgB,EAAE,wBAAwB,EAAE,CAAC;IAC7C,UAAU,EAAE,oBAAoB,CAAC;IACjC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,yBAAyB,GAAG,8BAA8B,GAAG,4BAA4B,CAAC;AAEtG;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,eAAe,GAAG,cAAc,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// (C) 2021-2025 GoodData Corporation
|
|
1
2
|
/**
|
|
2
3
|
* These types are also used as s-classes for testing e.g. .s-drill-to-dashboard
|
|
3
4
|
*/
|
|
@@ -8,5 +9,6 @@ export var DrillType;
|
|
|
8
9
|
DrillType["DRILL_TO_URL"] = "drill-to-url";
|
|
9
10
|
DrillType["DRILL_DOWN"] = "drill-down";
|
|
10
11
|
DrillType["CROSS_FILTERING"] = "cross-filtering";
|
|
12
|
+
DrillType["KEY_DRIVER_ANALYSIS"] = "key-driver-analysis";
|
|
11
13
|
})(DrillType || (DrillType = {}));
|
|
12
14
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/presentation/drill/DrillSelect/types.ts"],"names":[],"mappings":"AAAA,qCAAqC;AAMrC;;GAEG;AACH,MAAM,CAAN,IAAY,SAOX;AAPD,WAAY,SAAS;IACjB,sDAAyC,CAAA;IACzC,kDAAqC,CAAA;IACrC,0CAA6B,CAAA;IAC7B,sCAAyB,CAAA;IACzB,gDAAmC,CAAA;IACnC,wDAA2C,CAAA;AAC/C,CAAC,EAPW,SAAS,KAAT,SAAS,QAOpB"}
|
|
@@ -6,15 +6,17 @@ export interface IDrillSelectDropdownMenuItemData {
|
|
|
6
6
|
type: DrillType;
|
|
7
7
|
name: string;
|
|
8
8
|
drillDefinition: DashboardDrillDefinition;
|
|
9
|
+
context?: unknown;
|
|
9
10
|
attributeValue?: string | null;
|
|
10
11
|
onSelect: () => void;
|
|
11
12
|
};
|
|
12
13
|
}
|
|
13
14
|
export type IMenuInteractiveItem = IUiMenuItem<IDrillSelectDropdownMenuItemData>;
|
|
14
|
-
export declare const useDrillSelectDropdownMenuItems: ({ drillDownItems, drillItems, crossFilteringItems, onSelect, }: {
|
|
15
|
+
export declare const useDrillSelectDropdownMenuItems: ({ drillDownItems, drillItems, crossFilteringItems, keyDriverAnalysisItems, onSelect, }: {
|
|
15
16
|
drillDownItems: DrillSelectItem[];
|
|
16
17
|
drillItems: DrillSelectItem[];
|
|
17
18
|
crossFilteringItems: DrillSelectItem[];
|
|
18
|
-
|
|
19
|
+
keyDriverAnalysisItems: DrillSelectItem[];
|
|
20
|
+
onSelect: (item: DashboardDrillDefinition, context: unknown) => void;
|
|
19
21
|
}) => IMenuInteractiveItem[];
|
|
20
22
|
//# sourceMappingURL=useDrillSelectDropdownMenuItems.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDrillSelectDropdownMenuItems.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/hooks/useDrillSelectDropdownMenuItems.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"useDrillSelectDropdownMenuItems.d.ts","sourceRoot":"","sources":["../../../../src/presentation/drill/hooks/useDrillSelectDropdownMenuItems.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AASrE,MAAM,WAAW,gCAAgC;IAC7C,WAAW,EAAE;QACT,IAAI,EAAE,SAAS,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,eAAe,EAAE,wBAAwB,CAAC;QAC1C,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,QAAQ,EAAE,MAAM,IAAI,CAAC;KACxB,CAAC;CACL;AAED,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAEjF,eAAO,MAAM,+BAA+B,GAAI,wFAM7C;IACC,cAAc,EAAE,eAAe,EAAE,CAAC;IAClC,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,mBAAmB,EAAE,eAAe,EAAE,CAAC;IACvC,sBAAsB,EAAE,eAAe,EAAE,CAAC;IAC1C,QAAQ,EAAE,CAAC,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACxE,KAAG,oBAAoB,EA4DvB,CAAC"}
|
|
@@ -5,8 +5,9 @@ const groupMenuItemMessages = defineMessages({
|
|
|
5
5
|
drillDown: { id: "drill_modal_picker.drill-down" },
|
|
6
6
|
drillInto: { id: "drill_modal_picker.drill-into" },
|
|
7
7
|
crossFilter: { id: "drill_modal_picker.cross-filter" },
|
|
8
|
+
keyDriverAnalysis: { id: "drill_modal_picker.key-driver-analysis" },
|
|
8
9
|
});
|
|
9
|
-
export const useDrillSelectDropdownMenuItems = ({ drillDownItems, drillItems, crossFilteringItems, onSelect, }) => {
|
|
10
|
+
export const useDrillSelectDropdownMenuItems = ({ drillDownItems, drillItems, crossFilteringItems, keyDriverAnalysisItems, onSelect, }) => {
|
|
10
11
|
const { formatMessage } = useIntl();
|
|
11
12
|
return useMemo(() => {
|
|
12
13
|
const createMenuGroup = (items, groupId, groupTitle) => ({
|
|
@@ -23,7 +24,7 @@ export const useDrillSelectDropdownMenuItems = ({ drillDownItems, drillItems, cr
|
|
|
23
24
|
name: item.name,
|
|
24
25
|
attributeValue: item.attributeValue,
|
|
25
26
|
drillDefinition: item.drillDefinition,
|
|
26
|
-
onSelect: () => onSelect(item.drillDefinition),
|
|
27
|
+
onSelect: () => onSelect(item.drillDefinition, item.context),
|
|
27
28
|
},
|
|
28
29
|
})),
|
|
29
30
|
});
|
|
@@ -36,7 +37,17 @@ export const useDrillSelectDropdownMenuItems = ({ drillDownItems, drillItems, cr
|
|
|
36
37
|
const crossFilteringMenuItems = crossFilteringItems.length > 0
|
|
37
38
|
? [createMenuGroup(crossFilteringItems, "cross-filter", groupMenuItemMessages.crossFilter.id)]
|
|
38
39
|
: [];
|
|
39
|
-
|
|
40
|
-
|
|
40
|
+
const keyDriverAnalysisMenu = keyDriverAnalysisItems.length > 0
|
|
41
|
+
? [
|
|
42
|
+
createMenuGroup(keyDriverAnalysisItems, "key-driver-analysis", groupMenuItemMessages.keyDriverAnalysis.id),
|
|
43
|
+
]
|
|
44
|
+
: [];
|
|
45
|
+
return [
|
|
46
|
+
...drillDownMenuItems,
|
|
47
|
+
...drillMenuItems,
|
|
48
|
+
...crossFilteringMenuItems,
|
|
49
|
+
...keyDriverAnalysisMenu,
|
|
50
|
+
];
|
|
51
|
+
}, [drillDownItems, drillItems, crossFilteringItems, keyDriverAnalysisItems, formatMessage, onSelect]);
|
|
41
52
|
};
|
|
42
53
|
//# sourceMappingURL=useDrillSelectDropdownMenuItems.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDrillSelectDropdownMenuItems.js","sourceRoot":"","sources":["../../../../src/presentation/drill/hooks/useDrillSelectDropdownMenuItems.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAOrD,MAAM,qBAAqB,GAAG,cAAc,CAAC;IACzC,SAAS,EAAE,EAAE,EAAE,EAAE,+BAA+B,EAAE;IAClD,SAAS,EAAE,EAAE,EAAE,EAAE,+BAA+B,EAAE;IAClD,WAAW,EAAE,EAAE,EAAE,EAAE,iCAAiC,EAAE;
|
|
1
|
+
{"version":3,"file":"useDrillSelectDropdownMenuItems.js","sourceRoot":"","sources":["../../../../src/presentation/drill/hooks/useDrillSelectDropdownMenuItems.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IntlShape } from "react-intl";
|
|
2
|
+
import { IKeyDriveAnalysis, IResultAttributeHeaderItem } from "@gooddata/sdk-model";
|
|
3
|
+
import { IDrillEvent } from "@gooddata/sdk-ui";
|
|
4
|
+
export interface KeyDriverCombinationItem {
|
|
5
|
+
where: "before" | "after" | "none";
|
|
6
|
+
type: "comparative" | "year-to-year";
|
|
7
|
+
difference: number;
|
|
8
|
+
date: IResultAttributeHeaderItem;
|
|
9
|
+
}
|
|
10
|
+
export declare function getKdaKeyDriverCombinations(drillDefinition: IKeyDriveAnalysis, drillEvent: IDrillEvent): KeyDriverCombinationItem[];
|
|
11
|
+
export declare function getKeyDriverCombinationItemTitle(intl: IntlShape, item: KeyDriverCombinationItem): string;
|
|
12
|
+
//# sourceMappingURL=kdaUtils.d.ts.map
|
|
@@ -0,0 +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,EACH,iBAAiB,EAEjB,0BAA0B,EAE7B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGH,WAAW,EAGd,MAAM,kBAAkB,CAAC;AAI1B,MAAM,WAAW,wBAAwB;IACrC,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACnC,IAAI,EAAE,aAAa,GAAG,cAAc,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,0BAA0B,CAAC;CACpC;AAED,wBAAgB,2BAA2B,CACvC,eAAe,EAAE,iBAAiB,EAClC,UAAU,EAAE,WAAW,GACxB,wBAAwB,EAAE,CAwC5B;AAED,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,wBAAwB,UAqC/F"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import { isEqualWith } from "lodash-es";
|
|
3
|
+
import { isMeasureDescriptor, } from "@gooddata/sdk-model";
|
|
4
|
+
import { DataViewFacade, isDrillIntersectionAttributeItem, } from "@gooddata/sdk-ui";
|
|
5
|
+
import { getDrillOriginLocalIdentifier } from "../../../_staging/drills/drillingUtils.js";
|
|
6
|
+
export function getKdaKeyDriverCombinations(drillDefinition, drillEvent) {
|
|
7
|
+
const dv = DataViewFacade.for(drillEvent.dataView);
|
|
8
|
+
const { attributeHeader, metricHeader } = findHeadersCombinations(drillDefinition, drillEvent);
|
|
9
|
+
// No relevant headers
|
|
10
|
+
if (!attributeHeader || !metricHeader) {
|
|
11
|
+
return [];
|
|
12
|
+
}
|
|
13
|
+
const dateAttribute = findDateValues(dv, attributeHeader);
|
|
14
|
+
const metricValue = findMetricValues(dv, metricHeader, dateAttribute.dims);
|
|
15
|
+
const res = [];
|
|
16
|
+
if (dateAttribute.previousValue && metricValue.previousValue) {
|
|
17
|
+
res.push({
|
|
18
|
+
where: "before",
|
|
19
|
+
difference: metricValue.currentValue.rawValue -
|
|
20
|
+
metricValue.previousValue.rawValue,
|
|
21
|
+
type: "comparative",
|
|
22
|
+
date: dateAttribute.previousValue,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
if (dateAttribute.nextValue && metricValue.nextValue) {
|
|
26
|
+
res.push({
|
|
27
|
+
where: "after",
|
|
28
|
+
difference: metricValue.nextValue.rawValue - metricValue.currentValue.rawValue,
|
|
29
|
+
type: "comparative",
|
|
30
|
+
date: dateAttribute.nextValue,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
res.push({
|
|
34
|
+
where: "none",
|
|
35
|
+
difference: 0,
|
|
36
|
+
type: "year-to-year",
|
|
37
|
+
date: dateAttribute.currentValue,
|
|
38
|
+
});
|
|
39
|
+
return res;
|
|
40
|
+
}
|
|
41
|
+
export function getKeyDriverCombinationItemTitle(intl, item) {
|
|
42
|
+
switch (item.type) {
|
|
43
|
+
case "comparative": {
|
|
44
|
+
const where = item.where === "before"
|
|
45
|
+
? intl.formatMessage({ id: "drill.kda.from" })
|
|
46
|
+
: intl.formatMessage({ id: "drill.kda.in" });
|
|
47
|
+
if (item.difference < 0) {
|
|
48
|
+
return intl.formatMessage({ id: "drill.kda.drop" }, {
|
|
49
|
+
where,
|
|
50
|
+
title: item.date.formattedName,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
if (item.difference > 0) {
|
|
54
|
+
return intl.formatMessage({ id: "drill.kda.increase" }, {
|
|
55
|
+
where,
|
|
56
|
+
title: item.date.formattedName,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
return intl.formatMessage({ id: "drill.kda.no_change" }, {
|
|
60
|
+
where,
|
|
61
|
+
title: item.date.formattedName,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
case "year-to-year":
|
|
65
|
+
return intl.formatMessage({ id: "drill.kda.year_to_year" });
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function findHeadersCombinations(drillDefinition, drillEvent) {
|
|
69
|
+
const localIdentifier = getDrillOriginLocalIdentifier(drillDefinition);
|
|
70
|
+
const attributeHeader = (drillEvent.drillContext.intersection || [])
|
|
71
|
+
.map((intersectionElement) => intersectionElement.header)
|
|
72
|
+
.filter(isDrillIntersectionAttributeItem)
|
|
73
|
+
.find((intersectionAttributeItem) => intersectionAttributeItem.attributeHeader.localIdentifier === localIdentifier);
|
|
74
|
+
const metricHeader = (drillEvent.drillContext.intersection || [])
|
|
75
|
+
.map((intersectionElement) => intersectionElement.header)
|
|
76
|
+
.filter(isMeasureDescriptor)[0];
|
|
77
|
+
return {
|
|
78
|
+
attributeHeader,
|
|
79
|
+
metricHeader,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function findDateValues(dv, attributeHeader) {
|
|
83
|
+
const headers = dv.meta().attributeHeaders();
|
|
84
|
+
const dims = headers.reduce((prev, f, dim1) => {
|
|
85
|
+
const [dim2, dim3] = f.reduce((prev, f, i) => {
|
|
86
|
+
const dim3 = f.findIndex((a) => {
|
|
87
|
+
return isEqualWith(a.attributeHeaderItem, attributeHeader.attributeHeaderItem);
|
|
88
|
+
});
|
|
89
|
+
if (dim3 >= 0) {
|
|
90
|
+
return [i, dim3];
|
|
91
|
+
}
|
|
92
|
+
return prev;
|
|
93
|
+
}, [-1, -1]);
|
|
94
|
+
if (dim2 >= 0 && dim3 >= 0) {
|
|
95
|
+
return [dim1, dim2, dim3];
|
|
96
|
+
}
|
|
97
|
+
return prev;
|
|
98
|
+
}, [-1, -1, -1]);
|
|
99
|
+
const previousValue = headers[dims[0]][dims[1]][dims[2] - 1]?.attributeHeaderItem ?? undefined;
|
|
100
|
+
const currentValue = attributeHeader.attributeHeaderItem;
|
|
101
|
+
const nextValue = headers[dims[0]][dims[1]][dims[2] + 1]?.attributeHeaderItem ?? undefined;
|
|
102
|
+
return {
|
|
103
|
+
previousValue,
|
|
104
|
+
currentValue,
|
|
105
|
+
nextValue,
|
|
106
|
+
dims,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
function findMetricValues(dv, metricHeader, dims) {
|
|
110
|
+
const localId = metricHeader.measureHeaderItem.localIdentifier;
|
|
111
|
+
const data = Array.from(dv.data().series().allForMeasure(localId))[0].dataPoints();
|
|
112
|
+
const previousValue = data[dims[2] - 1];
|
|
113
|
+
const currentValue = data[dims[2]];
|
|
114
|
+
const nextValue = data[dims[2] + 1];
|
|
115
|
+
return {
|
|
116
|
+
previousValue,
|
|
117
|
+
currentValue,
|
|
118
|
+
nextValue,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=kdaUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kdaUtils.js","sourceRoot":"","sources":["../../../../src/presentation/drill/utils/kdaUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -387,6 +387,10 @@
|
|
|
387
387
|
"value": "Cross-filter",
|
|
388
388
|
"comment": "Label for the cross-filter interaction in the drill configuration modal"
|
|
389
389
|
},
|
|
390
|
+
"drill_modal_picker.key-driver-analysis": {
|
|
391
|
+
"value": "Explain",
|
|
392
|
+
"comment": "Label for the key driver analysis interaction in the drill configuration modal"
|
|
393
|
+
},
|
|
390
394
|
"drill_modal_picker.more.details": {
|
|
391
395
|
"value": "More details",
|
|
392
396
|
"comment": "Label for viewing more details about drill interactions"
|
|
@@ -2814,5 +2818,29 @@
|
|
|
2814
2818
|
"menu.back": {
|
|
2815
2819
|
"value": "Back to the parent menu",
|
|
2816
2820
|
"comment": "Button label for navigating back to the parent menu in a nested menu structure. Used in hierarchical navigation."
|
|
2821
|
+
},
|
|
2822
|
+
"drill.kda.from": {
|
|
2823
|
+
"value": "from",
|
|
2824
|
+
"comment": "Key driver analysis drill from label, must be lowercase"
|
|
2825
|
+
},
|
|
2826
|
+
"drill.kda.in": {
|
|
2827
|
+
"value": "in",
|
|
2828
|
+
"comment": "Key driver analysis drill in label, must be lowercase"
|
|
2829
|
+
},
|
|
2830
|
+
"drill.kda.drop": {
|
|
2831
|
+
"value": "Drop {where} {title}",
|
|
2832
|
+
"comment": "Key driver analysis drill drop label"
|
|
2833
|
+
},
|
|
2834
|
+
"drill.kda.increase": {
|
|
2835
|
+
"value": "Increase {where} {title}",
|
|
2836
|
+
"comment": "Key driver analysis drill increase label"
|
|
2837
|
+
},
|
|
2838
|
+
"drill.kda.no_change": {
|
|
2839
|
+
"value": "Stale {where} {title}",
|
|
2840
|
+
"comment": "Key driver analysis drill increase label"
|
|
2841
|
+
},
|
|
2842
|
+
"drill.kda.year_to_year": {
|
|
2843
|
+
"value": "Year over year change",
|
|
2844
|
+
"comment": "Key driver analysis drill year to year label"
|
|
2817
2845
|
}
|
|
2818
2846
|
}
|
|
@@ -96,6 +96,7 @@ export declare const en_US: {
|
|
|
96
96
|
"drill_modal_picker.drill-down": string;
|
|
97
97
|
"drill_modal_picker.drill-into": string;
|
|
98
98
|
"drill_modal_picker.cross-filter": string;
|
|
99
|
+
"drill_modal_picker.key-driver-analysis": string;
|
|
99
100
|
"drill_modal_picker.more.details": string;
|
|
100
101
|
"drill_modal_picker.label": string;
|
|
101
102
|
"drillModal.backToTop": string;
|
|
@@ -703,5 +704,11 @@ export declare const en_US: {
|
|
|
703
704
|
"kdaDialog.dialog.keyDrives.empty_up": string;
|
|
704
705
|
"kdaDialog.dialog.keyDrives.empty_down": string;
|
|
705
706
|
"menu.back": string;
|
|
707
|
+
"drill.kda.from": string;
|
|
708
|
+
"drill.kda.in": string;
|
|
709
|
+
"drill.kda.drop": string;
|
|
710
|
+
"drill.kda.increase": string;
|
|
711
|
+
"drill.kda.no_change": string;
|
|
712
|
+
"drill.kda.year_to_year": string;
|
|
706
713
|
};
|
|
707
714
|
//# sourceMappingURL=en-US.localization-bundle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../../src/presentation/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK
|
|
1
|
+
{"version":3,"file":"en-US.localization-bundle.d.ts","sourceRoot":"","sources":["../../../../src/presentation/localization/bundles/en-US.localization-bundle.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwsBjB,CAAC"}
|
|
@@ -98,6 +98,7 @@ export const en_US = {
|
|
|
98
98
|
"drill_modal_picker.drill-down": "Drill down",
|
|
99
99
|
"drill_modal_picker.drill-into": "Drill into",
|
|
100
100
|
"drill_modal_picker.cross-filter": "Cross-filter",
|
|
101
|
+
"drill_modal_picker.key-driver-analysis": "Explain",
|
|
101
102
|
"drill_modal_picker.more.details": "More details",
|
|
102
103
|
"drill_modal_picker.label": "Choose drill action",
|
|
103
104
|
"drillModal.backToTop": "Back to top",
|
|
@@ -704,6 +705,12 @@ export const en_US = {
|
|
|
704
705
|
"kdaDialog.dialog.bars.date.period.previousPeriod": "Previous period",
|
|
705
706
|
"kdaDialog.dialog.keyDrives.empty_up": "No increasing drivers",
|
|
706
707
|
"kdaDialog.dialog.keyDrives.empty_down": "No decreasing drivers",
|
|
707
|
-
"menu.back": "Back to the parent menu"
|
|
708
|
+
"menu.back": "Back to the parent menu",
|
|
709
|
+
"drill.kda.from": "from",
|
|
710
|
+
"drill.kda.in": "in",
|
|
711
|
+
"drill.kda.drop": "Drop {where} {title}",
|
|
712
|
+
"drill.kda.increase": "Increase {where} {title}",
|
|
713
|
+
"drill.kda.no_change": "Stale {where} {title}",
|
|
714
|
+
"drill.kda.year_to_year": "Year over year change"
|
|
708
715
|
};
|
|
709
716
|
//# sourceMappingURL=en-US.localization-bundle.js.map
|