@gooddata/sdk-ui-dashboard 11.6.0-alpha.3 → 11.6.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.
Files changed (90) hide show
  1. package/esm/__version.d.ts +1 -1
  2. package/esm/__version.js +1 -1
  3. package/esm/kdaDialog/components/KdaKeyDriverChart.d.ts +7 -1
  4. package/esm/kdaDialog/components/KdaKeyDriverChart.d.ts.map +1 -1
  5. package/esm/kdaDialog/components/KdaKeyDriverChart.js +6 -127
  6. package/esm/kdaDialog/components/KdaKeyDriverChart.js.map +1 -1
  7. package/esm/kdaDialog/composition/KeyDriversOverview.d.ts.map +1 -1
  8. package/esm/kdaDialog/composition/KeyDriversOverview.js +5 -1
  9. package/esm/kdaDialog/composition/KeyDriversOverview.js.map +1 -1
  10. package/esm/kdaDialog/composition/KeyDriversPanel.d.ts.map +1 -1
  11. package/esm/kdaDialog/composition/KeyDriversPanel.js +30 -9
  12. package/esm/kdaDialog/composition/KeyDriversPanel.js.map +1 -1
  13. package/esm/kdaDialog/composition/data/dataview.d.ts +8 -0
  14. package/esm/kdaDialog/composition/data/dataview.d.ts.map +1 -0
  15. package/esm/kdaDialog/composition/data/dataview.js +274 -0
  16. package/esm/kdaDialog/composition/data/dataview.js.map +1 -0
  17. package/esm/kdaDialog/composition/hooks/useDataViewWithConfig.d.ts +9 -0
  18. package/esm/kdaDialog/composition/hooks/useDataViewWithConfig.d.ts.map +1 -0
  19. package/esm/kdaDialog/composition/hooks/useDataViewWithConfig.js +31 -0
  20. package/esm/kdaDialog/composition/hooks/useDataViewWithConfig.js.map +1 -0
  21. package/esm/kdaDialog/composition/hooks/useGroupAndItem.d.ts +8 -0
  22. package/esm/kdaDialog/composition/hooks/useGroupAndItem.d.ts.map +1 -0
  23. package/esm/kdaDialog/composition/hooks/useGroupAndItem.js +31 -0
  24. package/esm/kdaDialog/composition/hooks/useGroupAndItem.js.map +1 -0
  25. package/esm/kdaDialog/hooks/useDriversList.d.ts +5 -3
  26. package/esm/kdaDialog/hooks/useDriversList.d.ts.map +1 -1
  27. package/esm/kdaDialog/hooks/useDriversList.js +9 -3
  28. package/esm/kdaDialog/hooks/useDriversList.js.map +1 -1
  29. package/esm/kdaDialog/hooks/useSummaryDrivers.d.ts.map +1 -1
  30. package/esm/kdaDialog/hooks/useSummaryDrivers.js +3 -1
  31. package/esm/kdaDialog/hooks/useSummaryDrivers.js.map +1 -1
  32. package/esm/kdaDialog/internalTypes.d.ts +1 -1
  33. package/esm/kdaDialog/internalTypes.d.ts.map +1 -1
  34. package/esm/kdaDialog/providers/KdaState.js +1 -1
  35. package/esm/kdaDialog/providers/KdaState.js.map +1 -1
  36. package/esm/model/react/useDashboardAlerting/useDashboardAlerts.d.ts +1 -1
  37. package/esm/model/react/useDashboardAlerting/useDashboardAlertsCommands.d.ts +4 -2
  38. package/esm/model/react/useDashboardAlerting/useDashboardAlertsCommands.d.ts.map +1 -1
  39. package/esm/model/react/useDashboardAlerting/useDashboardAlertsCommands.js +2 -2
  40. package/esm/model/react/useDashboardAlerting/useDashboardAlertsCommands.js.map +1 -1
  41. package/esm/model/react/useDashboardAlerting/useDashboardAlertsManagementDialog.d.ts +1 -1
  42. package/esm/model/react/useDashboardAlerting/useDashboardAlertsManagementDialog.d.ts.map +1 -1
  43. package/esm/model/react/useDashboardAlerting/useDashboardAlertsManagementDialog.js +3 -3
  44. package/esm/model/react/useDashboardAlerting/useDashboardAlertsManagementDialog.js.map +1 -1
  45. package/esm/model/react/useDashboardAlertsOld.js +1 -1
  46. package/esm/model/react/useDashboardAlertsOld.js.map +1 -1
  47. package/esm/model/store/index.d.ts +1 -1
  48. package/esm/model/store/index.d.ts.map +1 -1
  49. package/esm/model/store/index.js +1 -1
  50. package/esm/model/store/index.js.map +1 -1
  51. package/esm/model/store/ui/index.d.ts +3 -1
  52. package/esm/model/store/ui/index.d.ts.map +1 -1
  53. package/esm/model/store/ui/uiReducers.d.ts +3 -1
  54. package/esm/model/store/ui/uiReducers.d.ts.map +1 -1
  55. package/esm/model/store/ui/uiReducers.js +8 -1
  56. package/esm/model/store/ui/uiReducers.js.map +1 -1
  57. package/esm/model/store/ui/uiSelectors.d.ts +4 -0
  58. package/esm/model/store/ui/uiSelectors.d.ts.map +1 -1
  59. package/esm/model/store/ui/uiSelectors.js +4 -0
  60. package/esm/model/store/ui/uiSelectors.js.map +1 -1
  61. package/esm/model/store/ui/uiState.d.ts +1 -0
  62. package/esm/model/store/ui/uiState.d.ts.map +1 -1
  63. package/esm/model/store/ui/uiState.js +1 -0
  64. package/esm/model/store/ui/uiState.js.map +1 -1
  65. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.d.ts.map +1 -1
  66. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.js +1 -1
  67. package/esm/presentation/alerting/DefaultAlertingDialog/DefaultAlertingDialogNew.js.map +1 -1
  68. package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.d.ts.map +1 -1
  69. package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.js +5 -2
  70. package/esm/presentation/alerting/DefaultAlertingManagementDialog/DefaultAlertingManagementDialogNew.js.map +1 -1
  71. package/esm/presentation/alerting/hooks/useAlertingDialogAccessibility.d.ts +4 -0
  72. package/esm/presentation/alerting/hooks/useAlertingDialogAccessibility.d.ts.map +1 -0
  73. package/esm/presentation/alerting/hooks/useAlertingDialogAccessibility.js +12 -0
  74. package/esm/presentation/alerting/hooks/useAlertingDialogAccessibility.js.map +1 -0
  75. package/esm/presentation/localization/bundles/en-US.json +4 -0
  76. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts +1 -0
  77. package/esm/presentation/localization/bundles/en-US.localization-bundle.d.ts.map +1 -1
  78. package/esm/presentation/localization/bundles/en-US.localization-bundle.js +1 -0
  79. package/esm/presentation/localization/bundles/en-US.localization-bundle.js.map +1 -1
  80. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.d.ts.map +1 -1
  81. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js +1 -1
  82. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/DefaultScheduledEmailDialog.js.map +1 -1
  83. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.d.ts.map +1 -1
  84. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js +8 -4
  85. package/esm/presentation/scheduledEmail/DefaultScheduledEmailDialog/components/RecipientsSelect/RecipientsSelect.js.map +1 -1
  86. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.d.ts.map +1 -1
  87. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js +3 -2
  88. package/esm/presentation/scheduledEmail/DefaultScheduledEmailManagementDialog/DefaultScheduledEmailManagementDialog.js.map +1 -1
  89. package/esm/sdk-ui-dashboard.d.ts +10 -2
  90. package/package.json +18 -18
