feat: fetchKueData über Service & Redux integriert, Zugriff aus loadWindowVariables entfernt

- Alle KÜE-Daten (z. B. kueAlarm1, kueCableBreak, kuePSTmMinus96V etc.) über fetchKueData.ts geladen
- Redux Slice `kueDataSlice.ts` überarbeitet, um alle Werte aus kueData.js korrekt zu speichern
- Komponenten wie `Kue705FO`, `KabelModulStatus` und `Baugruppentraeger` auf Redux umgestellt
- Fehler bei undefined-Variablen durch korrekte Zuweisung aus Redux behoben
- loadWindowVariables.ts wird nicht mehr für KÜE-Daten verwendet
This commit is contained in:
Ismail Ali
2025-03-26 20:18:20 +01:00
parent d305a07f89
commit 626322b079
5 changed files with 88 additions and 84 deletions

View File

@@ -1,61 +1,51 @@
// /services/fetchKueData.ts
// ✅ Service: /services/fetchKueData.ts
export const fetchKueData = async () => {
try {
if (typeof window === "undefined") return null;
// ✅ Script dynamisch laden
// ✅ Nur bei Bedarf nachladen
await new Promise<void>((resolve, reject) => {
const script = document.createElement("script");
const env = process.env.NEXT_PUBLIC_NODE_ENV;
script.src =
env === "production"
? "/CPL?/CPL/SERVICE/kueData.js"
: "/CPLmockData/SERVICE/kueData.js";
script.src = "/CPLmockData/SERVICE/kueData.js"; // In Produktion ggf. /CPL/SERVICE/kueData.js
script.async = true;
script.onload = () => resolve();
script.onerror = () => reject("Fehler beim Laden von kueData.js");
script.onerror = () => reject("Fehler beim Laden von kueData.js");
document.body.appendChild(script);
});
const win = window as any;
// ✅ Alle benötigten Variablen extrahieren
const keys = [
"kueOnline",
"kueID",
"kuePSTmMinus96V",
"kueAlarm1",
"kueAlarm2",
"kueIso",
"kueResidence",
"kueCableBreak",
"kueGroundFault",
"kueLimit1",
"kueLimit2Low",
"kueDelay1",
"kueLoopInterval",
"kueVersion",
"tdrAtten",
"tdrPulse",
"tdrSpeed",
"tdrAmp",
"tdrTrigger",
"tdrLocation",
"tdrActive",
"kueOverflow",
"tdrLast",
];
return {
kueOnline: win.win_kueOnline || [],
kueID: win.win_kueID || [],
kuePSTmMinus96V: win.win_kuePSTmMinus96V || [],
kueAlarm1: win.win_kueAlarm1 || [],
kueAlarm2: win.win_kueAlarm2 || [],
kueIso: win.win_kueIso || [],
kueResidence: win.win_kueResidence || [],
kueCableBreak: win.win_kueCableBreak || [],
kueGroundFault: win.win_kueGroundFault || [],
kueLimit1: win.win_kueLimit1 || [],
kueLimit2Low: win.win_kueLimit2Low || [],
kueDelay1: win.win_kueDelay1 || [],
kueLoopInterval: win.win_kueLoopInterval || [],
kueVersion: win.win_kueVersion || [],
kueOverflow: win.win_kueOverflow || [],
const result: Record<string, any> = {};
for (const key of keys) {
const winKey = `win_${key}`;
result[key] = win[winKey] ?? [];
}
return result;
// TDR-Daten
tdrAtten: win.win_tdrAtten || [],
tdrPulse: win.win_tdrPulse || [],
tdrSpeed: win.win_tdrSpeed || [],
tdrAmp: win.win_tdrAmp || [],
tdrTrigger: win.win_tdrTrigger || [],
tdrLocation: win.win_tdrLocation || [],
tdrActive: win.win_tdrActive || [],
tdrLast: win.win_tdrLast || [],
tdrOverflow: win.win_kueOverflow || [],
};
} catch (error) {
console.error("❌ Fehler beim Laden der KUE-Daten:", error);
console.error("❌ Fehler beim Laden der KÜE-Daten:", error);
return null;
}
};