feat: Verwende fetch statt window.location.href für Digitalausgang-Schalteraktionen
This commit is contained in:
@@ -49,22 +49,22 @@ export default function DigitalOutputsModal({
|
||||
|
||||
try {
|
||||
if (isCPL) {
|
||||
// ✅ Name speichern (DANx=...)
|
||||
const nameEncoded = encodeURIComponent(label.trim());
|
||||
const nameUrl = `/CPL?digitalOutputs.html&DAN0${selectedOutput.id}=${nameEncoded}`;
|
||||
|
||||
// ✅ Status speichern (DASx=...)
|
||||
const statusUrl = `/CPL?digitalOutputs.html&DAS0${selectedOutput.id}=${
|
||||
status ? 1 : 0
|
||||
}`;
|
||||
|
||||
// 🟢 Beide nacheinander senden (wichtig bei älteren CPL-Versionen)
|
||||
window.location.href = nameUrl; // Name zuerst (ggf. durch Refresh überschrieben)
|
||||
setTimeout(() => {
|
||||
window.location.href = statusUrl;
|
||||
}, 300); // kleine Verzögerung (optional)
|
||||
try {
|
||||
await fetch(nameUrl, { method: "GET" });
|
||||
await new Promise((res) => setTimeout(res, 300));
|
||||
await fetch(statusUrl, { method: "GET" });
|
||||
|
||||
// 💡 Modal wird nicht automatisch geschlossen — da Seite neu lädt.
|
||||
closeOutputModal(); // Seite bleibt erhalten
|
||||
} catch (err) {
|
||||
console.error("❌ Fehler bei fetch:", err);
|
||||
setErrorMsg("❌ Fehler beim Speichern.");
|
||||
}
|
||||
} else {
|
||||
// 🧪 Lokaler Entwicklungsmodus
|
||||
const res = await fetch("/api/cpl/updateDigitalOutputsHandler", {
|
||||
|
||||
Reference in New Issue
Block a user