// components/main/kabelueberwachung/kue705FO/Charts/LoopMeasurementChart/LoopChartActionBar.tsx import React, { useState } from "react"; import DateRangePicker from "../DateRangePicker"; import { useDispatch } from "react-redux"; import { setChartData } from "../../../../../../redux/slices/chartDataSlice"; const LoopChartActionBar: React.FC = () => { const dispatch = useDispatch(); // Zustand für das Dropdown-Menü zur Auswahl von DIA-Modus (Alle, Stunden, Tage) const [selectedMode, setSelectedMode] = useState<"DIA0" | "DIA1" | "DIA2">( "DIA0" ); // Zustand für das Dropdown-Menü zur Auswahl des Slot-Typs (Isolations- oder Schleifenwiderstand) const [selectedSlotType, setSelectedSlotType] = useState< "isolationswiderstand" | "schleifenwiderstand" >("schleifenwiderstand"); // Zustand für das Datum const [vonDatum, setVonDatum] = useState("2025;01;01"); const [bisDatum, setBisDatum] = useState("2025;07;31"); // Slot-Werte const isolationswiderstand = 3; const schleifenwiderstand = 4; /** * Dynamische API-URL-Erstellung für Entwicklung und Produktion * @param mode - DIA0, DIA1 oder DIA2 * @param slotIndex - Slot für die Abfrage */ const getApiUrl = (mode: "DIA0" | "DIA1" | "DIA2") => { return process.env.NODE_ENV === "development" ? `/CPLmockData/kuesChartData/${mode}.json` : `/CPL?seite.ACP&${mode}=${vonDatum};${bisDatum};${slotIndex}`; }; /** * Funktion zum Laden der Messwerte */ const handleFetchData = async () => { try { const apiUrl = getApiUrl(selectedMode); console.log("Mock JSON laden von:", apiUrl); const response = await fetch(apiUrl); if (!response.ok) throw new Error(`Fehler: ${response.status}`); const jsonData = await response.json(); console.log("Geladene Daten:", jsonData); if (Array.isArray(jsonData)) { dispatch(setChartData(jsonData)); } else { console.error("Erwartetes Array, aber erhalten:", jsonData); } } catch (error) { console.error("Fehler beim Laden der Mock-Daten:", error); } }; return (
{/* Datumsauswahl */} {/* Dropdown für DIA-Modus */} {/* Dropdown für Slot-Typ */} {/* Daten abrufen */}
); }; export default LoopChartActionBar;