feat: Chart-Status zurücksetzen, wenn das Modal geschlossen wird
- Redux-Slice `kabelueberwachungChartSlice.ts` erweitert, um `isChartOpen` beim Schließen zurückzusetzen - `ChartSwitcher.tsx` so angepasst, dass `setChartOpen(false)` beim Schließen des Modals (`onClose`) aufgerufen wird - `handleClose` als zentrale Schließen-Funktion eingeführt, um sowohl das Modal zu schließen als auch den Redux-Status zu aktualisieren - Sicherstellt, dass `vonDatum` und `bisDatum` beim erneuten Öffnen korrekt aktualisiert werden
This commit is contained in:
@@ -9,15 +9,15 @@ import {
|
||||
setChartData,
|
||||
setSelectedMode,
|
||||
setSelectedSlotType,
|
||||
setChartOpen,
|
||||
} from "../../../../../../redux/slices/kabelueberwachungChartSlice";
|
||||
|
||||
const LoopChartActionBar: React.FC = () => {
|
||||
const dispatch = useDispatch();
|
||||
|
||||
// Redux-Status abrufen
|
||||
const { vonDatum, bisDatum, selectedMode, selectedSlotType } = useSelector(
|
||||
(state: RootState) => state.kabelueberwachungChart
|
||||
);
|
||||
const { vonDatum, bisDatum, selectedMode, selectedSlotType, isChartOpen } =
|
||||
useSelector((state: RootState) => state.kabelueberwachungChart);
|
||||
|
||||
/**
|
||||
* API-URL-Erstellung für Entwicklung und Produktion
|
||||
@@ -46,6 +46,15 @@ const LoopChartActionBar: React.FC = () => {
|
||||
|
||||
if (Array.isArray(jsonData)) {
|
||||
dispatch(setChartData(jsonData));
|
||||
|
||||
// Falls das Chart zum ersten Mal geöffnet wird, setze vonDatum & bisDatum
|
||||
if (!isChartOpen && jsonData.length > 0) {
|
||||
const firstDate = new Date(jsonData[jsonData.length - 1].t);
|
||||
const lastDate = new Date(jsonData[0].t);
|
||||
dispatch(setVonDatum(firstDate.toISOString().split("T")[0]));
|
||||
dispatch(setBisDatum(lastDate.toISOString().split("T")[0]));
|
||||
dispatch(setChartOpen(true)); // Setze den Schalter auf "geöffnet"
|
||||
}
|
||||
} else {
|
||||
console.error("Erwartetes Array, aber erhalten:", jsonData);
|
||||
}
|
||||
@@ -95,14 +104,6 @@ const LoopChartActionBar: React.FC = () => {
|
||||
<option value="schleifenwiderstand">Schleifenwiderstand</option>
|
||||
<option value="isolationswiderstand">Isolationswiderstand</option>
|
||||
</select>
|
||||
|
||||
{/* Daten abrufen */}
|
||||
<button
|
||||
onClick={handleFetchData}
|
||||
className="px-3 py-1 bg-green-500 text-white rounded text-sm"
|
||||
>
|
||||
Daten Laden
|
||||
</button>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user