fix: speicherintervall im Parameterobjekt von handleSave ergänzt und Fehler behoben

This commit is contained in:
ISA
2025-04-24 14:58:52 +02:00
parent c60cfa1b92
commit 3251d389e9
6 changed files with 62 additions and 5 deletions

View File

@@ -8,6 +8,7 @@ export interface OriginalValues {
untereSchleifenGrenzwerte: number[];
obereSchleifenGrenzwerte: number[];
schleifenintervall: number[];
speicherintervall: number[];
}
interface HandleSaveParams {
@@ -17,6 +18,7 @@ interface HandleSaveParams {
untereSchleifenGrenzwerte: number[];
obereSchleifenGrenzwerte: number[];
schleifenintervall: number[];
speicherintervall: number[]; // ✅ NEU hinzugefügt
originalValues: OriginalValues;
slot: number;
dispatch: (action: any) => void;
@@ -41,6 +43,7 @@ const handleSave = async ({
untereSchleifenGrenzwerte,
obereSchleifenGrenzwerte,
schleifenintervall,
speicherintervall,
originalValues,
slot,
dispatch,
@@ -84,7 +87,17 @@ const handleSave = async ({
schleifenintervall[slot],
originalValues.schleifenintervall[slot]
)
) {
)
if (
isDifferent(
speicherintervall[slot],
originalValues.speicherintervall[slot]
)
) {
changesForFile.KME = speicherintervall[slot];
}
{
changesForFile.KRI = schleifenintervall[slot];
}

View File

@@ -8,8 +8,10 @@ declare global {
win_kueLimit2Low?: number[];
win_kueLimit2High?: number[];
win_kueLoopInterval?: number[];
win_memoryInterval?: number[];
}
}
import { useDispatch, useSelector } from "react-redux";
import type { RootState } from "../../../../../redux/store";
import { setKueData } from "../../../../../redux/slices/kueDataSlice";
@@ -24,6 +26,18 @@ interface Props {
onModulNameChange?: (id: string) => void;
}
const memoryIntervalOptions = [
{ value: 0, label: "Kein" },
{ value: 1, label: "1 Minute" },
{ value: 5, label: "5 Minuten" },
{ value: 10, label: "10 Minuten" },
{ value: 15, label: "15 Minuten" },
{ value: 30, label: "30 Minuten" },
{ value: 60, label: "60 Minuten" },
{ value: 360, label: "6 Stunden" },
{ value: 720, label: "12 Stunden" },
];
export default function KueEinstellung({
slot,
onClose = () => {},
@@ -35,8 +49,9 @@ export default function KueEinstellung({
kueLimit1,
kueDelay1,
kueLimit2Low,
kueLoopInterval,
kueLimit2High,
kueLoopInterval,
memoryInterval,
} = useSelector((state: RootState) => state.kueDataSlice);
const { isAdminLoggedIn } = useAdminAuth(true);
@@ -49,6 +64,7 @@ export default function KueEinstellung({
untereSchleifenGrenzwerte: [...(window.win_kueLimit2Low ?? [])],
obereSchleifenGrenzwerte: [...(window.win_kueLimit2High ?? [])],
schleifenintervall: [...(window.win_kueLoopInterval ?? [])],
speicherintervall: [...(window.win_memoryInterval ?? [])],
};
handleSave({
@@ -58,6 +74,7 @@ export default function KueEinstellung({
untereSchleifenGrenzwerte: [...kueLimit2Low],
obereSchleifenGrenzwerte: [...kueLimit2High],
schleifenintervall: [...kueLoopInterval],
speicherintervall: [...memoryInterval],
originalValues,
slot,
dispatch,
@@ -140,7 +157,7 @@ export default function KueEinstellung({
<div>
<h3 className="font-bold text-center mb-2">Schleifenmessung</h3>
<table className="w-full border-collapse text-sm">
<table className="w-full border-collapse text-sm mb-2">
<thead className="bg-gray-100">
<tr>
<th className="border p-2 text-center">Grenzwert (kOhm)</th>
@@ -182,6 +199,27 @@ export default function KueEinstellung({
</tr>
</tbody>
</table>
<div>
<label className="font-bold block mb-1">Speicherintervall</label>
<select
className="w-full border rounded p-1 text-sm"
value={memoryInterval[slot] ?? ""}
onChange={(e) =>
updateArray(
"memoryInterval",
memoryInterval,
parseInt(e.target.value, 10)
)
}
>
{memoryIntervalOptions.map((opt) => (
<option key={opt.value} value={opt.value}>
{opt.label}
</option>
))}
</select>
</div>
</div>
<div className="flex justify-end gap-2 bg-gray-100 p-3 rounded">