425 lines
12 KiB
Markdown
425 lines
12 KiB
Markdown
# 📄 CHANGELOG
|
||
|
||
Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentiert.
|
||
|
||
---
|
||
|
||
## [1.1.100] – 2025-05-19
|
||
|
||
### Added
|
||
|
||
- ✅ Vollständige Redux-Dokumentation erstellt:
|
||
- Alle aktiven Redux-Slices als `.md`-Dateien dokumentiert
|
||
- Struktur: `docs/frontend/redux/slices/`
|
||
- API-Funktionen in `docs/frontend/redux/api/fromWebService/`
|
||
- 🌐 Neue Markdown-Dateien u. a. für:
|
||
- `poiTypesSlice`, `urlParameterSlice`, `zoomTriggerSlice`
|
||
- `gisStationsStaticSlice`, `gisSystemStaticSlice`, ...
|
||
- `polylineLayerVisibleSlice`, `polylineContextMenuSlice`, ...
|
||
- Jede Datei enthält:
|
||
- Initialzustand, Aktionen, Beispielverwendung, Pfadreferenz
|
||
|
||
### Changed
|
||
|
||
- `README.md`: Hinweis auf neue Dokumentationsstruktur ergänzt
|
||
- `CHANGELOG.md`: Neuer Abschnitt für Version 1.1.100 eingefügt
|
||
|
||
---
|
||
|
||
## [1.1.98] – 2025-05-19
|
||
|
||
### Changed
|
||
|
||
- Setup-Dateien (`node-v20.12.1-x64.msi`, `nssm.exe`, `ChromeStandaloneSetup64.exe`) aus dem Repository entfernt
|
||
- Stattdessen Verlinkung in `README.md` zu SharePoint-Ordner für interne Tool-Downloads eingefügt
|
||
- Projektstruktur aufgeräumt – Installationsdateien blähen Git-Verlauf nicht mehr auf
|
||
- Hinweis in `README.md` zu Projektorganisation, Tool-Voraussetzungen und Linkstrategie ergänzt
|
||
|
||
---
|
||
|
||
## [1.1.97] – 2025-05-19
|
||
|
||
### Changed
|
||
|
||
- Recoil vollständig aus dem Projekt entfernt:
|
||
- `_app.js`: `RecoilRoot` entfernt
|
||
- `package.json`: `recoil` deinstalliert
|
||
- `package-lock.json`: Recoil-Abhängigkeiten entfernt
|
||
- Projekt verwendet ausschließlich Redux mit `@reduxjs/toolkit`
|
||
- `README.md` aktualisiert:
|
||
- Hinweis entfernt, dass Recoil verwendet wird
|
||
- Abschnitt hinzugefügt, warum Redux bevorzugt wird (Übersicht, SSR-Fähigkeit bei Next.js)
|
||
- `DataSheet.md` überarbeitet: Recoil entfernt, Redux-Einsatz dokumentiert
|
||
- `Wiki.md` als veraltet markiert, da alle Dokumentationen in `/docs/` konsolidiert sind
|
||
|
||
### Removed
|
||
|
||
- `recoil` aus `package.json` und `node_modules`
|
||
- Erwähnungen von Recoil in Projekt-Dokumentation
|
||
|
||
---
|
||
|
||
## [1.1.95] – 2025-05-19
|
||
|
||
### Changed
|
||
|
||
- Letzter Recoil-Hook in `useMarkerLayers.js` entfernt:
|
||
- `useRecoilValue(mapLayersState)` ersetzt durch `useSelector(selectMapLayersState)`
|
||
- Redux-Selektor `selectMapLayersState()` aus `mapLayersSlice.js` verwendet
|
||
- Projekt ist jetzt vollständig Recoil-frei und nur noch Redux-basiert
|
||
|
||
---
|
||
|
||
## [1.1.94] – 2025-05-19
|
||
|
||
### Changed
|
||
|
||
- `useCreateAndSetDevices.js` vollständig von Recoil auf Redux umgestellt:
|
||
- `useRecoilState(polylineEventsDisabledState)` entfernt
|
||
- Stattdessen Zugriff über `useSelector(state => state.polylineEventsDisabled.disabled)`
|
||
- Redux-Slice `polylineEventsDisabledSlice.js` final integriert
|
||
- Rückgabe von `setPolylineEventsDisabled` entfernt, da Zustand nun global über Redux verwaltet wird
|
||
|
||
---
|
||
|
||
## [1.1.93] – 2025-05-19
|
||
|
||
### Changed
|
||
|
||
- Letzte Recoil-Reste entfernt:
|
||
- `AddPoiModalWindow.js` nutzt `dispatch(incrementTrigger())` statt `useSetRecoilState(...)`
|
||
- Vollständige Migration zu Redux abgeschlossen für `poiReadFromDbTriggerSlice`
|
||
- `mapLayersVisibility` in `AddPoiModalWindow.js` korrekt via `useSelector(...)` aus Redux gelesen
|
||
|
||
### Removed
|
||
|
||
- Recoil vollständig aus Projekt entfernt
|
||
|
||
---
|
||
|
||
## [1.1.91] – 2025-05-19
|
||
|
||
### 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.
|