@@ -1,4 +1,4 @@
1
- export declare const LIB_VERSION = "11.6.0-alpha.3";
1
+ export declare const LIB_VERSION = "11.6.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.6.0-alpha.3";
3
+ export const LIB_VERSION = "11.6.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
@@ -1,2 +1,8 @@
1
- export declare function KdaKeyDriverChart(): import("react/jsx-runtime").JSX.Element | null;
1
+ import { IDataView } from "@gooddata/sdk-backend-spi";
2
+ import { IChartConfig } from "@gooddata/sdk-ui-charts";
3
+ export interface KdaKeyDriverChartProps {
4
+ config: IChartConfig | null;
5
+ dataView: IDataView | null;
6
+ }
7
+ export declare function KdaKeyDriverChart({ config, dataView }: KdaKeyDriverChartProps): import("react/jsx-runtime").JSX.Element;
2
8
  //# sourceMappingURL=KdaKeyDriverChart.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KdaKeyDriverChart.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaKeyDriverChart.tsx"],"names":[],"mappings":"AA6BA,wBAAgB,iBAAiB,mDAwChC"}
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;AAIvD,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,sBAAsB,2CA2B7E"}
@@ -1,134 +1,13 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  // (C) 2025 GoodData Corporation
3
- import { useState } from "react";
4
3
  import cx from "classnames";
