feat: TDR-Chart aktualisiert sich jetzt automatisch bei Datenänderung

- `fetchAllTDRChartThunk.ts`: Vergleich der aktuellen und neuen Daten mit `lodash.isEqual`, um unnötige Redux-Updates zu vermeiden.
- `TDRChart.tsx`: Nutzt `selectedSlot` aus `kueChartModeSlice.ts`, um nur den relevanten Slot im Chart anzuzeigen.
- `ChartSwitcher.tsx`: Ruft alle 10 Sekunden `fetchAllTDRChartData` auf, um Änderungen zu prüfen.
- `tdrChartSlice.ts`: Speichert nur neue Daten, wenn sie sich von den vorherigen unterscheiden.
- Fix: `activeMode` aus `kueChartModeSlice.ts` wird für die Auswahl zwischen TDR- und Schleifenmessung verwendet.
- Code Cleanup und Logging für bessere Debugging-Unterstützung.

🔥 Jetzt aktualisiert sich der TDR-Chart automatisch, wenn sich die Daten ändern, ohne dass ein Neuladen der Seite erforderlich ist.
This commit is contained in:
ISA
2025-03-20 14:58:52 +01:00
parent 6f0f11306e
commit 75529f030e
7 changed files with 32 additions and 2800 deletions

View File

@@ -1,6 +1,7 @@
// /redux/thunks/fetchAllTDRChartThunk.ts
import { createAsyncThunk } from "@reduxjs/toolkit";
import { RootState } from "../store";
import isEqual from "lodash/isEqual";
const BASE_PATH = "/CPLmockData/LastTDR/jsonDatei";
@@ -34,11 +35,16 @@ export const fetchAllTDRChartData = createAsyncThunk(
}
if (
JSON.stringify(currentData) !== JSON.stringify(newData) ||
!isEqual(
JSON.parse(JSON.stringify(currentData)),
JSON.parse(JSON.stringify(newData))
) ||
currentData.length === 0
) {
console.log("🔥 Neue Daten erkannt Redux wird aktualisiert.");
return newData;
} else {
console.log("⚠ Keine signifikanten Änderungen erkannt.");
return rejectWithValue("Keine Änderungen in den Daten.");
}
}