fix: System ->Detailansicht -> Modal
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user