Etagenwechsel im Automatik-Editor sah wie eine Kopie aus
Wer im Editor die Etage aenderte, fand die Automatik danach unter beiden Reitern. In der Datenbank stand sie nur einmal - saveAutomation() macht bei bekannter id ein UPDATE samt floor, einen INSERT gibt es auf dem Weg gar nicht. Nachgeladen wurde nach dem Speichern aber nur die Liste der neuen Etage; die alte behielt ihre Zeile, bis jemand die Seite neu lud. Der Editor merkt sich jetzt die Etage, mit der er aufgemacht wurde, und holt bei einem Wechsel beide Listen neu. Ohne Wechsel bleibt es bei der einen Anfrage. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -21,6 +21,9 @@ let autoModel = null;
|
|||||||
let autoDevices = [];
|
let autoDevices = [];
|
||||||
let autoLockouts = [];
|
let autoLockouts = [];
|
||||||
let autoRooms = [];
|
let autoRooms = [];
|
||||||
|
// Die Etage, mit der der Editor aufgemacht wurde. Wird sie geaendert,
|
||||||
|
// braucht auch die Liste der alten Etage ein Nachladen.
|
||||||
|
let autoFloorVorher = "";
|
||||||
|
|
||||||
// --- Katalog-Helfer ------------------------------------------------------
|
// --- Katalog-Helfer ------------------------------------------------------
|
||||||
|
|
||||||
@@ -639,6 +642,7 @@ function loadAutomatic() {
|
|||||||
autoRooms = daten.rooms || [];
|
autoRooms = daten.rooms || [];
|
||||||
|
|
||||||
const a = daten.automation;
|
const a = daten.automation;
|
||||||
|
autoFloorVorher = a.floor;
|
||||||
autoModel = {
|
autoModel = {
|
||||||
id: a.id,
|
id: a.id,
|
||||||
name: a.name,
|
name: a.name,
|
||||||
@@ -750,6 +754,13 @@ function submitAutoAction() {
|
|||||||
}
|
}
|
||||||
modalEV.hide();
|
modalEV.hide();
|
||||||
refreshAutomations(nutzlast.floor);
|
refreshAutomations(nutzlast.floor);
|
||||||
|
// Ein Etagenwechsel verschiebt die Automatik, er kopiert sie nicht - in
|
||||||
|
// der Datenbank steht weiter eine Zeile. Ohne dieses zweite Nachladen
|
||||||
|
// bliebe sie aber in der Tabelle der alten Etage stehen, und genau das
|
||||||
|
// sah wie eine Kopie aus.
|
||||||
|
if (autoFloorVorher && autoFloorVorher !== nutzlast.floor) {
|
||||||
|
refreshAutomations(autoFloorVorher);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user