@gooddata/sdk-ui-dashboard 11.5.0-alpha.5 → 11.5.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 +4 -4
- 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/kdaDialog/components/KdaKeyDriverChart.d.ts +1 -1
- package/esm/kdaDialog/components/KdaKeyDriverChart.d.ts.map +1 -1
- package/esm/kdaDialog/components/KdaKeyDriverChart.js +126 -11
- package/esm/kdaDialog/components/KdaKeyDriverChart.js.map +1 -1
- package/esm/kdaDialog/components/bars/AttributeBar.d.ts +1 -2
- package/esm/kdaDialog/components/bars/AttributeBar.d.ts.map +1 -1
- package/esm/kdaDialog/components/bars/AttributeBar.js +2 -4
- package/esm/kdaDialog/components/bars/AttributeBar.js.map +1 -1
- package/esm/kdaDialog/components/bars/DateBar.d.ts +1 -0
- package/esm/kdaDialog/components/bars/DateBar.d.ts.map +1 -1
- package/esm/kdaDialog/components/bars/DateBar.js +1 -1
- package/esm/kdaDialog/components/bars/DateBar.js.map +1 -1
- package/esm/kdaDialog/composition/FiltersBar.d.ts.map +1 -1
- package/esm/kdaDialog/composition/FiltersBar.js +16 -25
- 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 +11 -4
- package/esm/kdaDialog/composition/KeyDriversFooter.js.map +1 -1
- package/esm/kdaDialog/composition/KeyDriversOverview.js +10 -1
- package/esm/kdaDialog/composition/KeyDriversOverview.js.map +1 -1
- package/esm/kdaDialog/composition/hooks/usePeriodChangeHandler.d.ts +7 -0
- package/esm/kdaDialog/composition/hooks/usePeriodChangeHandler.d.ts.map +1 -0
- package/esm/kdaDialog/composition/hooks/usePeriodChangeHandler.js +105 -0
- package/esm/kdaDialog/composition/hooks/usePeriodChangeHandler.js.map +1 -0
- package/esm/kdaDialog/dialog/KdaDialog.d.ts.map +1 -1
- package/esm/kdaDialog/dialog/KdaDialog.js +4 -0
- package/esm/kdaDialog/dialog/KdaDialog.js.map +1 -1
- package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.js +2 -2
- package/esm/kdaDialog/dialog/hooks/useChangeAnalysis.js.map +1 -1
- package/esm/kdaDialog/dialog/hooks/useKdaDialogTooltipsOverride.d.ts +2 -0
- package/esm/kdaDialog/dialog/hooks/useKdaDialogTooltipsOverride.d.ts.map +1 -0
- package/esm/kdaDialog/dialog/hooks/useKdaDialogTooltipsOverride.js +12 -0
- package/esm/kdaDialog/dialog/hooks/useKdaDialogTooltipsOverride.js.map +1 -0
- package/esm/kdaDialog/dialog/hooks/useValidAttributes.d.ts +2 -0
- package/esm/kdaDialog/dialog/hooks/useValidAttributes.d.ts.map +1 -0
- package/esm/kdaDialog/dialog/hooks/useValidAttributes.js +29 -0
- package/esm/kdaDialog/dialog/hooks/useValidAttributes.js.map +1 -0
- package/esm/kdaDialog/internalTypes.d.ts +3 -4
- package/esm/kdaDialog/internalTypes.d.ts.map +1 -1
- package/esm/kdaDialog/providers/KdaState.d.ts.map +1 -1
- package/esm/kdaDialog/providers/KdaState.js +3 -1
- package/esm/kdaDialog/providers/KdaState.js.map +1 -1
- package/esm/kdaDialog/utils.d.ts.map +1 -1
- package/esm/kdaDialog/utils.js +1 -1
- package/esm/kdaDialog/utils.js.map +1 -1
- package/esm/presentation/drill/utils/kdaUtils.d.ts.map +1 -1
- package/esm/presentation/drill/utils/kdaUtils.js +6 -0
- package/esm/presentation/drill/utils/kdaUtils.js.map +1 -1
- package/esm/presentation/localization/bundles/en-US.json +5 -1
- 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 +2 -1
- package/esm/presentation/localization/bundles/en-US.localization-bundle.js.map +1 -1
- package/package.json +18 -17
- package/styles/css/kdaDialog.css +13 -0
- package/styles/css/kdaDialog.css.map +1 -1
- package/styles/css/main.css +13 -0
- package/styles/css/main.css.map +1 -1
- package/styles/scss/kdaDialog.scss +15 -0
package/NOTICE
CHANGED
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
|
|
8
8
|
The following 3rd-party software packages may be used by or distributed with gooddata-ui-sdk. Any information relevant to third-party vendors listed below are collected using common, reasonable means.
|
|
9
9
|
|
|
10
|
-
Date generated: 2025-10-
|
|
10
|
+
Date generated: 2025-10-16
|
|
11
11
|
|
|
12
|
-
Revision ID:
|
|
12
|
+
Revision ID: 89e2970c5558f579f18a204b9d9ccb68c5527d0b
|
|
13
13
|
|
|
14
14
|
================================================================================
|
|
15
15
|
================================================================================
|
|
@@ -27565,7 +27565,7 @@ OTHER DEALINGS IN THE SOFTWARE.
|
|
|
27565
27565
|
|
|
27566
27566
|
* Package Info *
|
|
27567
27567
|
|
|
27568
|
-
Authors: admin@simonboudrias.com,
|
|
27568
|
+
Authors: admin@simonboudrias.com, mail@michael-kuehnel.de, ruyadorno@hotmail.com
|
|
27569
27569
|
|
|
27570
27570
|
Package Download URL: https://registry.npmjs.org/inquirer/-/inquirer-8.2.7.tgz
|
|
27571
27571
|
|
|
@@ -82386,4 +82386,4 @@ POSSIBILITY OF SUCH DAMAGE.
|
|
|
82386
82386
|
--------------------------------------------------------------------------------
|
|
82387
82387
|
--------------------------------------------------------------------------------
|
|
82388
82388
|
|
|
82389
|
-
Report Generated by FOSSA on 2025-10-
|
|
82389
|
+
Report Generated by FOSSA on 2025-10-16
|
package/esm/__version.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "11.5.0
|
|
1
|
+
export declare const LIB_VERSION = "11.5.0";
|
|
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.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__version.d.ts","sourceRoot":"","sources":["../src/__version.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"__version.d.ts","sourceRoot":"","sources":["../src/__version.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC,eAAO,MAAM,eAAe,uCAAuC,CAAC;AAEpE,eAAO,MAAM,QAAQ,+BAA+B,CAAC"}
|
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.5.0
|
|
3
|
+
export const LIB_VERSION = "11.5.0";
|
|
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
|
package/esm/__version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"__version.js","sourceRoot":"","sources":["../src/__version.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,6DAA6D;AAE7D,MAAM,CAAC,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"__version.js","sourceRoot":"","sources":["../src/__version.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,6DAA6D;AAE7D,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEpC,MAAM,CAAC,MAAM,eAAe,GAAG,oCAAoC,CAAC;AAEpE,MAAM,CAAC,MAAM,QAAQ,GAAG,4BAA4B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function KdaKeyDriverChart(): import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
export declare function KdaKeyDriverChart(): import("react/jsx-runtime").JSX.Element | null;
|
|
2
2
|
//# sourceMappingURL=KdaKeyDriverChart.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KdaKeyDriverChart.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaKeyDriverChart.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"KdaKeyDriverChart.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaKeyDriverChart.tsx"],"names":[],"mappings":"AA6BA,wBAAgB,iBAAiB,mDAwChC"}
|
|
@@ -1,19 +1,134 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
// (C) 2025 GoodData Corporation
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
import cx from "classnames";
|
|
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;
|
|
3
12
|
export function KdaKeyDriverChart() {
|
|
4
|
-
|
|
13
|
+
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
|
+
} }) }));
|
|
5
29
|
}
|
|
6
|
-
function
|
|
30
|
+
function createConfig(settings, colorPalette, min, max) {
|
|
7
31
|
return {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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,
|
|
17
132
|
};
|
|
18
133
|
}
|
|
19
134
|
//# sourceMappingURL=KdaKeyDriverChart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KdaKeyDriverChart.js","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaKeyDriverChart.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,MAAM,UAAU,iBAAiB;IAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"KdaKeyDriverChart.js","sourceRoot":"","sources":["../../../src/kdaDialog/components/KdaKeyDriverChart.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAa,OAAO,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAKH,mBAAmB,EACnB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,UAAU,EAAgB,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAA6B,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEjF,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEhG,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB,MAAM,UAAU,iBAAiB;IAC7B,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAChC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,cAAc,EAAkB,CAAC;IACzD,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAA2C,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAE1G,MAAM,YAAY,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAEtD,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IAEpC,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,eAAe,CAC9F,IAAI,EACJ,UAAU,EACV,YAAY,CACf,CAAC;IAEF,OAAO,CACH,cAAK,SAAS,EAAE,EAAE,CAAC,mDAAmD,CAAC,EAAE,GAAG,EAAE,GAAG,YAC7E,KAAC,UAAU,IACP,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,CAAC,EACtD,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE;gBACf,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACpD,QAAQ,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACzB,CAAC,GACH,GACA,CACT,CAAC;AACN,CAAC;AAED,SAAS,YAAY,CACjB,QAAmB,EACnB,YAA2B,EAC3B,GAAuB,EACvB,GAAuB;IAEvB,OAAO;QACH,YAAY;QACZ,SAAS,EAAE;YACP,IAAI,EAAE,SAAS;SAClB;QACD,OAAO,EAAE;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,qBAAqB;SACnC;QACD,MAAM,EAAE;YACJ,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,uBAAgC;SAC/C;QACD,UAAU,EAAE;YACR,OAAO,EAAE,KAAK;SACjB;QACD,KAAK,EAAE;YACH,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE;YACpB,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE;SACvB;QACD,eAAe,EAAE;YACb,aAAa,EAAE,KAAK;YACpB,IAAI,EAAE;gBACF,OAAO,EAAE,KAAK;aACjB;YACD,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE;YACpB,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE;SACvB;QACD,uBAAuB,EAAE,QAAQ,CAAC,4BAA4B;KACjE,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CACpB,IAAe,EACf,UAA0B,EAC1B,YAAgD;IAEhD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,sCAAsC,EAAE,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IACjC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAExE,MAAM,SAAS,GACX,KAAK,IAAI,CAAC;QACN,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,iBAAiB;QAC9D,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAEvE,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,iBAAiB,GAAG,CAAC,8BAA8B,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAErF,MAAM,MAAM,GAAG;QACX,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YAC5C,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC,CAAC;KACL,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IAExE,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC/C,MAAM,OAAO,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;IAExF,OAAO;QACH,eAAe;QACf,iBAAiB;QACjB,MAAM;QACN,MAAM;QACN,OAAO;QACP,SAAS;KACZ,CAAC;AACN,CAAC;AAED,SAAS,8BAA8B,CAAC,MAAgB,EAAE,KAAa,EAAE,SAAiB;IACtF,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,UAAU,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACtE,OAAO,CAAC;aACH,KAAK,CAAC,KAAK,CAAC;aACZ,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,UAAU,CAAC;aACpD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,eAAe,CAAC,EAAkB,EAAE,SAAiB;IAC1D,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;IAEjC,SAAS,OAAO,CAAC,IAAiB;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACf,OAAO,GAAG,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC,EAAE,QAAQ,CAAC,CAAC;IACjB,CAAC;IAED,SAAS,OAAO,CAAC,IAAiB;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBACf,OAAO,GAAG,CAAC;YACf,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,EAAE,QAAQ,CAAC,CAAC;IACb,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAEd,sBAAsB;IACtB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC/B,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAE/B,OAAO;QACH,GAAG;QACH,GAAG;KACN,CAAC;AACN,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { IDashboardAttributeFilter, IDashboardAttributeFilterConfig } from "@gooddata/sdk-model";
|
|
2
|
-
import { KdaAttributeFilter } from "../../internalTypes.js";
|
|
3
2
|
interface IAttributeBarProps {
|
|
4
|
-
attribute:
|
|
3
|
+
attribute: IDashboardAttributeFilter;
|
|
5
4
|
attributeConfigs: IDashboardAttributeFilterConfig[];
|
|
6
5
|
onChange?: (newFilter: IDashboardAttributeFilter) => void;
|
|
7
6
|
onDelete?: (filter: IDashboardAttributeFilter) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeBar.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/components/bars/AttributeBar.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,yBAAyB,EAAE,+BAA+B,EAAU,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"AttributeBar.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/components/bars/AttributeBar.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,yBAAyB,EAAE,+BAA+B,EAAU,MAAM,qBAAqB,CAAC;AAUzG,UAAU,kBAAkB;IACxB,SAAS,EAAE,yBAAyB,CAAC;IACrC,gBAAgB,EAAE,+BAA+B,EAAE,CAAC;IACpD,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAC1D,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,IAAI,CAAC;CAC1D;AAOD,wBAAgB,YAAY,CAAC,KAAK,EAAE,kBAAkB,2CAqBrD"}
|
|
@@ -9,11 +9,9 @@ import { DefaultDashboardAttributeFilter } from "../../../presentation/filterBar
|
|
|
9
9
|
export function AttributeBar(props) {
|
|
10
10
|
const intl = useIntl();
|
|
11
11
|
const deleteAriaLabel = intl.formatMessage({ id: "kdaDialog.dialog.bars.attribute.deleteLabel" });
|
|
12
|
-
const
|
|
13
|
-
const overlayPositionType = "absolute";
|
|
14
|
-
const config = props.attributeConfigs.find((attribute) => attribute.localIdentifier === attributeFilter.attributeFilter.localIdentifier);
|
|
12
|
+
const config = props.attributeConfigs.find((attribute) => attribute.localIdentifier === props.attribute.attributeFilter.localIdentifier);
|
|
15
13
|
const displayAsLabel = config?.displayAsLabel;
|
|
16
|
-
return (_jsx("div", { className: cx("gd-kda-dialog-bar__attribute"), children: _jsx(KdaAttributeFilterWrapper, { filter:
|
|
14
|
+
return (_jsx("div", { className: cx("gd-kda-dialog-bar__attribute"), children: _jsx(KdaAttributeFilterWrapper, { filter: props.attribute, displayAsLabel: displayAsLabel, overlayPositionType: "absolute", deleteAriaLabel: deleteAriaLabel, onChange: props.onChange, onDelete: props.onDelete }) }));
|
|
17
15
|
}
|
|
18
16
|
function KdaAttributeFilterWrapper({ filter, displayAsLabel, overlayPositionType, deleteAriaLabel, onChange, onDelete, }) {
|
|
19
17
|
const handleFilterChanged = useCallback((newFilter) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AttributeBar.js","sourceRoot":"","sources":["../../../../src/kdaDialog/components/bars/AttributeBar.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAoB,WAAW,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EACH,qBAAqB,GAGxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAuB,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,oFAAoF,CAAC;
|
|
1
|
+
{"version":3,"file":"AttributeBar.js","sourceRoot":"","sources":["../../../../src/kdaDialog/components/bars/AttributeBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { KdaDateOptions } from "../../internalTypes.js";
|
|
|
2
2
|
import { KdaPeriodType } from "../../types.js";
|
|
3
3
|
interface IDateBarProps {
|
|
4
4
|
options: KdaDateOptions;
|
|
5
|
+
isAvailable: boolean;
|
|
5
6
|
onPeriodChange: (period: KdaPeriodType) => void;
|
|
6
7
|
}
|
|
7
8
|
export declare function DateBar(props: IDateBarProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateBar.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/components/bars/DateBar.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,UAAU,aAAa;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,cAAc,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;CACnD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"DateBar.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/components/bars/DateBar.tsx"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,UAAU,aAAa;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;CACnD;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,aAAa,2CAiE3C"}
|
|
@@ -30,7 +30,7 @@ export function DateBar(props) {
|
|
|
30
30
|
},
|
|
31
31
|
];
|
|
32
32
|
}, [intl]);
|
|
33
|
-
return (_jsx("div", { className: cx("gd-kda-dialog-bar__date"), children: _jsx(UiTooltip, { arrowPlacement: "top-start", content: label, optimalPlacement: true, triggerBy: ["hover", "focus"], anchor: _jsx(UiPopover, { anchor: _jsx(UiChip, { label: label, iconBefore: "date", isExpandable: false }), title: intl.formatMessage({ id: "kdaDialog.dialog.bars.date.period.title" }), initialFocus: ref, content: ({ onClose }) => (_jsx("div", { className: cx("gd-kda-dialog-bar__date-select"), children: _jsx(UiListbox, { reference: ref, selectedItemId: props.options.period, items: items, ariaAttributes: {
|
|
33
|
+
return (_jsx("div", { className: cx("gd-kda-dialog-bar__date"), children: _jsx(UiTooltip, { arrowPlacement: "top-start", content: label, optimalPlacement: true, triggerBy: ["hover", "focus"], anchor: _jsx(UiPopover, { disabled: !props.isAvailable, anchor: _jsx(UiChip, { label: label, iconBefore: "date", isExpandable: false }), title: intl.formatMessage({ id: "kdaDialog.dialog.bars.date.period.title" }), initialFocus: ref, content: ({ onClose }) => (_jsx("div", { className: cx("gd-kda-dialog-bar__date-select"), children: _jsx(UiListbox, { reference: ref, selectedItemId: props.options.period, items: items, ariaAttributes: {
|
|
34
34
|
id: "kda-dialog-date-bar",
|
|
35
35
|
}, onClose: onClose, onSelect: (item) => {
|
|
36
36
|
props.onPeriodChange(item.data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateBar.js","sourceRoot":"","sources":["../../../../src/kdaDialog/components/bars/DateBar.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAa,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAI/E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"DateBar.js","sourceRoot":"","sources":["../../../../src/kdaDialog/components/bars/DateBar.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAa,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAI/E,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAQ7C,MAAM,UAAU,OAAO,CAAC,KAAoB;IACxC,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAE3C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,qCAAqC,EAAE,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAC5B,EAAE,EAAE,EAAE,kCAAkC,EAAE,EAC1C;QACI,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC;KAC9C,CACJ,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACvB,OAAO;YACH;gBACI,IAAI,EAAE,aAAsB;gBAC5B,EAAE,EAAE,2BAA2B;gBAC/B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC;oBAC5B,EAAE,EAAE,0DAA0D;iBACjE,CAAC;gBACF,IAAI,EAAE,2BAAoC;aAC7C;YACD;gBACI,IAAI,EAAE,aAAsB;gBAC5B,EAAE,EAAE,iBAAiB;gBACrB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,kDAAkD,EAAE,CAAC;gBAC3F,IAAI,EAAE,iBAA0B;aACnC;SACJ,CAAC;IACN,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACH,cAAK,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,YACzC,KAAC,SAAS,IACN,cAAc,EAAC,WAAW,EAC1B,OAAO,EAAE,KAAK,EACd,gBAAgB,QAChB,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAC7B,MAAM,EACF,KAAC,SAAS,IACN,QAAQ,EAAE,CAAC,KAAK,CAAC,WAAW,EAC5B,MAAM,EAAE,KAAC,MAAM,IAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAC,MAAM,EAAC,YAAY,EAAE,KAAK,GAAI,EACvE,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,yCAAyC,EAAE,CAAC,EAC5E,YAAY,EAAE,GAA6B,EAC3C,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CACtB,cAAK,SAAS,EAAE,EAAE,CAAC,gCAAgC,CAAC,YAChD,KAAC,SAAS,IACN,SAAS,EAAE,GAAG,EACd,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EACpC,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE;4BACZ,EAAE,EAAE,qBAAqB;yBAC5B,EACD,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;4BACf,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpC,CAAC,GACH,GACA,CACT,GACH,GAER,GACA,CACT,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiltersBar.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/FiltersBar.tsx"],"names":[],"mappings":"AAiBA,wBAAgB,UAAU,
|
|
1
|
+
{"version":3,"file":"FiltersBar.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/FiltersBar.tsx"],"names":[],"mappings":"AAiBA,wBAAgB,UAAU,4CAsDzB"}
|
|
@@ -8,10 +8,23 @@ import { DateBar } from "../components/bars/DateBar.js";
|
|
|
8
8
|
import { KdaBar } from "../components/KdaBar.js";
|
|
9
9
|
import { useDateAttribute } from "../hooks/useDateAttribute.js";
|
|
10
10
|
import { useKdaState } from "../providers/KdaState.js";
|
|
11
|
+
import { usePeriodChangeHandler } from "./hooks/usePeriodChangeHandler.js";
|
|
11
12
|
export function FiltersBar() {
|
|
12
13
|
const intl = useIntl();
|
|
13
14
|
const attributeConfigs = useDashboardSelector(selectAttributeFilterConfigsOverrides);
|
|
14
|
-
const
|
|
15
|
+
const dateAttributeFinder = useDateAttribute();
|
|
16
|
+
const { state } = useKdaState();
|
|
17
|
+
const def = state.definition;
|
|
18
|
+
const dateAttribute = useMemo(() => {
|
|
19
|
+
return dateAttributeFinder(def?.dateAttribute);
|
|
20
|
+
}, [dateAttributeFinder, def?.dateAttribute]);
|
|
21
|
+
const options = useMemo(() => {
|
|
22
|
+
return {
|
|
23
|
+
dateAttribute,
|
|
24
|
+
period: def?.type ?? "previous_period",
|
|
25
|
+
range: def?.range,
|
|
26
|
+
};
|
|
27
|
+
}, [dateAttribute, def?.type, def?.range]);
|
|
15
28
|
const onChangeAttributeFilter = useCallback((newFilter) => {
|
|
16
29
|
// eslint-disable-next-line
|
|
17
30
|
console.log("on Change Attribute Filter", newFilter);
|
|
@@ -22,29 +35,7 @@ export function FiltersBar() {
|
|
|
22
35
|
console.log("on Delete Attribute Filter", filter);
|
|
23
36
|
//TODO: onDeleteAttributeFilter
|
|
24
37
|
}, []);
|
|
25
|
-
const onPeriodChange =
|
|
26
|
-
|
|
27
|
-
console.log("on Period Change", type);
|
|
28
|
-
//TODO: onPeriodChange
|
|
29
|
-
if (state.definition) {
|
|
30
|
-
setState({
|
|
31
|
-
definition: {
|
|
32
|
-
...state.definition,
|
|
33
|
-
type,
|
|
34
|
-
},
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}, [setState, state.definition]);
|
|
38
|
-
const def = state.definition;
|
|
39
|
-
const dateAttributeFinder = useDateAttribute();
|
|
40
|
-
const options = useMemo(() => {
|
|
41
|
-
return {
|
|
42
|
-
dateAttribute: dateAttributeFinder(def?.dateAttribute),
|
|
43
|
-
period: def?.type ?? "previous_period",
|
|
44
|
-
range: def?.range,
|
|
45
|
-
};
|
|
46
|
-
}, [dateAttributeFinder, def?.dateAttribute, def?.type, def?.range]);
|
|
47
|
-
//TODO: AttributesDropdown will be used to add new filter
|
|
48
|
-
return (_jsx(KdaBar, { title: intl.formatMessage({ id: "kdaDialog.dialog.bars.filters.title" }), content: _jsxs(_Fragment, { children: [_jsx(DateBar, { options: options, onPeriodChange: onPeriodChange }), state.attributeFilters.map((attributeFilter, i) => (_jsx(AttributeBar, { attribute: attributeFilter, attributeConfigs: attributeConfigs, onChange: onChangeAttributeFilter, onDelete: onDeleteAttributeFilter }, i)))] }) }));
|
|
38
|
+
const { onPeriodChange, isAvailable } = usePeriodChangeHandler(dateAttribute);
|
|
39
|
+
return (_jsx(KdaBar, { title: intl.formatMessage({ id: "kdaDialog.dialog.bars.filters.title" }), content: _jsxs(_Fragment, { children: [_jsx(DateBar, { options: options, isAvailable: isAvailable, onPeriodChange: onPeriodChange }), state.attributeFilters.map((attributeFilter, i) => (_jsx(AttributeBar, { attribute: attributeFilter, attributeConfigs: attributeConfigs, onChange: onChangeAttributeFilter, onDelete: onDeleteAttributeFilter }, i)))] }) }));
|
|
49
40
|
}
|
|
50
41
|
//# sourceMappingURL=FiltersBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FiltersBar.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/FiltersBar.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,OAAO,EAAE,qCAAqC,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"FiltersBar.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/FiltersBar.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAIrC,OAAO,EAAE,qCAAqC,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,MAAM,UAAU,UAAU;IACtB,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,qCAAqC,CAAC,CAAC;IACrF,MAAM,mBAAmB,GAAG,gBAAgB,EAAE,CAAC;IAE/C,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,CAAC;IAE7B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,OAAO,mBAAmB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACnD,CAAC,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;IAE9C,MAAM,OAAO,GAAG,OAAO,CAAC,GAAmB,EAAE;QACzC,OAAO;YACH,aAAa;YACb,MAAM,EAAE,GAAG,EAAE,IAAI,IAAI,iBAAiB;YACtC,KAAK,EAAE,GAAG,EAAE,KAAK;SACpB,CAAC;IACN,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAE3C,MAAM,uBAAuB,GAAG,WAAW,CAAC,CAAC,SAAoC,EAAE,EAAE;QACjF,2BAA2B;QAC3B,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC;QACrD,+BAA+B;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,uBAAuB,GAAG,WAAW,CAAC,CAAC,MAAiC,EAAE,EAAE;QAC9E,2BAA2B;QAC3B,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,CAAC;QAClD,+BAA+B;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAE9E,OAAO,CACH,KAAC,MAAM,IACH,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,qCAAqC,EAAE,CAAC,EACxE,OAAO,EACH,8BACI,KAAC,OAAO,IAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,GAAI,EACtF,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC,CAChD,KAAC,YAAY,IAET,SAAS,EAAE,eAAe,EAC1B,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,uBAAuB,EACjC,QAAQ,EAAE,uBAAuB,IAJ5B,CAAC,CAKR,CACL,CAAC,IACH,GAET,CACL,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyDriversFooter.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversFooter.tsx"],"names":[],"mappings":"AAYA,wBAAgB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"KeyDriversFooter.d.ts","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversFooter.tsx"],"names":[],"mappings":"AAYA,wBAAgB,gBAAgB,4CA+E/B"}
|
|
@@ -7,20 +7,27 @@ import { useKdaState } from "../providers/KdaState.js";
|
|
|
7
7
|
export function KeyDriversFooter() {
|
|
8
8
|
const { state, setState } = useKdaState();
|
|
9
9
|
const isCatalogLoaded = useDashboardSelector(selectCatalogIsLoaded);
|
|
10
|
-
const isLoading =
|
|
10
|
+
const isLoading = !isCatalogLoaded ||
|
|
11
|
+
state.itemsStatus === "pending" ||
|
|
12
|
+
state.itemsStatus === "loading" ||
|
|
13
|
+
state.relevantStatus === "pending" ||
|
|
14
|
+
state.relevantStatus === "loading";
|
|
11
15
|
const allAttributes = useDashboardSelector(selectCatalogAttributes);
|
|
16
|
+
const validAttributes = allAttributes.filter((a) => {
|
|
17
|
+
return state.relevantAttributes.some((attr) => areObjRefsEqual(attr, a.attribute.ref));
|
|
18
|
+
});
|
|
12
19
|
const initialAttributes = state.selectedAttributes
|
|
13
20
|
.map((attr) => {
|
|
14
|
-
return
|
|
21
|
+
return validAttributes.find((a) => a.displayForms.some((df) => areObjRefsEqual(df.ref, attr)));
|
|
15
22
|
})
|
|
16
23
|
.filter(Boolean);
|
|
17
24
|
return (_jsx("div", { children: isLoading ? (_jsx(UiSkeleton, { itemHeight: 23, itemWidth: 300 })) : (_jsx(FormattedMessage, { id: "kdaDialog.dialog.keyDrives.overview.summary.drivers.description", values: {
|
|
18
25
|
combinations: state.items.length,
|
|
19
26
|
attributes: state.selectedAttributes.length,
|
|
20
27
|
button: (chunks) => {
|
|
21
|
-
return (_jsx(DropdownInvertableSelect, { className: "gd-kda-attributes-dropdown", initialValue: initialAttributes, initialIsInverted: false, options:
|
|
28
|
+
return (_jsx(DropdownInvertableSelect, { className: "gd-kda-attributes-dropdown", initialValue: initialAttributes, initialIsInverted: false, options: validAttributes, alignPoints: [{ align: "tl bl" }], getItemTitle: (item) => item.attribute.title, getItemKey: (item) => item.attribute.id, onChange: (selectedItems, isInverted) => {
|
|
22
29
|
const selected = isInverted
|
|
23
|
-
?
|
|
30
|
+
? validAttributes.filter((a) => !selectedItems.includes(a))
|
|
24
31
|
: selectedItems;
|
|
25
32
|
setState({
|
|
26
33
|
selectedAttributes: selected.map((item) => item.defaultDisplayForm.ref),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyDriversFooter.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversFooter.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAAqB,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5G,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,MAAM,UAAU,gBAAgB;IAC5B,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC;IAC1C,MAAM,eAAe,GAAG,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IACpE,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"KeyDriversFooter.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversFooter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,10 @@ function KeyDriversDetail({ detailsId }) {
|
|
|
22
22
|
const intl = useIntl();
|
|
23
23
|
const { state } = useKdaState();
|
|
24
24
|
const description = getDescription(state.selectedItem);
|
|
25
|
-
|
|
25
|
+
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" }, {
|
|
27
|
+
category,
|
|
28
|
+
})] })] }));
|
|
26
29
|
}
|
|
27
30
|
function getTitle(intl, item) {
|
|
28
31
|
if (typeof item === "string") {
|
|
@@ -39,4 +42,10 @@ function getDescription(item) {
|
|
|
39
42
|
}
|
|
40
43
|
return item.data.description;
|
|
41
44
|
}
|
|
45
|
+
function getCategory(item) {
|
|
46
|
+
if (typeof item === "string") {
|
|
47
|
+
return "";
|
|
48
|
+
}
|
|
49
|
+
return item.data.category;
|
|
50
|
+
}
|
|
42
51
|
//# sourceMappingURL=KeyDriversOverview.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyDriversOverview.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversOverview.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAa,OAAO,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAA6B,MAAM,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAOvD,MAAM,UAAU,kBAAkB,CAAC,EAAE,OAAO,EAAE,SAAS,EAA2B;IAC9E,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAEhC,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,EAAE,CAAC;QAC9C,OAAO,KAAC,iBAAiB,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAI,CAAC;IACzE,CAAC;IAED,OAAO,KAAC,gBAAgB,IAAC,SAAS,EAAE,SAAS,GAAI,CAAC;AACtD,CAAC;AAOD,SAAS,iBAAiB,CAAC,EAAE,OAAO,EAAE,SAAS,EAA0B;IACrE,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,OAAO,CACH,eAAK,SAAS,EAAE,EAAE,CAAC,6BAA6B,CAAC,EAAE,EAAE,EAAE,SAAS,aAC5D,cAAK,SAAS,EAAE,EAAE,CAAC,mCAAmC,CAAC,YAClD,OAAO,CAAC,CAAC,CAAC,CACP,KAAC,UAAU,IAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,GAAI,CACjD,CAAC,CAAC,CAAC,CACA,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,mDAAmD,EAAE,CAAC,CAClF,GACC,EACN,cAAK,SAAS,EAAE,EAAE,CAAC,sCAAsC,CAAC,YACrD,OAAO,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,GAAI,CAAC,CAAC,CAAC,KAAC,kBAAkB,KAAG,GAChF,EACN,cAAK,SAAS,EAAE,EAAE,CAAC,qCAAqC,CAAC,YACpD,OAAO,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,GAAI,CAAC,CAAC,CAAC,KAAC,iBAAiB,KAAG,GAChF,IACJ,CACT,CAAC;AACN,CAAC;AAMD,SAAS,gBAAgB,CAAC,EAAE,SAAS,EAA0B;IAC3D,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IACvB,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC;IAEhC,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"KeyDriversOverview.js","sourceRoot":"","sources":["../../../src/kdaDialog/composition/KeyDriversOverview.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ICatalogDateAttribute } from "@gooddata/sdk-model";
|
|
2
|
+
import { KdaPeriodType } from "../../types.js";
|
|
3
|
+
export declare function usePeriodChangeHandler(dateAttribute: ICatalogDateAttribute | null): {
|
|
4
|
+
isAvailable: boolean;
|
|
5
|
+
onPeriodChange: (type: KdaPeriodType) => void;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=usePeriodChangeHandler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePeriodChangeHandler.d.ts","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/usePeriodChangeHandler.ts"],"names":[],"mappings":"AAIA,OAAO,EAA4B,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAGtF,OAAO,EAAkB,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/D,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,qBAAqB,GAAG,IAAI;;2BAInE,aAAa;EAuB3B"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// (C) 2025 GoodData Corporation
|
|
2
|
+
import { useCallback, useMemo } from "react";
|
|
3
|
+
import { useKdaState } from "../../providers/KdaState.js";
|
|
4
|
+
export function usePeriodChangeHandler(dateAttribute) {
|
|
5
|
+
const { state, setState } = useKdaState();
|
|
6
|
+
const onPeriodChange = useCallback((type) => {
|
|
7
|
+
const def = state.definition;
|
|
8
|
+
if (!def || !dateAttribute) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const definition = updateDefinitionPeriod(def, dateAttribute, type);
|
|
12
|
+
setState({
|
|
13
|
+
definition,
|
|
14
|
+
});
|
|
15
|
+
}, [dateAttribute, setState, state.definition]);
|
|
16
|
+
const isAvailable = useMemo(() => {
|
|
17
|
+
return isPeriodChangeAvailable(dateAttribute);
|
|
18
|
+
}, [dateAttribute]);
|
|
19
|
+
return {
|
|
20
|
+
isAvailable,
|
|
21
|
+
onPeriodChange,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
function updateDefinitionPeriod(definition, dateAttribute, type) {
|
|
25
|
+
const [from, to] = definition.range;
|
|
26
|
+
const granularity = dateAttribute.granularity;
|
|
27
|
+
switch (type) {
|
|
28
|
+
case "previous_period": {
|
|
29
|
+
const currentDate = updateDateBy(to.date, granularity);
|
|
30
|
+
return {
|
|
31
|
+
...definition,
|
|
32
|
+
type: "previous_period",
|
|
33
|
+
range: [
|
|
34
|
+
{
|
|
35
|
+
...from,
|
|
36
|
+
date: currentDate.toISOString(),
|
|
37
|
+
},
|
|
38
|
+
to,
|
|
39
|
+
],
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
case "same_period_previous_year": {
|
|
43
|
+
const currentDate = new Date(to.date);
|
|
44
|
+
currentDate.setFullYear(currentDate.getFullYear() - 1);
|
|
45
|
+
return {
|
|
46
|
+
...definition,
|
|
47
|
+
type: "same_period_previous_year",
|
|
48
|
+
range: [
|
|
49
|
+
{
|
|
50
|
+
...from,
|
|
51
|
+
date: currentDate.toISOString(),
|
|
52
|
+
},
|
|
53
|
+
to,
|
|
54
|
+
],
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function updateDateBy(date, granularity) {
|
|
60
|
+
switch (granularity) {
|
|
61
|
+
case "GDC.time.year": {
|
|
62
|
+
const current = new Date(date);
|
|
63
|
+
current.setFullYear(current.getFullYear() - 1);
|
|
64
|
+
return current;
|
|
65
|
+
}
|
|
66
|
+
case "GDC.time.week_us":
|
|
67
|
+
case "GDC.time.week": {
|
|
68
|
+
const current = new Date(date);
|
|
69
|
+
current.setDate(current.getDate() - 7);
|
|
70
|
+
return current;
|
|
71
|
+
}
|
|
72
|
+
case "GDC.time.quarter": {
|
|
73
|
+
const current = new Date(date);
|
|
74
|
+
current.setMonth(current.getMonth() - 3);
|
|
75
|
+
return current;
|
|
76
|
+
}
|
|
77
|
+
case "GDC.time.month": {
|
|
78
|
+
const current = new Date(date);
|
|
79
|
+
current.setMonth(current.getMonth() - 1);
|
|
80
|
+
return current;
|
|
81
|
+
}
|
|
82
|
+
case "GDC.time.date": {
|
|
83
|
+
const current = new Date(date);
|
|
84
|
+
current.setDate(current.getDate() - 1);
|
|
85
|
+
return current;
|
|
86
|
+
}
|
|
87
|
+
case "GDC.time.hour": {
|
|
88
|
+
const current = new Date(date);
|
|
89
|
+
current.setHours(current.getHours() - 1);
|
|
90
|
+
return current;
|
|
91
|
+
}
|
|
92
|
+
case "GDC.time.minute": {
|
|
93
|
+
const current = new Date(date);
|
|
94
|
+
current.setMinutes(current.getMinutes() - 1);
|
|
95
|
+
return current;
|
|
96
|
+
}
|
|
97
|
+
default:
|
|
98
|
+
return new Date(date);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function isPeriodChangeAvailable(dateAttribute) {
|
|
102
|
+
const granularity = dateAttribute?.granularity;
|
|
103
|
+
return granularity !== "GDC.time.year";
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=usePeriodChangeHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePeriodChangeHandler.js","sourceRoot":"","sources":["../../../../src/kdaDialog/composition/hooks/usePeriodChangeHandler.ts"],"names":[],"mappings":"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"}
|