feat: Referenzkurve-Button sendet API-Aufruf an Backend (KTR)

- handleSetReference um fetch-Aufruf ergänzt
- Unterscheidung von Entwicklungs- und Produktionsumgebung via NEXT_PUBLIC_API_BASE_URL
- Fehlerbehandlung und Alert bei Erfolg/Misserfolg eingebaut
This commit is contained in:
ISA
2025-03-31 10:05:36 +02:00
parent 14ba25bc57
commit 6b6b6cc9b8
4 changed files with 62 additions and 12 deletions

View File

@@ -121,13 +121,13 @@ const TDRChart: React.FC<{ isFullScreen: boolean }> = ({ isFullScreen }) => {
pointRadius: 10,
pointStyle: "triangle", // Hier den korrekten Stil setzen
showLine: false,
clip: true, // Wenn du die Fehlerstelle sichtbar sehen möchtest
clip: false, // Wenn du die Fehlerstelle sichtbar sehen möchtest
parsing: {
xAxisKey: "d",
yAxisKey: "p",
},
order: 9999,
z: 10, // Hier die Reihenfolge der Marker bestimmen
// Hier die Reihenfolge der Marker bestimmen
},
],
},

View File

@@ -37,18 +37,41 @@ const TDRChartActionBar: React.FC = () => {
};
// 📌 Referenz setzen (nutzt Slotnummer + 1 für die API)
const handleSetReference = () => {
if (selectedSlot === null || !currentChartData?.length) return;
const handleSetReference = async () => {
if (
selectedSlot === null ||
selectedId === null ||
!currentChartData?.length
)
return;
localStorage.setItem(
`ref-curve-slot${selectedSlot}`,
JSON.stringify(currentChartData)
);
try {
const slotNumber = selectedSlot + 1; // Slot ist 0-basiert, API will 1-basiert
const url = `/CPL?KTR${slotNumber}=${selectedId}`;
// 🔄 Redux updaten → Chart reagiert sofort!
dispatch(fetchReferenceCurveBySlotThunk(selectedSlot));
const response = await fetch(url, {
method: "GET",
});
alert("Referenzkurve gesetzt!");
if (!response.ok) {
throw new Error(
`Fehler beim Setzen der Referenz: ${response.statusText}`
);
}
// Optional: lokale Speicherung und Redux-Update
localStorage.setItem(
`ref-curve-slot${selectedSlot}`,
JSON.stringify(currentChartData)
);
dispatch(fetchReferenceCurveBySlotThunk(selectedSlot));
alert("Referenzkurve wurde erfolgreich gesetzt!");
} catch (error) {
console.error("Fehler beim Setzen der Referenzkurve:", error);
alert("Fehler beim Setzen der Referenzkurve.");
}
};
// 📥 Beim Slot-Wechsel TDM-Liste + letzte ID laden