- Logik zur Initialisierung und Aktualisierung von Marker-Layern aus MapComponent.js ausgelagert.
- Neuer Hook: useDynamicMarkerLayers im hooks-Verzeichnis hinzugefügt.
- Modularisierung und Wiederverwendbarkeit verbessert.
- Fetch-Logik zum Aktualisieren der Tooltip-Werte aus MapComponent.js ausgelagert.
- Neuer Hook: useUpdateGmaData im hooks-Verzeichnis hinzugefügt.
- Verbesserung der Modularität und Wiederverwendbarkeit.
- Fetch-Logik für Prioritätskonfiguration aus MapComponent.js in einen separaten Hook ausgelagert.
- Neuer Hook: useFetchPriorityConfig im hooks-Verzeichnis hinzugefügt.
- Verbesserung der Modularität und Wiederverwendbarkeit.
- Fetch-Logik für Linienstatusdaten aus MapComponent.js in einen separaten Hook ausgelagert.
- Neuer Hook: useFetchLineStatusData im hooks-Verzeichnis hinzugefügt.
- Verbesserung der Modularität und Wiederverwendbarkeit.
- Tooltip-Logik für Polylinien aus MapComponent.js in eigenen Hook ausgelagert.
- Neuer Hook: usePolylineTooltipLayer im hooks-Verzeichnis hinzugefügt.
- Dynamische Tooltip-Ausrichtung basierend auf Mausposition implementiert.
- Flexibilität für zukünftige Anpassungen verbessert.
- 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/`.
Gängige Praxis: *Slice.js
Verwendung: Wenn du Redux Toolkit und createSlice nutzt, ist der Postfix Slice gängiger.
Begründung:
createSlice ist ein Begriff aus Redux Toolkit.
Der Name vermittelt, dass die Datei nicht nur den Reducer enthält, sondern auch Aktionen und den initialen Zustand.
Häufig in modernen Projekten verwendet.
-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.
- Korrigiert TypeError, der auftrat, wenn versucht wurde, auf `contextmenu` zuzugreifen, während es null war.
- Implementiert präzise Zeitmessung mithilfe von `Date.now()`, um das Schließen des Kontextmenüs nach genau 17 Sekunden sicherzustellen.
- Verbessert Benutzererfahrung durch zuverlässigere und stabilere Menüverwaltung.
- Implemented logic to monitor the context menu state and ensure it closes 2 seconds before the 20-second interval API call
- Added functionality to log remaining time while the context menu is open for better debugging
- Refactored interval handling to reset remaining time and close the context menu properly
- Addressed runtime error related to null context menu handling
- Implemented logic to save the visibility states of POI and map layers in localStorage.
- Loaded saved checkbox states on component mount to retain user preferences.
- Updated `handleCheckboxChange` and `handlePoiCheckboxChange` to store changes in localStorage.
- Ensured that settings persist across page reloads for a better user experience.