Files
CPLv4.0/components/main/kabelueberwachung/kue705FO/Charts/LoopMeasurementChart/LoopChartActionBar.tsx
2025-02-14 10:09:38 +01:00

48 lines
1.6 KiB
TypeScript

// components/main/kabelueberwachung/kue705FO/Charts/LoopMeasurementChart/LoopChartActionBar.tsx
import React, { useState } from "react";
import DateRangePicker from "../DateRangePicker";
import LoopMeasurementChart from "./LoopMeasurementChart";
import { useDispatch } from "react-redux";
import { setChartData } from "../../../../../../redux/slices/chartDataSlice";
const LoopChartActionBar: React.FC = () => {
const dispatch = useDispatch();
const [showChart, setShowChart] = useState(false);
const handleFetchData = async () => {
try {
const response = await fetch("/mockData.json");
const data = await response.json();
if (Array.isArray(data)) {
// data ist ein Array und kann mit .map() verwendet werden
console.log("Daten geladen:", data);
} else {
console.error("Erwartetes Array, aber erhalten:", data);
}
dispatch(setChartData(data));
setShowChart(true);
} catch (error) {
console.error("Fehler beim Laden der Daten:", error);
if (error instanceof Response) {
const errorMessage = await error.text();
console.error("Fehlermeldung vom Server:", errorMessage);
}
}
};
return (
<div className="flex justify-end items-center p-2 bg-gray-100 rounded-lg space-x-2">
<DateRangePicker setVonDatum={() => {}} setBisDatum={() => {}} />
<button
onClick={handleFetchData}
className="px-3 py-1 bg-green-500 text-white rounded text-sm"
>
Aktualisieren
</button>
{showChart && <LoopMeasurementChart />}
</div>
);
};
export default LoopChartActionBar;