feat: TDR-Chart zeigt initial Slot-Daten und aktualisiert bei Dropdown-Auswahl
- Initiale Chart-Daten werden basierend auf ausgewähltem Slot geladen (z. B. slot0.json bis slot31.json). - Wenn eine Messungs-ID im Dropdown ausgewählt wird, wird die entsprechende Kurve geladen und angezeigt. - useMemo verwendet, um zwischen initialen und ID-basierten Daten zu unterscheiden.
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
// components/main/kabelueberwachung/kue705FO/Charts/TDRChart/TDRChart.tsx
|
// components/main/kabelueberwachung/kue705FO/Charts/TDRChart/TDRChart.tsx
|
||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import React, { useEffect, useRef } from "react";
|
import React, { useEffect, useRef, useMemo } from "react";
|
||||||
import { RootState } from "../../../../../../redux/store";
|
import { RootState } from "../../../../../../redux/store";
|
||||||
import { useSelector } from "react-redux";
|
import { useSelector } from "react-redux";
|
||||||
import { Chart, registerables } from "chart.js";
|
import { Chart, registerables } from "chart.js";
|
||||||
@@ -23,9 +23,20 @@ const TDRChart: React.FC<{ isFullScreen: boolean }> = ({ isFullScreen }) => {
|
|||||||
const selectedChartType = useSelector(
|
const selectedChartType = useSelector(
|
||||||
(state: RootState) => state.kueChartMode.activeMode
|
(state: RootState) => state.kueChartMode.activeMode
|
||||||
);
|
);
|
||||||
const tdrChartData = useSelector((state: RootState) =>
|
const tdrDataById = useSelector(
|
||||||
selectedId !== null ? state.tdrDataById.dataById[selectedId] || [] : []
|
(state: RootState) => state.tdrDataById.dataById
|
||||||
);
|
);
|
||||||
|
const tdrInitialData = useSelector((state: RootState) =>
|
||||||
|
selectedSlot !== null ? state.tdrChart.data[selectedSlot] || [] : []
|
||||||
|
);
|
||||||
|
|
||||||
|
// Kombinierte Logik: ID hat Vorrang, sonst Initial-Daten für Slot
|
||||||
|
const tdrChartData = useMemo(() => {
|
||||||
|
if (selectedId !== null && tdrDataById[selectedId]) {
|
||||||
|
return tdrDataById[selectedId];
|
||||||
|
}
|
||||||
|
return tdrInitialData;
|
||||||
|
}, [selectedId, tdrDataById, tdrInitialData]);
|
||||||
|
|
||||||
const referenceChartData = useSelector((state: RootState) =>
|
const referenceChartData = useSelector((state: RootState) =>
|
||||||
selectedSlot !== null
|
selectedSlot !== null
|
||||||
|
|||||||
@@ -6,5 +6,5 @@
|
|||||||
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
||||||
|
|
||||||
*/
|
*/
|
||||||
const webVersion = "1.6.152";
|
const webVersion = "1.6.153";
|
||||||
export default webVersion;
|
export default webVersion;
|
||||||
|
|||||||
Reference in New Issue
Block a user