feat: useEffect-Hooks ausgelagert in separate Hook-Dateien
- useEffect-Logik aus Kue705FO.tsx in eigene Hooks ausgelagert: - useKueVersion.ts für die KUE-Version - useAlarmStatus.ts für den Alarmstatus - useIsoDisplay.ts für die Anzeige der Isolationswerte - useLoopDisplay.ts für den Schleifenwiderstand - useChartPlugin.ts für Chart.js Plugin-Handling - useChartData.ts für Redux-Chart-Datenverwaltung - useModulName.ts für den Modulnamen mit Setter-Funktion - Code in Kue705FO.tsx optimiert und modularisiert - Fehler mit `setCurrentModulName` behoben durch Rückgabe der Setter-Funktion in useModulName.ts
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
// components/main/kabelueberwachung/kue705FO/hooks/useAlarmStatus.ts
|
||||
import { useEffect, useState } from "react";
|
||||
|
||||
const useAlarmStatus = (
|
||||
slotIndex: number,
|
||||
kueAlarm1: any,
|
||||
kueAlarm2: any,
|
||||
kueCableBreak: any,
|
||||
kueGroundFault: any
|
||||
) => {
|
||||
const [currentAlarmStatus, setCurrentAlarmStatus] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
const updateAlarmStatus = () => {
|
||||
const alarmStatus =
|
||||
(kueAlarm1 && Number(kueAlarm1[slotIndex])) ||
|
||||
(kueAlarm2 && Number(kueAlarm2[slotIndex])) ||
|
||||
(kueCableBreak && Number(kueCableBreak[slotIndex])) ||
|
||||
(kueGroundFault && Number(kueGroundFault[slotIndex]));
|
||||
|
||||
setCurrentAlarmStatus(!!alarmStatus);
|
||||
};
|
||||
|
||||
updateAlarmStatus();
|
||||
const interval = setInterval(updateAlarmStatus, 10000);
|
||||
return () => clearInterval(interval);
|
||||
}, [slotIndex, kueAlarm1, kueAlarm2, kueCableBreak, kueGroundFault]);
|
||||
|
||||
return currentAlarmStatus;
|
||||
};
|
||||
|
||||
export default useAlarmStatus;
|
||||
Reference in New Issue
Block a user