fix: KUE-Einstellungen nach dem Speichern sofort lokal aktualisiert
- formData nach erfolgreichem handleSave manuell gesetzt - Alle Werte (Grenzwerte, Intervall etc.) werden direkt im UI angezeigt - Kein Navigieren oder Neuladen mehr nötig zur Sichtbarkeit - Cache aktualisiert, damit auch beim Wiederöffnen korrekte Werte angezeigt werden
This commit is contained in:
@@ -11,7 +11,7 @@ export interface OriginalValues {
|
|||||||
speicherintervall: number[];
|
speicherintervall: number[];
|
||||||
}
|
}
|
||||||
|
|
||||||
interface HandleSaveParams {
|
export interface HandleSaveParams {
|
||||||
ids: string[];
|
ids: string[];
|
||||||
isolationsgrenzwerte: number[];
|
isolationsgrenzwerte: number[];
|
||||||
verzoegerung: number[];
|
verzoegerung: number[];
|
||||||
@@ -19,11 +19,20 @@ interface HandleSaveParams {
|
|||||||
obereSchleifenGrenzwerte: number[];
|
obereSchleifenGrenzwerte: number[];
|
||||||
schleifenintervall: number[];
|
schleifenintervall: number[];
|
||||||
speicherintervall: number[];
|
speicherintervall: number[];
|
||||||
originalValues: OriginalValues;
|
originalValues: {
|
||||||
|
kueID: string[];
|
||||||
|
isolationsgrenzwerte: number[];
|
||||||
|
verzoegerung: number[];
|
||||||
|
untereSchleifenGrenzwerte: number[];
|
||||||
|
obereSchleifenGrenzwerte: number[];
|
||||||
|
schleifenintervall: number[];
|
||||||
|
speicherintervall: number[];
|
||||||
|
};
|
||||||
slot: number;
|
slot: number;
|
||||||
dispatch: (action: any) => void;
|
dispatch: any;
|
||||||
onModulNameChange: (id: string) => void;
|
onModulNameChange: (id: string) => void;
|
||||||
onClose: () => void;
|
onClose: () => void;
|
||||||
|
onFormUpdate?: (updated: any) => void; // Added this property
|
||||||
}
|
}
|
||||||
|
|
||||||
const isDifferent = (a: any, b: any): boolean => {
|
const isDifferent = (a: any, b: any): boolean => {
|
||||||
@@ -155,6 +164,10 @@ const handleSave = async ({
|
|||||||
memoryInterval: [...speicherintervall],
|
memoryInterval: [...speicherintervall],
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
// 🚀 Modal erst schließen, wenn UI aktualisiert ist
|
||||||
|
setTimeout(() => {
|
||||||
|
onClose();
|
||||||
|
}, 0);
|
||||||
} else {
|
} else {
|
||||||
alert("ℹ️ Keine Änderungen vorgenommen.");
|
alert("ℹ️ Keine Änderungen vorgenommen.");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
// KueEinstellung.tsx – vollständige Version mit handleSave eingebunden
|
// KueEinstellung.tsx – final überarbeitet: formData wird direkt nach dem Speichern aktualisiert
|
||||||
|
|
||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import { useSelector, useDispatch } from "react-redux";
|
import { useDispatch, useSelector } from "react-redux";
|
||||||
import type { RootState } from "../../../../../redux/store";
|
import type { RootState } from "../../../../../redux/store";
|
||||||
import handleSave from "../handlers/handleSave";
|
import handleSave from "../handlers/handleSave";
|
||||||
import handleDisplayEinschalten from "../handlers/handleDisplayEinschalten";
|
import handleDisplayEinschalten from "../handlers/handleDisplayEinschalten";
|
||||||
@@ -35,6 +35,7 @@ export default function KueEinstellung({
|
|||||||
onClose = () => {},
|
onClose = () => {},
|
||||||
onModulNameChange,
|
onModulNameChange,
|
||||||
}: Props) {
|
}: Props) {
|
||||||
|
const dispatch = useDispatch();
|
||||||
const {
|
const {
|
||||||
kueID,
|
kueID,
|
||||||
kueLimit1,
|
kueLimit1,
|
||||||
@@ -45,7 +46,6 @@ export default function KueEinstellung({
|
|||||||
} = useSelector((state: RootState) => state.kueDataSlice);
|
} = useSelector((state: RootState) => state.kueDataSlice);
|
||||||
|
|
||||||
const { isAdminLoggedIn } = useAdminAuth(true);
|
const { isAdminLoggedIn } = useAdminAuth(true);
|
||||||
const dispatch = useDispatch();
|
|
||||||
|
|
||||||
const formCacheKey = `slot_${slot}`;
|
const formCacheKey = `slot_${slot}`;
|
||||||
if (typeof window !== "undefined") {
|
if (typeof window !== "undefined") {
|
||||||
@@ -111,13 +111,24 @@ export default function KueEinstellung({
|
|||||||
speicherintervall: memoryInterval,
|
speicherintervall: memoryInterval,
|
||||||
},
|
},
|
||||||
slot,
|
slot,
|
||||||
dispatch, // du kannst dispatch hier übergeben, falls nötig
|
dispatch,
|
||||||
onModulNameChange: onModulNameChange ?? (() => {}),
|
onModulNameChange: onModulNameChange ?? (() => {}),
|
||||||
onClose,
|
onClose,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const newData = {
|
||||||
|
name: updatedKueID[slot],
|
||||||
|
limit1: updatedLimit1[slot].toString(),
|
||||||
|
delay1: updatedDelay1[slot].toString(),
|
||||||
|
limit2Low: updatedLimit2Low[slot].toString(),
|
||||||
|
loopInterval: updatedLoopInterval[slot].toString(),
|
||||||
|
memoryInterval: updatedMemoryInterval[slot].toString(),
|
||||||
|
};
|
||||||
|
|
||||||
|
setFormData(newData);
|
||||||
|
|
||||||
if (typeof window !== "undefined") {
|
if (typeof window !== "undefined") {
|
||||||
delete window.__kueCache?.[formCacheKey];
|
window.__kueCache![formCacheKey] = newData;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -6,5 +6,5 @@
|
|||||||
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
||||||
|
|
||||||
*/
|
*/
|
||||||
const webVersion = "1.6.317";
|
const webVersion = "1.6.318";
|
||||||
export default webVersion;
|
export default webVersion;
|
||||||
|
|||||||
Reference in New Issue
Block a user