- 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.
- 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.
- 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.
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.
- Anpassung der System-Checkboxen im DataSheet, um statt interner Schlüssel die lesbaren Namen (z. B. "GSM Modem") anzuzeigen.
- Interne Schlüssel bleiben für die Logik unverändert.
- Verbesserung der Benutzerfreundlichkeit durch klarere Bezeichnungen in der UI.
- Set fixed min-width (150px) and max-width (200px) for the dropdown menu to ensure it does not expand too much on smaller screens.
- Removed flex-grow from dropdown to prevent it from taking excess space.
- Improved flex layout between dropdown, EditModeToggle, and expand icon to ensure proper spacing and alignment.
- 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.
- Imported useSetRecoilState from Recoil
- Defined and initialized setSelectedArea using useSetRecoilState with selectedAreaState
- Ensured setSelectedArea is used to reset the selected area after moving the map
This resolves the ReferenceError: setSelectedArea is not defined.
Der Bug in der Anwendung tritt auf, wenn eine Checkbox angeklickt wird und unerwartet eine Zoom-Funktion ausgelöst wird.
Dies geschieht nach einer Auswahl aus einem Dropdown-Menü. Wenn eine Option im Dropdown-Menü ausgewählt wird,
scheint der darauf folgende Klick auf eine Checkbox dazu zu führen, dass auf die zuletzt ausgewählte Position im Dropdown-Menü
gezoomt wird. Die Zustandsänderungen oder Event-Handler in der Anwendung interagieren auf eine nicht beabsichtigte Weise,
wodurch diese unerwünschte Zoom-Aktion aktiviert wird. sogar wenn Info geklickt wird.
Moved all Recoil atoms to a new 'atoms' directory and selectors to a 'selectors' directory to clarify the project structure and improve maintainability. This change separates concerns by clearly distinguishing between simple state (atoms) and derived state (selectors), facilitating better understanding and scalability of the application's state management.
2. Dynamisches Checkbox-Handling: Die Checkboxen werden dynamisch anhand der gefilterten Systeme erstellt. Ihre Sichtbarkeitsänderungen werden zentral gehandhabt.
3. Verwaltung der Sichtbarkeit: Die Sichtbarkeit jedes Systems wird in mapLayersVisibility basierend auf Benutzerinteraktionen gesteuert.
Mouseover für Popup, ok.
Reinzoomen ok.
Rauszoomen ok.
Hier zentrieren ok.
Nur TALAS layerGroup über checkbox ein- und ausblenden.
Marker von DB anzeigen, aber verschieben geht noch nicht und hinzufügen auch nicht.