-
+
TDR Messung läuft... kann bis zu zwei Minuten dauern
-
- Bitte warten…{" "}
- {Math.min(
+
+ Bitte warten… {Math.min(
100,
Math.round((tdrProgress / TDR_TOTAL_DURATION) * 100)
- )}
- %
+ )}%
-
diff --git a/components/main/kabelueberwachung/kue705FO/Charts/TDRChart/TDRChartView.tsx b/components/main/kabelueberwachung/kue705FO/Charts/TDRChart/TDRChartView.tsx
index bb61282..dd23541 100644
--- a/components/main/kabelueberwachung/kue705FO/Charts/TDRChart/TDRChartView.tsx
+++ b/components/main/kabelueberwachung/kue705FO/Charts/TDRChart/TDRChartView.tsx
@@ -4,29 +4,20 @@ import React, { useEffect } from "react";
import ReactModal from "react-modal";
import TDRChart from "./TDRChart";
import { useSelector, useDispatch } from "react-redux";
-import { AppDispatch } from "@/redux/store";
-import { RootState } from "@/redux/store";
+import { AppDispatch, RootState } from "@/redux/store";
import {
setChartOpen,
setFullScreen,
setSlotNumber,
-} from "@/redux/slices/kabelueberwachungChartSlice";
-
-import { resetBrushRange } from "@/redux/slices/brushSlice";
-
-import {
setVonDatum,
setBisDatum,
setSelectedMode,
setSelectedSlotType,
+ setChartTitle,
} from "@/redux/slices/kabelueberwachungChartSlice";
-
-import {
- setSelectedSlot,
- setActiveMode,
-} from "@/redux/slices/kueChartModeSlice";
+import { resetBrushRange } from "@/redux/slices/brushSlice";
+import { setSelectedSlot, setActiveMode } from "@/redux/slices/kueChartModeSlice";
import { Listbox } from "@headlessui/react";
-import { setChartTitle } from "@/redux/slices/kabelueberwachungChartSlice";
import Report from "../IsoMeasurementChart/Report";
interface TDRChartViewProps {
@@ -35,70 +26,48 @@ interface TDRChartViewProps {
slotIndex: number;
}
-const TDRChartView: React.FC
= ({
- isOpen,
- onClose,
- slotIndex,
-}) => {
+const TDRChartView: React.FC = ({ isOpen, onClose, slotIndex }) => {
const dispatch = useDispatch();
+ const { isFullScreen, chartTitle } = useSelector((s: RootState) => s.kabelueberwachungChartSlice);
- const { isFullScreen, chartTitle } = useSelector(
- (state: RootState) => state.kabelueberwachungChartSlice
- );
-
- // **Modal öffnen - TDR spezifische Einstellungen**
+ // Initialize defaults when opening
useEffect(() => {
- if (isOpen) {
- const today = new Date();
- const thirtyDaysAgo = new Date();
- thirtyDaysAgo.setDate(today.getDate() - 30);
-
- const toISO = (date: Date) => date.toLocaleDateString("sv-SE");
-
- // Set TDR mode and slot
- dispatch(setActiveMode("TDR"));
- dispatch(setSelectedSlot(slotIndex));
-
- // Also set slot number for general chart slice
- dispatch(setSlotNumber(slotIndex));
-
- // Set dates
- dispatch(setVonDatum(toISO(thirtyDaysAgo)));
- dispatch(setBisDatum(toISO(today)));
-
- // TDR specific settings (if needed)
- dispatch(setSelectedSlotType("isolationswiderstand"));
- }
- }, [isOpen, slotIndex, dispatch]);
-
- // **Modal schließen + Redux-Status zurücksetzen**
- const handleClose = () => {
+ if (!isOpen) return;
const today = new Date();
const thirtyDaysAgo = new Date();
thirtyDaysAgo.setDate(today.getDate() - 30);
-
const toISO = (date: Date) => date.toLocaleDateString("sv-SE");
- // Reset Datum
+ dispatch(setActiveMode("TDR"));
+ dispatch(setSelectedSlot(slotIndex));
+ dispatch(setSlotNumber(slotIndex));
+
dispatch(setVonDatum(toISO(thirtyDaysAgo)));
dispatch(setBisDatum(toISO(today)));
- // Reset Dropdowns
+ if (chartTitle !== "Messkurve" && chartTitle !== "Meldungen") {
+ dispatch(setChartTitle("Messkurve"));
+ }
+ // Only run when opened or slot changes or chartTitle invalid
+ }, [isOpen, slotIndex, chartTitle, dispatch]);
+
+ const handleClose = () => {
+ // Reset generic chart slice to DIA1 isolationswiderstand defaults (same pattern as other modals)
+ const today = new Date();
+ const thirtyDaysAgo = new Date();
+ thirtyDaysAgo.setDate(today.getDate() - 30);
+ const toISO = (date: Date) => date.toLocaleDateString("sv-SE");
+ dispatch(setVonDatum(toISO(thirtyDaysAgo)));
+ dispatch(setBisDatum(toISO(today)));
dispatch(setSelectedMode("DIA1"));
dispatch(setSelectedSlotType("isolationswiderstand"));
-
- // Sonstiges Reset
dispatch(setChartOpen(false));
dispatch(setFullScreen(false));
dispatch(resetBrushRange());
-
onClose();
};
- // **Vollbildmodus umschalten**
- const toggleFullScreen = () => {
- dispatch(setFullScreen(!isFullScreen));
- };
+ const toggleFullScreen = () => dispatch(setFullScreen(!isFullScreen));
return (
= ({
onRequestClose={handleClose}
ariaHideApp={false}
style={{
- overlay: { backgroundColor: "rgba(0, 0, 0, 0.5)" },
+ overlay: {
+ backgroundColor: "rgba(0,0,0,0.55)",
+ backdropFilter: "blur(2px)",
+ },
content: {
- top: "50%",
- left: "50%",
- bottom: "auto",
- marginRight: "-50%",
+ inset: "50% auto auto 50%",
transform: "translate(-50%, -50%)",
- width: isFullScreen ? "90vw" : "70rem",
- height: isFullScreen ? "90vh" : "35rem",
- padding: "1rem",
- transition: "all 0.3s ease-in-out",
+ width: isFullScreen ? "90vw" : "72rem",
+ height: isFullScreen ? "90vh" : "38rem",
+ padding: 0,
+ border: "1px solid var(--color-border)",
+ background: "var(--color-surface)",
+ borderRadius: "14px",
display: "flex",
flexDirection: "column",
+ overflow: "hidden",
},
}}
+ contentLabel="TDR Messung"
>
- {/* Action-Buttons */}
-
- {/* Fullscreen-Button */}
-
-
- {/* Schließen-Button */}
-
-
-
- {/* Chart-Container */}
-
-
-
- {chartTitle === "Messkurve" ? "TDR-Messung" : "Meldungen"}
-
- {/* Dropdown Messkurve / Meldungen */}
+
+ TDR-Messung
+
+
+
+
+
@@ -184,31 +129,21 @@ const TDRChartView: React.FC = ({
}
>
-
- {chartTitle}
-
+
+ {chartTitle}
+
-
+
{(["Messkurve", "Meldungen"] as const).map((option) => (
- `px-4 py-1 cursor-pointer ${
+ `px-3 py-1.5 cursor-pointer rounded-sm m-0.5 ${
selected
- ? "bg-littwin-blue text-white"
+ ? "dropdown-option-active"
: active
- ? "bg-gray-200"
+ ? "dropdown-option-hover"
: ""
}`
}
@@ -220,8 +155,9 @@ const TDRChartView: React.FC = ({
- {/* Chart oder Meldungen */}
-
+
+
+
{chartTitle === "Messkurve" ? (
) : (
diff --git a/package-lock.json b/package-lock.json
index 1d288d8..4106d86 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "cpl-v4",
- "version": "1.6.880",
+ "version": "1.6.881",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "cpl-v4",
- "version": "1.6.880",
+ "version": "1.6.881",
"dependencies": {
"@emotion/react": "^11.13.0",
"@emotion/styled": "^11.13.0",
diff --git a/package.json b/package.json
index 6ceee05..9e69eaa 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "cpl-v4",
- "version": "1.6.880",
+ "version": "1.6.881",
"private": true,
"scripts": {
"dev": "next dev -p 3000",