Commit Graph

391 Commits

Author SHA1 Message Date
Ismail Ali
1449dd458d degigitale Eingänge on Redux Slice variables entfernt, weil die sind ausgelagert in digitalInputsSlice 2025-02-23 12:23:06 +01:00
Ismail Ali
19b661fc70 refactor: OPC-UA Variablen aus variablesSlice entfernt und in opcuaSettingsSlice integriert
- OPC-UA Variablen (`opcUaZustand`, `opcUaActiveClientCount`, `opcUaNodesetName`) aus `variablesSlice` entfernt
- `_app.tsx` angepasst, um OPC-UA Daten direkt in `opcuaSettingsSlice` zu speichern
- `loadWindowVariables.ts` aktualisiert:
  - OPC-UA Status, Verschlüsselung, aktive Clients und Nodeset werden nun in `opcuaSettingsSlice` gespeichert
  - `variablesSlice` speichert keine OPC-UA Daten mehr
- Redux-Store aufgeräumt: DevTools zeigt keine OPC-UA Variablen mehr in `variablesSlice`

Jetzt ist die Trennung zwischen `variablesSlice` und `opcuaSettingsSlice` vollständig! 🚀🔥
2025-02-23 11:59:40 +01:00
Ismail Ali
772ef50af5 feat: OPC-UA Einstellungen in eigenen Redux Slice ausgelagert
- OPC-UA bezogene Variablen aus `variablesSlice` entfernt und in `opcuaSettingsSlice` ausgelagert
- Neue Redux Actions für:
  - `setOpcUaZustand` (OPC-UA Zustand setzen)
  - `setOpcUaEncryption` (Verschlüsselung setzen)
  - `setOpcUaActiveClientCount` (Anzahl aktiver Clients setzen)
  - `setOpcUaNodesetName` (Nodeset-Name setzen)
  - `addOpcUaUser` & `removeOpcUaUser` (Benutzerverwaltung)
- `loadWindowVariables.ts` angepasst, um OPC-UA-Daten in `opcuaSettingsSlice` zu speichern
- Benutzerverwaltung optimiert:
  - Manuell hinzugefügte Benutzer bleiben erhalten
  - Benutzer werden nur aktualisiert, wenn sich `window.win_opcUaUsers` ändert
- Keine automatische Statusumschaltung mehr beim OPC-UA-Server-Button

