- 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.
97 lines
2.4 KiB
JavaScript
97 lines
2.4 KiB
JavaScript
// utils/loadWindowVariables.js
|
|
|
|
export async function loadWindowVariables() {
|
|
return new Promise((resolve, reject) => {
|
|
//console.log("Running loadWindowVariables..."); // Log each run
|
|
|
|
const requiredVars = [
|
|
"last20Messages",
|
|
"deviceName",
|
|
"mac1",
|
|
"mac2",
|
|
"ip",
|
|
"subnet",
|
|
"gateway",
|
|
"datetime",
|
|
"de",
|
|
"counter",
|
|
"flutter",
|
|
"kueOnline",
|
|
"kueID",
|
|
"kueValid",
|
|
"kueAlarm1",
|
|
"kueAlarm2",
|
|
"kueRes",
|
|
"kueCableBreak",
|
|
"kueGroundFault",
|
|
"kueLimit1",
|
|
"kueLimit2Low",
|
|
"kueLimit2High",
|
|
"kueDelay1",
|
|
"kueLoopInterval",
|
|
"kueVersion",
|
|
"tdrAtten",
|
|
"tdrPulse",
|
|
"tdrSpeed",
|
|
"tdrAmp",
|
|
"tdrTrigger",
|
|
"tdrLocation",
|
|
"tdrActive",
|
|
"kueOverflow",
|
|
"kue100V",
|
|
"kueResidence",
|
|
"tdrLast",
|
|
"kueBooting",
|
|
"appVersion",
|
|
];
|
|
|
|
const loadScript = (src) => {
|
|
return new Promise((resolve, reject) => {
|
|
const script = document.createElement("script");
|
|
const environment = process.env.NEXT_PUBLIC_NODE_ENV || "production";
|
|
script.src =
|
|
environment === "production"
|
|
? `/CPL?/CPL/SERVICE/${src}`
|
|
: `/CPLmockData/SERVICE/${src}`;
|
|
script.async = true;
|
|
script.onload = resolve;
|
|
script.onerror = reject;
|
|
document.head.appendChild(script);
|
|
});
|
|
};
|
|
|
|
const scripts = [
|
|
"de.js",
|
|
"kueData.js",
|
|
"kueDetailTdr.js",
|
|
"Start.js",
|
|
"System.js",
|
|
];
|
|
|
|
// Load all required scripts
|
|
Promise.all(scripts.map(loadScript))
|
|
.then(() => {
|
|
// console.log("Scripts loaded. Checking for variables...");
|
|
|
|
// Interval to check if all required variables are loaded
|
|
const checkInterval = setInterval(() => {
|
|
const missingVars = requiredVars.filter(
|
|
(variable) => window[variable] === undefined
|
|
);
|
|
|
|
if (missingVars.length === 0) {
|
|
//console.log("All system variables are now loaded.");
|
|
clearInterval(checkInterval);
|
|
resolve();
|
|
} else {
|
|
console.log("Waiting for missing variables:", missingVars);
|
|
}
|
|
}, 5000); // Check every 5 seconds
|
|
})
|
|
.catch((error) => {
|
|
console.error("Error loading a script:", error);
|
|
reject(error);
|
|
});
|
|
});
|
|
}
|