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:
@@ -68,23 +68,17 @@ const Kue705FO: React.FC<Kue705FOProps> = ({
|
|||||||
|
|
||||||
//------- Redux-Variablen abrufen--------------------------------
|
//------- Redux-Variablen abrufen--------------------------------
|
||||||
const {
|
const {
|
||||||
pstMinus96V,
|
|
||||||
kueVersion: reduxKueVersion,
|
kueVersion: reduxKueVersion,
|
||||||
tdrActive,
|
tdrActive,
|
||||||
|
kueCableBreak: kueCableBreakRaw,
|
||||||
|
kueGroundFault: kueGroundFaultRaw,
|
||||||
|
kueAlarm1: kueAlarm1Raw,
|
||||||
|
kueAlarm2: kueAlarm2Raw,
|
||||||
|
kueOverflow: kueOverflowRaw,
|
||||||
|
kuePSTmMinus96V, // <- richtig, weil so im State vorhanden
|
||||||
} = useSelector((state: RootState) => state.kueData);
|
} = useSelector((state: RootState) => state.kueData);
|
||||||
|
|
||||||
const kueCableBreakRaw = useSelector(
|
//---------------------------------------------
|
||||||
(state: RootState) => state.kueData.cableBreak
|
|
||||||
);
|
|
||||||
const kueGroundFaultRaw = useSelector(
|
|
||||||
(state: RootState) => state.kueData.groundFault
|
|
||||||
);
|
|
||||||
const kueAlarm1Raw = useSelector((state: RootState) => state.kueData.alarm1);
|
|
||||||
const kueAlarm2Raw = useSelector((state: RootState) => state.kueData.alarm2);
|
|
||||||
const kueOverflowRaw = useSelector(
|
|
||||||
(state: RootState) => state.kueData.overflow
|
|
||||||
);
|
|
||||||
|
|
||||||
const kueCableBreak = useMemo(
|
const kueCableBreak = useMemo(
|
||||||
() => kueCableBreakRaw?.map(Number) ?? [],
|
() => kueCableBreakRaw?.map(Number) ?? [],
|
||||||
[kueCableBreakRaw]
|
[kueCableBreakRaw]
|
||||||
@@ -126,7 +120,7 @@ const Kue705FO: React.FC<Kue705FOProps> = ({
|
|||||||
);
|
);
|
||||||
const isoDisplayValue = useIsoDisplay(
|
const isoDisplayValue = useIsoDisplay(
|
||||||
slotIndex,
|
slotIndex,
|
||||||
pstMinus96V,
|
kuePSTmMinus96V,
|
||||||
kueCableBreak,
|
kueCableBreak,
|
||||||
kueGroundFault,
|
kueGroundFault,
|
||||||
kueAlarm1,
|
kueAlarm1,
|
||||||
@@ -231,7 +225,7 @@ const Kue705FO: React.FC<Kue705FOProps> = ({
|
|||||||
<div className="text-center">
|
<div className="text-center">
|
||||||
<span
|
<span
|
||||||
className={
|
className={
|
||||||
Number(pstMinus96V?.[slotIndex]) === 1 ||
|
Number(kuePSTmMinus96V?.[slotIndex]) === 1 ||
|
||||||
Number(kueCableBreak?.[slotIndex]) === 1 ||
|
Number(kueCableBreak?.[slotIndex]) === 1 ||
|
||||||
Number(kueGroundFault?.[slotIndex]) === 1 ||
|
Number(kueGroundFault?.[slotIndex]) === 1 ||
|
||||||
Number(kueAlarm1?.[slotIndex]) === 1 ||
|
Number(kueAlarm1?.[slotIndex]) === 1 ||
|
||||||
@@ -245,7 +239,7 @@ const Kue705FO: React.FC<Kue705FOProps> = ({
|
|||||||
{isoDisplayValue}
|
{isoDisplayValue}
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
{Number(pstMinus96V?.[slotIndex]) !== 1 &&
|
{Number(kuePSTmMinus96V?.[slotIndex]) !== 1 &&
|
||||||
Number(kueCableBreak?.[slotIndex]) !== 1 &&
|
Number(kueCableBreak?.[slotIndex]) !== 1 &&
|
||||||
Number(kueGroundFault?.[slotIndex]) !== 1 &&
|
Number(kueGroundFault?.[slotIndex]) !== 1 &&
|
||||||
Number(kueAlarm1?.[slotIndex]) !== 1 &&
|
Number(kueAlarm1?.[slotIndex]) !== 1 &&
|
||||||
|
|||||||
@@ -6,5 +6,5 @@
|
|||||||
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
||||||
|
|
||||||
*/
|
*/
|
||||||
const webVersion = "1.6.170";
|
const webVersion = "1.6.171";
|
||||||
export default webVersion;
|
export default webVersion;
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
// /public/CPLmockData/SERVICE/kueData.js
|
||||||
//Modul vorhanden 1 = vorhanden, 0 = nicht vorhanden
|
//Modul vorhanden 1 = vorhanden, 0 = nicht vorhanden
|
||||||
var win_kueOnline = [
|
var win_kueOnline = [
|
||||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
|
|||||||
@@ -1,41 +1,60 @@
|
|||||||
// ✅ Slice: /redux/slices/kueDataSlice.ts
|
// ✅ Slice: /redux/slices/kueDataSlice.ts
|
||||||
|
|
||||||
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
|
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
|
||||||
|
|
||||||
interface KueDataState {
|
interface KueDataState {
|
||||||
kueOnline: number[];
|
kueOnline: number[];
|
||||||
kueID: string[];
|
kueID: string[];
|
||||||
pstMinus96V: number[];
|
kuePSTmMinus96V: number[];
|
||||||
alarm1: number[];
|
kueAlarm1: number[];
|
||||||
alarm2: number[];
|
kueAlarm2: number[];
|
||||||
iso: number[];
|
kueIso: number[];
|
||||||
residence: number[];
|
kueResidence: number[];
|
||||||
cableBreak: number[];
|
kueCableBreak: number[];
|
||||||
groundFault: number[];
|
kueGroundFault: number[];
|
||||||
limit1: number[];
|
kueLimit1: number[];
|
||||||
limit2Low: number[];
|
kueLimit2Low: number[];
|
||||||
delay1: number[];
|
kueDelay1: number[];
|
||||||
loopInterval: number[];
|
kueLoopInterval: number[];
|
||||||
kueVersion: number[];
|
kueVersion: number[];
|
||||||
overflow: number[];
|
kueOverflow: number[];
|
||||||
|
|
||||||
|
tdrAtten: number[];
|
||||||
|
tdrPulse: number[];
|
||||||
|
tdrSpeed: number[];
|
||||||
|
tdrAmp: number[];
|
||||||
|
tdrTrigger: number[];
|
||||||
|
tdrLocation: number[];
|
||||||
|
tdrActive: number[];
|
||||||
|
tdrLast: string[];
|
||||||
|
tdrOverflow: number[];
|
||||||
}
|
}
|
||||||
|
|
||||||
const initialState: KueDataState = {
|
const initialState: KueDataState = {
|
||||||
kueOnline: [],
|
kueOnline: [],
|
||||||
kueID: [],
|
kueID: [],
|
||||||
pstMinus96V: [],
|
kuePSTmMinus96V: [],
|
||||||
alarm1: [],
|
kueAlarm1: [],
|
||||||
alarm2: [],
|
kueAlarm2: [],
|
||||||
iso: [],
|
kueIso: [],
|
||||||
residence: [],
|
kueResidence: [],
|
||||||
cableBreak: [],
|
kueCableBreak: [],
|
||||||
groundFault: [],
|
kueGroundFault: [],
|
||||||
limit1: [],
|
kueLimit1: [],
|
||||||
limit2Low: [],
|
kueLimit2Low: [],
|
||||||
delay1: [],
|
kueDelay1: [],
|
||||||
loopInterval: [],
|
kueLoopInterval: [],
|
||||||
kueVersion: [],
|
kueVersion: [],
|
||||||
overflow: [],
|
kueOverflow: [],
|
||||||
|
|
||||||
|
tdrAtten: [],
|
||||||
|
tdrPulse: [],
|
||||||
|
tdrSpeed: [],
|
||||||
|
tdrAmp: [],
|
||||||
|
tdrTrigger: [],
|
||||||
|
tdrLocation: [],
|
||||||
|
tdrActive: [],
|
||||||
|
tdrLast: [],
|
||||||
|
tdrOverflow: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
const kueDataSlice = createSlice({
|
const kueDataSlice = createSlice({
|
||||||
|
|||||||
@@ -1,61 +1,51 @@
|
|||||||
// /services/fetchKueData.ts
|
// ✅ Service: /services/fetchKueData.ts
|
||||||
|
|
||||||
export const fetchKueData = async () => {
|
export const fetchKueData = async () => {
|
||||||
try {
|
try {
|
||||||
if (typeof window === "undefined") return null;
|
if (typeof window === "undefined") return null;
|
||||||
|
|
||||||
// ✅ Script dynamisch laden
|
// ✅ Nur bei Bedarf nachladen
|
||||||
await new Promise<void>((resolve, reject) => {
|
await new Promise<void>((resolve, reject) => {
|
||||||
const script = document.createElement("script");
|
const script = document.createElement("script");
|
||||||
const env = process.env.NEXT_PUBLIC_NODE_ENV;
|
script.src = "/CPLmockData/SERVICE/kueData.js"; // In Produktion ggf. /CPL/SERVICE/kueData.js
|
||||||
script.src =
|
|
||||||
env === "production"
|
|
||||||
? "/CPL?/CPL/SERVICE/kueData.js"
|
|
||||||
: "/CPLmockData/SERVICE/kueData.js";
|
|
||||||
script.async = true;
|
script.async = true;
|
||||||
script.onload = () => resolve();
|
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);
|
document.body.appendChild(script);
|
||||||
});
|
});
|
||||||
|
|
||||||
const win = window as any;
|
const win = window as any;
|
||||||
|
|
||||||
// ✅ Alle benötigten Variablen extrahieren
|
return {
|
||||||
const keys = [
|
kueOnline: win.win_kueOnline || [],
|
||||||
"kueOnline",
|
kueID: win.win_kueID || [],
|
||||||
"kueID",
|
kuePSTmMinus96V: win.win_kuePSTmMinus96V || [],
|
||||||
"kuePSTmMinus96V",
|
kueAlarm1: win.win_kueAlarm1 || [],
|
||||||
"kueAlarm1",
|
kueAlarm2: win.win_kueAlarm2 || [],
|
||||||
"kueAlarm2",
|
kueIso: win.win_kueIso || [],
|
||||||
"kueIso",
|
kueResidence: win.win_kueResidence || [],
|
||||||
"kueResidence",
|
kueCableBreak: win.win_kueCableBreak || [],
|
||||||
"kueCableBreak",
|
kueGroundFault: win.win_kueGroundFault || [],
|
||||||
"kueGroundFault",
|
kueLimit1: win.win_kueLimit1 || [],
|
||||||
"kueLimit1",
|
kueLimit2Low: win.win_kueLimit2Low || [],
|
||||||
"kueLimit2Low",
|
kueDelay1: win.win_kueDelay1 || [],
|
||||||
"kueDelay1",
|
kueLoopInterval: win.win_kueLoopInterval || [],
|
||||||
"kueLoopInterval",
|
kueVersion: win.win_kueVersion || [],
|
||||||
"kueVersion",
|
kueOverflow: win.win_kueOverflow || [],
|
||||||
"tdrAtten",
|
|
||||||
"tdrPulse",
|
|
||||||
"tdrSpeed",
|
|
||||||
"tdrAmp",
|
|
||||||
"tdrTrigger",
|
|
||||||
"tdrLocation",
|
|
||||||
"tdrActive",
|
|
||||||
"kueOverflow",
|
|
||||||
"tdrLast",
|
|
||||||
];
|
|
||||||
|
|
||||||
const result: Record<string, any> = {};
|
// TDR-Daten
|
||||||
for (const key of keys) {
|
tdrAtten: win.win_tdrAtten || [],
|
||||||
const winKey = `win_${key}`;
|
tdrPulse: win.win_tdrPulse || [],
|
||||||
result[key] = win[winKey] ?? [];
|
tdrSpeed: win.win_tdrSpeed || [],
|
||||||
}
|
tdrAmp: win.win_tdrAmp || [],
|
||||||
|
tdrTrigger: win.win_tdrTrigger || [],
|
||||||
return result;
|
tdrLocation: win.win_tdrLocation || [],
|
||||||
|
tdrActive: win.win_tdrActive || [],
|
||||||
|
tdrLast: win.win_tdrLast || [],
|
||||||
|
tdrOverflow: win.win_kueOverflow || [],
|
||||||
|
};
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("❌ Fehler beim Laden der KUE-Daten:", error);
|
console.error("❌ Fehler beim Laden der KÜE-Daten:", error);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user