From 7333bf93fa6a7f539cf30ba20c94cbf887fa72c6 Mon Sep 17 00:00:00 2001 From: ISA Date: Wed, 6 Nov 2024 08:43:32 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20Implement=20blinking=20icon=20for=20"PS?= =?UTF-8?q?T-M=20pr=C3=BCfen"=20alarm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added blinking icon functionality to "PST-M prüfen" alarm status for consistency with other alarm statuses. - Refactored display logic to prioritize "PST-M prüfen" with icon blink effect in the interval. - Ensured proper interval clearing for consistent display across alarm updates. --- components/modules/Kue705FO.jsx | 27 ++++++++++++++------------- public/CPLmockData/SERVICE/kueData.js | 2 +- store/variablesSlice.js | 1 + utils/loadWindowVariables.js | 1 + 4 files changed, 17 insertions(+), 14 deletions(-) diff --git a/components/modules/Kue705FO.jsx b/components/modules/Kue705FO.jsx index 693c227..e8a0558 100644 --- a/components/modules/Kue705FO.jsx +++ b/components/modules/Kue705FO.jsx @@ -309,6 +309,12 @@ function Kue705FO({ return () => clearInterval(interval); }, [slotIndex, kueAlarm1, kueAlarm2, kueCableBreak, kueGroundFault]); + useEffect(() => { + if (reduxKueVersion?.[slotIndex]) { + setKueVersion("V" + reduxKueVersion[slotIndex] / 100); + } + }, [slotIndex, reduxKueVersion]); + //--------------------------------------------------- // Funktion zum Aktualisieren der Anzeige basierend auf dem Alarmstatus mit Icon und Blinken useEffect(() => { let intervalId; @@ -326,13 +332,13 @@ function Kue705FO({ text ) ); - }, 5000); // Gesamtdauer von 7 Sekunden für einen vollständigen Blink-Zyklus + }, 7000); // Beispiel-Zyklus für 7 Sekunden }; - // Alarmanzeige je nach Status aktualisieren + // Priorisierte Alarmanzeige if (kuePSTmMinus96V?.[slotIndex] === 1) { - clearInterval(intervalId); // Vorheriges Intervall stoppen - setCurrentDisplayValue("PST-M prüfen"); + clearInterval(intervalId); // Stoppt das vorherige Intervall, falls aktiv + setBlinkingText("PST-M prüfen"); } else if (kueCableBreak?.[slotIndex] === 1) { clearInterval(intervalId); setBlinkingText(isoDisplayText); @@ -347,13 +353,13 @@ function Kue705FO({ setBlinkingText(loopFaultDisplayText); } else if (kueOverflow?.[slotIndex] === 1) { clearInterval(intervalId); - setBlinkingText(isoGreaterThan200); + setCurrentDisplayValue(isoGreaterThan200); } else { clearInterval(intervalId); - setCurrentDisplayValue(isolationswert); // Kein Alarm aktiv + setCurrentDisplayValue(isolationswert); // Standardanzeige } - // Cleanup, um das Intervall zu stoppen, wenn sich der Status ändert oder der Effekt aufgeräumt wird + // Cleanup bei Änderungen des Status oder Schließen des Effekts return () => clearInterval(intervalId); }, [ slotIndex, @@ -371,12 +377,7 @@ function Kue705FO({ kueOverflow, ]); - useEffect(() => { - if (reduxKueVersion?.[slotIndex]) { - setKueVersion("V" + reduxKueVersion[slotIndex] / 100); - } - }, [slotIndex, reduxKueVersion]); - + //--------------------------------------------------- return (
{kueOnline === 1 ? ( diff --git a/public/CPLmockData/SERVICE/kueData.js b/public/CPLmockData/SERVICE/kueData.js index 9088d87..3ea22d6 100644 --- a/public/CPLmockData/SERVICE/kueData.js +++ b/public/CPLmockData/SERVICE/kueData.js @@ -9,7 +9,7 @@ var win_kueOnline = [ Das kann sein, muss aber nicht. Hier unten im Testaufbau haben wir nur eine PST-M für alle 32 Kabelüberwachungen. Es kann aber sein das beim Kunden auch für jeden BGT eine PST-M vorhanden ist, also insgesamt 4 Stück. */ var win_kuePSTmMinus96V = [ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ]; //Aderbruch 1 = Fehler, 0 = kein Fehler diff --git a/store/variablesSlice.js b/store/variablesSlice.js index 101f072..d666e50 100644 --- a/store/variablesSlice.js +++ b/store/variablesSlice.js @@ -21,6 +21,7 @@ const initialState = { kueOnline: [], kueID: [], kueIso: [], + kuePSTmMinus96V: [], kueAlarm1: [], kueAlarm2: [], kueRes: [], diff --git a/utils/loadWindowVariables.js b/utils/loadWindowVariables.js index e81a49b..ef56c82 100644 --- a/utils/loadWindowVariables.js +++ b/utils/loadWindowVariables.js @@ -21,6 +21,7 @@ export async function loadWindowVariables() { "win_flutter", "win_kueOnline", "win_kueID", + "win_kuePSTmMinus96V", "win_kueAlarm1", "win_kueAlarm2", "win_kueIso",