- GeocoderFeature als separates Modul implementiert und initialisiert.
- Feature Toggle für Geocoder in .env.local hinzugefügt (NEXT_PUBLIC_ENABLE_GEOCODER).
- Dynamische Aktivierung des Geocoders über MapComponent.js basierend auf Feature-Flag.
- Anpassungen zur Entfernung bzw. Anpassung der Fehlermeldung "Nothing found".
- Styling-Verbesserungen für das Suchfeld mit Tailwind CSS.
- Container vereinfacht und auf Volle-Breite-Layout umgestellt.
- Überflüssige Elemente im Suchfeld (z.B. Buttons) entfernt.
- Eingabefeld auf maximale Breite erweitert.
- Platzhaltertext auf Deutsch gesetzt.
- Leaflet-Control-Geocoder integriert, um die Suche nach Koordinaten und Adressen zu ermöglichen.
- Suchfeld in der oberen linken Ecke platziert.
- Automatische Marker-Platzierung und Popup-Anzeige bei erfolgreicher Suche implementiert.
- Layer-Gruppen initialisiert und Suchfeld nach Layer-Setup hinzugefügt.
- Recoil Atom 'selectedPoiState' entfernt und durch Redux-Toolkit Slice ersetzt.
- Redux Actions hinzugefügt: setSelectedPoi, clearSelectedPoi.
- Selektor 'selectSelectedPoi' erstellt, um POI-Daten zu lesen.
- Komponenten angepasst (PoiUpdateModal, PoiUpdateModalWrapper, MapComponent), um Redux-Hooks zu verwenden.
- Reducer in rootReducer und store.js registriert.
- Funktionalität getestet und Fehlerbehebung implementiert.
- Recoil Atom für urlParameterSlice entfernt und durch Redux-Toolkit Slice ersetzt.
- Neue Actions `setMapId` und `setUserId` hinzugefügt, um Parameter zu aktualisieren.
- Selektoren `selectMapId` und `selectUserId` erstellt, um Parameter aus dem Zustand zu lesen.
- Standardwerte für `mapId` und `userId` entfernt; stattdessen Werte aus der URL geladen.
- Fehlermeldung hinzugefügt, wenn erforderliche URL-Parameter fehlen.
- Zustand wird jetzt dynamisch beim Laden der Seite über die URL gesetzt.
- Ersetzung des Recoil Atoms 'zoomTriggerState' durch Redux Toolkit Slice.
- Hinzugefügt: Aktionen für incrementZoomTrigger, decrementZoomTrigger, resetZoomTrigger und setZoomTrigger.
- Implementierung von Redux-Selektoren zum Zugriff auf den zoomTrigger-Zustand.
- Aktualisierung der Komponenten (MapComponent.js, DataSheet.js) auf Redux-Hooks (useSelector, useDispatch).
- Registrierung des zoomTriggerReducers im rootReducer und store.js.
- Überprüfung der Zoom In/Out-Funktionalität sowie Integration von Event-Handling für Mausrad und Kontextmenü.
- Fetch-Logik für GIS-Daten aus MapComponent.js ausgelagert.
- Neuer Hook: useFetchWebServiceMap im hooks-Verzeichnis hinzugefügt.
- Modularisierung und Wiederverwendbarkeit verbessert.
- Fetch-Logik für Benutzerrechte aus MapComponent.js in einen separaten Hook ausgelagert.
- Neuer Hook: useFetchUserRights im hooks-Verzeichnis hinzugefügt.
- Verbesserung der Modularität und Wiederverwendbarkeit.
- 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.
feat: API-Endpunkte für Bereichs-Updates implementiert
- Neuer Endpunkt `updateBereich.js` für die Aktualisierung von Bereichskoordinaten per PUT-Request.
- Utility-Funktion `updateBereichUtil.js` hinzugefügt, um API-Aufrufe für Bereichs-Updates im Frontend zu kapseln.
- Fehler bei der URL in `updateBereichUtil.js` behoben, um sicherzustellen, dass die Koordinaten korrekt aktualisiert werden.
- Verbesserte Fehlerbehandlung und Logging zur Debug-Unterstützung.
- Neuer Endpunkt `updateBereich.js` für die Aktualisierung von Bereichskoordinaten per PUT-Request.
- Utility-Funktion `updateBereichUtil.js` hinzugefügt, um API-Aufrufe für Bereichs-Updates im Frontend zu kapseln.
- Fehler bei der URL in `updateBereichUtil.js` behoben, um sicherzustellen, dass die Koordinaten korrekt aktualisiert werden.
- Verbesserte Fehlerbehandlung und Logging zur Debug-Unterstützung.
- 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
- Recoil-Atom 'gisStationsStaticDistrictState' in ein Redux-Slice umgewandelt.
- fetchGisStationsStaticDistrict angepasst, um Redux-Dispatch zu verwenden.
- MapComponent.js und DataSheet.js refaktoriert, um Redux zu integrieren.
- fetchOptions für API-Anfragen hinzugefügt.
- Zentrale Zustandsverwaltung mit Redux sichergestellt.
v1.0.16.4 - Verbesserungen der Checkbox-Logik und Abhängigkeitsverwaltung
- Automatische Deaktivierung der Kabelstrecken-Checkbox, wenn TALAS deaktiviert wird.
- Automatische Aktivierung der TALAS-Checkbox, wenn die Kabelstrecken-Checkbox aktiviert wird.
- Verbesserte Synchronisation von Zuständen (`mapLayersVisibility`, `polylineVisible`) mit localStorage.
- Optimierung der Benutzerfreundlichkeit durch klare Abhängigkeiten zwischen TALAS und Kabelstrecken.
- Logik hinzugefügt, um die TALAS-Checkbox automatisch zu aktivieren, wenn die Kabelstrecken-Checkbox aktiviert wird.
- Aktualisierung von `mapLayersVisibility` integriert, um den neuen Zustand zu synchronisieren.
- Synchronisation mit `localStorage` sichergestellt, um Konsistenz zwischen Zustand und persistentem Speicher zu gewährleisten.
- Verbesserung der Benutzerfreundlichkeit durch automatische Abhängigkeitsverwaltung.
- Wenn die TALAS-Checkbox deaktiviert wird, wird die Kabelstrecken-Checkbox automatisch deaktiviert.
- Separates Update für `polylineVisible` hinzugefügt, um Konflikte mit Recoil-Regeln zu vermeiden.
- Zustand und localStorage synchronisiert, um konsistente Sichtbarkeiten zu gewährleisten.
- Verbesserte Benutzererfahrung durch automatische Deaktivierung abhängiger Optionen.
- Die Checkbox für "Kabelstrecken" wird jetzt als Untermenü unter "TALAS" angezeigt.
- Dynamische Überprüfung von `system.name`, um die Hierarchie von Checkboxen zu definieren.
- Visuelle Einrückung (`ml-6`) implementiert, um die Untermenü-Struktur klar darzustellen.
- Anpassungen für eine klare und intuitive Benutzeroberfläche.
- 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.
fix: Sichtbarkeitsprobleme von Markern und Plus-Icons behoben
- Initiales Laden der Marker entsprechend der lokalen Speicherwerte (localStorage) korrigiert.
- Plus-Icons werden nun dynamisch aktualisiert, wenn Checkboxen geändert werden.
- Event-Listener für Sichtbarkeitsänderungen hinzugefügt, um Marker und Plus-Icons ohne Neuladen zu aktualisieren.
- Allgemeine Konsistenz zwischen `mapLayersVisibility` und tatsächlicher Sichtbarkeit der Layer verbessert.
- Initiales Laden der Marker entsprechend der lokalen Speicherwerte (localStorage) korrigiert.
- Plus-Icons wird nun dynamisch aktualisiert, wenn Checkboxen geändert werden.
- Event-Listener für Sichtbarkeitsänderungen hinzugefügt, um Marker und Plus-Icons ohne Neuladen zu aktualisieren.
- Allgemeine Konsistenz zwischen `mapLayersVisibility` und tatsächlicher Sichtbarkeit der Layer verbessert.
- 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.