- `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.
34 lines
966 B
TypeScript
34 lines
966 B
TypeScript
// components/main/kabelueberwachung/kue705FO/handlers/handleOpenChartModal.ts
|
|
import { Dispatch, SetStateAction } from "react";
|
|
import {
|
|
setChartOpen,
|
|
setSlotNumber,
|
|
} from "../../../../../redux/slices/kabelueberwachungChartSlice";
|
|
import {
|
|
setActiveMode,
|
|
setSelectedSlot, // ✅ Importiere setSelectedSlot
|
|
} from "../../../../../redux/slices/kueChartModeSlice";
|
|
import { useDispatch } from "react-redux";
|
|
|
|
const handleOpenChartModal = (
|
|
setShowChartModal: Dispatch<SetStateAction<boolean>>,
|
|
dispatch: ReturnType<typeof useDispatch>,
|
|
slotIndex: number,
|
|
activeButton: "Schleife" | "TDR"
|
|
) => {
|
|
setShowChartModal(true);
|
|
dispatch(setChartOpen(true));
|
|
dispatch(setSlotNumber(slotIndex + 1));
|
|
|
|
// ✅ Speichert den gewählten Slot in Redux
|
|
dispatch(setSelectedSlot(slotIndex));
|
|
|
|
if (activeButton === "TDR") {
|
|
dispatch(setActiveMode("TDR"));
|
|
} else {
|
|
dispatch(setActiveMode("Schleife"));
|
|
}
|
|
};
|
|
|
|
export default handleOpenChartModal;
|