Files
nodeMap/CHANGELOG.md

425 lines
12 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.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.