fix: System ->Detailansicht -> Modal

This commit is contained in:
ISA
2025-08-01 13:46:33 +02:00
parent 136d3151cf
commit f8bfea039c
6 changed files with 28 additions and 9 deletions

View File

@@ -1,6 +1,6 @@
"use client";
// /components/main/system/DetailModal.tsx
import React, { useEffect, useRef, useState } from "react";
import React, { useEffect, useRef, useState, useCallback } from "react";
import { Line } from "react-chartjs-2";
import { useSelector } from "react-redux";
import { RootState, useAppDispatch } from "@/redux/store";
@@ -173,6 +173,20 @@ export const DetailModal = ({
);
const dispatch = useAppDispatch();
// Reset Zeitraum auf DIA0 und Datumswerte wenn Modal geöffnet wird
useEffect(() => {
if (isOpen) {
setZeitraum("DIA0");
dispatch(setVonDatum(""));
dispatch(setBisDatum(""));
// Automatisch Daten laden nach dem Reset
setTimeout(() => {
handleFetchData();
}, 100); // Kurze Verzögerung damit setZeitraum wirksam wird
}
}, [isOpen, setZeitraum, dispatch]);
const toggleFullScreen = () => {
dispatch(setFullScreen(!isFullScreen));
setTimeout(() => {
@@ -199,8 +213,8 @@ export const DetailModal = ({
loadZoomPlugin();
}, []);
// API-Request beim Klick auf "Daten laden"
const handleFetchData = () => {
// API-Request beim Klick auf "Daten laden" - memoized für useEffect dependency
const handleFetchData = useCallback(() => {
setIsLoading(true);
// Clear previous chart data
@@ -231,7 +245,7 @@ export const DetailModal = ({
default:
break;
}
};
}, [selectedKey, zeitraum, dispatch]);
useEffect(() => {
if (chartRef.current && selectedKey) {