diff --git a/components/Header.jsx b/components/Header.jsx index 2a5a885..b59f227 100644 --- a/components/Header.jsx +++ b/components/Header.jsx @@ -2,7 +2,7 @@ import React, { useEffect, useState } from "react"; import Image from "next/image"; import "bootstrap-icons/font/bootstrap-icons.css"; -import SettingsModal from "./modales/SettingsModal"; +import SettingsModal from "./modales/settingsModal/SettingsModal"; import { useSelector } from "react-redux"; function Header() { diff --git a/components/modales/KueModal.jsx b/components/modales/kueModal/KueModal.jsx similarity index 76% rename from components/modales/KueModal.jsx rename to components/modales/kueModal/KueModal.jsx index d26f3b2..adffc08 100644 --- a/components/modales/KueModal.jsx +++ b/components/modales/kueModal/KueModal.jsx @@ -2,8 +2,9 @@ import ReactModal from "react-modal"; import { useState, useEffect } from "react"; import { useSelector, useDispatch } from "react-redux"; -import { updateValues } from "../../store/variablesSlice"; +import { updateValues } from "../../../store/variablesSlice"; import "bootstrap-icons/font/bootstrap-icons.css"; // Import Bootstrap Icons +import { handleSave } from "./handlers/handleSave"; function KueModal({ showModal, onClose, slot, onModulNameChange }) { const dispatch = useDispatch(); @@ -69,78 +70,21 @@ function KueModal({ showModal, onClose, slot, onModulNameChange }) { return updated; }); }; - - const handleSave = () => { - const changes = {}; - - // Überprüfen, ob Änderungen gegenüber den Originalwerten vorliegen - if (ids[slot] !== originalValues.ids[slot]) { - changes.KID = ids[slot]; - } - if (bezeichnungen[slot] !== originalValues.bezeichnungen[slot]) { - changes.KIA = bezeichnungen[slot]; - } - if ( - isolationsgrenzwerte[slot] !== originalValues.isolationsgrenzwerte[slot] - ) { - changes.KL_ = isolationsgrenzwerte[slot]; - } - if (verzoegerung[slot] !== originalValues.verzoegerung[slot]) { - changes.KD_ = verzoegerung[slot]; - } - if ( - untereSchleifenGrenzwerte[slot] !== - originalValues.untereSchleifenGrenzwerte[slot] - ) { - changes.KR_ = untereSchleifenGrenzwerte[slot]; - } - if ( - obereSchleifenGrenzwerte[slot] !== - originalValues.obereSchleifenGrenzwerte[slot] - ) { - changes.KRO_ = obereSchleifenGrenzwerte[slot]; - } - if (schleifenintervall[slot] !== originalValues.schleifenintervall[slot]) { - changes.KRI = schleifenintervall[slot]; - } - - if (Object.keys(changes).length > 0) { - let url = `/cpl?/kabelueberwachung.html&slot=${slot}`; - Object.keys(changes).forEach((paramKey) => { - url += `&${paramKey}${slot}=${encodeURIComponent(changes[paramKey])}`; - }); - - fetch(url, { method: "GET" }) - .then((response) => { - if (response.ok) { - alert("Daten erfolgreich gespeichert!"); - onModulNameChange(ids[slot]); - - // Aktualisiere Redux-Store mit neuen Werten - dispatch( - updateValues({ - ids: [...ids], - bezeichnungen: [...bezeichnungen], - isolationsgrenzwerte: [...isolationsgrenzwerte], - verzoegerung: [...verzoegerung], - untereSchleifenGrenzwerte: [...untereSchleifenGrenzwerte], - obereSchleifenGrenzwerte: [...obereSchleifenGrenzwerte], - schleifenintervall: [...schleifenintervall], - }) - ); - } else { - alert("Fehler beim Speichern der Daten!"); - } - }) - .catch((error) => { - console.error("Fehler:", error); - //alert("Fehler beim Senden der Daten!"); - }); - } else { - alert("Keine Änderungen vorgenommen."); - } - - onClose(); + const handleSaveWrapper = () => { + handleSave({ + ids, + bezeichnungen, + isolationsgrenzwerte, + verzoegerung, + untereSchleifenGrenzwerte, + obereSchleifenGrenzwerte, + schleifenintervall, + originalValues, + slot, + dispatch, + onModulNameChange, + onClose, + }); }; const handleDisplayEinschalten = () => { @@ -301,7 +245,7 @@ function KueModal({ showModal, onClose, slot, onModulNameChange }) { 📺 Display einschalten - - */} - {/* Modal Footer */}