// /components/main/kabelueberwachung/kue705FO/Charts/TDRChart/TDRChartActionBar.tsx import React, { useState, useEffect } from "react"; import { useSelector } from "react-redux"; import { useAppDispatch } from "../../../../../../redux/store"; import { RootState } from "../../../../../../redux/store"; import { fetchTDMDataBySlotThunk } from "../../../../../../redux/thunks/fetchTDMListBySlotThunk"; import { fetchTDRChartDataByIdThunk } from "../../../../../../redux/thunks/fetchTDRChartDataByIdThunk"; const TDRChartActionBar: React.FC = () => { const dispatch = useAppDispatch(); const tdmChartData = useSelector((state: RootState) => state.tdmChart.data); const selectedSlot = useSelector( (state: RootState) => state.kueChartMode.selectedSlot ); const idsForSlot = selectedSlot !== null ? tdmChartData[selectedSlot] ?? [] : []; const [selectedId, setSelectedId] = useState(null); // Dropdown-Auswahl: Neue ID auswählen const handleSelectChange = (e: React.ChangeEvent) => { const id = parseInt(e.target.value); setSelectedId(id); dispatch(fetchTDRChartDataByIdThunk(id)); }; // Button: Als Referenzkurve setzen const handleSetReference = async () => { if (selectedId === null || selectedSlot === null) return; const url = `${window.location.origin}/CPL?seite.ACP&KTR${selectedSlot}=${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."); } }; // Automatisch neueste ID laden, wenn Slot sich ändert useEffect(() => { if (selectedSlot !== null) { dispatch(fetchTDMDataBySlotThunk(selectedSlot)).then((action: any) => { const slotData = action.payload?.data; if (slotData?.length > 0) { const lastId = slotData[0].id; setSelectedId(lastId); dispatch(fetchTDRChartDataByIdThunk(lastId)); } }); } }, [selectedSlot, dispatch]); return (
{/* Ausgewählter Slot */}
{selectedSlot !== null ? `Slot ${selectedSlot + 1}` : "Kein Slot gewählt"}
{/* Button: Als Referenzkurve setzen */} {selectedId !== null && ( )} {/* Dropdown für Messungsauswahl */}
); }; export default TDRChartActionBar;