feat: Digitale Ausgänge aus Redux-Store in UI integriert
- 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
This commit is contained in:
@@ -47,6 +47,8 @@ function MyApp({ Component, pageProps }: AppProps) {
|
||||
de,
|
||||
de_label,
|
||||
de_state,
|
||||
da_state,
|
||||
da_bezeichnung,
|
||||
...restVariables
|
||||
} = variables;
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
"use client"; // pages/einausgaenge.tsx
|
||||
|
||||
"use client";
|
||||
import React, { useState } from "react";
|
||||
import DigitalOutputs from "../components/main/einausgaenge/DigitalOutputs";
|
||||
import DigitalInputs from "../components/main/einausgaenge/DigitalInputs";
|
||||
@@ -7,14 +8,13 @@ import InputModal from "../components/main/einausgaenge/modals/InputModal";
|
||||
import OutputModal from "../components/main/einausgaenge/modals/OutputModal";
|
||||
import { useDigitalInputData } from "../hooks/einausgaenge/useDigitalInputsData";
|
||||
import { useDigitalOutputs } from "../hooks/einausgaenge/useDigitalOutputsData";
|
||||
import { useDispatch } from "react-redux";
|
||||
import { setDigitalOutputs } from "../redux/slices/digitalOutputsSlice";
|
||||
|
||||
function EinAusgaenge() {
|
||||
// Verwendung des benutzerdefinierten Hooks für digitale Ausgänge
|
||||
const {
|
||||
digitalOutputs,
|
||||
isLoading: isLoadingOutputs,
|
||||
setDigitalOutputs,
|
||||
} = useDigitalOutputs();
|
||||
const dispatch = useDispatch();
|
||||
const { digitalOutputs, isLoading: isLoadingOutputs } = useDigitalOutputs();
|
||||
const { mockData, isLoading: isLoadingInputs } = useDigitalInputData();
|
||||
|
||||
// Zustand für Modale
|
||||
const [selectedInput, setSelectedInput] = useState(null);
|
||||
@@ -22,16 +22,12 @@ function EinAusgaenge() {
|
||||
const [isInputModalOpen, setIsInputModalOpen] = useState(false);
|
||||
const [isOutputModalOpen, setIsOutputModalOpen] = useState(false);
|
||||
|
||||
// Laden der digitalen Eingänge
|
||||
const { mockData, isLoading: isLoadingInputs } = useDigitalInputData();
|
||||
|
||||
// Funktion zum Umschalten des Ausgangs
|
||||
const toggleSwitch = (id: number) => {
|
||||
setDigitalOutputs((prevOutputs) =>
|
||||
prevOutputs.map((output) =>
|
||||
output.id === id ? { ...output, toggle: !output.toggle } : output
|
||||
)
|
||||
const updatedOutputs = digitalOutputs.map((output) =>
|
||||
output.id === id ? { ...output, status: !output.status } : output
|
||||
);
|
||||
dispatch(setDigitalOutputs(updatedOutputs));
|
||||
};
|
||||
|
||||
// Funktionen zum Öffnen und Schließen der Modale
|
||||
|
||||
Reference in New Issue
Block a user