Commit Graph

146 Commits

Author SHA1 Message Date
Ismail Ali
49ccf1da5d feat: handleSave final auf API-Handler für Development erweitert
- Änderungen in Dev-Umgebung werden per /api/cpl/updateKueDataAPIHandler gespeichert
- Production weiterhin GET-Request mit Parametern
- Fehlerbehandlung optimiert
2025-04-16 00:35:22 +02:00
Ismail Ali
66d620fa68 feat: responsive Icon-Größe für CogIcon angepasst
- Icon-Größe abhängig von Breakpoints umgesetzt
- Standardmäßig klein auf Laptop
- Ab xl größer, ab 2xl noch größer
- bessere Darstellung auf allen Auflösungen
2025-04-15 23:36:24 +02:00
Ismail Ali
898027a162 fix: Fehler beim Setzen der Referenzkurve in Development behoben
- überflüssiger fetch auf /CPL?KTR... in Development entfernt
- Fehler-Alert durch 404-Seite bei Embedded-Link im Dev gefixt
- Referenzkurve wird jetzt in Dev nur lokal gespeichert und per API aktualisiert
2025-04-15 20:45:48 +02:00
Ismail Ali
9e8028ac16 WIP: Refernzkurve wird angezeigt, aber kann nicht gesetzt werden 2025-04-15 18:58:20 +02:00
Ismail Ali
025470defb refactor: loadWindowVariables final auf API-Handler in Development umgestellt
- Scripts in Dev-Umgebung werden jetzt über /api/cpl/* geladen
- Production lädt weiterhin Embedded-System JavaScript Dateien
- Einheitliches Handling für system.js, de.js, ae.js, kueData.js, opcua.js usw.
- Flexibles Konzept für zukünftige Erweiterungen
2025-04-15 17:03:54 +02:00
Ismail Ali
d033baa13a fix: System Data from API fpr dev 2025-04-15 10:44:42 +02:00
Ismail Ali
de9c6a7333 fix: API Endpoint in fetchOpcUaSettingsService für Development korrigiert
- falsches .js im API Pfad entfernt
- Development lädt jetzt korrekt /api/cpl/opcuaAPIHandler
- Production bleibt unverändert
2025-04-15 10:35:52 +02:00
Ismail Ali
fb87e7b3ae refactor: API-Dateien konsequent auf *APIHandler.ts umbenannt und MockData-Handling optimiert
- Einheitliches Naming für API-Routen: *APIHandler.ts
- Mock-Daten aus /apiMockData/SERVICE/ werden über API bereitgestellt
- API-Endpoints sofort erkennbar und verständlich
- Projektstruktur deutlich klarer und wartungsfreundlicher
2025-04-15 08:35:44 +02:00
Ismail Ali
9e931eed0f refactor: last20Messages und digitale Eingänge auf API-gesteuerte Mock-Dateien umgestellt
- Start.js (last20Messages) als JS-Mock in /apiMockData/jsMockFiles gespeichert
- de.js (digitale Eingänge) in /apiMockData/SERVICE verlagert
- Beide werden über eigene API-Endpoints bzw. per Script-Tag aus Development-Verzeichnis geladen
- Kein Zugriff mehr über /public notwendig, Verhalten in DEV und PROD identisch
2025-04-15 07:20:17 +02:00
Ismail Ali
921c64178c feat: API-Route für gefilterte Mock-Daten implementiert
- Neue Route /api/cpl/slotData erstellt
- Lädt Daten aus /public/CPLmockData/kuesChartData/... basierend auf slot, messart und dia
- Optionales Filtern über vonDatum und bisDatum hinzugefügt
- 404-Fehler bei fehlender Datei wird abgefangen
2025-04-08 18:35:34 +02:00
ISA
2f631e80be Digitale Ausgänge nicht erforderlich 2025-04-03 08:02:02 +02:00
ISA
c973e85ce3 Digitale Eingänge und digitale Ausgänge an die Seite anpassen 2025-04-02 14:54:27 +02:00
ISA
20e20dec30 feat(redux): Rename all Redux slices and store keys to match file names for clarity
- Renamed all slice names (createSlice `name` attribute) to match their file names (e.g. loopChartSlice, authSlice, kueDataSlice etc.)
- Updated `store.ts` to register each reducer with consistent key names (e.g. state.loopChartSlice instead of state.loopChart)
- Adjusted all `useSelector` and Redux state accesses across the codebase
- Improves maintainability, searchability and consistency across files and Redux DevTools
2025-04-01 12:26:41 +02:00
ISA
c91d621186 fix: deviceName im Header wird zuverlässig über fetchSystemSettingsThunk geladen
- deviceName wird nun bei fehlendem Wert automatisch im Header nachgeladen
- verhindert leere Anzeige beim Seitenwechsel oder Direktaufruf
- fetchSystemSettingsThunk im Header eingebunden und bei Bedarf ausgeführt
2025-03-27 13:59:18 +01:00
ISA
1b02f43be7 fix: lade KUE-Daten in kabelueberwachung Seite über fetchKueDataThunk bei leerem Redux-Store
- Problem behoben, dass Module in Produktionsumgebung beim Direktaufruf nicht angezeigt wurden
- fetchKueDataThunk wird nun bei fehlenden kueIso-Daten in kabelueberwachung.tsx aufgerufen
- CGI-Pfad (/CPL?/...) bleibt erhalten für Backend-Platzhalterauflösung via kueData.js
2025-03-27 13:41:08 +01:00
ISA
c55f0e7fe5 feat: Umgebungsspezifisches Laden von Datenquellen implementiert
- Alle fetch-Services (TDM, TDR, analoge/digitale Eingänge/Ausgänge, SystemSettings usw.) angepasst,
  um `NEXT_PUBLIC_NODE_ENV` zu verwenden.
- Entwicklungsumgebung lädt Daten aus /CPLmockData/...
- Produktionsumgebung verwendet echte Endpunkte mit /CPL?/CPL/...
- .env.production und .env.development korrekt berücksichtigt
- loadWindowVariables, WindowVariablesInitializer und verwandte Dateien bereinigt
- Mockdaten erscheinen nicht mehr versehentlich in Produktionsumgebung
2025-03-27 11:03:23 +01:00
Ismail Ali
0bec3fb148 loadWindowVariables und variablesSlice entfernt und die daten ausgelagert und chaeckSession.ts erstellt 2025-03-26 21:55:55 +01:00
Ismail Ali
c5e978e221 fix: nach variablesslice gelöscht, war noch paar Abhängigkeite 2025-03-26 21:33:00 +01:00
ISA
d305a07f89 kueData service nutzen statt globale loadWindowVariables, um Netzwerklast zu reduzieren und mehr Performance zu erreichen 2025-03-26 16:11:48 +01:00
ISA
c8619f96de feat: fetchKueData mit vollständiger Extraktion aus kueData.js ersetzt loadWindowVariables
- Dynamisches Laden von kueData.js nur bei Bedarf
- Alle benötigten Variablen wie kueAlarm1, kueCableBreak etc. extrahiert
- Fehleranzeige in KabelModulStatus funktioniert wieder korrekt
- loadWindowVariables.ts für KUE vollständig ersetzt
2025-03-26 15:37:11 +01:00
ISA
db67ba0709 refactor: digitale Ausgänge über eigenen Service und Redux Thunk laden
- neue Datei fetchDigitalOutputs.ts liest win_da_state und win_da_bezeichnung aus window
- fetchDigitalOutputsThunk.ts verwendet den Service und befüllt Redux Slice
- entfernt alte Logik aus loadWindowVariables.ts
- verbessert Performance und Struktur, lädt Ausgänge nur bei Bedarf
2025-03-26 12:11:59 +01:00
ISA
8a4764a372 fix: KÜs werden angezeigt, _app.tsx error 2025-03-26 11:52:11 +01:00
ISA
fa94d2c2f7 refactor: Systemdaten über eigenen Redux Thunk und Service laden
- Systeminformationen (IP, Subnetz, Gateway, NTP, etc.) werden nun über fetchSystemSettingsThunk geladen
- loadWindowVariables.ts von systemSettings-Logik bereinigt
- Aufruf erfolgt lokal in NetworkInfo.tsx statt global in _app.tsx
- Verbesserte Struktur, reduzierte Netzwerklast, klarere Trennung der Zuständigkeiten
2025-03-26 11:28:13 +01:00
ISA
7b85ebc730 refactor: lade OPC UA Daten direkt in NetworkInfo-Komponente statt global in _app.tsx
- Thunk `fetchOpcUaSettingsThunk` wird jetzt nur bei Anzeige von NetworkInfo ausgeführt
- Reduzierte Netzwerklast und bessere Trennung von Zuständigkeiten
- Entfernt globalen OPC UA-Aufruf aus _app.tsx
2025-03-26 10:45:00 +01:00
ISA
b536d31e48 git commit -m "refactor: last20Messages aus _app.tsx entfernt und über Thunk in dashboard.tsx geladen" 2025-03-25 09:34:19 +01:00
ISA
8e6b26dff9 refactor: SystemSettings-Dispatch aus _app entfernt und in Seite 'Einstellungen' verlagert 2025-03-25 08:35:46 +01:00
Ismail Ali
24306c3df8 Meldungen von mock Datei 2025-03-24 19:20:42 +01:00
ISA
69bcbf519d Mock Dateien für TDM erstellt:
Eine Liste mit den
letzten 100 TDR Messungen des Slots
2025-03-24 10:44:12 +01:00
Ismail Ali
44db20a871 feat: Redux-Struktur für LoopChart vereinheitlicht (DIA0–2 + Typ 3/4)
- Alle Schleifen- und Isolationswiderstandsdaten werden zentral in loopChart.data gespeichert
- Redux State unterstützt nun strukturierte Speicherung nach mode (DIA0–DIA2) und type (3/4)
- Bestehender Thunk fetchLoopChartDataThunk wurde angepasst zur Wiederverwendung
- Zugriff aus Komponente via loopData["DIAx"][type] möglich
2025-03-23 18:07:00 +01:00
ISA
93136d0a38 feat: Referenzkurve für TDR-Chart integriert
- Neues Verzeichnis `tdr-reference-curves` für JSON-Referenzdaten hinzugefügt
- Redux Slice `tdrReferenceChartSlice` erstellt
- Thunk `fetchAllTDRReferenceChartThunk` zum Laden aller Referenzdaten integriert
- Service `fetchAllTDRReferenceChartData` mit Umgebungsunterscheidung (dev/prod)
- Anzeige der Referenzkurve im TDR-Chart mit Tooltip und gestrichelter Linie
- Referenzdaten werden automatisch beim Laden der Seite in Redux geladen
2025-03-21 13:28:43 +01:00
ISA
0bdf5b29ea feat: Verbesserung der Slot-Auswahl und Chart-Steuerung
- `selectedSlot` in `kueChartModeSlice.ts` hinzugefügt, um den aktiven Slot zu speichern.
- `handleButtonClick.ts` aktualisiert, damit `selectedSlot` in Redux gesetzt wird.
- `handleOpenChartModal.ts` angepasst, sodass `selectedSlot` beim Öffnen des Modals gesetzt wird.
- `Kue705FO.tsx` nutzt jetzt Redux für die Slot- und Modus-Steuerung (`selectedSlot`, `activeMode`).
- Redux-Logik optimiert: `selectedSlot` wird nun konsistent zwischen `TDRChart.tsx` und `ChartSwitcher.tsx` genutzt.
- Verbesserung der Benutzererfahrung: Nur `onClick` verwendet, `onMouseOver` wegen Performance-Problemen vermieden.

 Jetzt wird der richtige Slot in Redux gespeichert, wenn ein Button oder das Chart-Modal geöffnet wird.
 `TDRChart.tsx` zeigt nur das gewählte Modul an, kein unnötiges Neuladen von Daten.
 Stabile und optimierte Chart-Steuerung ohne ungewollte Änderungen durch Mausbewegungen.
2025-03-20 11:50:14 +01:00
ISA
735fc92b96 feat: Redux-Integration für TDR-Daten verbessert
- TDR-Daten werden jetzt beim Laden der Kabelüberwachungsseite automatisch abgerufen.
- Fehler im Thunk behoben: Initial leere `tdrChart.data` wird nun korrekt aktualisiert.
- Überprüfung, ob neue Daten vorhanden sind, verbessert (keine unnötige Ablehnung bei Erstabruf).
- Korrekte JSON-Datei-Pfade (`slot0.json` bis `slot31.json`) in Fetch-Requests implementiert.
- Redux-Error-Handling optimiert: Falls keine gültigen Daten geladen werden, wird eine Meldung angezeigt.
- Logging für geladene Daten hinzugefügt, um die Debugging-Möglichkeiten zu verbessern.
- `fetchAllTDRChartData.ts` als überflüssige Datei entfernt (Thunks übernehmen jetzt den Abruf).
- `kabelueberwachung.tsx` so angepasst, dass der Chart sofort mit geladenen Daten arbeitet.
2025-03-20 10:13:41 +01:00
ISA
f9c2dc7bc9 feat: Redux-Thunk für digitale Eingänge integriert & UI mit zwei Tabellen umgesetzt
- `fetchDigitaleEingaengeThunk.ts` erstellt, um digitale Eingänge in Redux zu speichern.
- `fetchDigitaleEingaenge.ts` erstellt, um API-Daten aus `de.js` zu laden.
- `digitalInputsSlice.ts` hinzugefügt, um digitale Eingänge in Redux zu verwalten.
- `DigitalInputs.tsx` überarbeitet: Zwei Tabellen für digitale Eingänge hinzugefügt.
- Sicherstellung, dass Redux-Thunk nur im Client (`useEffect`) ausgeführt wird.
- API-Calls werden nun alle 10 Sekunden aktualisiert.

 Jetzt läuft Redux-Thunk stabil & effizient für digitale Eingänge!
2025-03-19 15:33:23 +01:00
ISA
25b63e3a31 feat: Redux-Thunk für analoge Eingänge integriert & useFetchAnalogeEingaenge entfernt
- `fetchAnalogeEingaengeThunk` in `AnalogeEingaengeTable.tsx` verwendet, um API-Daten in Redux zu speichern.
- `useFetchAnalogeEingaenge` entfernt, um doppelte API-Aufrufe zu vermeiden.
- Sicherstellung, dass Redux-Thunk nur im Client (`useEffect`) ausgeführt wird.
- Automatische Aktualisierung der API-Daten alle 10 Sekunden über Redux-Thunk.
- Code-Optimierungen für eine stabilere Client-Side-Architektur mit Next.js.

 Jetzt läuft Redux-Thunk stabil & effizient in der Next.js-Anwendung!
2025-03-19 14:48:19 +01:00
Ismail Ali
3162b7a9e1 Header überall gleich in pages erster div 2025-02-25 20:53:34 +01:00
Ismail Ali
8c01dd3fc3 git commit -m "feat: UI-Optimierung für analoge Eingänge & Diagramm
- Layout verbessert: Tabelle und Diagramm jetzt nebeneinander (grid-responsive)
- Responsivität optimiert: Kein unnötiges horizontales Scrollen mehr
- Diagramm verbessert:
  - Höhere Lesbarkeit mit stärkeren Linien und Abstand für Achsenbeschriftungen
  - Anpassung der Höhe und Breite für mobile & große Bildschirme
- Tabelle optimiert:
  - Bessere Lesbarkeit mit größeren Abständen
  - Hover-Effekte für Zeilen
  - Dynamisches Spaltenlayout für kleine & große Bildschirme
- Code aufgeräumt und verbessert

Test auf verschiedenen Bildschirmgrößen erfolgreich!"
2025-02-25 19:46:52 +01:00
Ismail Ali
65cfb033a5 feat: Digitale Ausgänge aus Redux-Store in UI integriert
- DigitalOutputs.tsx auf Redux umgestellt, um Werte direkt aus dem Store zu lesen
- toggleSwitch-Funktion angepasst, um den Status von digitalen Ausgängen in Redux zu aktualisieren
- useDigitalOutputsData.ts nutzt nun Redux zum Speichern der `win_da_state` und `win_da_bezeichnung` Werte
- Entfernen von Prop `digitalOutputs` in `DigitalOutputs.tsx`, da Redux nun als Datenquelle dient
- Weboberfläche zeigt nun digitale Ausgänge korrekt an und Status kann geändert werden
2025-02-23 22:31:06 +01:00
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
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
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
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
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