From c3fc8e0a4a445e28d0a9d05e7d6a8d2b125e58c2 Mon Sep 17 00:00:00 2001 From: ISA Date: Thu, 14 Aug 2025 09:03:50 +0200 Subject: [PATCH] =?UTF-8?q?Messkurve=20Modal=20in=20Messwerteing=C3=A4nge?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- .env.production | 2 +- CHANGELOG.md | 5 ++ .../analogInputs/AnalogInputsChartModal.tsx | 57 +++++++++++++++++++ .../main/analogInputs/AnalogInputsTable.tsx | 23 +++++++- .../main/analogInputs/AnalogInputsView.tsx | 21 +++---- docs/TODO.md | 4 ++ package-lock.json | 4 +- package.json | 2 +- .../analogInputs/analogInputsUiSlice.ts | 8 ++- 10 files changed, 105 insertions(+), 23 deletions(-) create mode 100644 components/main/analogInputs/AnalogInputsChartModal.tsx diff --git a/.env.development b/.env.development index 9a6cf3a..a7c07b0 100644 --- a/.env.development +++ b/.env.development @@ -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.714 +NEXT_PUBLIC_APP_VERSION=1.6.715 NEXT_PUBLIC_CPL_MODE=json # json (Entwicklungsumgebung) oder jsSimulatedProd (CPL ->CGI-Interface-Simulator) oder production (CPL-> CGI-Interface Platzhalter) diff --git a/.env.production b/.env.production index ba04e08..9a33b49 100644 --- a/.env.production +++ b/.env.production @@ -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.714 +NEXT_PUBLIC_APP_VERSION=1.6.715 NEXT_PUBLIC_CPL_MODE=production \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e048bd..b65d291 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## [1.6.715] – 2025-08-14 + +- fix: KÜ Version 4.20 in daschboard KÜs Status anzeigen + +--- ## [1.6.714] – 2025-08-14 - docs: Kabelüberwachung Overlay für Events (Abgleich, TDR und RSL) Messung diff --git a/components/main/analogInputs/AnalogInputsChartModal.tsx b/components/main/analogInputs/AnalogInputsChartModal.tsx new file mode 100644 index 0000000..d69bfcd --- /dev/null +++ b/components/main/analogInputs/AnalogInputsChartModal.tsx @@ -0,0 +1,57 @@ +"use client"; + +import React from "react"; +import { Dialog } from "@headlessui/react"; +import { useSelector, useDispatch } from "react-redux"; +import { RootState } from "@/redux/store"; +import { setIsChartModalOpen } from "@/redux/slices/analogInputs/analogInputsUiSlice"; +import AnalogInputsChart from "@/components/main/analogInputs/AnalogInputsChart"; + +export default function AnalogInputsChartModal({ + loading, + setLoading, +}: { + loading: boolean; + setLoading: (v: boolean) => void; +}) { + const dispatch = useDispatch(); + const isOpen = useSelector( + (state: RootState) => state.analogInputsUi.isChartModalOpen + ); + const selectedId = useSelector( + (state: RootState) => state.analogInputsHistory.selectedId + ); + + if (!isOpen) return null; + + return ( + dispatch(setIsChartModalOpen(false))} + className="relative z-[9999]" + > + {/* Backdrop */} + + ); +} diff --git a/components/main/analogInputs/AnalogInputsTable.tsx b/components/main/analogInputs/AnalogInputsTable.tsx index de367b6..62eb165 100644 --- a/components/main/analogInputs/AnalogInputsTable.tsx +++ b/components/main/analogInputs/AnalogInputsTable.tsx @@ -9,6 +9,7 @@ import settingsIcon from "@iconify/icons-mdi/settings"; import waveformIcon from "@iconify/icons-mdi/waveform"; import { setSelectedAnalogInput } from "@/redux/slices/analogInputs/selectedAnalogInputSlice"; import { setIsSettingsModalOpen } from "@/redux/slices/analogInputs/analogInputsUiSlice"; +import { setIsChartModalOpen } from "@/redux/slices/analogInputs/analogInputsUiSlice"; import { setSelectedId, setAutoLoad, @@ -36,7 +37,7 @@ export default function AnalogInputsTable({ loading }: { loading: boolean }) { return (
@@ -49,7 +50,7 @@ export default function AnalogInputsTable({ loading }: { loading: boolean }) {
@@ -59,7 +60,8 @@ export default function AnalogInputsTable({ loading }: { loading: boolean }) { - + + @@ -127,6 +129,21 @@ export default function AnalogInputsTable({ loading }: { loading: boolean }) { + ))} diff --git a/components/main/analogInputs/AnalogInputsView.tsx b/components/main/analogInputs/AnalogInputsView.tsx index b0cca90..cef10f6 100644 --- a/components/main/analogInputs/AnalogInputsView.tsx +++ b/components/main/analogInputs/AnalogInputsView.tsx @@ -2,7 +2,7 @@ // components/main/analogInputs/AnalogInputsView.tsx import React, { useState, useEffect } from "react"; import AnalogInputsTable from "@/components/main/analogInputs/AnalogInputsTable"; -import AnalogInputsChart from "@/components/main/analogInputs/AnalogInputsChart"; +import AnalogInputsChartModal from "@/components/main/analogInputs/AnalogInputsChartModal"; import AnalogInputsSettingsModal from "@/components/main/analogInputs/AnalogInputsSettingsModal"; import { getAnalogInputsThunk } from "@/redux/thunks/getAnalogInputsThunk"; import { useAppDispatch } from "@/redux/store"; @@ -15,9 +15,7 @@ function AnalogInputsView() { const selectedInput = useSelector( (state: RootState) => state.selectedAnalogInput ); - const selectedId = useSelector( - (state: RootState) => state.analogInputsHistory.selectedId - ); + // selectedId is now displayed within the modal header const dispatch = useAppDispatch(); @@ -33,29 +31,24 @@ function AnalogInputsView() { return (
-
-
+
+

