import ReactModal from "react-modal"; import { useState, useEffect } from "react"; function KueModal({ showModal, onClose, slot }) { // Verwende ein Array von Bezeichnungen und Isolationsgrenzwerten für 32 Slots const [bezeichnungen, setBezeichnungen] = useState(Array(32).fill("---")); const [isolationsgrenzwerte, setIsolationsgrenzwerte] = useState( Array(32).fill(0) ); // Default 10.0 MOhm const handleVerzögerungChange = (e) => { let value = e.target.value; // Wertebereich von 1 bis 999 überprüfen if (value < 1) value = 1; if (value > 999) value = 999; e.target.value = value; // Setze den korrigierten Wert zurück in das Inputfeld }; useEffect(() => { // Initialisiere die Bezeichnungen basierend auf window.kueName if (window.kueName && Array.isArray(window.kueName)) { setBezeichnungen((prevBezeichnungen) => { const updatedBezeichnungen = [...prevBezeichnungen]; for (let i = 0; i < 32; i++) { updatedBezeichnungen[i] = window.kueName[i]?.trim() || "---"; // Leerzeichen entfernen } return updatedBezeichnungen; }); } // Initialisiere die Isolationsgrenzwerte basierend auf window.kueLimit1 if (window.kueLimit1 && Array.isArray(window.kueLimit1)) { setIsolationsgrenzwerte((prevIsolationsgrenzwerte) => { const updatedGrenzwerte = [...prevIsolationsgrenzwerte]; for (let i = 0; i < 32; i++) { updatedGrenzwerte[i] = window.kueLimit1[i] || 10.0; // Default zu 10.0 } return updatedGrenzwerte; }); } }, []); // Funktion zum Ändern der Bezeichnung für den aktuellen Slot const handleBezeichnungChange = (e, slot) => { const newBezeichnung = e.target.value; setBezeichnungen((prevBezeichnungen) => { const updatedBezeichnungen = [...prevBezeichnungen]; updatedBezeichnungen[slot] = newBezeichnung; return updatedBezeichnungen; }); }; // Funktion zum Ändern des Isolationsgrenzwerts für den aktuellen Slot const handleIsolationsgrenzwertChange = (e, slot) => { const newGrenzwert = e.target.value; setIsolationsgrenzwerte((prevGrenzwerte) => { const updatedGrenzwerte = [...prevGrenzwerte]; updatedGrenzwerte[slot] = newGrenzwert; return updatedGrenzwerte; }); }; return ( {/* Modal Header */}

KUE Einstellung

{/* Modal Body */}
{/* */} {/* */}
Bezeichnung Isolationsgrenzwert Verzögerung Schleifengrenzwert TDR Aktiv KVZ Aktiv Datenlogger
{slot + 1} handleBezeichnungChange(e, slot)} // Update Bezeichnung bei Änderung /> handleIsolationsgrenzwertChange(e, slot)} // Update Isolationsgrenzwert bei Änderung />{" "} MOhm {/* Flexbox für Verzögerung */}
sek.
{" "} kOhm
{/* Modal Footer */}
); } export default KueModal;