fix: API-URL-Format & dynamische Base-URL für Produktion korrigiert

This commit is contained in:
ISA
2025-02-21 15:22:12 +01:00
parent 4a24cb1518
commit 0ea34a9f7b
4 changed files with 37 additions and 18 deletions

View File

@@ -16,21 +16,41 @@ const LoopChartActionBar: React.FC = () => {
const dispatch = useDispatch(); const dispatch = useDispatch();
// Redux-Status abrufen // Redux-Status abrufen
const { vonDatum, bisDatum, selectedMode, selectedSlotType, isChartOpen } = const {
useSelector((state: RootState) => state.kabelueberwachungChart); vonDatum,
bisDatum,
selectedMode,
selectedSlotType,
isChartOpen,
slotNumber,
} = useSelector((state: RootState) => state.kabelueberwachungChart);
/** /**
* API-URL-Erstellung für Entwicklung und Produktion * API-URL-Erstellung für Entwicklung und Produktion
*/ */
const getApiUrl = (mode: "DIA0" | "DIA1" | "DIA2", type: number) => { const getApiUrl = (mode: "DIA0" | "DIA1" | "DIA2", type: number) => {
if (!slotNumber) {
console.error("⚠️ Slot-Nummer nicht gesetzt!");
return "";
}
// Dynamische Basis-URL abhängig von Umgebung
const baseUrl = const baseUrl =
process.env.NODE_ENV === "development" process.env.NODE_ENV === "development"
? `/CPLmockData/kuesChartData/${mode}_${type}.json` ? `/CPLmockData/kuesChartData/${mode}_${type}.json`
: `/CPL?seite.ACP&${mode}=${vonDatum};${bisDatum};${selectedSlotType};${type};`; : `${window.location.origin}/CPL?seite.ACP&${mode}=${formatDate(
vonDatum
)};${formatDate(bisDatum)};${slotNumber};${type};`;
return baseUrl; return baseUrl;
}; };
// Funktion zur Umformatierung des Datums von "YYYY-MM-DD" zu "YYYY;MM;DD"
const formatDate = (dateString: string) => {
const dateParts = dateString.split("-");
return `${dateParts[0]};${dateParts[1]};${dateParts[2]}`;
};
/** /**
* Funktion zum Laden der Messwerte * Funktion zum Laden der Messwerte
*/ */

View File

@@ -25,6 +25,7 @@ import LoopMeasurementChart from "./Charts/LoopMeasurementChart/LoopMeasurementC
import TDRChart from "./Charts/TDRChart/TDRChart"; import TDRChart from "./Charts/TDRChart/TDRChart";
import handleButtonClick from "./kue705FO-Funktionen/handleButtonClick"; import handleButtonClick from "./kue705FO-Funktionen/handleButtonClick";
import { setChartOpen } from "../../../../redux/slices/kabelueberwachungChartSlice"; import { setChartOpen } from "../../../../redux/slices/kabelueberwachungChartSlice";
import { setSlotNumber } from "../../../../redux/slices/kabelueberwachungChartSlice";
const Kue705FO: React.FC<Kue705FOProps> = ({ const Kue705FO: React.FC<Kue705FOProps> = ({
isolationswert, isolationswert,
@@ -98,6 +99,7 @@ const Kue705FO: React.FC<Kue705FOProps> = ({
const handleOpenChartModal = () => { const handleOpenChartModal = () => {
setShowChartModal(true); setShowChartModal(true);
dispatch(setChartOpen(true)); dispatch(setChartOpen(true));
dispatch(setSlotNumber(slotIndex + 1)); // Slot-Nummer speichern
if (activeButton === "TDR") { if (activeButton === "TDR") {
dispatch(setActiveMode("TDR")); dispatch(setActiveMode("TDR"));

View File

@@ -6,5 +6,5 @@
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen). 2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
*/ */
const webVersion = "1.6.84"; const webVersion = "1.6.85";
export default webVersion; export default webVersion;

View File

@@ -6,7 +6,8 @@ interface KabelueberwachungChartState {
bisDatum: string; bisDatum: string;
selectedMode: "DIA0" | "DIA1" | "DIA2"; selectedMode: "DIA0" | "DIA1" | "DIA2";
selectedSlotType: "isolationswiderstand" | "schleifenwiderstand"; selectedSlotType: "isolationswiderstand" | "schleifenwiderstand";
isChartOpen: boolean; // NEU: Schalter für das erste Öffnen des Charts isChartOpen: boolean;
slotNumber: number | null; // NEU: Slot-Nummer speichern
} }
const initialState: KabelueberwachungChartState = { const initialState: KabelueberwachungChartState = {
@@ -15,32 +16,27 @@ const initialState: KabelueberwachungChartState = {
bisDatum: "2025-02-28", bisDatum: "2025-02-28",
selectedMode: "DIA0", selectedMode: "DIA0",
selectedSlotType: "schleifenwiderstand", selectedSlotType: "schleifenwiderstand",
isChartOpen: false, // Standard: Chart ist beim ersten Laden geschlossen isChartOpen: false,
slotNumber: null, // Standard: Kein Slot gewählt
}; };
const kabelueberwachungChartSlice = createSlice({ const kabelueberwachungChartSlice = createSlice({
name: "kabelueberwachungChart", name: "kabelueberwachungChart",
initialState, initialState,
reducers: { reducers: {
setSlotNumber: (state, action: PayloadAction<number | null>) => {
state.slotNumber = action.payload;
},
setChartData: (state, action: PayloadAction<any[]>) => { setChartData: (state, action: PayloadAction<any[]>) => {
state.chartData = action.payload; state.chartData = action.payload;
// Falls das Chart das erste Mal geöffnet wird, setze vonDatum & bisDatum
if (!state.isChartOpen && action.payload.length > 0) {
const firstDate = new Date(action.payload[action.payload.length - 1].t);
const lastDate = new Date(action.payload[0].t);
state.vonDatum = firstDate.toISOString().split("T")[0];
state.bisDatum = lastDate.toISOString().split("T")[0];
state.isChartOpen = true; // Schalter setzen, damit es nicht erneut passiert
}
}, },
setVonDatum: (state, action: PayloadAction<string>) => { setVonDatum: (state, action: PayloadAction<string>) => {
state.vonDatum = action.payload; state.vonDatum = action.payload.replace(/-/g, ";"); // Speichert als "YYYY;MM;DD"
}, },
setBisDatum: (state, action: PayloadAction<string>) => { setBisDatum: (state, action: PayloadAction<string>) => {
state.bisDatum = action.payload; state.bisDatum = action.payload.replace(/-/g, ";"); // Speichert als "YYYY;MM;DD"
}, },
setSelectedMode: ( setSelectedMode: (
state, state,
action: PayloadAction<"DIA0" | "DIA1" | "DIA2"> action: PayloadAction<"DIA0" | "DIA1" | "DIA2">
@@ -66,6 +62,7 @@ export const {
setSelectedMode, setSelectedMode,
setSelectedSlotType, setSelectedSlotType,
setChartOpen, setChartOpen,
setSlotNumber, // NEU: Action für Slot-Nummer exportieren
} = kabelueberwachungChartSlice.actions; } = kabelueberwachungChartSlice.actions;
export default kabelueberwachungChartSlice.reducer; export default kabelueberwachungChartSlice.reducer;