Messwerteingänge

- -
-

- Messkurve Messwerteingang {selectedId ?? "–"} -

- -
{selectedInput !== null && } + {/* Chart Modal */} +
); } diff --git a/docs/TODO.md b/docs/TODO.md index 15e5d2b..89a7631 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -71,3 +71,7 @@ in Rot, wenn Schleifenfehler ansteht - [ ] TODO: PlayWright - ISO Abgleich 10 Minuten - CPL läuft auf BUS-System, Wenn ein Kabelüberwachung z.B. beschäftigt mit ein Schleifen-Messung oder Iso- Abgleich dann belastet den CPL nicht wenn andere KÜs bedient werden, das erleichtet den CPL sogar + +# 14.08.2025 + +- [ ] TODO: Messwerteingänge Messkurven in Modal umwandeln diff --git a/package-lock.json b/package-lock.json index 6cffdd4..70f07ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "cpl-v4", - "version": "1.6.714", + "version": "1.6.715", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "cpl-v4", - "version": "1.6.714", + "version": "1.6.715", "dependencies": { "@fontsource/roboto": "^5.1.0", "@headlessui/react": "^2.2.4", diff --git a/package.json b/package.json index 4767a5e..cca3dad 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cpl-v4", - "version": "1.6.714", + "version": "1.6.715", "private": true, "scripts": { "dev": "next dev", diff --git a/redux/slices/analogInputs/analogInputsUiSlice.ts b/redux/slices/analogInputs/analogInputsUiSlice.ts index 60172ca..e72a3ba 100644 --- a/redux/slices/analogInputs/analogInputsUiSlice.ts +++ b/redux/slices/analogInputs/analogInputsUiSlice.ts @@ -3,10 +3,12 @@ import { createSlice, PayloadAction } from "@reduxjs/toolkit"; interface AnalogInputsUiState { isSettingsModalOpen: boolean; + isChartModalOpen: boolean; } const initialState: AnalogInputsUiState = { isSettingsModalOpen: false, + isChartModalOpen: false, }; const analogInputsUiSlice = createSlice({ @@ -16,8 +18,12 @@ const analogInputsUiSlice = createSlice({ setIsSettingsModalOpen: (state, action: PayloadAction) => { state.isSettingsModalOpen = action.payload; }, + setIsChartModalOpen: (state, action: PayloadAction) => { + state.isChartModalOpen = action.payload; + }, }, }); -export const { setIsSettingsModalOpen } = analogInputsUiSlice.actions; +export const { setIsSettingsModalOpen, setIsChartModalOpen } = + analogInputsUiSlice.actions; export default analogInputsUiSlice.reducer;
Messwert Einheit BezeichnungAktionEinstellungenMesskurve
+ +