- 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.
89 lines
2.5 KiB
JavaScript
89 lines
2.5 KiB
JavaScript
import { updateValues } from "../../../../store/variablesSlice";
|
|
const handleSave = ({
|
|
ids,
|
|
bezeichnungen,
|
|
isolationsgrenzwerte,
|
|
verzoegerung,
|
|
untereSchleifenGrenzwerte,
|
|
obereSchleifenGrenzwerte,
|
|
schleifenintervall,
|
|
originalValues,
|
|
slot,
|
|
dispatch,
|
|
onModulNameChange,
|
|
onClose,
|
|
}) => {
|
|
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();
|
|
};
|
|
|
|
export default handleSave;
|