feat: AnalogInputsChart mit DateRangePicker und vollständiger Redux-Integration erweitert

- analogInputsHistorySlice angepasst: zeitraum, vonDatum, bisDatum und data hinzugefügt
- Typdefinitionen im Slice und Thunk korrigiert
- getAnalogInputsHistoryThunk erweitert, um vonDatum und bisDatum zu akzeptieren
- DateRangePicker korrekt in AnalogInputsChart.tsx integriert
- Fehler bei Selector-Zugriffen und Dispatch behoben
This commit is contained in:
ISA
2025-07-11 14:01:57 +02:00
parent d278a79030
commit 99294f26da
11 changed files with 187 additions and 223 deletions

View File

@@ -1,6 +1,5 @@
import { createAsyncThunk } from "@reduxjs/toolkit";
import { RootState } from "@/redux/store";
import { Zeitraum } from "@/redux/slices/analogInputsChartSlice";
export const getAnalogInputsChartDataThunk = createAsyncThunk(
"analogInputsChart/fetchChartData",

View File

@@ -4,22 +4,32 @@ import { createAsyncThunk } from "@reduxjs/toolkit";
import { fetchAnalogInputsHistory } from "@/services/fetchAnalogInputsHistoryService";
import { AnalogInputsHistoryEntry } from "../slices/analogInputsHistorySlice";
export const getAnalogInputsHistoryThunk = createAsyncThunk<
{
eingang: number;
zeitraum: string;
daten: AnalogInputsHistoryEntry[];
},
{ eingang: number; zeitraum: string }
>("analogInputsHistory/fetch", async ({ eingang, zeitraum }, thunkAPI) => {
try {
const response = await fetchAnalogInputsHistory(eingang, zeitraum);
return {
export const getAnalogInputsHistoryThunk = createAsyncThunk(
"analogInputsHistory/fetch",
async (
{
eingang,
zeitraum,
daten: response.daten,
};
} catch (error: any) {
return thunkAPI.rejectWithValue(error.message ?? "Fehler beim Laden");
vonDatum,
bisDatum,
}: {
eingang: number;
zeitraum: string;
vonDatum: string;
bisDatum: string;
},
thunkAPI
) => {
try {
const response = await fetchAnalogInputsHistory(eingang, zeitraum);
return {
eingang,
zeitraum,
daten: response.daten as AnalogInputsHistoryEntry[],
};
} catch (error: any) {
return thunkAPI.rejectWithValue(error.message ?? "Fehler beim Laden");
}
}
});
);