Skip to content

Commit e3c0a54

Browse files
committedJan 12, 2025
feat(Analytics): add yAxis configuration for Task D with titles for capitation, volume, and average
1 parent 26da733 commit e3c0a54

File tree

5 files changed

+28
-8
lines changed

5 files changed

+28
-8
lines changed
 

‎src/locales/en.json

+6-1
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,12 @@
161161
"title": "Task C title"
162162
},
163163
"taskD": {
164-
"title": "Task D title"
164+
"title": "Task D title",
165+
"yAxis": {
166+
"capitationTitle": "glavarina",
167+
"volTitle": "percent",
168+
"avgTitle": "percent"
169+
}
165170
}
166171
}
167172
}

‎src/locales/sl.json

+6-1
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,12 @@
163163
"title": "Task C naslov"
164164
},
165165
"taskD": {
166-
"title": "Primerjava glede na lastništvo"
166+
"title": "Primerjava glede na lastništvo",
167+
"yAxis": {
168+
"capitationTitle": "glavarina",
169+
"volTitle": "odstotek",
170+
"avgTitle": "odstotek"
171+
}
167172
}
168173
}
169174
}

‎src/pages/Analytics/Cards/prod/TaskD/index.jsx

+12-6
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,17 @@ const PivotkeD = function PivotkeD({ id }) {
3333
group: groupOptions[0].options[0].group,
3434
});
3535

36-
const translations = t('analytics.taskD', { returnObjects: true });
36+
const tTaskD = t('analytics.taskD', { returnObjects: true });
3737

3838
useEffect(() => {
3939
if (!init) {
4040
setInit(true);
4141
}
4242
}, [init]);
4343

44+
/** @type {TaskDTypes.ParsedData} */
4445
const data = useMemo(() => parsedData[filterState.data], [filterState.data]);
45-
46+
const yAxisTitle = t(`analytics.taskD.yAxis.${filterState.group}Title`);
4647
useEffect(() => {
4748
if (!init) return;
4849

@@ -64,12 +65,17 @@ const PivotkeD = function PivotkeD({ id }) {
6465
xAxis: {
6566
tickPositions,
6667
},
68+
yAxis: {
69+
title: {
70+
text: yAxisTitle,
71+
},
72+
},
6773
series: [
68-
{ name: 'Javni', data: data.public },
69-
{ name: 'Zasebni', data: data.private },
74+
{ name: t('analytics.common.contractTypes.public'), data: data.public },
75+
{ name: t('analytics.common.contractTypes.private'), data: data.private },
7076
],
7177
});
72-
}, [init, data]);
78+
}, [init, data, yAxisTitle]);
7379

7480
const onFormChange = e => {
7581
const { name, value } = e;
@@ -79,7 +85,7 @@ const PivotkeD = function PivotkeD({ id }) {
7985
return (
8086
<Card id={id}>
8187
<CardHeader>
82-
<CardTitle>{translations.title}</CardTitle>
88+
<CardTitle>{tTaskD.title}</CardTitle>
8389
</CardHeader>
8490
<CardContent>
8591
<FilterForm filterState={filterState} onFormChange={onFormChange} />

‎src/pages/Analytics/Cards/prod/TaskD/parsed-files.js

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ export const groupOptions = Object.entries(dataGroups)
4747
}))
4848
.sort((a, b) => groupOrder[a.label] - groupOrder[b.label]);
4949

50+
/** @type {Record<TaskDTypes.FileKey, TaskDTypes.ParsedData} */
5051
export const parsedData = Object.entries(files)?.reduce((acc, [fileName, items]) => {
5152
const data = { public: [], private: [] };
5253
items.forEach(item => {

‎src/pages/Analytics/Cards/prod/TaskD/types.js

+3
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@
2424
*
2525
* @typedef {[Timestamp, number]} ParsedDataItem - The parsed data item as a tuple of timestamp and value.
2626
*
27+
* @typedef {Object} ParsedData - The parsed data object.
28+
* @property {ParsedDataItem[]} public - The public data.
29+
* @property {ParsedDataItem[]} private - The private data.
2730
*/
2831

2932
export default {};

0 commit comments

Comments
 (0)
Please sign in to comment.