Commit Graph

155 Commits

Author SHA1 Message Date
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
948bc0d5ea TDR-Messung fertig 2025-03-31 15:58:52 +02:00
ISA
3433fef101 TDR-Referenzkurve ohne Punkte 2025-03-31 15:54:38 +02:00
ISA
458bce6c51 Kai Anforderung: TDR Chart keine Punkte auf 0 setzen, für bessere Darstellung 2025-03-31 15:38:23 +02:00
ISA
b404390186 feat: TDR Dropdown verbessert – Anzeige im deutschen Format mit Fehlerstelle
- Dropdown-Einträge zeigen jetzt nur Zeitstempel (deutsches Format) und Fehlerstelle ("d") an
- ID wird weiterhin als `value` genutzt, aber nicht angezeigt
- Zeitstempel wird mit `toLocaleString("de-DE", {...})` formatiert
- Anzeigeformat z. B.: "27.03.2025, 23:42:41 – Fehlerstelle: 8805 m"
2025-03-31 14:12:44 +02:00
ISA
6b6b6cc9b8 feat: Referenzkurve-Button sendet API-Aufruf an Backend (KTR)
- handleSetReference um fetch-Aufruf ergänzt
- Unterscheidung von Entwicklungs- und Produktionsumgebung via NEXT_PUBLIC_API_BASE_URL
- Fehlerbehandlung und Alert bei Erfolg/Misserfolg eingebaut
2025-03-31 10:05:36 +02:00
Ismail Ali
14ba25bc57 fix: Legendenbeschriftungen im LoopMeasurementChart benutzerfreundlich umbenannt
- Interne Datenkeys wie 'messwert' oder 'messwertMinimum' werden jetzt als 'Messwert', 'Minimum' usw. angezeigt
- Neue Mapping-Tabelle für sprechende Labels in der Legende eingeführt
2025-03-30 22:16:02 +02:00
Ismail Ali
787a43cadb fix: TDR-Chart aktualisiert sich sofort nach dem Setzen der Referenzkurve
- useEffect hört jetzt auch auf Änderungen in referenceChartData
- Kein manuelles Schließen und Neuladen des Modals mehr nötig
2025-03-30 21:14:32 +02:00
Ismail Ali
826977c9c7 feat: lokale Speicherung der Referenzkurve per localStorage implementiert
- Aktuelle Messkurve wird bei Klick auf „Als Referenzkurve setzen“ in localStorage gespeichert
- fetchTDRReferenceCurve lädt zuerst aus localStorage, dann aus Datei/Produktion
- Ermöglicht Setzen und Testen von Referenzkurven in der Entwicklungsumgebung ohne Backend
2025-03-30 20:22:48 +02:00
Ismail Ali
cb2deecf17 feat: Referenzkurve pro Slot dynamisch per Redux Slice laden und anzeigen
- Neuen Slice `tdrReferenceChartDataBySlot` eingeführt
- Thunk `fetchReferenceCurveBySlotThunk` erstellt
- Referenzdaten pro Slot in Redux gespeichert
- Zugriff im TDRChart angepasst auf neue Struktur
2025-03-30 13:32:32 +02:00
Ismail Ali
91cc60568a fix: Fehlerstelle im TDR-Chart korrekt nach ausgewählter Messung anzeigen
Die Fehlerstelle (rote Markierung) wurde bisher immer aus dem ersten Eintrag des Slots gelesen.
Jetzt wird die Entfernung (`d`) passend zur ausgewählten Mess-ID (`selectedId`) ermittelt,
sodass jeder TDR-Chart die korrekte Fehlerstelle anzeigt.
2025-03-30 10:40:15 +02:00
ISA
776f59a389 TDMChartEntry d Type 2025-03-28 14:47:34 +01:00
ISA
f5b6024da7 refactor: TDRChartActionBar auf selectedSlot (0-basiert) umgestellt
- Verwendung von selectedSlot aus kueChartMode statt slotNumber aus kabelueberwachungChart
- Slot-Datenzugriff jetzt direkt 0-basiert (z. B. slot0.json)
- Referenz-Button berücksichtigt API-Format (Slot + 1)
- Dropdown-Menü nutzt korrekte TDM-Liste für gewählten Slot
2025-03-28 14:21:52 +01:00
ISA
37af5702fa Letzte TDR-Messung anzeigen für ausgewählte Slot 2025-03-28 12:26:43 +01:00
ISA
35c9c1e486 refactor: lade TDM-Liste nur im TDR-Modus über TDRChartActionBar
- fetchTDMDataBySlotThunk aus ChartSwitcher entfernt
- TDM-Daten werden jetzt gezielt im TDR-Kontext geladen
- Vermeidet Konflikte mit Schleifenmodus und spart Ressourcen
2025-03-28 08:32:32 +01:00
ISA
4e459a7f36 refactor: TDR-Daten in neuen tdrSingleChartSlice ausgelagert und nur pro Slot geladen
- Globalen fetchAllTDRChartData entfernt
- Neuen Slice und Thunk pro Slot erstellt
- TDRChart liest initiale Daten aus neuem Slice
2025-03-27 14:55:06 +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
c5e978e221 fix: nach variablesslice gelöscht, war noch paar Abhängigkeite 2025-03-26 21:33:00 +01:00
Ismail Ali
99d727a925 selectedChartData slice erstellt 2025-03-26 21:08:17 +01:00
Ismail Ali
626322b079 feat: fetchKueData über Service & Redux integriert, Zugriff aus loadWindowVariables entfernt
- Alle KÜE-Daten (z. B. kueAlarm1, kueCableBreak, kuePSTmMinus96V etc.) über fetchKueData.ts geladen
- Redux Slice `kueDataSlice.ts` überarbeitet, um alle Werte aus kueData.js korrekt zu speichern
- Komponenten wie `Kue705FO`, `KabelModulStatus` und `Baugruppentraeger` auf Redux umgestellt
- Fehler bei undefined-Variablen durch korrekte Zuweisung aus Redux behoben
- loadWindowVariables.ts wird nicht mehr für KÜE-Daten verwendet
2025-03-26 20:18:20 +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
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
0bbc2a25a6 TDR Tooltip oberhalb des Punkts positionieren 2025-03-26 08:00:02 +01:00
Ismail Ali
d98af6483e feat: Redux Slice für last20Messages ausgelagert und strukturiert umbenannt
- dashboardSlice in last20MessagesSlice umbenannt
- Redux Store Key von 'dashboard' auf 'last20Messages' geändert
- fetchLast20MessagesThunk angepasst: neuer Action-Name 'last20Messages/fetchLast20Messages'
- Komponente Last20MessagesTable aktualisiert: useSelector verweist jetzt auf state.last20Messages
- Struktur für zukünftige Erweiterung vorbereitet
2025-03-25 20:18:17 +01:00
ISA
dffc252bbe Fehlerstelle in TDR-Messung in Chart anzeigen 2025-03-25 15:52:22 +01:00
ISA
289b9a8f77 TDR Distance auf Display anzeigen 2025-03-25 15:10:45 +01:00
ISA
d59027dc17 TDR Modal Slot Nummer anzeigen 2025-03-25 12:22:07 +01:00
ISA
fe5403efc4 feat: Button 'Als Referenzkurve setzen' mit dynamischer IP (window.location.origin) 2025-03-25 10:14:57 +01:00
ISA
6730ba92be Letzten TDR-Messungen anzeigen in Dropdown-Menü 2025-03-25 07:57:17 +01:00
Ismail Ali
4d97252556 Letzte TDR-Messung Button erstellen 2025-03-24 20:18:23 +01:00
ISA
790d1f79c3 feat: TDR-Chart zeigt initial Slot-Daten und aktualisiert bei Dropdown-Auswahl
- Initiale Chart-Daten werden basierend auf ausgewähltem Slot geladen (z. B. slot0.json bis slot31.json).
- Wenn eine Messungs-ID im Dropdown ausgewählt wird, wird die entsprechende Kurve geladen und angezeigt.
- useMemo verwendet, um zwischen initialen und ID-basierten Daten zu unterscheiden.
2025-03-24 15:25:09 +01:00
ISA
68614df0cd TDR Chart von Dropdown Menü Auwahl zeichnen 2025-03-24 15:00:20 +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
401851de00 fix(chart): Abstand zwischen X-Achsen-Ticks verbessert und letztes Datum sichtbar gemacht
- allowDataOverflow aktiviert, um letzte X-Achse-Ticks nicht abzuschneiden
- rechtes margin (90px) im ComposedChart hinzugefügt
- X-Achsen-Tick-Intervalle für bessere Lesbarkeit angepasst
2025-03-23 21:00:08 +01:00
Ismail Ali
39f3dbfb6c Analoge Eingänge 2025-03-23 16:12:24 +01:00
Ismail Ali
e88233302b Digitale Eingänge Einstellung-Modal in Arbeit 2025-03-23 16:03:44 +01:00
Ismail Ali
8e482813f8 fix: Dynamische Initialisierung von "vonDatum" und "bisDatum" im Redux-Store
- vonDatum auf „heute minus 30 Tage“ gesetzt (statt festem Datum).
- bisDatum auf heutiges Datum gesetzt.
- Behebt Initialisierungsproblem im DateRangePicker.
2025-03-23 11:14:38 +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
33e66269c2 feat: TDR-Chart mit Tooltip und Pegel-Darstellung hinzugefügt 2025-03-21 10:42:54 +01:00
ISA
441f83d4ea WIP: TDR-Chart Anpassungen, Mock-Daten noch aktiv 2025-03-20 15:42:11 +01:00
ISA
d5cf14ef87 git commit -m "Entferne Modulnummer und Icon aus Tooltip im TDR-Chart" 2025-03-20 15:18:21 +01:00
ISA
75529f030e feat: TDR-Chart aktualisiert sich jetzt automatisch bei Datenänderung
- `fetchAllTDRChartThunk.ts`: Vergleich der aktuellen und neuen Daten mit `lodash.isEqual`, um unnötige Redux-Updates zu vermeiden.
- `TDRChart.tsx`: Nutzt `selectedSlot` aus `kueChartModeSlice.ts`, um nur den relevanten Slot im Chart anzuzeigen.
- `ChartSwitcher.tsx`: Ruft alle 10 Sekunden `fetchAllTDRChartData` auf, um Änderungen zu prüfen.
- `tdrChartSlice.ts`: Speichert nur neue Daten, wenn sie sich von den vorherigen unterscheiden.
- Fix: `activeMode` aus `kueChartModeSlice.ts` wird für die Auswahl zwischen TDR- und Schleifenmessung verwendet.
- Code Cleanup und Logging für bessere Debugging-Unterstützung.

