fix: Verhindere Wechsel zwischen aktivem und inaktivem Status bei leerem Slot

- Korrigiert die Bedingung für `kueOnline`, sodass nur aktive Slots den Alarmstatus überprüfen.
- Entfernt Mehrfachreferenzen von `kueOnline`, die den Status ungewollt überschrieben haben.
- Setzt ein bedingtes Update für `kueCableBreak`, `kueAlarm1`, und `kueAlarm2`, um unnötige Aktualisierungen zu vermeiden.
- Stellt sicher, dass der erste Slot als "Leer" angezeigt wird, wenn `kueOnline` auf `0` gesetzt ist.
This commit is contained in:
ISA
2024-10-27 08:09:54 +01:00
parent 2dc40ccd59
commit 7f792f833f
6 changed files with 169 additions and 39 deletions

View File

@@ -1,7 +1,3 @@
// components/modulesStatus/KabelModulStatus.jsx
//Bei Kabelbruch (cableBreak), Erdschluss (groundFault), Isolationsfehler (measure1Alarm) oder Schleifenfehler (measure2Alarm) wird der Status rot angezeigt. Ansonsten grün.
import React from "react";
const KabelModulStatus = ({ slot, kueCableBreak, isOnline, moduleVersion }) => {
if (!isOnline) {
return (
@@ -11,7 +7,7 @@ const KabelModulStatus = ({ slot, kueCableBreak, isOnline, moduleVersion }) => {
);
}
// Bestimme den Modultyp basierend auf der Version
// Modultyp basierend auf der Version bestimmen
let moduleName = "";
let moduleType = "";
@@ -26,6 +22,7 @@ const KabelModulStatus = ({ slot, kueCableBreak, isOnline, moduleVersion }) => {
moduleType = "___";
}
// Status nur prüfen, wenn der Slot aktiv ist (kueOnline für den Slot ist 1)
const isCableBreak = kueCableBreak[slot - 1] === 1;
const isAlarm1 = kueAlarm1[slot - 1] === 1;
const isAlarm2 = kueAlarm2[slot - 1] === 1;
@@ -33,13 +30,11 @@ const KabelModulStatus = ({ slot, kueCableBreak, isOnline, moduleVersion }) => {
return (
<div className="border border-gray-400 w-10 h-20 flex flex-col">
{/* Slot-Nummer anzeigen */}
<div className="bg-littwin-blue flex-grow flex flex-col items-center justify-center text-white text-[10px]">
<div className="flex w-full mb-1 items-start justify-start">{slot}</div>
<div className="text-[10px]">{moduleName}</div>
<div className="text-[10px]">{moduleType}</div>
</div>
{/* Status-Anzeige */}
<div
className={`w-full h-2/6 ${
isCableBreak || isAlarm1 || isAlarm2 || groundFault