feat: Integration von IndexedDB-Datenzugriff in Dashboard-Komponente
- Ersetzt `window`-Zugriff durch `IndexedDB` in der `Dashboard`-Komponente, um Produktionsprobleme zu lösen. - Aktualisiert `KabelModulStatus`, um Alarm- und Fehlerstatus für jeden Slot über IndexedDB zu beziehen. - Fügt zusätzliche States für Alarme (`kueAlarm1`, `kueAlarm2`) und Erdungsfehler (`kueGroundFault`) hinzu und lädt diese aus IndexedDB. - Verbesserte Stabilität und Wartbarkeit durch den Einsatz asynchroner IndexedDB-Aufrufe statt globaler Variablen.
This commit is contained in:
@@ -1,4 +1,12 @@
|
|||||||
const KabelModulStatus = ({ slot, kueCableBreak, isOnline, moduleVersion }) => {
|
const KabelModulStatus = ({
|
||||||
|
slot,
|
||||||
|
kueCableBreak,
|
||||||
|
kueAlarm1,
|
||||||
|
kueAlarm2,
|
||||||
|
kueGroundFault,
|
||||||
|
isOnline,
|
||||||
|
moduleVersion,
|
||||||
|
}) => {
|
||||||
if (!isOnline) {
|
if (!isOnline) {
|
||||||
return (
|
return (
|
||||||
<div className="border border-gray-400 w-10 h-20 flex items-center justify-center bg-gray-200">
|
<div className="border border-gray-400 w-10 h-20 flex items-center justify-center bg-gray-200">
|
||||||
|
|||||||
@@ -23,6 +23,9 @@ function Dashboard() {
|
|||||||
const [error, setError] = useState(null);
|
const [error, setError] = useState(null);
|
||||||
const [kueCableBreak, setKueCableBreak] = useState([]);
|
const [kueCableBreak, setKueCableBreak] = useState([]);
|
||||||
const [appVersion, setAppVersion] = useState("");
|
const [appVersion, setAppVersion] = useState("");
|
||||||
|
const [kueAlarm1, setKueAlarm1] = useState([]);
|
||||||
|
const [kueAlarm2, setKueAlarm2] = useState([]);
|
||||||
|
const [kueGroundFault, setKueGroundFault] = useState([]);
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
|
||||||
const parseMessages = (messages) => {
|
const parseMessages = (messages) => {
|
||||||
@@ -69,6 +72,9 @@ function Dashboard() {
|
|||||||
const kueCableBreakData = await getFromIndexedDB("kueCableBreak");
|
const kueCableBreakData = await getFromIndexedDB("kueCableBreak");
|
||||||
const kueOnlineData = await getFromIndexedDB("kueOnline");
|
const kueOnlineData = await getFromIndexedDB("kueOnline");
|
||||||
const kueVersionData = await getFromIndexedDB("kueVersion");
|
const kueVersionData = await getFromIndexedDB("kueVersion");
|
||||||
|
const kueAlarm1Data = await getFromIndexedDB("kueAlarm1");
|
||||||
|
const kueAlarm2Data = await getFromIndexedDB("kueAlarm2");
|
||||||
|
const kueGroundFaultData = await getFromIndexedDB("kueGroundFault");
|
||||||
|
|
||||||
// Setze die States mit den geladenen Daten
|
// Setze die States mit den geladenen Daten
|
||||||
setLast20Messages(parseMessages(last20MessagesData || ""));
|
setLast20Messages(parseMessages(last20MessagesData || ""));
|
||||||
@@ -83,6 +89,17 @@ function Dashboard() {
|
|||||||
Array.isArray(kueOnlineData) ? kueOnlineData.map(Number) : []
|
Array.isArray(kueOnlineData) ? kueOnlineData.map(Number) : []
|
||||||
);
|
);
|
||||||
setKueVersion(Array.isArray(kueVersionData) ? kueVersionData : []);
|
setKueVersion(Array.isArray(kueVersionData) ? kueVersionData : []);
|
||||||
|
setKueAlarm1(
|
||||||
|
Array.isArray(kueAlarm1Data) ? kueAlarm1Data.map(Number) : []
|
||||||
|
);
|
||||||
|
setKueAlarm2(
|
||||||
|
Array.isArray(kueAlarm2Data) ? kueAlarm2Data.map(Number) : []
|
||||||
|
);
|
||||||
|
setKueGroundFault(
|
||||||
|
Array.isArray(kueGroundFaultData)
|
||||||
|
? kueGroundFaultData.map(Number)
|
||||||
|
: []
|
||||||
|
);
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Fehler beim Laden der Daten aus IndexedDB:", error);
|
console.error("Fehler beim Laden der Daten aus IndexedDB:", error);
|
||||||
@@ -127,6 +144,9 @@ function Dashboard() {
|
|||||||
isOnline={isSlotOnline}
|
isOnline={isSlotOnline}
|
||||||
moduleVersion={moduleVersion}
|
moduleVersion={moduleVersion}
|
||||||
kueCableBreak={kueCableBreak}
|
kueCableBreak={kueCableBreak}
|
||||||
|
kueAlarm1={kueAlarm1}
|
||||||
|
kueAlarm2={kueAlarm2}
|
||||||
|
kueGroundFault={kueGroundFault}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user