From 849d31bc8e58122c9ddb43e9e6a98a3229188601 Mon Sep 17 00:00:00 2001 From: Jan Date: Tue, 9 Sep 2025 21:52:39 +0200 Subject: [PATCH] FRONTEND: Add stacked bar chart integration with error bars using Chart.js in `ReportChart`; include Chart.js dependency and enhance `ReportRoute` with updated icons --- src/frontend/package-lock.json | 19 ++ src/frontend/package.json | 1 + .../src/components/UI/ReportChart.vue | 217 +++++++++++++++++- .../src/components/UI/ReportRoute.vue | 14 +- 4 files changed, 240 insertions(+), 11 deletions(-) diff --git a/src/frontend/package-lock.json b/src/frontend/package-lock.json index 15f194e..47f33bf 100644 --- a/src/frontend/package-lock.json +++ b/src/frontend/package-lock.json @@ -10,6 +10,7 @@ "dependencies": { "@phosphor-icons/vue": "^2.2.1", "@vueuse/core": "^13.6.0", + "chart.js": "^4.5.0", "loglevel": "^1.9.2", "pinia": "^3.0.3", "vue": "^3.5.18", @@ -973,6 +974,12 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@kurkle/color": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz", + "integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w==", + "license": "MIT" + }, "node_modules/@phosphor-icons/vue": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/@phosphor-icons/vue/-/vue-2.2.1.tgz", @@ -1719,6 +1726,18 @@ ], "license": "CC-BY-4.0" }, + "node_modules/chart.js": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.0.tgz", + "integrity": "sha512-aYeC/jDgSEx8SHWZvANYMioYMZ2KX02W6f6uVfyteuCGcadDLcYVHdfdygsTQkQ4TKn5lghoojAsPj5pu0SnvQ==", + "license": "MIT", + "dependencies": { + "@kurkle/color": "^0.3.0" + }, + "engines": { + "pnpm": ">=8" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", diff --git a/src/frontend/package.json b/src/frontend/package.json index 88df4dd..b63c4c4 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -14,6 +14,7 @@ "dependencies": { "@phosphor-icons/vue": "^2.2.1", "@vueuse/core": "^13.6.0", + "chart.js": "^4.5.0", "loglevel": "^1.9.2", "pinia": "^3.0.3", "vue": "^3.5.18", diff --git a/src/frontend/src/components/UI/ReportChart.vue b/src/frontend/src/components/UI/ReportChart.vue index a6c8902..2a93ad2 100644 --- a/src/frontend/src/components/UI/ReportChart.vue +++ b/src/frontend/src/components/UI/ReportChart.vue @@ -1,15 +1,216 @@ - - \ No newline at end of file diff --git a/src/frontend/src/components/UI/ReportRoute.vue b/src/frontend/src/components/UI/ReportRoute.vue index 3e0403a..be14ef1 100644 --- a/src/frontend/src/components/UI/ReportRoute.vue +++ b/src/frontend/src/components/UI/ReportRoute.vue @@ -16,7 +16,7 @@ v-if="section.transport_type === 'ROAD' || section.transport_type === 'POST_RUN'">
- {{ section.from_node.external_mapping_id ?? section.from_node.name }} > + {{ section.from_node.external_mapping_id ?? section.from_node.name }} {{ section.to_node.external_mapping_id ?? section.to_node.name }}
@@ -40,11 +40,19 @@