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:
@@ -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;
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user