Jetzt ist die OPC-UA Verwaltung sauber getrennt und stabil! 🚀
2025-02-23 11:06:15 +01:00
Ismail Ali
b85c8c67e2 feat: systemSettingsSlice hinzugefügt und Header sowie Einstellungen angepasst
- Neuen Redux Slice `systemSettingsSlice` erstellt, um Systemdaten zentral zu verwalten.
- Header-Icon für Systemeinstellungen holt jetzt Daten aus `systemSettingsSlice` statt `variablesSlice`.
- Die Einstellungen-Seite (`Allgemeine Einstellungen`) wurde umgestellt und liest nun ebenfalls aus `systemSettingsSlice`.
- UI-Optimierungen für die Einstellungen-Seite, um alle Eingabefelder kompakter darzustellen.
2025-02-23 09:09:47 +01:00
Ismail Ali
262e8b1527 refactor: last20Messages vollständig aus variablesSlice entfernt
- last20Messages aus variablesSlice entfernt und ausschließlich in dashboardSlice gespeichert
- _app.tsx angepasst: last20Messages wird nicht mehr in setVariables gesetzt
- loadWindowVariables.ts aktualisiert: last20Messages wird nicht mehr in variables gespeichert
- Redux DevTools überprüft, um sicherzustellen, dass last20Messages nicht mehr im falschen Slice erscheint
2025-02-23 07:18:00 +01:00
Ismail Ali
80c9d12c6b refactor: last20Messages in dashboardSlice ausgelagert und Redux-Handling optimiert
- last20Messages aus variablesSlice entfernt und in dashboardSlice verschoben
- Redux wird nun mit window.win_last20Messages aktualisiert
- setInterval hinzugefügt, um späte Ladezeiten von window-Daten abzufangen
- API-Aufruf entfernt, da keine /api/last20Messages existiert
- Redux DevTools überprüft, Daten werden jetzt korrekt geladen und angezeigt
2025-02-22 22:57:55 +01:00
Ismail Ali
f1e30405a2 fix: korrigierter Redux-State für activeMode im ChartSwitcher
- useSelector-Aufruf in ChartSwitcher.tsx angepasst, um den korrekten Redux-Slice (kueChartMode) zu verwenden.
- Fehler behoben: TypeError: Cannot read properties of undefined (reading 'activeMode').
2025-02-22 21:55:34 +01:00
Ismail Ali
9b5a502ab6 tdrChartData und loopMeasurementCurveChartData in einem Redux Slice kabelueberwachung für bessere Struktur 2025-02-22 16:57:40 +01:00
Ismail Ali
c0101b35ab refactor: Umbenennung von 'chartData' in Redux kabelueberwachung Slice zu 'loopMeasurementCurveChartData' für bessere Klarheit
Die Variable 'chartData' wurde in 'loopMeasurementCurveChartData' umbenannt, um den Inhalt und Zweck der Daten klarer zu definieren. Diese Änderung verbessert die Lesbarkeit und Wartbarkeit des Codes, indem sie die Bedeutung der Variablen präziser beschreibt.
2025-02-22 16:32:40 +01:00
Ismail Ali
44c5ea32b3 tdrData in tdrChartData ändern und die Datei tdrDataSlice.ts in tdrChartDataSlice.ts umbenennen für bessere Übersicht 2025-02-22 14:18:22 +01:00
Ismail Ali
b408bcd95b TDR Chart wie erwartet wird dargestellt 2025-02-22 11:49:31 +01:00
Ismail Ali
9b93771047 TDR Chart Implementierung der Zoom- und Pan-Funktionalität 2025-02-22 11:40:57 +01:00
Ismail Ali
e6bac2d4ba TDR Chart bekommt von Redux Daten, aber die Darstellung ist noch zu optimieren 2025-02-22 10:59:40 +01:00
Ismail Ali
da3fe59817 TDR-Chart findet die dateien, aber zeichnet die Chart noch nicht 2025-02-22 10:02:51 +01:00
ISA
0ea34a9f7b fix: API-URL-Format & dynamische Base-URL für Produktion korrigiert 2025-02-21 15:22:12 +01:00
ISA
4a24cb1518 feat: API-URL für Produktionsumgebung korrigiert und Debug-Logs hinzugefügt
- `getApiUrl` angepasst, um in der Produktionsumgebung die richtige URL  zu verwenden.
- Verbesserte Fehlerbehandlung in `handleFetchData` mit zusätzlichen `console.log`-Ausgaben.
- Setzt `isChartOpen` explizit auf `true`, wenn das Chart geladen wird.
- Dadurch funktioniert das Laden der Daten jetzt auch in der Produktionsumgebung.
2025-02-21 14:33:21 +01:00
ISA
ea2a412593 feat: isChartOpen wird beim Öffnen des Chart-Modals gesetzt
- `setChartOpen(true)` in `handleOpenChartModal` hinzugefügt.
- Redux-Import von `setChartOpen` in `Kue705FO.tsx` sichergestellt.
- Dadurch bleibt `isChartOpen` nicht mehr `false`, wenn das Modal geöffnet wird.
- Status wird nun korrekt aktualisiert, wenn `Messkurve` geklickt wird.
2025-02-21 13:55:39 +01:00
ISA
66e08cf6c3 feat: isChartOpen-Status beim Öffnen des Chart-Modals gesetzt
- Beim Öffnen des Chart-Modals (`ChartSwitcher.tsx`) wird nun `setChartOpen(true)` gesetzt.
- Dadurch bleibt `isChartOpen` nicht mehr fälschlicherweise `false`, wenn das Modal geöffnet wird.
- `useEffect` hinzugefügt, um den Redux-Status beim Öffnen zu aktualisieren.
- `handleClose` setzt weiterhin den Status auf `false`, wenn das Modal geschlossen wird.
2025-02-21 13:45:41 +01:00
ISA
4a94fc9ce6 fix: Behebt "window is not defined" Fehler und ermöglicht erfolgreichen Build
- Import von `chartjs-plugin-zoom` in `LoopMeasurementChart.tsx` dynamisch in `useEffect` verschoben.
- Stellt sicher, dass `window` nur im Client-Umfeld genutzt wird.
- Erfolgreicher Next.js Production-Build getestet.
2025-02-21 13:23:52 +01:00
ISA
94b40c9b67 feat: Uhrzeit in Chart-Tooltips hinzugefügt
- Tooltip-Format geändert auf `dd.MM.yyyy HH:mm`, um Datum und Uhrzeit anzuzeigen
- X-Achse zeigt weiterhin nur das Datum (`dd.MM.yyyy`), aber Tooltips enthalten auch die Uhrzeit
- Tooltip `callbacks.label` angepasst, um Uhrzeit (`HH:mm`) bei Mouse-Hover zusätzlich anzuzeigen
- Sicherstellung, dass alle Linien (i, a, m, g) die korrekte Uhrzeit im Tooltip anzeigen
2025-02-21 11:56:39 +01:00
ISA
c304e9c012 fix: Endlosschleife im DateRangePicker behoben und Initialwerte aus Redux gesetzt
- `useEffect` entfernt, um unnötige `setState`-Aufrufe zu vermeiden
- `startDate` und `endDate` werden nun direkt über `useState` aus Redux (`vonDatum`, `bisDatum`) initialisiert
- Verhindert unendliche Updates durch sich wiederholende `setStartDate`- und `setEndDate`-Aufrufe
- Falls keine Redux-Werte vorhanden sind, wird das aktuelle Datum als Fallback verwendet
2025-02-21 11:44:25 +01:00
ISA
0faf506763 feat: Chart-Status zurücksetzen, wenn das Modal geschlossen wird
- Redux-Slice `kabelueberwachungChartSlice.ts` erweitert, um `isChartOpen` beim Schließen zurückzusetzen
- `ChartSwitcher.tsx` so angepasst, dass `setChartOpen(false)` beim Schließen des Modals (`onClose`) aufgerufen wird
- `handleClose` als zentrale Schließen-Funktion eingeführt, um sowohl das Modal zu schließen als auch den Redux-Status zu aktualisieren
- Sicherstellt, dass `vonDatum` und `bisDatum` beim erneuten Öffnen korrekt aktualisiert werden
2025-02-21 11:18:05 +01:00
ISA
cdf5ca6d6e feat: Automatisches Laden der Chart-Daten bei Dropdown-Wechsel
- Redux-Slice `kabelueberwachungChartSlice.ts` erweitert um `selectedMode` und `selectedSlotType`
- `LoopChartActionBar.tsx` so angepasst, dass Änderungen in den Dropdown-Menüs automatisch `handleFetchData` aufrufen
- `useEffect` hinzugefügt, um Daten beim Wechsel von `selectedMode` oder `selectedSlotType` neu zu laden
- Manuelles Klicken auf den "Daten Laden"-Button ist nun nicht mehr nötig
2025-02-21 10:54:15 +01:00
ISA
7ac29bd3ef Redux Slice merkt vonDatum und bisDatum 2025-02-21 09:34:03 +01:00
ISA
46f1974222 Redux Slice vonDatum bisDatum erstellt für Charts 2025-02-21 08:55:24 +01:00
ISA
73cba877bc feat: Zoom- und Panning-Funktion für LoopMeasurementChart hinzugefügt
- chartjs-plugin-zoom importiert und in Chart.js registriert
- Zoom per Mausrad und Pinch-Gesten auf Touch-Geräten aktiviert
- Panning (horizontal scrollen) über Dragging hinzugefügt
- Chart-Logik und bestehende Datenverarbeitung beibehalten
2025-02-21 08:24:30 +01:00
ISA
2e4e56869a Mock daten in richtige Reihnfolge oben das aktuelleste 2025-02-21 08:19:50 +01:00
ISA
e9bd0856c3 Dezimalstellen in den Tooltips von Chart.js anzeigen 2025-02-21 06:44:22 +01:00
ISA
53b04a72b3 feat: Linienchart ohne gefüllte Bereiche dargestellt
- `fill: false` für alle Datensätze gesetzt, sodass keine Flächen unter den Linien gezeichnet werden
- Diagramm zeigt jetzt nur die Linien für Minimum, Maximum, Mittelwert und Durchschnitt
- Verbesserte Lesbarkeit durch Entfernen der Hintergrundfüllung
2025-02-20 15:28:52 +01:00
ISA
9da7952a87 fix: zweimal Messwert Durchschnitt wird angezeigt , durch else if gelöst 2025-02-20 15:24:36 +01:00
ISA
a98f8297bc Datum und Uhrzeit auf X-Achse im KÜ Chart, aber Bug :Durchschnitt ist zweimal da in DIA1 und DIA2 2025-02-20 15:18:24 +01:00
ISA
8f6a22d0c3 fix: DIA0, DIA1 und DIA2 werden alle drei Linien angezeigt 2025-02-20 15:01:55 +01:00
ISA
1dd4dcc621 bug: DIA0 funktioniert mit 3 Linien aber die andern nicht 2025-02-20 14:26:30 +01:00
ISA
2ad1f943ce Mock daten für DIA0, DIA1 und DIA2 für KÜs-Charts 2025-02-20 13:57:15 +01:00
ISA
ac9b94eb5f feat: Datenquelle auf statische JSON-Dateien in public umgestellt
- Fetch-API in `LoopChartActionBar.tsx` angepasst, um Mock-Daten aus `/public/CPLmockData/kuesChartData/` zu laden.
- Mock-Daten als statische JSON-Dateien (`DIA0.json`, `DIA1.json`, `DIA2.json`) hinzugefügt.
- `LoopMeasurementChart.tsx` angepasst, um die Daten aus dem Redux-Store zu verwenden.
- Debugging-Logs entfernt und Fehlerbehandlung für fehlgeschlagene API-Requests verbessert.

