feat: Chart-Status zurücksetzen, wenn das Modal geschlossen wird
- Redux-Slice `kabelueberwachungChartSlice.ts` erweitert, um `isChartOpen` beim Schließen zurückzusetzen - `ChartSwitcher.tsx` so angepasst, dass `setChartOpen(false)` beim Schließen des Modals (`onClose`) aufgerufen wird - `handleClose` als zentrale Schließen-Funktion eingeführt, um sowohl das Modal zu schließen als auch den Redux-Status zu aktualisieren - Sicherstellt, dass `vonDatum` und `bisDatum` beim erneuten Öffnen korrekt aktualisiert werden
This commit is contained in:
@@ -6,6 +6,7 @@ interface KabelueberwachungChartState {
|
||||
bisDatum: string;
|
||||
selectedMode: "DIA0" | "DIA1" | "DIA2";
|
||||
selectedSlotType: "isolationswiderstand" | "schleifenwiderstand";
|
||||
isChartOpen: boolean; // NEU: Schalter für das erste Öffnen des Charts
|
||||
}
|
||||
|
||||
const initialState: KabelueberwachungChartState = {
|
||||
@@ -14,6 +15,7 @@ const initialState: KabelueberwachungChartState = {
|
||||
bisDatum: "2025-02-28",
|
||||
selectedMode: "DIA0",
|
||||
selectedSlotType: "schleifenwiderstand",
|
||||
isChartOpen: false, // Standard: Chart ist beim ersten Laden geschlossen
|
||||
};
|
||||
|
||||
const kabelueberwachungChartSlice = createSlice({
|
||||
@@ -22,6 +24,16 @@ const kabelueberwachungChartSlice = createSlice({
|
||||
reducers: {
|
||||
setChartData: (state, action: PayloadAction<any[]>) => {
|
||||
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>) => {
|
||||
state.vonDatum = action.payload;
|
||||
@@ -41,6 +53,9 @@ const kabelueberwachungChartSlice = createSlice({
|
||||
) => {
|
||||
state.selectedSlotType = action.payload;
|
||||
},
|
||||
setChartOpen: (state, action: PayloadAction<boolean>) => {
|
||||
state.isChartOpen = action.payload;
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@@ -50,6 +65,7 @@ export const {
|
||||
setBisDatum,
|
||||
setSelectedMode,
|
||||
setSelectedSlotType,
|
||||
setChartOpen,
|
||||
} = kabelueberwachungChartSlice.actions;
|
||||
|
||||
export default kabelueberwachungChartSlice.reducer;
|
||||
|
||||
Reference in New Issue
Block a user