Commit Graph

86 Commits

Author SHA1 Message Date
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
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
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
ISA
49e7d6c6c4 WIP:DatePicker in Messkurven 2025-03-19 07:20:46 +01:00
Ismail Ali
c2568a7505 feat: TDR Chart Sortieren Button Chart aktualisieren 2025-03-16 15:44:34 +01:00
Ismail Ali
6cc904e7d9 Sortieren Liste wird aktualisiert, aber Chart noch nicht 2025-03-16 15:40:35 +01:00
Ismail Ali
ea0e21892a TDRChart 2025-03-16 12:01:42 +01:00
Ismail Ali
adeda611b1 fix(brush): Brush-Bereich nach Moduswechsel korrekt aktualisiert
- Brush-Start- und Endindex werden jetzt automatisch an die neuen Daten angepasst.
- Verhindert, dass der Brush außerhalb des sichtbaren Bereichs liegt.
- `useEffect` in `LoopMeasurementChart.tsx` sorgt für eine dynamische Anpassung nach Mode-Wechsel.
2025-03-15 11:51:41 +01:00
Ismail Ali
da28d64f8c feat(chart): X-Achsen-Labels optimiert für bessere Lesbarkeit
- Jahreszahl aus der X-Achse entfernt, um die Darstellung kompakter zu machen.
- Datumsformat von `TT.MM.YYYY` auf `TT.MM` geändert.
- Achsenbeschriftung um 25° gedreht (`angle: -25`) für bessere Übersicht.
- `dy: 5` hinzugefügt, um die Abstände der Labels anzupassen.
2025-03-15 11:42:17 +01:00
Ismail Ali
e0379c24a6 feat(ui): Slot-Nummer nach links verschoben und Datumsauswahl horizontal ausgerichtet
- Slot-Nr.-Anzeige nach links im ActionBar verschoben.
- Datum-Labels („Von“ & „Bis“) und Eingabefelder horizontal ausgerichtet.
- Verbesserte UI/UX der Chart-Steuerungskomponenten.
2025-03-14 21:30:21 +01:00
ISA
029ed843d8 fix: Debugging für Brush-Datenbereich hinzugefügt
- `console.log`-Ausgaben für `vonDatum`, `bisDatum` und `formatierteDaten` hinzugefügt
- Fehleranalyse für `startIndex` und `endIndex` in `LoopMeasurementChart.tsx`
- Falls `startIndex` oder `endIndex` nicht gefunden wird, wird die gesamte Datenreihe geloggt
- Vorbereitung für Fallback-Lösung, falls Datum nicht exakt gefunden wird
2025-03-14 12:07:51 +01:00
ISA
8c638acfc7 feat: Dynamische Einheit in Redux für Schleifen- und Isolationswiderstand hinzugefügt
- Redux-Slice erweitert um `unit`-State (kOhm/MOhm)
- `setSelectedSlotType` aktualisiert die Einheit basierend auf der Auswahl
- Dropdown in `LoopChartActionBar.tsx` angepasst, um Einheit zu setzen
- Y-Achse und Tooltip in `LoopMeasurementChart.tsx` zeigen dynamisch die Einheit aus Redux
- Initialwert von `bisDatum` auf das heutige Datum gesetzt
2025-03-14 08:49:28 +01:00
ISA
e426cd6218 fix: Reihenfolge der Legenden-Einträge korrigiert
- `messwert` und `messwertDurchschnitt` erscheinen nun zuerst in der Legende.
- `Legend` bleibt innerhalb des Charts, um `payload` von Recharts zu erhalten.
- Benutzerdefinierte Sortierung mit `content`-Prop für `Legend` implementiert.
2025-03-13 07:51:41 +01:00
ISA
9a0d621143 feat: Chart-Bereich mit Kalender synchronisiert
- Chart-Ansicht wird jetzt basierend auf `vonDatum` und `bisDatum` eingeschränkt.
- `startIndex` und `endIndex` werden aus den Datumswerten berechnet und im Redux-Store aktualisiert.
- `Brush`-Grenzen werden automatisch angepasst, um den sichtbaren Bereich zu begrenzen.
- Sicherstellung, dass `bisDatum` nicht kleiner als `vonDatum` wird.
2025-03-13 07:29:31 +01:00
ISA
8ca3318181 feat: Brush-Achsenbeschriftung auf Datumsformat umgestellt
- TickFormatter für Brush angepasst, sodass anstelle von Unix-Timestamps jetzt das formatierte Datum (TT.MM.JJJJ) angezeigt wird.
- Redux-Brush-Slice um `startDate` und `endDate` erweitert, um die Auswahlbereiche mit Datum statt Indizes zu speichern.
- Brush-Event-Handler (`handleBrushChange`) aktualisiert, sodass Start- und Enddatum beim Verschieben im Redux-Store gespeichert werden.
2025-03-13 07:03:40 +01:00
Ismail Ali
3547177107 WIP: Brush funktioniert in Chart, aber soll Datum in Brush angezeigt 2025-03-12 21:36:04 +01:00
Ismail Ali
a4793594d2 test 2025-03-12 17:36:26 +01:00
ISA
327a101386 Optimierung nach Kai, Einheit entfernt in Chart und DIA0 bis DIA2 von Dropdown entfernt 2025-02-25 15:54:33 +01:00
ISA
9bbf5cd570 feat: LoopMeasurementChart mit X- und Y-Achsen-Pan/Zoom ergänzt, DIA0, DIA1 und DIA2 Linien hinzugefügt
- Pan- und Zoom-Funktion für X- und Y-Achse aktiviert
- Datenreihen für DIA0 (Messwert Aktuell), DIA1 und DIA2 (Messwert Durchschnitt) ergänzt
- Tooltip-Formatierungen verbessert
- Dynamische Skalierung der X-Achse basierend auf dem gewählten Zeitraum implementiert
- Styling-Anpassungen für bessere Lesbarkeit der Linien vorgenommen
2025-02-25 15:09:07 +01:00
ISA
8775e167ad Messkurve für Schleifen etwas optimiert 2025-02-25 13:59:29 +01:00
ISA
ba3b4fcf02 Drei Linien werden angezeigt 2025-02-25 13:14:45 +01:00
ISA
c93afc35fd Zoom und Pan funktionieren in beide Richtungen (xy). 2025-02-25 13:10:22 +01:00
ISA
9424a6cc43 feat: Redux-Integration für Datumsauswahl und Chart-Zoom verbessert
- `DateRangePicker.tsx` angepasst, um `vonDatum` und `bisDatum` direkt in Redux zu aktualisieren
- `LoopMeasurementChart.tsx` verbessert, sodass `vonDatum` und `bisDatum` beim Zoomen mit Mausrad automatisch in Redux gespeichert werden
- Chart.js `onZoom` korrekt implementiert, um Änderungen in der X-Achse sofort zu übernehmen
- Redux-Updates optimiert, um unnötige `dispatch`-Aufrufe zu vermeiden
2025-02-25 11:55:37 +01:00
ISA
cddb5e7a7f fix: Build-Fehler behoben durch Entfernen unnötiger Prop-Weitergabe
- `isFullScreen` wurde in `ChartSwitcher.tsx` nicht mehr als Prop übergeben
- `LoopMeasurementChart.tsx` und `TDRChart.tsx` nutzen Redux-Store direkt
- Build erfolgreich nach Anpassung
2025-02-25 10:11:02 +01:00
ISA
4c55e9e9fa feat: Fullscreen-Zustand mit Redux verwaltet
- `isFullScreen` zum Redux-Slice hinzugefügt
- `ChartSwitcher.tsx` angepasst, um Redux zu nutzen
- `LoopMeasurementChart.tsx` & `TDRChart.tsx` auf Redux umgestellt
- Fullscreen-Zustand bleibt jetzt persistent
2025-02-25 10:00:24 +01:00
ISA
47120c4dea Messkurve für Schleife und TDR auf 90% maximieren 2025-02-25 09:40:15 +01:00
ISA
9a9614ffd8 feat: Fullscreen-Toggle für Chart-Modal hinzugefügt
- Neuer Fullscreen-Button oben rechts hinzugefügt
- State `isFullScreen` eingeführt zur Steuerung der Modal-Größe
- Dynamische Anpassung der Modal-Stile für Vollbildmodus
- Smooth-Transition für ein weiches Umschalten zwischen Normal- und Fullscreen-Modus
2025-02-25 07:46:50 +01:00
Ismail Ali
6da44ac1c5 fix: Endlosschleife in useAlarmStatus.ts behoben & Redux-Selektoren optimiert
- useMemo für Redux-Selektoren in Kue705FO.tsx hinzugefügt, um unnötige Re-Renders zu vermeiden.
- State-Update in useAlarmStatus.ts optimiert, sodass setState nur noch aufgerufen wird, wenn sich der Wert wirklich ändert.
- Performance verbessert und maximale Update-Tiefe-Fehler ("Maximum update depth exceeded") behoben.
- Code-Struktur verbessert, um stabilere Redux-Integration zu gewährleisten.
2025-02-24 20:11:47 +01:00
Ismail Ali
47e5088e1b refactor: Code-Struktur verbessert, Handler und Logik modularisiert
- Alle Event-Handler in eigene Dateien ausgelagert:
  - `handleOpenModal.ts`, `handleCloseModal.ts`
  - `handleOpenChartModal.ts`, `handleCloseChartModal.ts`
  - `handleRefreshClick.ts`, `handleSave.ts`
