refactor: TDRChartActionBar auf selectedSlot (0-basiert) umgestellt
- Verwendung von selectedSlot aus kueChartMode statt slotNumber aus kabelueberwachungChart - Slot-Datenzugriff jetzt direkt 0-basiert (z. B. slot0.json) - Referenz-Button berücksichtigt API-Format (Slot + 1) - Dropdown-Menü nutzt korrekte TDM-Liste für gewählten Slot
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
// /components/main/kabelueberwachung/kue705FO/Charts/TDRChart/TDRChartActionBar.tsx
|
||||
|
||||
import React, { useState, useEffect } from "react";
|
||||
import { useSelector } from "react-redux";
|
||||
import { useAppDispatch } from "../../../../../../redux/store";
|
||||
@@ -9,28 +10,33 @@ import { fetchTDRChartDataByIdThunk } from "../../../../../../redux/thunks/fetch
|
||||
const TDRChartActionBar: React.FC = () => {
|
||||
const dispatch = useAppDispatch();
|
||||
|
||||
const tdmChartData = useSelector((state: RootState) => state.tdmChart.data);
|
||||
// ✅ Redux: selectedSlot aus kueChartMode (0-basiert)
|
||||
const selectedSlot = useSelector(
|
||||
(state: RootState) => state.kueChartMode.selectedSlot
|
||||
);
|
||||
|
||||
const tdmChartData = useSelector(
|
||||
(state: RootState) => state.tdmSingleChart.data
|
||||
);
|
||||
|
||||
const idsForSlot =
|
||||
selectedSlot !== null ? tdmChartData[selectedSlot] ?? [] : [];
|
||||
|
||||
const [selectedId, setSelectedId] = useState<number | null>(null);
|
||||
|
||||
// Dropdown-Auswahl: Neue ID auswählen
|
||||
// 🔄 Dropdown-Auswahl: neue Messung laden
|
||||
const handleSelectChange = (e: React.ChangeEvent<HTMLSelectElement>) => {
|
||||
const id = parseInt(e.target.value);
|
||||
setSelectedId(id);
|
||||
dispatch(fetchTDRChartDataByIdThunk(id));
|
||||
};
|
||||
|
||||
// Button: Als Referenzkurve setzen
|
||||
// 📌 Referenz setzen (nutzt Slotnummer + 1 für die API)
|
||||
const handleSetReference = async () => {
|
||||
if (selectedId === null || selectedSlot === null) return;
|
||||
|
||||
const url = `${window.location.origin}/CPL?seite.ACP&KTR${selectedSlot}=${selectedId}`;
|
||||
const apiSlot = selectedSlot + 1;
|
||||
const url = `${window.location.origin}/CPL?seite.ACP&KTR${apiSlot}=${selectedId}`;
|
||||
try {
|
||||
const response = await fetch(url);
|
||||
if (!response.ok) throw new Error("Fehler beim Setzen der Referenzkurve");
|
||||
@@ -41,7 +47,7 @@ const TDRChartActionBar: React.FC = () => {
|
||||
}
|
||||
};
|
||||
|
||||
// Automatisch neueste ID laden, wenn Slot sich ändert
|
||||
// 📥 Beim Slot-Wechsel TDM-Liste + letzte ID laden
|
||||
useEffect(() => {
|
||||
if (selectedSlot !== null) {
|
||||
dispatch(fetchTDMDataBySlotThunk(selectedSlot)).then((action: any) => {
|
||||
@@ -57,14 +63,14 @@ const TDRChartActionBar: React.FC = () => {
|
||||
|
||||
return (
|
||||
<div className="flex justify-between items-center p-2 bg-gray-100 rounded-lg space-x-4">
|
||||
{/* Ausgewählter Slot */}
|
||||
{/* 🧩 Slot-Anzeige (1-basiert für Benutzer) */}
|
||||
<div className="text-sm font-semibold">
|
||||
{selectedSlot !== null
|
||||
? `Slot ${selectedSlot + 1}`
|
||||
: "Kein Slot gewählt"}
|
||||
</div>
|
||||
|
||||
{/* Button: Als Referenzkurve setzen */}
|
||||
{/* ✅ Referenz setzen */}
|
||||
{selectedId !== null && (
|
||||
<button
|
||||
onClick={handleSetReference}
|
||||
@@ -74,7 +80,7 @@ const TDRChartActionBar: React.FC = () => {
|
||||
</button>
|
||||
)}
|
||||
|
||||
{/* Dropdown für Messungsauswahl */}
|
||||
{/* 🔽 Dropdown für Messungen */}
|
||||
<div className="flex items-center space-x-2">
|
||||
<label htmlFor="tdrIdSelect" className="text-sm font-semibold">
|
||||
Messung ID
|
||||
|
||||
@@ -6,5 +6,5 @@
|
||||
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
||||
|
||||
*/
|
||||
const webVersion = "1.6.182";
|
||||
const webVersion = "1.6.183";
|
||||
export default webVersion;
|
||||
|
||||
@@ -159,8 +159,8 @@ var win_tdrLocation = [
|
||||
0, 0, 0, 0, 0, 0,
|
||||
];
|
||||
var win_tdrActive = [
|
||||
1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1,
|
||||
];
|
||||
var win_tdrLast = [
|
||||
"2024-10-17 07:51:54:000",
|
||||
|
||||
Reference in New Issue
Block a user