Mock-Daten können jetzt ohne API-Server geladen werden.
2025-02-20 12:24:42 +01:00
ISA
8ebf3715d0 dropdownmenü für DIA0, DIA1 und DIA2 für KÜs Charts 2025-02-20 11:39:49 +01:00
ISA
cd28e5085c mockChartData inCPLmockData verschoben 2025-02-20 10:37:56 +01:00
ISA
f8fe84a483 NetzwerkInfo nimmt automatisch horizontale Breite mit flex-direction: row 2025-02-20 09:24:03 +01:00
ISA
b881aef3db alle Baugrüppenträger in dashboard sichtbar in Laptop Auflösung 2025-02-20 09:00:33 +01:00
ISA
b4934a015b NetzwerkInfo in dashboard strecken durch flex-grow 2025-02-20 08:46:37 +01:00
ISA
ef53a5f173 Redux Slice digitalInputs laden von window object 2025-02-20 08:12:59 +01:00
ISA
f9c050417e digitale Eingänge Redux Slice erstellt für mehr Übersicht 2025-02-20 08:07:53 +01:00
Ismail Ali
4dab654856 Refaktorierung: Auslagerung der useEffect-Logik für digitale Ausgänge in benutzerdefinierten Hook
- Erstellte den Hook `useDigitalOutputs` in `/hooks/einausgaenge/useDigitalOutputs.ts`, der die `useEffect`-Logik zur Verwaltung der digitalen Ausgänge kapselt.
- Anpassung der `EinAusgaenge`-Komponente zur Nutzung des neuen Hooks für eine klarere und wiederverwendbare Struktur.
2025-02-19 15:52:13 +01:00
Ismail Ali
ed25755508 fix: alles funktioniert in pages/einausgaenge.tsx 2025-02-19 15:16:57 +01:00
Ismail Ali
7ffb187d0a Bug: Modals in einausgange werden nicht angezeigt 2025-02-19 14:58:17 +01:00
Ismail Ali
2d61ff4c76 Digitale Ausgänge von window laden, stae und Bezeichnung 2025-02-19 14:51:49 +01:00
Ismail Ali
d29287b93f digitale Eingänge Daten in hooks/einausgaenge/useDigitalInputsData.ts ausgelagert 2025-02-19 14:11:26 +01:00
Ismail Ali
6eecd8c96d modals ausgelagern von pages/einausgaenge.tsx 2025-02-19 13:38:50 +01:00
Ismail Ali
3b482935d5 useEffect aus einausgaenge.tsx wurde entfernt und durch den useLoadScript-Hook ersetzt. 2025-02-18 10:29:28 +01:00
Ismail Ali
d48579fafa Digitale Eingänge auslagern von einausgaenge.tsx 2025-02-17 16:35:46 +01:00