- Neue Hooks zur Verwaltung von Redux-Selektoren und UI-Zuständen erstellt
- `Kue705FO.tsx` gesäubert, jetzt schlanker und übersichtlicher
- Verbesserte Wartbarkeit und Wiederverwendbarkeit der Code-Basis
2025-02-24 19:28:46 +01:00
ISA
bd8e114a54 Modularisierung verbessert: useEffect für createTDRChart ist jetzt in useTDRChart.ts ausgelagert.
 Bessere Wiederverwendbarkeit: Falls du das gleiche Verhalten in einer anderen Komponente brauchst, kannst du einfach useTDRChart importieren.
 Kue705FO.tsx ist schlanker: Alle Hooks sind nun ausgelagert! 🎯

🚀 Jetzt ist dein Code perfekt optimiert! 🎉
2025-02-24 15:19:08 +01:00
ISA
f8e76b52a6 fix: Typfehler in useLoopDisplay und Kue705FO behoben, Build erfolgreich
- useLoopDisplay.ts angepasst: useState nun explizit als `number` deklariert
- Typensicherheit in Kue705FO.tsx verbessert:
  - `schleifenwiderstand` wird immer als `number` konvertiert
  - `setLoopDisplayValue` akzeptiert nur `number`
- Fehlerhafte Typzuweisung in `handleButtonClick` korrigiert
- `npm run build` läuft nun ohne Fehler

 Code nun sauber typisiert, keine TypeScript-Fehler mehr 🚀
