Files
CPLv4.0/redux/slices/kueDataSlice.ts
Ismail Ali f2360149c3 fix: Redux-Update in KueModal ohne Thunks und mit direkter State-Synchronisierung
- Lokale Zustände durch direkten Zugriff auf Redux-Arrays ersetzt
- updateArray-Funktion korrigiert: kein Thunk mehr, stattdessen direkte Übergabe des aktuellen Arrays
- Fehler bei Typkonflikt in dispatch() behoben
- Eingaben schreiben nun sofort in den Store → Änderungen werden korrekt erkannt und gespeichert
2025-04-17 08:19:33 +02:00

98 lines
2.1 KiB
TypeScript

// ✅ Slice: /redux/slices/kueDataSlice.ts
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
interface KueDataState {
//---------------------
kueBezeichnungen: string[];
isolationsgrenzwerte: number[];
verzoegerung: number[];
untereSchleifenGrenzwerte: number[];
obereSchleifenGrenzwerte: number[];
schleifenintervall: number[];
//---------------
counter: number | null;
flutter: string | null;
//-----------------------
//-----------------------
kueOnline: number[];
kueID: string[];
kuePSTmMinus96V: number[];
kueAlarm1: number[];
kueAlarm2: number[];
kueIso: number[];
kueResidence: number[];
kueCableBreak: number[];
kueGroundFault: number[];
kueLimit1: number[];
kueLimit2Low: number[];
kueDelay1: number[];
kueLoopInterval: number[];
kueVersion: number[];
kueOverflow: number[];
tdrAtten: number[];
tdrPulse: number[];
tdrSpeed: number[];
tdrAmp: number[];
tdrTrigger: number[];
tdrLocation: number[];
tdrActive: number[];
tdrLast: string[];
tdrOverflow: number[];
kueLimit2High: number[];
}
const initialState: KueDataState = {
//---------------------
kueBezeichnungen: [],
isolationsgrenzwerte: [],
verzoegerung: [],
untereSchleifenGrenzwerte: [],
obereSchleifenGrenzwerte: [],
schleifenintervall: [],
//---------------
counter: null,
flutter: null,
//-----------------------
//-----------------------
kueOnline: [],
kueID: [],
kuePSTmMinus96V: [],
kueAlarm1: [],
kueAlarm2: [],
kueIso: [],
kueResidence: [],
kueCableBreak: [],
kueGroundFault: [],
kueLimit1: [],
kueLimit2Low: [],
kueDelay1: [],
kueLoopInterval: [],
kueVersion: [],
kueOverflow: [],
tdrAtten: [],
tdrPulse: [],
tdrSpeed: [],
tdrAmp: [],
tdrTrigger: [],
tdrLocation: [],
tdrActive: [],
tdrLast: [],
tdrOverflow: [],
kueLimit2High: [],
};
const kueDataSlice = createSlice({
name: "kueDataSlice",
initialState,
reducers: {
setKueData: (state, action: PayloadAction<Partial<KueDataState>>) => {
return { ...state, ...action.payload };
},
},
});
export const { setKueData } = kueDataSlice.actions;
export default kueDataSlice.reducer;