4
+ import noop from "lodash-es/noop.js";
5
5
  import { useIntl } from "react-intl";
6
- import { modifyInlineMeasure, newAttribute, newInlineMeasure, newMeasureSort, newRankingFilter, } from "@gooddata/sdk-model";
7
- import { ComboChart } from "@gooddata/sdk-ui-charts";
8
- import { useElementSize } from "@gooddata/sdk-ui-kit";
9
- import { selectColorPalette, selectSettings, useDashboardSelector } from "../../model/index.js";
10
- import { useKdaState } from "../providers/KdaState.js";
11
- const KDA_LIMIT = 20;
12
- export function KdaKeyDriverChart() {
6
+ import { RawChart } from "@gooddata/sdk-ui-charts/internal";
7
+ import { UiSkeleton, useElementSize } from "@gooddata/sdk-ui-kit";
8
+ export function KdaKeyDriverChart({ config, dataView }) {
13
9
  const intl = useIntl();
14
- const { state } = useKdaState();
15
- const { ref, height } = useElementSize();
16
- const [[min, max], setRange] = useState([undefined, undefined]);
17
- const colorPalette = useDashboardSelector(selectColorPalette);
18
- const settings = useDashboardSelector(selectSettings);
19
- const selectedItem = state.selectedItem;
20
- const definition = state.definition;
21
- if (selectedItem === "summary" || !definition) {
22
- return null;
23
- }
24
- const { primaryMeasures, secondaryMeasures, viewBy, sortBy, filters, deviation } = createChartData(intl, definition, selectedItem);
25
- return (_jsx("div", { className: cx("gd-kda-key-drivers-detail-visualisation-container"), ref: ref, children: _jsx(ComboChart, { locale: intl.locale, height: height, primaryMeasures: primaryMeasures, secondaryMeasures: secondaryMeasures, viewBy: viewBy, sortBy: sortBy, filters: filters, config: createConfig(settings, colorPalette, min, max), onDataView: (dv) => {
26
- const { min, max } = calculateMinMax(dv, deviation);
27
- setRange([min, max]);
28
- } }) }));
29
- }
30
- function createConfig(settings, colorPalette, min, max) {
31
- return {
32
- colorPalette,
33
- chartFill: {
34
- type: "outline",
35
- },
36
- tooltip: {
37
- enabled: true,
38
- className: "gd-kda__vis_tooltip",
39
- },
40
- legend: {
41
- enabled: false,
42
- responsive: "autoPositionWithPopup",
43
- },
44
- dataPoints: {
45
- visible: false,
46
- },
47
- yaxis: {
48
- min: min?.toString(),
49
- max: max?.toString(),
50
- },
51
- secondary_yaxis: {
52
- labelsEnabled: false,
53
- name: {
54
- visible: false,
55
- },
56
- min: min?.toString(),
57
- max: max?.toString(),
58
- },
59
- enableAccessibleTooltip: settings.enableAccessibleChartTooltip,
60
- };
61
- }
62
- function createChartData(intl, definition, selectedItem) {
63
- const title = intl.formatMessage({ id: "kdaDialog.dialog.keyDriver.chart.std" });
64
- const metric = definition.metric;
65
- const trend = selectedItem.data.to.value - selectedItem.data.from.value;
66
- const deviation = trend >= 0
67
- ? selectedItem.data.mean + selectedItem.data.standardDeviation
68
- : selectedItem.data.mean - selectedItem.data.standardDeviation;
69
- const primaryMeasures = [metric];
70
- const secondaryMeasures = [createStandardDeviationMeasure(metric, title, deviation)];
71
- const viewBy = [
72
- newAttribute(selectedItem.data.attribute, (m) => {
73
- return m.localId("attribute").alias(selectedItem.data.title);
74
- }),
75
- ];
76
- const sortBy = [newMeasureSort(metric.measure.localIdentifier, "desc")];
77
- const operator = trend >= 0 ? "TOP" : "BOTTOM";
78
- const filters = [newRankingFilter(metric.measure.localIdentifier, operator, KDA_LIMIT)];
79
- return {
80
- primaryMeasures,
81
- secondaryMeasures,
82
- viewBy,
83
- sortBy,
84
- filters,
85
- deviation,
86
- };
87
- }
88
- function createStandardDeviationMeasure(metric, title, deviation) {
89
- return modifyInlineMeasure(newInlineMeasure(`SELECT ${deviation}`), (m) => {
90
- return m
91
- .title(title)
92
- .localId(`${metric.measure.localIdentifier}_ranking`)
93
- .format(metric.measure.format);
94
- });
95
- }
96
- function calculateMinMax(dv, deviation) {
97
- const data = dv.rawData().data();
98
- function calcMin(vals) {
99
- return vals.reduce((min, val) => {
100
- if (val === null) {
101
- return min;
102
- }
103
- return Math.min(min, parseFloat(String(val)));
104
- }, Infinity);
105
- }
106
- function calcMax(vals) {
107
- return vals.reduce((max, val) => {
108
- if (val === null) {
109
- return max;
110
- }
111
- return Math.max(max, parseFloat(String(val)));
112
- }, -Infinity);
113
- }
114
- let min = data.reduce((min, val) => {
115
- if (Array.isArray(val)) {
116
- return Math.min(min, calcMin(val));
117
- }
118
- return Math.min(min, parseFloat(String(val)));
119
- }, Infinity);
120
- let max = data.reduce((max, val) => {
121
- if (Array.isArray(val)) {
122
- return Math.max(max, calcMax(val));
123
- }
124
- return Math.max(max, parseFloat(String(val)));
125
- }, -Infinity);
126
- //apply also deviation
127
- min = Math.min(min, deviation);
128
- max = Math.max(max, deviation);
129
- return {
130
- min,
131
- max,
132
- };
10
+ const { ref, width, height } = useElementSize();
11
+ 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: [], onDrill: noop, onLegendReady: noop, afterRender: noop, onDataTooLarge: noop, onNegativeValues: noop })) : (_jsx(UiSkeleton, { itemWidth: width, itemHeight: height })) }));
133
12
  }
