From 5a98a6351dc0b3b3be007cb8a7e0edeaa27b2201 Mon Sep 17 00:00:00 2001
From: Franck LECUYER <franck.lecuyer@rte-france.com>
Date: Wed, 29 Jan 2025 16:29:14 +0100
Subject: [PATCH] Reset highlighted report in logs report tree, when changing
 node in the tree or when changing message filter content.

Signed-off-by: Franck LECUYER <franck.lecuyer@rte-france.com>
---
 src/components/report-viewer/log-table.tsx     | 7 ++++++-
 src/components/report-viewer/report-viewer.tsx | 6 ++++++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/components/report-viewer/log-table.tsx b/src/components/report-viewer/log-table.tsx
index 9b98210bca..8459699f89 100644
--- a/src/components/report-viewer/log-table.tsx
+++ b/src/components/report-viewer/log-table.tsx
@@ -67,9 +67,10 @@ type LogTableProps = {
     reportType: string;
     severities: SeverityLevel[] | undefined;
     onRowClick: (data: ReportLog) => void;
+    onFiltersChanged: () => void;
 };
 
-const LogTable = ({ selectedReport, reportType, severities, onRowClick }: LogTableProps) => {
+const LogTable = ({ selectedReport, reportType, severities, onRowClick, onFiltersChanged }: LogTableProps) => {
     const intl = useIntl();
 
     const theme = useTheme<Theme>();
@@ -140,6 +141,10 @@ const LogTable = ({ selectedReport, reportType, severities, onRowClick }: LogTab
         }
     }, [refreshLogsOnSelectedReport, selectedReport]);
 
+    useEffect(() => {
+        onFiltersChanged();
+    }, [filters, onFiltersChanged]);
+
     const COLUMNS_DEFINITIONS = useMemo(
         () => [
             makeAgGridCustomHeaderColumn({
diff --git a/src/components/report-viewer/report-viewer.tsx b/src/components/report-viewer/report-viewer.tsx
index 82ab4ff7be..e38bac4ac2 100644
--- a/src/components/report-viewer/report-viewer.tsx
+++ b/src/components/report-viewer/report-viewer.tsx
@@ -74,6 +74,10 @@ export default function ReportViewer({ report, reportType, severities = [] }: Re
         [reportTreeMap]
     );
 
+    const onFiltersChanged = useCallback(() => {
+        setHighlightedReportId(undefined);
+    }, [setHighlightedReportId]);
+
     const handleSelectedItem = useCallback(
         (report: ReportItem) => {
             setSelectedReport((prevSelectedReport) => {
@@ -82,6 +86,7 @@ export default function ReportViewer({ report, reportType, severities = [] }: Re
                 }
                 return prevSelectedReport;
             });
+            setHighlightedReportId(undefined);
         },
         [reportTreeMap]
     );
@@ -110,6 +115,7 @@ export default function ReportViewer({ report, reportType, severities = [] }: Re
                     reportType={reportType}
                     severities={severities}
                     onRowClick={onLogRowClick}
+                    onFiltersChanged={onFiltersChanged}
                 />
             </Grid>
         </Grid>