🔥 Jetzt aktualisiert sich der TDR-Chart automatisch, wenn sich die Daten ändern, ohne dass ein Neuladen der Seite erforderlich ist.
2025-03-20 14:58:52 +01:00
ISA
378f132e0b feat: Korrektur der TDR-Chart-Anzeige und Legenden-Optimierung
- `selectedSlot` aus `kueChartModeSlice.ts` statt `tdrChartSlice.ts` verwendet, um die Slot-Auswahl konsistenter zu gestalten.
- Fehler behoben, bei dem das TDR-Chart nicht angezeigt wurde, obwohl die Daten in Redux vorhanden waren.
- `label` in `TDRChart.tsx` angepasst, um die Anzeige von `(Schleife)` oder `(TDR)` in der Legende zu entfernen.
- `ChartSwitcher.tsx` und `TDRChart.tsx` optimiert, um sicherzustellen, dass nur das ausgewählte Modul korrekt dargestellt wird.
- Performance verbessert, indem unnötige Redux-Updates und Re-Renders reduziert wurden.

 TDR-Chart zeigt jetzt nur noch das gewählte Modul an.
 Die Legende enthält keine unnötigen Zusatztexte mehr.
 Konsistente Datenverwaltung zwischen `selectedSlot` und `activeMode`.
2025-03-20 12:11:23 +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
ISA
f957d477c8 feat: CustomTooltip in eigene Komponente ausgelagert
- CustomTooltip in `CustomTooltip.tsx` ausgelagert für bessere Code-Struktur
- `LoopMeasurementChart.tsx` angepasst und `CustomTooltip` importiert
- Verbesserung der Wiederverwendbarkeit und Lesbarkeit des Codes
2025-03-19 07:55:04 +01:00