- Moved `handleSave`, `handleChange`, `handleDisplayEinschalten`, `handleSetDateTime`, `handleClearDatabase`, and `handleReboot` to separate handler files for better modularity and code organization.
- Updated imports in `KueModal.jsx` and `SettingsModal.jsx` to use new handler files.
- Improved code readability and maintainability by organizing functions into dedicated handler modules.
- handleSave in separate Datei handle-save.js ausgelagert, um KueModal-Komponente modularer und wartbarer zu gestalten
- handleSaveWrapper in KueModal hinzugefügt, um Parameter an handleSave zu übergeben
- KueModal umgestaltet, um Funktionen und Redux-Dispatch klarer zu organisieren
- Konsistente Verwendung von Parametern und State-Updates für sauberen Codefluss
- Handler-Funktionen (handleClearDatabase, handleReboot, handleSetDateTime, handleSubmit) in separate Dateien ausgelagert, um die Übersichtlichkeit zu verbessern und Wartbarkeit zu erleichtern
- `use client`-Anweisung am Anfang von SettingsModal.jsx hinzugefügt, um clientseitige Funktionen wie `window`-basierte Aufrufe korrekt zu verwenden
- Redux- und lokale State-Werte optimiert und an handleSubmit als Parameter übergeben
- Konsolen-Logs für URL-Bildung und Debugging-Zwecke in den Handlern hinzugefügt
- Die Funktion `handleSetDateTime` wurde angepasst, um das URL-Format den Anforderungen entsprechend zu gestalten.
- Monat, Tag, Stunden, Minuten und Sekunden werden jetzt ohne führende Nullen dargestellt, um eine konsistentere Darstellung zu gewährleisten.
- Die URL wird nun korrekt formatiert, z.B. `https://10.10.0.118/CPL?/dashboard.html&CLK00=24-11-8&CLK01=14-3-5` statt `https://10.10.0.118/CPL?/dashboard.html&CLK00=24-11-08&CLK01=14-03-05`.
- Implementierung mit `Number()` zur Umwandlung und Entfernung der führenden Nullen.
Diese Änderung verbessert die Lesbarkeit und die Kompatibilität des URL-Formats mit dem Zielsystem.
- Alarmanzeige optimiert, sodass der Alarmtext sofort angezeigt wird, bevor das Blinkintervall startet.
- Erste Anzeige ohne Verzögerung eingeführt, danach Umschalten zwischen Icon und Text alle 5 Sekunden.
- Priorisierte Alarmanzeige für verschiedene Zustände (z.B. PST-M prüfen, Kabelbruch).
- `.html`-Endungen werden nun automatisch für Menüeinträge hinzugefügt, wenn die App in der Produktionsumgebung läuft.
- Verwendung von `process.env.NODE_ENV`, um die Umgebung zu prüfen und die Pfade entsprechend anzupassen.
- Verbesserung der Kompatibilität mit statischen Dateien nach dem Build.
- Added blinking icon functionality to "PST-M prüfen" alarm status for consistency with other alarm statuses.
- Refactored display logic to prioritize "PST-M prüfen" with icon blink effect in the interval.
- Ensured proper interval clearing for consistent display across alarm updates.
- useEffect-Hook erweitert, um die Alarmanzeige mit blinkendem Text und Icon zu versehen.
- Verschiedene Alarmstatus (kueCableBreak, kueGroundFault, kueAlarm1, kueAlarm2, kueOverflow) triggern abwechselnde Anzeige von Text und Icon.
- Icon erscheint 2 Sekunden lang, gefolgt von 5 Sekunden Text zur verbesserten Benutzererkennung.
- Cleanup für Intervall hinzugefügt, um Speicherlecks zu vermeiden.
- Dynamischer Import von chartjs-plugin-zoom im `useEffect` hinzugefügt, um Zugriff auf `window` im Server-Side-Build zu vermeiden.
- Zustandsvariable `zoomPluginLoaded` eingeführt, um sicherzustellen, dass das Plugin nur im Client geladen wird.
- Verwende `useRef` für Canvas-Referenz, um direkten Zugriff auf das Chart-Element zu ermöglichen.
- Optimierung der Chart-Erstellung, um Build-Fehler aufgrund fehlender `window`-Objekte zu verhindern.
- Chart.js um das Zoom-Plugin erweitert, um eine bessere Datenanalyse zu ermöglichen.
- Scrollen und Pinch-Zoom für Zoom- und Pan-Funktion aktiviert (x- und y-Achse).
- Nutzer können nun durch die Daten navigieren und gezielt Bereiche vergrößern, was die Übersichtlichkeit erhöht.
- loopDisplay zeigt nun den Schleifenwiderstand oder die TDR-Entfernung an, basierend auf dem aktiven Button ("Schleife" oder "TDR").
- Der Button "Schleife" setzt den Wert im loopDisplay auf den Schleifenwiderstand.
- Der Button "TDR" setzt den Wert im loopDisplay auf die Entfernung (tdrLocation).
- Zustand `sessionExpired` im `_app.js` hinzugefügt, um den Ablauf der Sitzung oder Verbindungsprobleme zu überwachen.
- Intervall in `loadWindowVariables` angepasst, um die Verbindung alle 10 Sekunden zu überprüfen.
- Warnmeldung angezeigt, wenn die Sitzung abgelaufen ist oder die Verbindung unterbrochen wurde.
- Benutzer wird informiert, wenn eine erneute Anmeldung oder ein Neuladen der Seite erforderlich ist.
- Beim Speichern werden die aktuellen Werte als neue Originalwerte gesetzt, um sicherzustellen, dass die geänderten Werte beim erneuten Öffnen des Modals angezeigt werden.
- Anpassung im `handleSave`-Handler vorgenommen, um die Originalwerte nach erfolgreichem Speichern zu aktualisieren.
- Verbesserung der Benutzerfreundlichkeit durch Vermeidung des Zurücksetzens der geänderten Werte.
- Anpassung in loadWindowVariables.js: %20-Zeichen in kueID-Werten werden beim Kopieren aus dem window-Objekt automatisch durch tatsächliche Leerzeichen ersetzt.
- Sicherstellung, dass die Werte im Redux-Store korrekt und leserlich gespeichert werden, ohne URL-kodierte Leerzeichen.
Verhindern des automatischen Zurücksetzens von Eingabefeldern im Modal
- Werte aus Redux werden nur noch beim erstmaligen Öffnen des Modals in die State-Variablen übernommen.
- Änderungen in den Eingabefeldern bleiben bestehen, ohne durch automatische Updates überschrieben zu werden.
- Anpassung der useEffect-Abhängigkeiten, um eine stabilere Bearbeitung zu ermöglichen.