- `selectedSlot` in `kueChartModeSlice.ts` hinzugefügt, um den aktiven Slot zu speichern. - `handleButtonClick.ts` aktualisiert, damit `selectedSlot` in Redux gesetzt wird. - `handleOpenChartModal.ts` angepasst, sodass `selectedSlot` beim Öffnen des Modals gesetzt wird. - `Kue705FO.tsx` nutzt jetzt Redux für die Slot- und Modus-Steuerung (`selectedSlot`, `activeMode`). - Redux-Logik optimiert: `selectedSlot` wird nun konsistent zwischen `TDRChart.tsx` und `ChartSwitcher.tsx` genutzt. - Verbesserung der Benutzererfahrung: Nur `onClick` verwendet, `onMouseOver` wegen Performance-Problemen vermieden. ✅ Jetzt wird der richtige Slot in Redux gespeichert, wenn ein Button oder das Chart-Modal geöffnet wird. ✅ `TDRChart.tsx` zeigt nur das gewählte Modul an, kein unnötiges Neuladen von Daten. ✅ Stabile und optimierte Chart-Steuerung ohne ungewollte Änderungen durch Mausbewegungen.
29 lines
981 B
TypeScript
29 lines
981 B
TypeScript
// /redux/slices/kueChartModeSlice.ts
|
|
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
|
|
|
|
interface KueChartModeState {
|
|
activeMode: "Schleife" | "TDR"; // 🔥 Zustand für den aktiven Modus
|
|
selectedSlot: number | null; // 🔥 Neu: Aktuell gewählter Slot
|
|
}
|
|
|
|
const initialState: KueChartModeState = {
|
|
activeMode: "Schleife", // Standard ist Schleife
|
|
selectedSlot: null, // Standard: Kein Slot ausgewählt
|
|
};
|
|
|
|
export const kueChartModeSlice = createSlice({
|
|
name: "kueChartMode",
|
|
initialState,
|
|
reducers: {
|
|
setActiveMode: (state, action: PayloadAction<"Schleife" | "TDR">) => {
|
|
state.activeMode = action.payload; // 🔥 Speichert den Modus (Schleife oder TDR)
|
|
},
|
|
setSelectedSlot: (state, action: PayloadAction<number>) => {
|
|
state.selectedSlot = action.payload; // 🔥 Speichert den aktiven Slot
|
|
},
|
|
},
|
|
});
|
|
|
|
export const { setActiveMode, setSelectedSlot } = kueChartModeSlice.actions;
|
|
export default kueChartModeSlice.reducer;
|