Files
nodeMap/CHANGELOG.md
ISA ee7a8d2e80 refactor: letzte Recoil-States entfernt – selectedPoiState und currentPoiState auf Redux migriert
- Redux-Slices 'selectedPoiSlice' und 'currentPoiSlice' hinzugefügt
- 'PoiUpdateModal.js' verwendet nun useSelector statt Recoil
- Recoil vollständig entfernt, Zustand zentral im Redux Store verwaltet
- CHANGELOG.md auf Version 1.1.91 aktualisiert
2025-05-19 10:05:30 +02:00

332 lines
9.1 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 📄 CHANGELOG
Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentiert.
---
## [1.1.91] 2025-05-22
### Changed
- Recoil-Atoms `selectedPoiState` und `currentPoiState` vollständig durch Redux ersetzt
- Neue Redux-Slices:
- `selectedPoiSlice` verwaltet aktuell ausgewählten POI
- `currentPoiSlice` verwaltet POI zur Anzeige im Bearbeitungsdialog
- `PoiUpdateModal.js` umgestellt auf `useSelector(...)` für beide Zustände
- `store.js` um `selectedPoiReducer` und `currentPoiReducer` erweitert
### Removed
- `useRecoilValue(currentPoiState)` und `useRecoilValue(selectedPoiState)` aus `PoiUpdateModal.js`
---
## [1.1.90] 2025-05-19
### Changed
- Redux-Slice `urlParameterSlice`: Standardwerte für `mapId` und `userId` entfernt
- `mapId` und `userId` starten jetzt mit `null` statt `"10"` / `"484"`
---
## [1.1.89] 2025-05-19
### Changed
- Recoil-Atoms `mapIdState` und `userIdState` entfernt
- Stattdessen: Umstellung auf Redux-Slice `urlParameterSlice`
- `MapComponent.js` verwendet jetzt:
- `useSelector(...)` für `mapId` und `userId`
- `dispatch(setMapId(...))`, `dispatch(setUserId(...))` in `useEffect`
- Redux-Store erweitert um `urlParameterReducer`
### Removed
- Recoil-Import `useRecoilState(mapIdState / userIdState)` entfernt aus `MapComponent.js`
---
## [1.1.88] 2025-05-19
### Changed
- Recoil-Atom `zoomTriggerState` vollständig durch Redux `zoomTriggerSlice` ersetzt
- Betroffene Komponenten:
- `MapComponent.js` liest `zoomTrigger` aus Redux `useSelector(...)`
- `DataSheet.js` verwendet `dispatch(incrementZoomTrigger())` bei Icon-Klick
- Redux-Store erweitert um `zoomTriggerReducer`
### Removed
- Entfernt: `useRecoilState(zoomTriggerState)` in `DataSheet.js`
- Entfernt: `useRecoilValue(zoomTriggerState)` in `MapComponent.js`
---
## [1.1.86] 2025-05-17
### Changed
- Recoil-State `selectedAreaState` vollständig entfernt
- Umstellung auf Redux:
- `selectedAreaSlice.js` → zentrale Steuerung des Bereichs (Area)
- `DataSheet.js` setzt `setSelectedArea(...)` über Redux
- `MapComponent.js` liest `selectedArea` aus Redux und zentriert Karte
---
## [1.1.85] 2025-05-17
### Changed
- Recoil-Atom `readPoiMarkersStore` vollständig durch Redux-Slice ersetzt
- Betroffene Komponenten:
- `index.js` verwendet `useSelector` und `dispatch(setPoiMarkers(...))` statt `useRecoilState`
- `AddPOIModal.js` entfernt Recoil, nutzt jetzt Redux `setPoiMarkers(...)` (optional)
- Redux-Store aktualisiert:
- Slice `readPoiMarkersStoreSlice` eingebunden
### Added
- Redux-Slice `readPoiMarkersStoreSlice.js` mit Actions:
- `setPoiMarkers(data)`
- `clearPoiMarkers()`
---
## [1.1.84] 2025-05-17
### Changed
- Recoil-Atom `polylineEventsDisabledState` entfernt
- Migration zu Redux-Slice `polylineEventsDisabledSlice` abgeschlossen
- Betroffene Komponenten und Funktionen:
- `MapComponent.js` `useSelector(state => state.polylineEventsDisabled.disabled)` verwendet
- `initializeMap.js` Callback-Funktion `(value) => dispatch(setDisabled(value))` übergeben
- `useCreateAndSetDevices.js` Verwendung von `useRecoilState` entfernt (ToDo: an Redux anpassen)
### Added
- Neue Redux Actions:
- `setDisabled`, `toggleDisabled` in `polylineEventsDisabledSlice.js`
### ToDo
- `useCreateAndSetDevices.js` nutzt noch `useRecoilState`, muss ggf. refaktoriert werden
---
## [1.1.83] 2025-05-17
### Changed
- `poiReadFromDbTriggerAtom` durch Redux `poiReadFromDbTriggerSlice` ersetzt
- Alle Komponenten migriert:
- `index.js` nutzt jetzt `useSelector` für Trigger
- `AddPoiModalWindow.js` verwendet `dispatch(incrementTrigger())`
- `AddPOIModal.js` entfernt Recoil, setzt Trigger mit Redux
- `MapComponent.js` liest Trigger-Zustand via Redux statt Recoil
### Removed
- Entfernt: alle `useSetRecoilState(...)` und `useRecoilValue(...)` für `poiReadFromDbTriggerAtom`
### Added
- Neue Redux Actions:
- `incrementTrigger`, `resetTrigger` in `poiReadFromDbTriggerSlice.js`
---
## [1.1.82] 2025-05-17
### Changed
- Recoil-Zustand `poiLayerVisibleState` vollständig durch Redux `poiLayerVisibleSlice` ersetzt
- Betroffene Komponenten:
- `useMapComponentState.js` Zugriff via `useSelector` statt `useRecoilValue`
- `MapComponent.js` Zugriff auf `poiLayerVisible` über Redux
- `DataSheet.js` `useRecoilState` entfernt, `dispatch(setVisible(...))` integriert
- Redux-Store (`store.js`) erweitert um `poiLayerVisibleReducer`
### Removed
- Recoil-Atom `poiLayerVisibleState` entfernt
### Added
- Neue Redux Actions: `setVisible`, `toggleVisible` in `poiLayerVisibleSlice.js`
---
## [1.1.78] 2025-05-17
### Changed
- `fetchGisStatusStations.js`:
- feste URL-Variable `NEXT_PUBLIC_SERVER_URL` entfernt
- stattdessen dynamische URL-Berechnung per `NEXT_PUBLIC_API_PORT_MODE`
- Zugriff auf Webservice `GisStationsStatusDistrict` funktioniert jetzt ohne `.env.local`
### Added
- Dokumentation ergänzt:
- `docs/frontend/services/api/fetchGisStatusStations.md`
---
## [1.1.77] 2025-05-17
### Changed
- `pages/api/[...path].js`:
- feste Umgebungsvariable `NEXT_PUBLIC_SERVER_URL` entfernt
- dynamische Proxy-Zieladresse per `NEXT_PUBLIC_API_PORT_MODE` definiert (dev vs. prod)
- Konfiguration via `http-proxy-middleware` vereinfacht
### Added
- Dokumentation erstellt:
- `docs/server/pages/api/apiProxy.md`
---
## [1.1.76] 2025-05-17
### Changed
- `config.js` angepasst:
- Entfernt: `NEXT_PUBLIC_SERVER_URL` aus `.env.local`
- Dynamische Berechnung von `serverURL` anhand `window.location` + `NEXT_PUBLIC_API_PORT_MODE`
- Zugriff auf Webservices funktioniert jetzt automatisch abhängig von Entwicklungs-/Produktionsumgebung
### Added
- Dokumentation ergänzt:
- `docs/frontend/config/config.md`
---
## [1.1.75] 2025-05-17
### Changed
- `setupPolylines.js` und `createAndSetDevices.js` überarbeitet:
- Entfernt: `NEXT_PUBLIC_BASE_URL` aus `.env.local`
- Dynamische Linkerstellung basierend auf `window.location` + `NEXT_PUBLIC_API_PORT_MODE`
- Kontextsensitive Menüeinträge öffnen jetzt `/talas5/cpl.aspx?...` unabhängig von der Umgebung
### Added
- Dokumentation hinzugefügt:
- `docs/frontend/utils/polylines/setupPolylines.md`
- `docs/frontend/utils/devices/createAndSetDevices.md`
---
## [1.1.74] 2025-05-17
### Added
- Übersichtsdokumentation für Webservices erstellt:
- `docs/frontend/redux/api/fromWebService/README.md`
- beschreibt Zweck, Parameterstruktur, und alle dokumentierten API-Dateien
---
## [1.1.73] 2025-05-17
### Changed
- `fetchGisStationsStatusDistrict.js` vereinheitlicht:
- zentrale API-Port-Logik über `.env.local` (`NEXT_PUBLIC_API_PORT_MODE`)
- URL-Parameter `idMap` und `idUser` werden dynamisch aus `?m=...&u=...` extrahiert
- Webservice-Aufruf wird korrekt über `GisStationsStatusDistrict` aufgebaut
### Added
- Dokumentation ergänzt:
- `docs/frontend/redux/api/fromWebService/fetchGisStationsStatusDistrict.md`
---
## [1.1.72] 2025-05-17
### Changed
- `fetchGisStationsStaticDistrict.js` aktualisiert:
- zentrale Steuerung der API-Port-Logik über `.env.local` (`NEXT_PUBLIC_API_PORT_MODE`)
- Übergabe von `idMap` und `idUser` über URL-Parameter `?m=...&u=...`
- Webservice-Endpunkt dynamisch zusammengesetzt
### Added
- Dokumentation erstellt:
- `docs/frontend/redux/api/fromWebService/fetchGisStationsStaticDistrict.md`
---
## [1.1.71] 2025-05-17
### Changed
- `fetchGisStationsStatic.js` aktualisiert:
- zentrale Steuerung der API-Port-Logik über `.env.local``NEXT_PUBLIC_API_PORT_MODE`
- Map-ID (`idMap`) wird direkt aus der URL gelesen (`?m=...`)
- Fehlerbehandlung und Content-Type-Prüfung eingebaut
### Added
- Dokumentation hinzugefügt:
- `docs/frontend/redux/api/fromWebService/fetchGisStationsStatic.md`
---
## [1.1.70] 2025-05-17
### Changed
- `fetchGisSystemStatic.js` umgestellt auf zentrale Port-Logik über `NEXT_PUBLIC_API_PORT_MODE`
- `fetchGisStationsMeasurements.js` ebenfalls angepasst mit gleicher URL-/Port-Strategie
- Beide Funktionen lesen `idMap` und `idUser` nun direkt aus der URL (`?m=...&u=...`)
### Added
- Neue Dokumentation:
- `docs/frontend/redux/api/fromWebService/fetchGisSystemStatic.md`
- `docs/frontend/redux/api/fromWebService/fetchGisStationsMeasurements.md`
- Struktur-/Pfadhinweis jeweils am Ende der Markdown-Dateien ergänzt
---
## [1.1.68] 2025-05-15
### Changed
- Verweis auf `NEXT_PUBLIC_API_PORT_3000` entfernt
- API-URL wird nun dynamisch per `window.location.hostname:3000` gesetzt
- `.env.local` bereinigt: keine API-URL mehr nötig
- Betroffene Dateien:
- `useFetchPoiData.js`
- `poiTypesSlice.js`
---
## [1.1.65] 2025-05-15
### Changed
- `idMap` und `idUser` werden nicht mehr aus `.env.local` gelesen, sondern ausschließlich über die URL übergeben (z.B. von TALAS.web).
- Entfernt: Fallback-Variablen `NEXT_PUBLIC_DEFAULT_ID_MAP` und `NEXT_PUBLIC_DEFAULT_ID_USER`.
- Dokumentation in `docs/redux/api/fromWebService.md` entsprechend angepasst.
---
## [1.1.64] 2025-05-15
### Added
- Erste Dokumentation der Webservice-Endpunkte in `docs/api/webservices.md`.
- Projektstruktur in `docs/` vorbereitet für spätere Erweiterung.