134
13
  //# sourceMappingURL=KdaKeyDriverChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KdaKeyDriverChart.js","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaKeyDriverChart.tsx"],"names":[],"mappings":"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"}
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;AAIrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAOlE,MAAM,UAAU,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAA0B;IAC1E,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc,EAAkB,CAAC;IAEhE,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,EAAE,EAClB,OAAO,EAAE,IAAI,EACb,aAAa,EAAE,IAAI,EACnB,WAAW,EAAE,IAAI,EACjB,cAAc,EAAE,IAAI,EACpB,gBAAgB,EAAE,IAAI,GACxB,CACL,CAAC,CAAC,CAAC,CACA,KAAC,UAAU,IAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAI,CACvD,GACC,CACT,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyDriversOverview.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversOverview.tsx"],"names":[],"mappings":"AAaA,MAAM,WAAW,uBAAuB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAQjF"}
1
+ {"version":3,"file":"KeyDriversOverview.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversOverview.tsx"],"names":[],"mappings":"AAeA,MAAM,WAAW,uBAAuB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,uBAAuB,2CAQjF"}
@@ -7,6 +7,8 @@ import { KdaKeyDriverChart } from "../components/KdaKeyDriverChart.js";
7
7
  import { KdaSummaryDrivers } from "../components/KdaSummaryDrivers.js";
8
8
  import { KdaSummaryHeadline } from "../components/KdaSummaryHeadline.js";
9
9
  import { useKdaState } from "../providers/KdaState.js";
10
+ import { useDataViewWithConfig } from "./hooks/useDataViewWithConfig.js";
11
+ import { useGroupAndItem } from "./hooks/useGroupAndItem.js";
10
12
  export function KeyDriversOverview({ loading, detailsId }) {
11
13
  const { state } = useKdaState();
12
14
  if (state.selectedItem === "summary" || loading) {
@@ -23,7 +25,9 @@ function KeyDriversDetail({ detailsId }) {
23
25
  const { state } = useKdaState();
24
26
  const description = getDescription(state.selectedItem);
25
27
  const category = getCategory(state.selectedItem);
26
- 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, {}) }), _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" }, {
28
+ const { group, item } = useGroupAndItem();
29
+ const { config, dataView } = useDataViewWithConfig(group, item);
30
+ 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" }, {
27
31
  category,
28
32
  })] })] }));
