feat(analogInputs): automatisches Laden der Chart-Daten bei Tabellenklick via Redux
- analogInputsHistorySlice um `autoLoad` erweitert, um automatisches Laden zu triggern - handleSelect in AnalogInputsTable dispatcht jetzt `setAutoLoad(true)` - AnalogInputsChart lauscht auf `autoLoad` + `selectedId` und lädt Daten automatisch - `autoLoad` wird nach dem Laden wieder auf false zurückgesetzt
This commit is contained in:
@@ -22,6 +22,7 @@ import {
|
||||
setVonDatum,
|
||||
setBisDatum,
|
||||
setZeitraum,
|
||||
setAutoLoad,
|
||||
} from "@/redux/slices/analogInputs/analogInputsHistorySlice";
|
||||
import DateRangePicker from "@/components/common/DateRangePicker";
|
||||
import { Listbox } from "@headlessui/react";
|
||||
@@ -43,17 +44,12 @@ type AnalogInputHistoryPoint = {
|
||||
m: number;
|
||||
};
|
||||
|
||||
export default function AnalogInputsChart({
|
||||
selectedId,
|
||||
}: {
|
||||
selectedId: number | null;
|
||||
}) {
|
||||
export default function AnalogInputsChart() {
|
||||
const dispatch = useDispatch<AppDispatch>();
|
||||
const chartRef = useRef<any>(null);
|
||||
|
||||
const { zeitraum, vonDatum, bisDatum, data, isLoading } = useSelector(
|
||||
(state: RootState) => state.analogInputsHistory
|
||||
);
|
||||
const { zeitraum, vonDatum, bisDatum, data, autoLoad, selectedId } =
|
||||
useSelector((state: RootState) => state.analogInputsHistory);
|
||||
|
||||
useEffect(() => {
|
||||
const today = new Date();
|
||||
@@ -128,6 +124,19 @@ export default function AnalogInputsChart({
|
||||
},
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (autoLoad && selectedId) {
|
||||
dispatch(
|
||||
getAnalogInputsHistoryThunk({
|
||||
eingang: selectedId,
|
||||
zeitraum,
|
||||
vonDatum,
|
||||
bisDatum,
|
||||
})
|
||||
);
|
||||
dispatch(setAutoLoad(false)); // ✅ zurücksetzen, sonst endlose Schleife
|
||||
}
|
||||
}, [autoLoad, selectedId, dispatch, zeitraum, vonDatum, bisDatum]);
|
||||
return (
|
||||
<div className="flex flex-col gap-3">
|
||||
<div className="flex flex-wrap items-center gap-4 mb-2">
|
||||
|
||||
Reference in New Issue
Block a user