Files
CPLv4.0/components/main/kabelueberwachung/kue705FO/Charts/ChartSwitcher.tsx
Ismail Ali c0101b35ab refactor: Umbenennung von 'chartData' in Redux kabelueberwachung Slice zu 'loopMeasurementCurveChartData' für bessere Klarheit
Die Variable 'chartData' wurde in 'loopMeasurementCurveChartData' umbenannt, um den Inhalt und Zweck der Daten klarer zu definieren. Diese Änderung verbessert die Lesbarkeit und Wartbarkeit des Codes, indem sie die Bedeutung der Variablen präziser beschreibt.
2025-02-22 16:32:40 +01:00

83 lines
2.5 KiB
TypeScript

"useClient"; // /components/modules/kue705FO/charts/ChartSwitcher.tsx
import React, { useEffect } from "react";
import ReactModal from "react-modal";
import LoopChartActionBar from "./LoopMeasurementChart/LoopChartActionBar";
import TDRChartActionBar from "./TDRChart/TDRChartActionBar";
import LoopMeasurementChart from "./LoopMeasurementChart/LoopMeasurementChart";
import TDRChart from "./TDRChart/TDRChart";
import { useSelector, useDispatch } from "react-redux";
import { RootState } from "../../../../../redux/store";
import { setChartOpen } from "../../../../../redux/slices/kabelueberwachungChartSlice";
interface ChartSwitcherProps {
isOpen: boolean;
onClose: () => void;
}
const ChartSwitcher: React.FC<ChartSwitcherProps> = ({ isOpen, onClose }) => {
const dispatch = useDispatch();
const activeMode = useSelector(
(state: RootState) => state.loopMeasurementCurveChartData.activeMode
);
// **Neue Funktion: Modal schließen + Redux-Status zurücksetzen**
const handleClose = () => {
dispatch(setChartOpen(false)); // Schalter zurücksetzen
onClose(); // Originale Schließen-Funktion aufrufen
};
return (
<ReactModal
isOpen={isOpen}
onRequestClose={handleClose} // Hier `handleClose` statt `onClose`
ariaHideApp={false}
style={{
overlay: { backgroundColor: "rgba(0, 0, 0, 0.5)" },
content: {
top: "50%",
left: "50%",
bottom: "auto",
marginRight: "-50%",
transform: "translate(-50%, -50%)",
width: "100%",
maxWidth: "70rem",
height: "35rem",
padding: "1rem",
},
}}
>
<button
onClick={handleClose} // Hier `handleClose` statt `onClose`
style={{
position: "absolute",
top: "0.625rem",
right: "0.625rem",
background: "transparent",
border: "none",
fontSize: "1.5rem",
cursor: "pointer",
}}
>
<i className="bi bi-x-circle-fill"></i>
</button>
{/* Nur die richtige ActionBar und das richtige Chart basierend auf dem Modus anzeigen */}
{activeMode === "Schleife" ? (
<>
<h3 className="text-lg font-semibold">Schleifenmessung</h3>
<LoopChartActionBar />
<LoopMeasurementChart />
</>
) : (
<>
<h3 className="text-lg font-semibold">TDR-Messung</h3>
<TDRChartActionBar />
<TDRChart />
</>
)}
</ReactModal>
);
};
export default ChartSwitcher;