feat: lokale Speicherung der Referenzkurve per localStorage implementiert

- Aktuelle Messkurve wird bei Klick auf „Als Referenzkurve setzen“ in localStorage gespeichert
- fetchTDRReferenceCurve lädt zuerst aus localStorage, dann aus Datei/Produktion
- Ermöglicht Setzen und Testen von Referenzkurven in der Entwicklungsumgebung ohne Backend
This commit is contained in:
Ismail Ali
2025-03-30 20:22:48 +02:00
parent cb2deecf17
commit 826977c9c7
4 changed files with 23 additions and 20 deletions

View File

@@ -22,7 +22,11 @@ const TDRChartActionBar: React.FC = () => {
const idsForSlot =
selectedSlot !== null ? tdmChartData[selectedSlot] ?? [] : [];
const tdrDataById = useSelector(
(state: RootState) => state.tdrDataById.dataById
);
const [selectedId, setSelectedId] = useState<number | null>(null);
const currentChartData = selectedId !== null ? tdrDataById[selectedId] : [];
// 🔄 Dropdown-Auswahl: neue Messung laden
const handleSelectChange = (e: React.ChangeEvent<HTMLSelectElement>) => {
@@ -32,19 +36,15 @@ const TDRChartActionBar: React.FC = () => {
};
// 📌 Referenz setzen (nutzt Slotnummer + 1 für die API)
const handleSetReference = async () => {
if (selectedId === null || selectedSlot === null) return;
const handleSetReference = () => {
if (selectedSlot === null || !currentChartData?.length) return;
const apiSlot = selectedSlot + 1;
const url = `${window.location.origin}/CPL?seite.ACP&KTR${apiSlot}=${selectedId}`;
try {
const response = await fetch(url);
if (!response.ok) throw new Error("Fehler beim Setzen der Referenzkurve");
alert("✅ Referenzkurve erfolgreich gesetzt.");
} catch (error) {
console.error("❌ Fehler:", error);
alert("❌ Referenzkurve konnte nicht gesetzt werden.");
}
localStorage.setItem(
`ref-curve-slot${selectedSlot}`,
JSON.stringify(currentChartData)
);
alert("✅ Referenzkurve lokal gespeichert (nur im Browser)");
};
// 📥 Beim Slot-Wechsel TDM-Liste + letzte ID laden