From 589c8a0e9e5bba1627d304625333134475b65643 Mon Sep 17 00:00:00 2001 From: ISA Date: Sat, 9 Nov 2024 19:29:33 +0100 Subject: [PATCH] feat: Modularize KueModal component by extracting handler functions - Moved `handleSave`, `handleChange`, `handleDisplayEinschalten`, `handleSetDateTime`, `handleClearDatabase`, and `handleReboot` to separate handler files for better modularity and code organization. - Updated imports in `KueModal.jsx` and `SettingsModal.jsx` to use new handler files. - Improved code readability and maintainability by organizing functions into dedicated handler modules. --- components/modales/kueModal/KueModal.jsx | 69 +++++++------------ .../modales/kueModal/handlers/handleChange.js | 10 +++ .../handlers/handleDisplayEinschalten.js | 16 +++++ .../modales/kueModal/handlers/handleSave.js | 2 + .../handlers/handleClearDatabase.js | 2 + .../handlers/handleSetDateTime.js | 2 + .../settingsModal/handlers/handleSubmit.js | 2 + 7 files changed, 59 insertions(+), 44 deletions(-) create mode 100644 components/modales/kueModal/handlers/handleChange.js create mode 100644 components/modales/kueModal/handlers/handleDisplayEinschalten.js diff --git a/components/modales/kueModal/KueModal.jsx b/components/modales/kueModal/KueModal.jsx index adffc08..8e280b1 100644 --- a/components/modales/kueModal/KueModal.jsx +++ b/components/modales/kueModal/KueModal.jsx @@ -5,6 +5,8 @@ import { useSelector, useDispatch } from "react-redux"; import { updateValues } from "../../../store/variablesSlice"; import "bootstrap-icons/font/bootstrap-icons.css"; // Import Bootstrap Icons import { handleSave } from "./handlers/handleSave"; +import { handleDisplayEinschalten } from "./handlers/handleDisplayEinschalten"; +import { handleChange } from "./handlers/handleChange"; function KueModal({ showModal, onClose, slot, onModulNameChange }) { const dispatch = useDispatch(); @@ -36,6 +38,27 @@ function KueModal({ showModal, onClose, slot, onModulNameChange }) { kueLoopInterval, } = useSelector((state) => state.variables); + const handleSaveWrapper = () => { + handleSave({ + ids, + bezeichnungen, + isolationsgrenzwerte, + verzoegerung, + untereSchleifenGrenzwerte, + obereSchleifenGrenzwerte, + schleifenintervall, + originalValues, + slot, + dispatch, + onModulNameChange, + onClose, + }); + }; + + const handleDisplayEinschaltenWrapper = () => { + handleDisplayEinschalten(slot); // Übergebe den Slot als Parameter + }; + //------------------------------------------------------------------------------------------------------------ // Initiale Werte festlegen, nur einmal beim Öffnen des Modals useEffect(() => { if (showModal) { @@ -60,49 +83,7 @@ function KueModal({ showModal, onClose, slot, onModulNameChange }) { }); } }, [showModal]); // nur von showModal abhängig ansonsten wird alle 10 Sekunden die Werte zurückgesetzt in Modal - - // Funktionen zur Änderung der Werte - const handleChange = (setter, e, slot) => { - const value = e.target.value; - setter((prev) => { - const updated = [...prev]; - updated[slot] = value; - return updated; - }); - }; - const handleSaveWrapper = () => { - handleSave({ - ids, - bezeichnungen, - isolationsgrenzwerte, - verzoegerung, - untereSchleifenGrenzwerte, - obereSchleifenGrenzwerte, - schleifenintervall, - originalValues, - slot, - dispatch, - onModulNameChange, - onClose, - }); - }; - - const handleDisplayEinschalten = () => { - const url = `/CPL?/kabelueberwachung.html&KSD${slot}=1`; - fetch(url, { method: "GET" }) - .then((response) => { - if (response.ok) { - alert(`Display für Slot ${slot + 1} erfolgreich eingeschaltet!`); - } else { - alert("Fehler beim Einschalten des Displays!"); - } - }) - .catch((error) => { - console.error("Fehler:", error); - alert("Fehler beim Einschalten des Displays!"); - }); - }; - + //------------------------------------------------------------------------------------------------------------ return (