From c4b37e9ee30c849186b08a4f1ac3610aadc4ed49 Mon Sep 17 00:00:00 2001 From: VassiliMoskaljov Date: Fri, 28 Feb 2025 09:01:30 +0200 Subject: [PATCH] Added filter to CSA data removing 0 values form charts. --- GUI/src/components/MetricsCharts/index.tsx | 20 +++++++++++++++++++- GUI/src/pages/FeedbackPage.tsx | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/GUI/src/components/MetricsCharts/index.tsx b/GUI/src/components/MetricsCharts/index.tsx index 010bba1c..33d2259f 100644 --- a/GUI/src/components/MetricsCharts/index.tsx +++ b/GUI/src/components/MetricsCharts/index.tsx @@ -20,9 +20,15 @@ type Props = { endDate: string; unit?: string; groupByPeriod: GroupByPeriod; + filterEmpty?: boolean; }; -const MetricsCharts = ({ title, data, startDate, endDate, unit, groupByPeriod }: Props) => { +type DataItem = { + dateTime: number; + [key: string]: number; +}; + +const MetricsCharts = ({ title, data, startDate, endDate, unit, groupByPeriod, filterEmpty }: Props) => { const { t } = useTranslation(); const charts: ChartType[] = [ @@ -41,7 +47,19 @@ const MetricsCharts = ({ title, data, startDate, endDate, unit, groupByPeriod }: ]; const [selectedChart, setSelectedChart] = useState('barChart'); + const filterChartsData = () => { + return data.chartData.map((obj : DataItem) => { + return Object.fromEntries( + Object.entries(obj).filter(([key, value]) => key === "dateTime" || value !== 0) + ); + }); + } + const buildChart = () => { + if(filterEmpty) { + data.chartData = filterChartsData(); + } + if (selectedChart === 'pieChart') { return ( { {currentConfigs?.metric != 'negative_feedback' && (