2025-02-24 14:52:51 +01:00
ISA
91103b28ec feat: useEffect-Hooks ausgelagert in separate Hook-Dateien
- useEffect-Logik aus Kue705FO.tsx in eigene Hooks ausgelagert:
  - useKueVersion.ts für die KUE-Version
  - useAlarmStatus.ts für den Alarmstatus
  - useIsoDisplay.ts für die Anzeige der Isolationswerte
  - useLoopDisplay.ts für den Schleifenwiderstand
  - useChartPlugin.ts für Chart.js Plugin-Handling
  - useChartData.ts für Redux-Chart-Datenverwaltung
  - useModulName.ts für den Modulnamen mit Setter-Funktion

- Code in Kue705FO.tsx optimiert und modularisiert
- Fehler mit `setCurrentModulName` behoben durch Rückgabe der Setter-Funktion in useModulName.ts
2025-02-24 14:13:53 +01:00
ISA
a51edab6bc fix: Typkonvertierung für Redux-Variablen korrigiert
- `kueCableBreak`, `kueGroundFault`, `kueAlarm1`, `kueAlarm2` und `kueOverflow` in `number[]` umgewandelt
- `.map(Number)` verwendet, um fehlerhafte `string[]`-Werte zu vermeiden
- `?? []` hinzugefügt, um `null` oder `undefined` zu verhindern
- Fehler beim Next.js Build behoben
2025-02-24 12:17:56 +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