- fetch-Aufruf ersetzt durch Redux-Thunk fetchGisLinesThunk
- gisLines aus Redux-Store bezogen mit selectGisLines
- Datenmapping erfolgt reaktiv via useEffect
- Version auf 1.1.174 erhöht
- `index.js` als Client-Komponente deklariert (`"use client"`) zur Vermeidung von SSR-Problemen.
- `useEffect` optimiert, um unendliche API-Requests durch `isMounted`-Check zu verhindern.
- `loadData()` angepasst, um API-Fehler korrekt abzufangen und erneute Ladeversuche zu vermeiden.
- Doppelte Registrierung von `poiReadFromDbTriggerAtom` durch HMR verhindert.
- Ungültige MySQL-Option `acquireTimeout` entfernt, um Verbindungsfehler zu beheben.
Diese Änderungen verhindern unerwartete Reloads und verbessern die Stabilität der Anwendung.
- Vier Proxy-Endpunkte implementiert:
1. gisStationsStatusDistrict
2. gisStationsStaticDistrict
3. gisStationsMeasurements
4. gisSystemStatic
- API-Integrationstests mit Jest für alle Endpunkte erstellt:
- Tests verwenden echte API-Responses statt Mock-Daten.
- Erfolgreiche Anfragen mit gültigen Parametern getestet.
- Fehlende Parameter und ungültige Parameter getestet.
- Code enthält:
- Dynamische URL-Generierung für Proxy-Weiterleitungen.
- Prüfung von Headern, Statuscodes und JSON-Strukturen.
- Unterstützung für CORS und OPTIONS-Anfragen.
- Ergebnis:
- Alle Tests erfolgreich bestanden.
- APIs bereit für produktive Nutzung und Erweiterungen.
- Hostname dynamisch aus `window.location.hostname` extrahiert
- Port 3000 explizit in der URL ergänzt
- Fehler beim Parsen von JSON behoben (404-HTML-Antwort statt JSON)
- Verbesserte Fehlerprotokollierung und Debugging-Logs in `useBereicheMarkersLayer.js`
- Tooltip-Anzeige für Bereich und Standort optimiert
- Hinzugefügt: Logik zur Überprüfung von mapLayersVisibility aus localStorage.
- Kombiniert: `storage`-Event-Listener und regelmäßige Überprüfung mit `setInterval`.
- Verhindert unnötige DOM-Updates durch Verwendung von `useRef` zur Nachverfolgung des letzten Sichtbarkeitsstatus.
- Bereiche werden nun korrekt angezeigt/ausgeblendet, wenn Layer-Checkboxen geändert werden.
- Die Logik zum Abrufen und Zeichnen von Linien wurde in den neuen Hook `useDrawLines` ausgelagert.
- Dies verbessert die Übersichtlichkeit in `MapComponent.js` und ermöglicht eine einfachere Wiederverwendung und Wartung.
- Der neue Hook befindet sich im Verzeichnis `hooks/layers/`.
-Wenn keine Messwerte über Webservice kommen dann wird "-" statt "---" angezeigt
-Alle 20 Sekunden werden alle Icons neu gezeichnet. Dadurch "flackert" das Bild. Wenn die Daten (Prios) neu geladen werden sollen die Icons
nicht aus- und wieder eingeblendet werden. Wenn es nicht schnell behoben werden kann dann bitte das Intervall von 20 Sekunden auf 60 Sekunden erhöhen.
-Es soll, Wenn auf das + Symbol geklickt wird müssen alle Icons nebeneinander gezeichnet werden. Bisher kann man nur auf das oberste Icon klicken.
-MAP_VERSION = "1.0.15"
- zIndexOffset in `createAndSetDevices` von `100 * (5 - priority)` auf `100 * (6 - priority)` geändert.
- Dadurch erhalten Marker mit höherer Priorität einen größeren zIndex-Wert.
- Problem gelöst, bei dem POI-Marker von anderen Layern oder Markern überlagert wurden.
- Logik angepasst, um die Sichtbarkeit und Priorisierung der Marker zu stabilisieren.
- Viele console.log-Ausgaben auskommentiert und durch localStorage ersetzt.
- Debugging-Daten werden nun persistent gespeichert, um eine einfachere Nachverfolgung zu ermöglichen.
- Verbessert die Übersichtlichkeit und reduziert das Scrollen in der Konsole.
- Ursache des Problems: Inkonsistenz bei der Benennung des Layers in `useLayerVisibility` ("SMSFunkmodem" vs. "SMSModem").
- Anpassung des Layer-Namens in `useLayerVisibility`, um mit der `GisSystemStatic`-Datenstruktur und `mapLayersVisibility` übereinzustimmen.
- Konflikt führte dazu, dass der SMS Modem-Layer nicht korrekt sichtbar/unsichtbar geschaltet wurde.
- Debugging und Anpassungen führten zur erfolgreichen Behebung des Fehlers.
Dieser Fix stellt sicher, dass die Sichtbarkeit der Marker-Layer konsistent und wie erwartet funktioniert.
- Refaktorierung des `useMarkersLayer`-Hooks zur internen Behandlung der Sichtbarkeitsbedingung.
- `isVisible`-Parameter hinzugefügt, um konsistente Hook-Aufrufe sicherzustellen.
- Cleanup-Logik verbessert, um Layer beim Unmount korrekt zu entfernen.
- GMA-Marker und Tooltips basierend auf Sichtbarkeit korrekt verarbeitet.
- Marker-Icons werden dynamisch aktualisiert, ohne dass Blinken oder redundantes Rendering auftritt.
- ToolTip-Werte der GMA-Stationen aktualisieren sich in Echtzeit basierend auf neuen Messdaten.
- Verbesserte Performance durch gezielte Updates nur bei Datenänderungen.