feat: Direktanzeige von Alarmstatus mit Blinken implementiert

- Alarmanzeige optimiert, sodass der Alarmtext sofort angezeigt wird, bevor das Blinkintervall startet.
- Erste Anzeige ohne Verzögerung eingeführt, danach Umschalten zwischen Icon und Text alle 5 Sekunden.
- Priorisierte Alarmanzeige für verschiedene Zustände (z.B. PST-M prüfen, Kabelbruch).
This commit is contained in:
ISA
2024-11-08 08:48:02 +01:00
parent 9050cf05a6
commit 7fb48f13af

View File

@@ -40,7 +40,7 @@ function Kue705FO({
const [isoGreaterThan200, setIsoGreaterThan200] = useState(">200 MOhm");
const [loading, setLoading] = useState(false);
const [isoDisplayValue, setIsoDisplayValue] = useState(isolationswert);
const [isoDisplayValue, setIsoDisplayValue] = useState(); //Test erstmal leer ohne isolationswert
const [showModal, setShowModal] = useState(false);
const [showChartModal, setShowChartModal] = useState(false);
const [chartData, setChartData] = useState(null);
@@ -347,11 +347,16 @@ function Kue705FO({
}, [slotIndex, reduxKueVersion]);
//---------------------------------------------------
// Funktion zum Aktualisieren der Anzeige basierend auf dem Alarmstatus mit Icon und Blinken
// Funktion zum Aktualisieren der Anzeige basierend auf dem Alarmstatus mit Icon und Blinken
useEffect(() => {
let intervalId;
// Funktion zum Blinken des Textes oder Icons
const setBlinkingText = (text) => {
// Setze den Text direkt beim ersten Aufruf, ohne auf das Intervall zu warten
setIsoDisplayValue(text);
// Starte dann das Intervall
intervalId = setInterval(() => {
setIsoDisplayValue((prevValue) =>
prevValue === text ? (
@@ -363,7 +368,7 @@ function Kue705FO({
text
)
);
}, 5000); // Beispiel-Zyklus für 7 Sekunden
}, 5000); // Intervall für das Blinken
};
// Priorisierte Alarmanzeige
@@ -387,7 +392,7 @@ function Kue705FO({
setIsoDisplayValue(isoGreaterThan200);
} else {
clearInterval(intervalId);
setIsoDisplayValue(isolationswert); // Standardanzeige
setIsoDisplayValue(isolationswert); // Standardanzeige ohne Alarm
}
// Cleanup bei Änderungen des Status oder Schließen des Effekts
@@ -407,11 +412,9 @@ function Kue705FO({
kueAlarm2,
kueOverflow,
]);
// In Kue705FO.jsx
useEffect(() => {
console.log("modulName for Kue705FO:", modulName);
}, [modulName]);
//---------------------------------------------------
// Effekt, um Modulnamen zu aktualisieren, wenn sich der Prop ändert
useEffect(() => {
setCurrentModulName(modulName);