Commit Graph

116 Commits

Author SHA1 Message Date
ISA
49e7d6c6c4 WIP:DatePicker in Messkurven 2025-03-19 07:20:46 +01:00
ISA
2c88ef3205 feat: Einstellungs-Popup für analoge Eingänge hinzugefügt
- Modal (Popup) für Einstellungen hinzugefügt
- ⚙️-Button öffnet das Einstellungsfenster für den jeweiligen Eingang
- Eingabefelder für Bezeichnung, uG, uW, oW, oG, Faktor, Offset, Filterzeit & Datenlogger integriert
- -Button zum Schließen des Modals hinzugefügt
- 💾-Button für zukünftige Speicherfunktion vorbereitet
- UI optimiert für bessere Benutzerfreundlichkeit
2025-03-17 10:30:19 +01:00
ISA
c800b0e82a Keine verschlüsselung Option in OPCUA, weil ist nicht in Lastenheft gefoerdert 2025-03-17 08:16:00 +01:00
ISA
e3ceda0699 TDR Referenz Kurven Platzhalter in JSON Dateien erstellt in /public/CPL/TDRReferenz/ 2025-03-17 08:08:05 +01:00
ISA
a823bd609e feat: OPC-UA Status lesbar darstellen
- OPC-UA Zustand wird jetzt als "Server betriebsbereit" oder "Server außer Betrieb" ausgegeben
- Unbekannte Werte werden explizit als "Unbekannt" angezeigt
- Code-Struktur optimiert für bessere Lesbarkeit
2025-03-17 07:25:06 +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
89994f767a JSON Daten etwas entfernt und den Unterschied zu sehen 2025-03-15 13:31:06 +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
162a0aa318 DIA0, DIA1 und DIA2 von 10.10.0.118 API genommen 2025-03-14 13:14:15 +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
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
Ismail Ali
bb098a4ccb WIP: analoge Eingänge von Slice bekommen 2025-02-25 22:21:08 +01:00
Ismail Ali
3162b7a9e1 Header überall gleich in pages erster div 2025-02-25 20:53:34 +01:00
Ismail Ali
a641d3d100 git commit -m "fix: Redux TypeScript Fehler behoben & automatische Mock-Daten Aktualisierung
- useAppDispatch in store.ts hinzugefügt, um AsyncThunkActions korrekt zu dispatchen
- TypeScript-Fehler in useFetchAnalogeEingaenge.ts behoben
- loadFromWindow wird jetzt regelmäßig neu geladen, um Änderungen in Mock-Daten zu übernehmen
- UI aktualisiert sich automatisch, wenn sich Werte in ae.js ändern
- Code-Struktur verbessert & Redux-Integration optimiert

Test erfolgreich: Änderungen in ae.js werden nun direkt in der UI sichtbar!"
2025-02-25 20:09:24 +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
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
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
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
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
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
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
ISA
cb7346b56b Analoge Eingänge für Laptop Auflösug angepasst 2025-02-24 11:58:33 +01:00
ISA
37e9dcb492 OPC-UA Buttons in littwin-blue 2025-02-24 11:51:30 +01:00
ISA
b5213e334a In Dashboard Netzwerk-Informationen von neue Redux Slice holen systemSettings und opcuaSettings Slices 2025-02-24 11:48:28 +01:00
ISA
62f0305e3a littwin-blue in digitale Ausgänge Schalter 2025-02-24 11:25:59 +01:00
ISA
6be431469c Header SettingsModal Responsive 2025-02-24 11:10:33 +01:00
ISA
35eecfdbae SettingsModal etwas responsive mit tailwindcss 2025-02-24 10:55:20 +01:00
ISA
f544ef3c60 🛠 1️⃣ Was wurde erfolgreich ausgelagert?
✔ cryptoUtils.ts → Enthält generateKeyAndIV und generateToken​cryptoUtils
✔ useAdminAuth.ts → Enthält decryptToken, useEffect für Login-Status und logoutAdmin​useAdminAuth
✔ useSystemSettings.ts → Verwaltet Redux-Daten und setzt formValues​useSystemSettings
✔ handleAdminLogin.ts → Enthält handleAdminLogin, um die Login-Logik auszulagern​handleAdminLogin
✔ handleClearDatabase.ts → Handhabt das Löschen der Datenbank​handleClearDatabase
✔ handleReboot.ts → Handhabt den Reboot des CPL​handleReboot
✔ handleSetDateTime.ts → Setzt Datum und Uhrzeit für das System​handleSetDateTime
✔ handleSubmit.ts → Verarbeitet Änderungen und sendet sie an den Server​handleSubmit
✔ users.ts → Enthält die USERS-Konfiguration für den Admin​users

🚀 Das bedeutet:

SettingsModal.tsx ist jetzt nur noch für die UI zuständig.
Alle Geschäftslogik (State, API-Aufrufe, Funktionen) wurde sauber in separate Dateien ausgelagert.
Der Code ist jetzt wartungsfreundlicher und wiederverwendbarer.
2025-02-24 08:52:12 +01:00
ISA
d901289c8d utils von SettingsModal ausgelagert 2025-02-24 08:34:38 +01:00
ISA
69b825bd30 feat: UI-Komponente responsiver gestaltet und angepasst OPCUA-Komponente
- Containergröße reduziert (`max-w-lg` statt `max-w-3xl`), um besser auf die Seite zu passen.
- Padding (`p-4` → `p-2`) und Schriftgrößen (`text-lg` → `text-base`, `text-sm` für Labels) optimiert.
- Buttons kompakter gemacht (`px-3 py-1` statt `px-4 py-2`), um Platz zu sparen.
- Flex-Layout verbessert (`flex-wrap`, `gap-2`), um die Darstellung auf kleineren Bildschirmen zu optimieren.
2025-02-24 07:16:55 +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
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
9b5a502ab6 tdrChartData und loopMeasurementCurveChartData in einem Redux Slice kabelueberwachung für bessere Struktur 2025-02-22 16:57: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
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
ISA
0ea34a9f7b fix: API-URL-Format & dynamische Base-URL für Produktion korrigiert 2025-02-21 15:22:12 +01:00