- CGI-Endpunkte der CPL-Hardware werden jetzt per fetch im Hintergrund aufgerufen
- Kein Tab-Wechsel oder Seitenreload mehr bei "Speichern"
- Entwicklung nutzt weiterhin Next.js API-Routen
- Nutzer erhält einheitliches Feedback per alert
- output: "export" wird jetzt automatisch bei EXPORT_STATIC=true aktiviert
- Entwicklungsmodus (npm run dev) nutzt weiterhin API-Routen für Mock-Tests
- Neues npm-Skript nutzt cross-env für Umgebungsunabhängigkeit bei Windows/Linux
- cross-env als devDependency hinzugefügt
- Originalwerte werden jetzt direkt aus window.win_kueXYZ geladen
- Vergleiche in handleSave.ts angepasst für stabile Zahl/String-Auswertung
- Fehlerhafte Meldung „Keine Änderungen vorgenommen“ behoben
- Nur geänderte Werte werden per GET-API gesendet
- NEXT_PUBLIC_USE_MOCK_BACKEND_LOOP_START in .env.development hinzugefügt
- goLoop.ts aktualisiert, um im Mock-Modus die Dummy-API (/api/cpl/loopMessungStartenMockHandler) aufzurufen
- Neuer Mock-Handler loopMessungStartenMockHandler.ts erstellt, der eine simulierte Antwort zurückgibt
Damit können Entwickler die Schleifenmessung lokal testen, ohne echte Hardware.
- .env.development mit NEXT_PUBLIC_USE_MOCK_BACKEND_TDR_START ergänzt
- goTDR.ts überarbeitet: Mock-API oder echtes CGI-Interface je nach Modus
- Verbesserte Flexibilität für Entwicklung ohne reale Hardware
- Redux-Dispatch `setAdminLoggedIn(true)` in handleAdminLogin integriert
- Login-Funktion in GeneralSettings.tsx angepasst, um Dispatch weiterzugeben
- Sichtbarkeit von Admin-Funktionen wie Firmware-Update-Button funktioniert jetzt zuverlässig
- Lokale Zustände durch direkten Zugriff auf Redux-Arrays ersetzt
- updateArray-Funktion korrigiert: kein Thunk mehr, stattdessen direkte Übergabe des aktuellen Arrays
- Fehler bei Typkonflikt in dispatch() behoben
- Eingaben schreiben nun sofort in den Store → Änderungen werden korrekt erkannt und gespeichert
- Änderungen in Dev-Umgebung werden per /api/cpl/updateKueDataAPIHandler gespeichert
- Production weiterhin GET-Request mit Parametern
- Fehlerbehandlung optimiert
- 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
- ü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
- In Development wurde noch /api/cpl/slotData verwendet
- Korrekt ist jetzt /api/cpl/slotDataAPIHandler
- Fehler beim Laden der Chart-Daten behoben (Unexpected token '<')
- Dev und Prod Zugriff wieder sauber getrennt
- 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
- digitaleEingaengeMockData.js = strukturierte Datenbasis für Development
- digitaleEingaengeAPIHandler.ts = API-Endpunkt zur Auslieferung im Dev
- fetchDigitaleEingaengeService.ts = Service zur Umwandlung von window-Variablen
- Naming-Schema sorgt für klare Struktur und gute Lernbarkeit
- 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
- 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
- Struktur für API-Mock-Daten unter /apiMockData angelegt
- Mock-Dateien aus Produktionsumgebung eingefügt
- Verwendung nur für Entwicklungsumgebung (lokale API Tests)
- Daten werden per API aus /pages/api/ geladen und ggf. verändert
- Mermaid-Diagramm erweitert: zeigt nun auch Rücksetzung von Modus, Typ und Titel beim Schließen des Modals
- Dokumentiert, dass bei close() auf 'DIA0' und 'Isolationswiderstand' zurückgesetzt wird
- Besseres Verständnis für Entwickler, was im UI zurückgesetzt wird
- Datum auf letzten 30 Tage zurückgesetzt
- Dropdowns auf "Alle Messwerte" und "Isolationswiderstand" zurückgesetzt
- Chart-Titel ebenfalls zurückgesetzt
- Mermaid-Diagramm zeigt den Ablauf beim Öffnen und Schließen des Schleifenmessungs-Modals
- Datei gespeichert unter /docsForDev/kabelüberwachung/chart-switcher-flow.md
- Diagramm dokumentiert das Zurücksetzen von Datum und das Laden der Chartdaten
- Während Daten geladen werden, wird PulseLoader angezeigt
- Chart wird erst gerendert, wenn isLoading === false
- Canvas wird mit display:none ausgeblendet, solange geladen wird
- vonDatum wird beim ersten Laden auf 30 Tage zurück gesetzt
- bisDatum ist standardmäßig auf das heutige Datum gesetzt
- Auswahlbereich begrenzt auf maximal 6 Monate zurück
- Heutiger Tag ist das maximale auswählbare Datum
- Datum wird im Format YYYY-MM-DD im Redux gespeichert
- toISOString() durch toLocaleDateString("sv-SE") ersetzt, um lokale Zeit zu berücksichtigen
- Datum im Redux nun korrekt im Format YYYY-MM-DD gespeichert
- Kein UTC-Verschiebungsproblem mehr beim Auswählen von vonDatum und bisDatum
- 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
Anzeige ist rot wenn Status=1 ist. Die Farbe ist nicht abhängig von der Invertierung.
Status Invertierung Anzeige
1 1 🔴 rot
1 0 🔴 rot
0 1 ✅ grün
0 0 ✅ grün