29
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"KeyDriversOverview.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversOverview.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KeyDriversOverview.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversOverview.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"KeyDriversPanel.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversPanel.tsx"],"names":[],"mappings":"AAuBA,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,oBAAoB,2CAyI3E"}
1
+ {"version":3,"file":"KeyDriversPanel.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversPanel.tsx"],"names":[],"mappings":"AAuBA,MAAM,WAAW,oBAAoB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,oBAAoB,2CAwK3E"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  // (C) 2025 GoodData Corporation
3
- import { useEffect, useId } from "react";
3
+ import { useCallback, useEffect, useId } from "react";
4
4
  import cx from "classnames";
5
5
  import { FormattedMessage, useIntl } from "react-intl";
6
6
  import { UiButton, UiButtonSegmentedControl, UiIcon, UiIconButton, UiListbox, UiSkeleton, UiTooltip, } from "@gooddata/sdk-ui-kit";
@@ -17,21 +17,42 @@ export function KeyDriversPanel({ loading, detailsId }) {
17
17
  const { maximum, list, trendUp, trendDown } = useSignificantDrives();
18
18
  // When there are no items for selected trend, switch to the other trend
19
19
  useEffect(() => {
20
- if (trendUp.length === 0 && trendDown.length > 0 && state.selectedTrend === "up") {
21
- setState({ selectedTrend: "down" });
20
+ if (state.itemsStatus !== "success") {
21
+ return;
22
+ }
23
+ if (trendUp.length === 0 && trendDown.length > 0 && state.selectedTrend.includes("up")) {
24
+ setState({ selectedTrend: ["down"] });
22
25
  }
23
26
  // eslint-disable-next-line
24
- }, []);
27
+ }, [state.itemsStatus]);
28
+ const upSelected = state.selectedTrend.includes("up");
29
+ const downSelected = state.selectedTrend.includes("down");
30
+ const onSelectCallback = useCallback((trend) => {
31
+ const selected = state.selectedTrend.includes(trend);
32
+ if (selected) {
33
+ const selectedTrend = state.selectedTrend.filter((t) => trend !== t);
34
+ if (selectedTrend.length === 0) {
35
+ selectedTrend.push(trend === "up" ? "down" : "up");
36
+ }
37
+ setState({
38
+ selectedTrend,
39
+ });
40
+ }
41
+ else {
42
+ const selectedTrend = [...state.selectedTrend, trend];
43
+ setState({ selectedTrend });
44
+ }
45
+ }, [setState, state.selectedTrend]);
25
46
  return (_jsxs("div", { className: cx("gd-kda-key-drivers-panel"), children: [_jsx("div", { className: cx("gd-kda-key-drivers-panel-summary"), children: loading ? (_jsx(UiSkeleton, { itemHeight: 40 })) : (_jsx(SummaryItem, { detailsId: detailsId, isSelected: state.selectedItem === "summary", onSelect: () => {
26
47
  setState({ selectedItem: "summary" });
27
48
  } })) }), _jsx("div", { className: cx("gd-kda-key-drivers-panel-title"), children: loading ? (_jsx(UiSkeleton, { itemHeight: 21, itemWidth: 70 })) : (_jsxs(_Fragment, { children: [label, _jsx(UiTooltip, { arrowPlacement: "left", triggerBy: ["hover", "focus"], optimalPlacement: true, content: tooltip, anchor: _jsx(UiIconButton, { icon: "question", variant: "tertiary", size: "xsmall", accessibilityConfig: {
28
49
  ariaLabel: label,
29
- } }) })] })) }), _jsx("div", { className: cx("gd-kda-key-drivers-panel-trend"), children: loading ? (_jsx(UiSkeleton, { itemHeight: 27 })) : (_jsxs(UiButtonSegmentedControl, { children: [_jsx(UiButton, { label: intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.button.trendUp" }, { count: trendUp.length }), size: "small", isSelected: state.selectedTrend === "up", onClick: () => {
30
- setState({ selectedTrend: "up" });
50
+ } }) })] })) }), _jsx("div", { className: cx("gd-kda-key-drivers-panel-trend"), children: loading ? (_jsx(UiSkeleton, { itemHeight: 27 })) : (_jsxs(UiButtonSegmentedControl, { children: [_jsx(UiButton, { label: intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.button.trendUp" }, { count: trendUp.length }), size: "small", isSelected: upSelected, onClick: () => {
51
+ onSelectCallback("up");
31
52
  }, accessibilityConfig: {
32
53
  ariaControls: listId,
33
- } }), _jsx(UiButton, { label: intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.button.trendDown" }, { count: trendDown.length }), size: "small", isSelected: state.selectedTrend === "down", onClick: () => {
34
- setState({ selectedTrend: "down" });
54
+ } }), _jsx(UiButton, { label: intl.formatMessage({ id: "kdaDialog.dialog.keyDrives.button.trendDown" }, { count: trendDown.length }), size: "small", isSelected: downSelected, onClick: () => {
55
+ onSelectCallback("down");
35
56
  }, accessibilityConfig: {
36
57
  ariaControls: listId,
37
58
  } })] })) }), _jsx("div", { className: cx("gd-kda-key-drivers-panel-list"), children: loading ? (_jsxs("div", { className: cx("gd-kda-key-drivers-panel-list-loading"), children: [_jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 }), _jsx(UiSkeleton, { itemHeight: 40 })] })) : (_jsx(_Fragment, { children: list.length > 0 ? (_jsx(UiListbox, { items: list, ariaAttributes: {
@@ -41,7 +62,7 @@ export function KeyDriversPanel({ loading, detailsId }) {
41
62
  return _jsx(KeyDriverItem, { ...props, maximum: maximum });
42
63
  }, selectedItemId: getSelectedItem(state), onSelect: (item) => {
43
64
  setState({ selectedItem: item });
44
- } })) : (_jsxs("div", { className: cx("gd-kda-key-drivers-panel-list-empty"), children: [_jsx(UiIcon, { type: "drawerEmpty", size: 26, color: "currentColor" }), state.selectedTrend === "up" ? (_jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.empty_up" })) : (_jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.empty_down" }))] })) })) })] }));
65
+ } })) : (_jsxs("div", { className: cx("gd-kda-key-drivers-panel-list-empty"), children: [_jsx(UiIcon, { type: "drawerEmpty", size: 26, color: "currentColor" }), upSelected && downSelected ? (_jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.empty" })) : (_jsx(_Fragment, { children: upSelected ? (_jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.empty_up" })) : (_jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.empty_down" })) }))] })) })) })] }));
45
66
  }
46
67
  function getSelectedItem(state) {
47
68
  return typeof state.selectedItem === "string" ? undefined : state.selectedItem.id;
@@ -1 +1 @@
1
- {"version":3,"file":"KeyDriversPanel.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KeyDriversPanel.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversPanel.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { IDataView } from "@gooddata/sdk-backend-spi";
2
+ import { IColorPalette, ISettings } from "@gooddata/sdk-model";
3
+ import { IChartConfig } from "@gooddata/sdk-ui-charts";
4
+ import { KdaItem, KdaItemGroup } from "../../internalTypes.js";
5
+ import { IKdaDefinition } from "../../types.js";
6
+ export declare function createDataView(workspace: string, def: IKdaDefinition | null, group: KdaItemGroup, item: KdaItem, title: string): IDataView | null;
7
+ export declare function createConfig(settings: ISettings, colorPalette: IColorPalette, group: KdaItemGroup, item: KdaItem): IChartConfig;
8
+ //# sourceMappingURL=dataview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataview.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/data/dataview.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAoB,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAGH,aAAa,EAKb,SAAS,EAMZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKhD,wBAAgB,cAAc,CAC1B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,cAAc,GAAG,IAAI,EAC1B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,MAAM,GACd,SAAS,GAAG,IAAI,CA2GlB;AA6ID,wBAAgB,YAAY,CACxB,QAAQ,EAAE,SAAS,EACnB,YAAY,EAAE,aAAa,EAC3B,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,OAAO,GACd,YAAY,CA2Cd"}
@@ -0,0 +1,274 @@
1
+ // (C) 2025 GoodData Corporation
2
+ import { modifyInlineMeasure, newAttribute, newInlineMeasure, objRefToString, } from "@gooddata/sdk-model";
3
+ const DEFAULT_MEASURE_FORMAT = "#,##0.00";
4
+ const LIMIT_KDA = 20;
5
+ export function createDataView(workspace, def, group, item, title) {
6
+ if (!def) {
7
+ return null;
8
+ }
9
+ const { trend, deviation } = getTrendAndDeviation(item);
10
+ const [tempMeasure, tempMeasureHeader, tempMeasureDescriptor] = createTempMeasure(def.metric);
11
+ const [stdMeasure, stdMeasureHeader, stdMeasureDescriptor] = createStandardDeviationMeasure(def.metric, title, deviation);
12
+ const [attribute, attributeDescriptor] = createDateAttribute(item.attribute, item.title);
13
+ const attributeData = getLimitedDataOnly(group, trend).map((item) => item.to.value - item.from.value);
14
+ const stdDate = attributeData.map(() => deviation);
15
+ const definition = {
16
+ workspace,
17
+ buckets: [
18
+ {
19
+ items: [tempMeasure],
20
+ localIdentifier: "measures",
21
+ },
22
+ {
23
+ items: [stdMeasure],
24
+ localIdentifier: "secondary_measures",
25
+ },
26
+ {
27
+ items: [attribute],
28
+ localIdentifier: "view",
29
+ },
30
+ ],
31
+ attributes: [attribute],
32
+ measures: [tempMeasure, stdMeasure],
33
+ filters: [],
34
+ sortBy: [
35
+ {
36
+ attributeSortItem: {
37
+ attributeIdentifier: attribute.attribute.localIdentifier,
38
+ direction: "asc",
39
+ },
40
+ },
41
+ ],
42
+ dimensions: [
43
+ {
44
+ itemIdentifiers: ["measureGroup"],
45
+ },
46
+ {
47
+ itemIdentifiers: [attribute.attribute.localIdentifier],
48
+ },
49
+ ],
50
+ };
51
+ const view = {
52
+ offset: [0, 0],
53
+ count: [2, attributeData.length],
54
+ totalCount: [2, attributeData.length],
55
+ headerItems: [
56
+ [[tempMeasureHeader, stdMeasureHeader]],
57
+ [
58
+ group.items.map((item) => ({
59
+ attributeHeaderItem: {
60
+ uri: item.category,
61
+ name: item.category,
62
+ },
63
+ })),
64
+ ],
65
+ ],
66
+ data: [attributeData, stdDate],
67
+ definition,
68
+ result: {},
69
+ metadata: {
70
+ dataSourceMessages: [],
71
+ },
72
+ equals: (v) => {
73
+ return view.fingerprint() === v.fingerprint();
74
+ },
75
+ fingerprint: () => {
76
+ return JSON.stringify(definition);
77
+ },
78
+ forecast: () => ({
79
+ headerItems: [],
80
+ prediction: [],
81
+ low: [],
82
+ high: [],
83
+ loading: false,
84
+ }),
85
+ clustering: () => ({
86
+ attribute: [],
87
+ clusters: [],
88
+ xcoord: [],
89
+ ycoord: [],
90
+ }),
91
+ withForecast: () => view,
92
+ withClustering: () => view,
93
+ };
94
+ return {
95
+ ...view,
96
+ result: createExecutionResults(view, [tempMeasureDescriptor, stdMeasureDescriptor], attributeDescriptor),
97
+ };
98
+ }
99
+ function createExecutionResults(view, measures, attributeDescriptor) {
100
+ const res = {
101
+ definition: view.definition,
102
+ dimensions: [
103
+ {
104
+ headers: [
105
+ {
106
+ measureGroupHeader: {
107
+ items: measures,
108
+ },
109
+ },
110
+ ],
111
+ },
112
+ {
113
+ headers: [attributeDescriptor],
114
+ },
115
+ ],
116
+ withSignal: () => res,
117
+ readAll: () => Promise.resolve(view),
118
+ readWindow: () => Promise.resolve(view),
119
+ readForecastAll: () => Promise.resolve({
120
+ attribute: [],
121
+ origin: [],
122
+ prediction: [],
123
+ lowerBound: [],
124
+ upperBound: [],
125
+ }),
126
+ readAnomalyDetectionAll: () => Promise.resolve({
127
+ attribute: [],
128
+ values: [],
129
+ anomalyFlag: [],
130
+ }),
131
+ readClusteringAll: () => Promise.resolve({
132
+ attribute: [],
133
+ clusters: [],
134
+ xcoord: [],
135
+ ycoord: [],
136
+ }),
137
+ transform: () => {
138
+ throw new Error("This method is not implemented.");
139
+ },
140
+ export: () => Promise.resolve({
141
+ uri: "",
142
+ objectUrl: "",
143
+ }),
144
+ equals: (r) => {
145
+ return r.fingerprint() === res.fingerprint();
146
+ },
147
+ fingerprint: () => {
148
+ return JSON.stringify(view.definition);
149
+ },
150
+ };
151
+ return res;
152
+ }
153
+ function createTempMeasure(metric) {
154
+ const maql = `SELECT 0`;
155
+ const localId = `${metric.measure.localIdentifier}_vak`;
156
+ const title = metric.measure.alias ?? metric.measure.title ?? "";
157
+ return [
158
+ modifyInlineMeasure(newInlineMeasure(maql), (m) => {
159
+ return m.title(title).localId(localId).format(metric.measure.format);
160
+ }),
161
+ {
162
+ measureHeaderItem: {
163
+ name: title,
164
+ order: 0,
165
+ },
166
+ },
167
+ {
168
+ measureHeaderItem: {
169
+ localIdentifier: localId,
170
+ name: title,
171
+ format: metric.measure.format ?? DEFAULT_MEASURE_FORMAT,
172
+ },
173
+ },
174
+ ];
175
+ }
176
+ function createStandardDeviationMeasure(metric, title, deviation) {
177
+ const maql = `SELECT ${deviation}`;
178
+ const localId = `${metric.measure.localIdentifier}_std`;
179
+ return [
180
+ modifyInlineMeasure(newInlineMeasure(maql), (m) => {
181
+ return m.title(title).localId(localId).format(metric.measure.format);
182
+ }),
183
+ {
184
+ measureHeaderItem: {
185
+ name: title,
186
+ order: 1,
187
+ },
188
+ },
189
+ {
190
+ measureHeaderItem: {
191
+ localIdentifier: localId,
192
+ name: title,
193
+ format: metric.measure.format ?? DEFAULT_MEASURE_FORMAT,
194
+ },
195
+ },
196
+ ];
197
+ }
198
+ function createDateAttribute(ref, alias) {
199
+ const localId = `${objRefToString(ref)}_attribute`;
200
+ return [
201
+ newAttribute(ref, (m) => m.localId(localId).alias(alias)),
202
+ {
203
+ attributeHeader: {
204
+ identifier: objRefToString(ref),
205
+ uri: "",
206
+ ref,
207
+ formOf: {
208
+ name: alias,
209
+ identifier: objRefToString(ref),
210
+ uri: "",
211
+ ref,
212
+ },
213
+ primaryLabel: ref,
214
+ localIdentifier: localId,
215
+ name: alias,
216
+ totalItems: [],
217
+ },
218
+ },
219
+ ];
220
+ }
221
+ export function createConfig(settings, colorPalette, group, item) {
222
+ const { trend, deviation } = getTrendAndDeviation(item);
223
+ const items = getLimitedDataOnly(group, trend);
224
+ const min = Math.min(items.reduce((c, item) => Math.min(c, item.to.value - item.from.value), Infinity), deviation);
225
+ const max = Math.max(items.reduce((c, item) => Math.max(c, item.to.value - item.from.value), -Infinity), deviation);
226
+ return {
227
+ colorPalette,
228
+ chartFill: {
229
+ type: "outline",
230
+ },
231
+ tooltip: {
232
+ enabled: true,
233
+ className: "gd-kda__vis_tooltip",
234
+ },
235
+ legend: {
236
+ enabled: false,
237
+ responsive: "autoPositionWithPopup",
238
+ },
239
+ dataPoints: {
240
+ visible: false,
241
+ },
242
+ yaxis: {
243
+ min: min?.toString(),
244
+ max: max?.toString(),
245
+ },
246
+ secondary_yaxis: {
247
+ labelsEnabled: false,
248
+ name: {
249
+ visible: false,
250
+ },
251
+ min: min?.toString(),
252
+ max: max?.toString(),
253
+ },
254
+ enableAccessibleTooltip: settings.enableAccessibleChartTooltip,
255
+ };
256
+ }
257
+ function getLimitedDataOnly(group, trend) {
258
+ return group.items.slice(0, LIMIT_KDA).filter((item) => {
259
+ const diff = item.to.value - item.from.value;
260
+ if (trend >= 0) {
261
+ return diff >= 0;
262
+ }
263
+ return diff < 0;
264
+ });
265
+ }
266
+ function getTrendAndDeviation(item) {
267
+ const trend = item.to.value - item.from.value;
268
+ const deviation = trend >= 0 ? item.mean + item.standardDeviation : item.mean - item.standardDeviation;
269
+ return {
270
+ trend,
271
+ deviation,
272
+ };
273
+ }
274
+ //# sourceMappingURL=dataview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataview.js","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/data/dataview.ts"],"names":[],"mappings":"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"}