fix(digitalOutputs): Hook-Reihenfolge im Modal korrigiert und Zustand korrekt initialisiert – Bezeichnung lässt sich jetzt fehlerfrei ändern
This commit is contained in:
@@ -1,3 +1,2 @@
|
|||||||
// /apiMockData/SERVICE/digitaleAusgaengeMockData.js
|
|
||||||
win_da_state = [1, 0, 1, 0];
|
win_da_state = [1, 0, 1, 0];
|
||||||
win_da_bezeichnung = ["Ausgang1", "Ausgang2", "Ausgang3", "Ausgang4"];
|
win_da_bezeichnung = ["Ausgang1", "Ausgang2", "Ausgang3", "Ausgang4"];
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
"use client"; // /components/main/einausgaenge/modals/OutputModal.tsx
|
"use client"; // /components/main/einausgaenge/modals/OutputModal.tsx
|
||||||
import React, { useState } from "react";
|
import React, { useState, useEffect } from "react";
|
||||||
import { useSelector } from "react-redux";
|
import { useSelector } from "react-redux";
|
||||||
import { RootState } from "../../../../redux/store";
|
import { RootState } from "../../../../redux/store";
|
||||||
|
|
||||||
@@ -16,12 +16,22 @@ export default function OutputModal({
|
|||||||
(state: RootState) => state.digitalOutputsSlice.outputs
|
(state: RootState) => state.digitalOutputsSlice.outputs
|
||||||
);
|
);
|
||||||
|
|
||||||
const [label, setLabel] = useState(selectedOutput.label || "");
|
const [label, setLabel] = useState("");
|
||||||
const [status, setStatus] = useState(selectedOutput.status || false);
|
const [status, setStatus] = useState(false);
|
||||||
const [timer, setTimer] = useState(0);
|
const [timer, setTimer] = useState(0);
|
||||||
const [isSaving, setIsSaving] = useState(false);
|
const [isSaving, setIsSaving] = useState(false);
|
||||||
const [errorMsg, setErrorMsg] = useState("");
|
const [errorMsg, setErrorMsg] = useState("");
|
||||||
|
|
||||||
|
// ✅ Zustand neu setzen, wenn Modal geöffnet oder anderer Ausgang ausgewählt wird
|
||||||
|
useEffect(() => {
|
||||||
|
if (isOpen && selectedOutput) {
|
||||||
|
setLabel(selectedOutput.label || "");
|
||||||
|
setStatus(selectedOutput.status || false);
|
||||||
|
setTimer(0);
|
||||||
|
setErrorMsg("");
|
||||||
|
}
|
||||||
|
}, [isOpen, selectedOutput]);
|
||||||
|
|
||||||
if (!isOpen || !selectedOutput) return null;
|
if (!isOpen || !selectedOutput) return null;
|
||||||
|
|
||||||
const handleSave = async () => {
|
const handleSave = async () => {
|
||||||
|
|||||||
@@ -6,5 +6,5 @@
|
|||||||
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
||||||
|
|
||||||
*/
|
*/
|
||||||
const webVersion = "1.6.333";
|
const webVersion = "1.6.334";
|
||||||
export default webVersion;
|
export default webVersion;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
"use client"; // /pages/digitalOutputsPage.tsx
|
"use client"; // /pages/digitalOutputs.tsx
|
||||||
import React, { useEffect, useState } from "react";
|
import React, { useEffect, useState } from "react";
|
||||||
import { useDispatch, useSelector } from "react-redux";
|
import { useDispatch, useSelector } from "react-redux";
|
||||||
import { AppDispatch, RootState } from "../redux/store";
|
import { AppDispatch, RootState } from "../redux/store";
|
||||||
|
|||||||
Reference in New Issue
Block a user