- DigitalOutputs.tsx auf Redux umgestellt, um Werte direkt aus dem Store zu lesen - toggleSwitch-Funktion angepasst, um den Status von digitalen Ausgängen in Redux zu aktualisieren - useDigitalOutputsData.ts nutzt nun Redux zum Speichern der `win_da_state` und `win_da_bezeichnung` Werte - Entfernen von Prop `digitalOutputs` in `DigitalOutputs.tsx`, da Redux nun als Datenquelle dient - Weboberfläche zeigt nun digitale Ausgänge korrekt an und Status kann geändert werden
36 lines
778 B
TypeScript
36 lines
778 B
TypeScript
// redux/slices/digitalOutputsSlice.ts
|
|
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
|
|
|
|
// Typ für den Zustand der digitalen Ausgänge
|
|
interface DigitalOutput {
|
|
id: number;
|
|
label: string;
|
|
status: boolean;
|
|
}
|
|
|
|
interface DigitalOutputsState {
|
|
outputs: DigitalOutput[];
|
|
}
|
|
|
|
// Initialer Zustand
|
|
const initialState: DigitalOutputsState = {
|
|
outputs: [],
|
|
};
|
|
|
|
// Slice erstellen
|
|
const digitalOutputsSlice = createSlice({
|
|
name: "digitalOutputs",
|
|
initialState,
|
|
reducers: {
|
|
setDigitalOutputs(state, action: PayloadAction<DigitalOutput[]>) {
|
|
state.outputs = action.payload;
|
|
},
|
|
},
|
|
});
|
|
|
|
// Aktionen exportieren
|
|
export const { setDigitalOutputs } = digitalOutputsSlice.actions;
|
|
|
|
// Reducer exportieren
|
|
export default digitalOutputsSlice.reducer;
|