WIP: KÜ Modal Einstellung Bezeichnung funktioniert, aber die andere Werte muss noch bearbeitet werden

This commit is contained in:
ISA
2025-04-30 08:25:10 +02:00
parent 3a3340da7a
commit 85b286897e
4 changed files with 46 additions and 38 deletions

View File

@@ -1,9 +1,11 @@
"use client"; // KueEinstellung.tsx komplett angepasst mit window.__kueCache zum Schutz vor Remount-Reset // KueEinstellung.tsx vollständige Version mit handleSave eingebunden
import { useEffect, useState } from "react"; "use client";
import { useDispatch, useSelector } from "react-redux";
import { useState } from "react";
import { useSelector, useDispatch } from "react-redux";
import type { RootState } from "../../../../../redux/store"; import type { RootState } from "../../../../../redux/store";
import { setKueData } from "../../../../../redux/slices/kueDataSlice"; import handleSave from "../handlers/handleSave";
import handleDisplayEinschalten from "../handlers/handleDisplayEinschalten"; import handleDisplayEinschalten from "../handlers/handleDisplayEinschalten";
import firmwareUpdate from "../handlers/firmwareUpdate"; import firmwareUpdate from "../handlers/firmwareUpdate";
import { useAdminAuth } from "../../../settingsPageComponents/hooks/useAdminAuth"; import { useAdminAuth } from "../../../settingsPageComponents/hooks/useAdminAuth";
@@ -31,8 +33,8 @@ export default function KueEinstellung({
slot, slot,
showModal, showModal,
onClose = () => {}, onClose = () => {},
onModulNameChange,
}: Props) { }: Props) {
const dispatch = useDispatch();
const { const {
kueID, kueID,
kueLimit1, kueLimit1,
@@ -43,12 +45,12 @@ 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") {
window.__kueCache = window.__kueCache || {}; window.__kueCache = window.__kueCache || {};
} }
const cached = const cached =
typeof window !== "undefined" ? window.__kueCache?.[formCacheKey] : null; typeof window !== "undefined" ? window.__kueCache?.[formCacheKey] : null;
@@ -68,7 +70,7 @@ export default function KueEinstellung({
const updated = { ...formData, [key]: value }; const updated = { ...formData, [key]: value };
setFormData(updated); setFormData(updated);
if (typeof window !== "undefined") { if (typeof window !== "undefined") {
window.__kueCache[formCacheKey] = updated; window.__kueCache![formCacheKey] = updated;
} }
}; };
@@ -91,22 +93,32 @@ export default function KueEinstellung({
const updatedMemoryInterval = [...memoryInterval]; const updatedMemoryInterval = [...memoryInterval];
updatedMemoryInterval[slot] = Number(formData.memoryInterval); updatedMemoryInterval[slot] = Number(formData.memoryInterval);
dispatch( handleSave({
setKueData({ ids: updatedKueID,
kueID: updatedKueID, isolationsgrenzwerte: updatedLimit1,
kueLimit1: updatedLimit1, verzoegerung: updatedDelay1,
kueDelay1: updatedDelay1, untereSchleifenGrenzwerte: updatedLimit2Low,
kueLimit2Low: updatedLimit2Low, obereSchleifenGrenzwerte: updatedLimit2Low,
kueLoopInterval: updatedLoopInterval, schleifenintervall: updatedLoopInterval,
memoryInterval: updatedMemoryInterval, speicherintervall: updatedMemoryInterval,
}) originalValues: {
); kueID,
isolationsgrenzwerte: kueLimit1,
verzoegerung: kueDelay1,
untereSchleifenGrenzwerte: kueLimit2Low,
obereSchleifenGrenzwerte: kueLimit2Low,
schleifenintervall: kueLoopInterval,
speicherintervall: memoryInterval,
},
slot,
dispatch, // du kannst dispatch hier übergeben, falls nötig
onModulNameChange: onModulNameChange ?? (() => {}),
onClose,
});
if (typeof window !== "undefined") { if (typeof window !== "undefined") {
delete window.__kueCache[formCacheKey]; delete window.__kueCache?.[formCacheKey];
} }
onClose();
}; };
return ( return (

View File

@@ -6,5 +6,5 @@
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen). 2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
*/ */
const webVersion = "1.6.316"; const webVersion = "1.6.317";
export default webVersion; export default webVersion;

View File

@@ -11,24 +11,11 @@
"allowSyntheticDefaultImports": true, "allowSyntheticDefaultImports": true,
"noEmit": true, "noEmit": true,
"skipLibCheck": true, "skipLibCheck": true,
"types": [ "types": ["cypress", "node"],
"cypress", "lib": ["dom", "dom.iterable", "esnext"],
"node"
],
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true, "allowJs": true,
"incremental": true "incremental": true
}, },
"include": [ "include": ["src", "**/*.test.ts", "**/*.test.tsx", "types/global.d.ts"],
"src", "exclude": ["node_modules"]
"**/*.test.ts",
"**/*.test.tsx"
],
"exclude": [
"node_modules"
]
} }

9
types/global.d.ts vendored Normal file
View File

@@ -0,0 +1,9 @@
// types/global.d.ts
export {};
declare global {
interface Window {
__kueCache?: Record<string, any>;
kabelModalOpen?: boolean; // ✅ HIER NEU
}
}