feat: ISO, RSL und TDR separate Charts ohne den Switcher

This commit is contained in:
ISA
2025-07-28 13:39:46 +02:00
parent 7a9fbc97dd
commit ce1dacda9b
15 changed files with 612 additions and 263 deletions

View File

@@ -0,0 +1,48 @@
// /redux/slices/loopChartSlice.ts
import { createSlice } from "@reduxjs/toolkit";
import { getLoopChartDataThunk } from "../thunks/getLoopChartDataThunk";
interface ChartData {
[mode: string]: {
[type: number]: any;
};
}
interface LoopChartState {
data: ChartData;
loading: boolean;
error: string | null;
}
const initialState: LoopChartState = {
data: {},
loading: false,
error: null,
};
const isoChartSlice = createSlice({
name: "loopChartSlice",
initialState,
reducers: {},
extraReducers: (builder) => {
builder
.addCase(getLoopChartDataThunk.pending, (state) => {
state.loading = true;
state.error = null;
})
.addCase(getLoopChartDataThunk.fulfilled, (state, action) => {
state.loading = false;
const { mode, type } = action.meta.arg;
if (!state.data[mode]) {
state.data[mode] = {};
}
state.data[mode][type] = action.payload;
})
.addCase(getLoopChartDataThunk.rejected, (state, action) => {
state.loading = false;
state.error = action.payload as string;
});
},
});
export default isoChartSlice.reducer;

View File

@@ -0,0 +1,23 @@
// redux/slices/isoChartTypeSlice.ts
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
interface isoChartTypeState {
chartTitle: string;
}
const initialState: isoChartTypeState = {
chartTitle: "Isolationsmessung", // Standardwert
};
const isoChartTypeSlice = createSlice({
name: "isoChartType",
initialState,
reducers: {
setChartTitle: (state, action: PayloadAction<string>) => {
state.chartTitle = action.payload;
},
},
});
export const { setChartTitle } = isoChartTypeSlice.actions;
export default isoChartTypeSlice.reducer;

View File

@@ -11,6 +11,7 @@ interface TDRData {
// Definition des Interface für den gesamten Zustand der Kabelüberwachung
interface KabelueberwachungChartState {
loopMeasurementCurveChartData: any[];
isoMeasurementCurveChartData: any[];
vonDatum: string;
bisDatum: string;
selectedMode: "DIA0" | "DIA1" | "DIA2";
@@ -32,6 +33,7 @@ thirtyDaysAgo.setDate(today.getDate() - 30);
const initialState: KabelueberwachungChartState = {
isLoading: false,
loopMeasurementCurveChartData: [],
isoMeasurementCurveChartData: [],
vonDatum: thirtyDaysAgo.toISOString().split("T")[0], // 30 Tage zurück
bisDatum: today.toISOString().split("T")[0], // Heute
selectedMode: "DIA0",
@@ -54,6 +56,9 @@ const kabelueberwachungChartSlice = createSlice({
setLoopMeasurementCurveChartData: (state, action: PayloadAction<any[]>) => {
state.loopMeasurementCurveChartData = action.payload;
},
setIsoMeasurementCurveChartData: (state, action: PayloadAction<any[]>) => {
state.isoMeasurementCurveChartData = action.payload;
},
setVonDatum: (state, action: PayloadAction<string>) => {
state.vonDatum = action.payload;
},
@@ -95,6 +100,7 @@ const kabelueberwachungChartSlice = createSlice({
export const {
setSlotNumber,
setLoopMeasurementCurveChartData,
setIsoMeasurementCurveChartData,
setVonDatum,
setBisDatum,
setSelectedMode,