feat(AnalogInputsChart): Zeitraum im DatePicker und Redux initialisieren und synchronisieren
- Initialwert für Zeitraum (letzte 30 Tage) im Redux-Store gesetzt - DatePicker-Änderungen werden im Redux gespeichert - Fetch-Button verwendet Zeitraum aus Redux und loggt die Fetch-URL - Chart zeigt Daten entsprechend ausgewähltem Zeitraum
This commit is contained in:
@@ -6,6 +6,6 @@ NEXT_PUBLIC_USE_MOCK_BACKEND_LOOP_START=false
|
||||
NEXT_PUBLIC_EXPORT_STATIC=false
|
||||
NEXT_PUBLIC_USE_CGI=false
|
||||
# App-Versionsnummer
|
||||
NEXT_PUBLIC_APP_VERSION=1.6.617
|
||||
NEXT_PUBLIC_APP_VERSION=1.6.618
|
||||
NEXT_PUBLIC_CPL_MODE=json # json (Entwicklungsumgebung) oder jsSimulatedProd (CPL ->CGI-Interface-Simulator) oder production (CPL-> CGI-Interface Platzhalter)
|
||||
|
||||
|
||||
@@ -5,5 +5,5 @@ NEXT_PUBLIC_CPL_API_PATH=/CPL
|
||||
NEXT_PUBLIC_EXPORT_STATIC=true
|
||||
NEXT_PUBLIC_USE_CGI=true
|
||||
# App-Versionsnummer
|
||||
NEXT_PUBLIC_APP_VERSION=1.6.617
|
||||
NEXT_PUBLIC_APP_VERSION=1.6.618
|
||||
NEXT_PUBLIC_CPL_MODE=production
|
||||
@@ -1,3 +1,8 @@
|
||||
## [1.6.618] – 2025-07-21
|
||||
|
||||
- feat(mock): Script fetchAnalogInputsData auf ES-Module (.mjs) umgestellt, Datum automatisch gesetzt
|
||||
|
||||
---
|
||||
## [1.6.617] – 2025-07-21
|
||||
|
||||
- feat(service): CPL-Request verwendet DIA0, DIA1 oder DIA2 je nach Zeitraum für analoge Eingänge
|
||||
|
||||
@@ -74,17 +74,37 @@ export default function AnalogInputsChart() {
|
||||
setLocalZeitraum(zeitraum);
|
||||
}, [zeitraum]);
|
||||
|
||||
// Initialisiere Zeitraum im Redux-Store, falls leer
|
||||
const vonDatumRedux = useSelector(
|
||||
(state: RootState) => state.dateRangePicker.vonDatum
|
||||
);
|
||||
const bisDatumRedux = useSelector(
|
||||
(state: RootState) => state.dateRangePicker.bisDatum
|
||||
);
|
||||
useEffect(() => {
|
||||
if (!vonDatumRedux || !bisDatumRedux) {
|
||||
const today = new Date();
|
||||
const toDate = today.toISOString().slice(0, 10);
|
||||
const fromDateObj = new Date(today);
|
||||
fromDateObj.setDate(today.getDate() - 30);
|
||||
const fromDate = fromDateObj.toISOString().slice(0, 10);
|
||||
dispatch(setVonDatum(fromDate));
|
||||
dispatch(setBisDatum(toDate));
|
||||
}
|
||||
}, [vonDatumRedux, bisDatumRedux, dispatch]);
|
||||
|
||||
// ✅ Button-Klick → Fetch auslösen
|
||||
const handleFetchData = () => {
|
||||
if (!selectedAnalogInput?.id) return;
|
||||
|
||||
// Sicherstellen, dass die neuesten Werte aus dem DateRangePicker verwendet werden
|
||||
const latestVonDatum = vonDatum || new Date().toISOString().slice(0, 10);
|
||||
const latestBisDatum = bisDatum || new Date().toISOString().slice(0, 10);
|
||||
|
||||
// Zeitauswahl ins Redux übernehmen
|
||||
// Zeitraum aus Redux holen
|
||||
const latestVonDatum =
|
||||
vonDatumRedux || new Date().toISOString().slice(0, 10);
|
||||
const latestBisDatum =
|
||||
bisDatumRedux || new Date().toISOString().slice(0, 10);
|
||||
dispatch(setZeitraum(localZeitraum));
|
||||
|
||||
// Debug: Fetch-URL loggen
|
||||
const debugUrl = `/api/cpl/getAnalogInputsHistory?eingang=${selectedAnalogInput.id}&zeitraum=${localZeitraum}&von=${latestVonDatum}&bis=${latestBisDatum}`;
|
||||
console.log("Fetch-URL:", debugUrl);
|
||||
dispatch(
|
||||
getAnalogInputsHistoryThunk({
|
||||
eingang: selectedAnalogInput.id,
|
||||
@@ -146,9 +166,8 @@ export default function AnalogInputsChart() {
|
||||
// ✅ Zeitbereich anwenden (nur Anzeige gefiltert)
|
||||
const filteredData = inputData.filter((point) => {
|
||||
const date = new Date(point.t);
|
||||
const from = vonDatum ? new Date(vonDatum) : null;
|
||||
const to = bisDatum ? new Date(bisDatum) : null;
|
||||
|
||||
const from = vonDatumRedux ? new Date(vonDatumRedux) : null;
|
||||
const to = bisDatumRedux ? new Date(bisDatumRedux) : null;
|
||||
return (!from || date >= from) && (!to || date <= to);
|
||||
});
|
||||
useEffect(() => {
|
||||
@@ -327,7 +346,7 @@ export default function AnalogInputsChart() {
|
||||
},
|
||||
},
|
||||
};
|
||||
// ✅ DateRangePicker Event → Redux-Datum setzen (aber KEIN Fetch!)
|
||||
// DateRangePicker Event → Redux-Datum setzen (aber KEIN Fetch!)
|
||||
const handleDateChange = (from: string, to: string) => {
|
||||
dispatch(setVonDatum(from));
|
||||
dispatch(setBisDatum(to));
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "cpl-v4",
|
||||
"version": "1.6.617",
|
||||
"version": "1.6.618",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "cpl-v4",
|
||||
"version": "1.6.617",
|
||||
"version": "1.6.618",
|
||||
"dependencies": {
|
||||
"@fontsource/roboto": "^5.1.0",
|
||||
"@headlessui/react": "^2.2.4",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "cpl-v4",
|
||||
"version": "1.6.617",
|
||||
"version": "1.6.618",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"dev": "next dev",
|
||||
|
||||
Reference in New Issue
Block a user