- ersetzt Zugriff auf json.Lines durch json.Statis - behebt leeren Redux-State bei Linienstatus - Daten aus Webservice fließen jetzt korrekt in gisLinesStatusSlice
25 KiB
25 KiB
📄 CHANGELOG
Alle bedeutenden Änderungen an diesem Projekt werden in dieser Datei dokumentiert.
[1.1.144] – 2025-05-22
Fixed
- ✅ Fehlerhafte Webservice-Antwortstruktur in
fetchGisLinesStatusService.jskorrigiert- Erwartet wurde
json.Lines, geliefert wurde aberjson.Statis - Daten landen jetzt korrekt im Redux Slice
gisLinesStatus
- Erwartet wurde
Architecture
- 🔁 Vollständige Redux-Anbindung von Linienstatus über
fetchGisLinesStatusThunk - 🧠 Daten aus WebService
GisLinesStatuswerden zentral über Redux verwaltet - 💡 Fehlerbehandlung und JSON-Parsing robuster gestaltet
Version
- 📦 Version erhöht auf 1.1.144
[1.1.139] – 2025-05-22
Changed
- 🔁 Geräte-/Stationsanzeige vollständig auf Redux-Store umgestellt:
createAndSetDevices.jsverwendet jetzt nur noch Redux-Selectoren (selectGisStationsStaticDistrict,selectGisStationsStatusDistrict)- Entfernt: direkter
fetch(...)-Zugriff überconfig.js - Kein Zugriff mehr auf
mapGisStationsStaticDistrictUrl/StatusDistrictUrl
Fixed
- ✅ Fehler "❌ Redux enthält keine gültigen Geräte-/Statusdaten!" gelöst durch korrekte Abfrage
state.gisStationsStaticDistrict.data.Points - ✅ Marker erscheinen wieder zuverlässig durch saubere Trennung von Datenquelle und Darstellung
Architecture
- 🧠 Marker-Erstellung erfolgt über
createAndSetDevices()→ Redux-Daten → Leaflet Marker - 🔁
MapComponent.jsunduseDynamicMarkerLayers.jsangepasst auf neue Redux-Architektur - 🎯 Reduziert doppelte Datenhaltung, zentralisiert Geräte-Logik
Version
- 📦 Version erhöht auf 1.1.139
[1.1.136] – 2025-05-21
Fixed
- 🛠️
DataSheet.jszeigte nach Seiten-Neuladen keine GIS-Systeme mehr an- Ursache:
useEffectreagierte nicht aufGisSystemStatic - behoben durch Ergänzen der Abhängigkeit im
useEffect
- Ursache:
Renamed
- 🔄
DataSheet.jswurde inMapLayersControlPanel.jsumbenannt- der neue Name spiegelt die tatsächliche Funktion als Karten-Layer-Steuerung besser wider
- verbessert Verständlichkeit und Onboarding für Entwickler
Version
- 📦 Version erhöht auf 1.1.136
[1.1.134] – 2025-05-21
Cleanup
- ❌ Entfernt:
mapGisStationsMeasurementsUrlausconfig.js, da die URL nicht mehr benötigt wird - 🧼 Entfernt: alte manuelle
fetch(...)-Logik inMapComponent.jszur Messdatenaktualisierung - 🔄 Stattdessen wird
fetchGisStationsMeasurementsThunkaus Redux verwendet - 🧠 Architekturstandard eingehalten:
/services/ → Thunk → Slicefür zentrale Datensteuerung
Version
- 📦 Version erhöht auf 1.1.134
[1.1.132] – 2025-05-21
Refactored
- Entfernt: manuelle Fetch-Funktion und lokalen
isDataLoaded-State fürDataSheet - Hinzugefügt: Anzeige des Panels erfolgt jetzt über Redux Store (
GisStationsStaticDistrict.Points) - Verbesserte Kontrolle über Sichtbarkeit der Layer-Steuerung auf Basis von Store-Daten
[1.1.130] – 2025-05-21
Changed
- 🔁 GIS-Linien in
MapComponent.jsvollständig vonfetch(...)auf Redux-Architektur umgestellt- Neuer Service:
fetchGisLinesService.jsfür API-Aufruf - Neuer Thunk:
fetchGisLinesThunk.jsunter/redux/thunks/database/ - Neuer Slice:
gisLinesSlice.jsmit Statusverwaltung (idle/loading/succeeded/failed) - Redux-Selektor
selectGisLinesinMapComponent.jsgenutzt
- Neuer Service:
- Direkter
fetch("/api/talas_v5_DB/gisLines/readGisLines")entfernt und durchdispatch(fetchGisLinesThunk())ersetzt - Alle Linien-Daten werden nun zentral über Redux geladen und in
linePositionsumgewandelt
Version
- 📦 Version erhöht auf 1.1.130
[1.1.128] – 2025-05-21
Changed
- 🧠 Neue Datenquelle
priorityConfigvollständig in Redux integriert:- Neuer Service:
fetchPriorityConfigService.jsunter/services/database/ - Neuer Thunk:
fetchPriorityConfigThunk.jsunter/redux/thunks/database/ - Neuer Slice:
priorityConfigSlice.jsunter/redux/slices/database/ - Registrierung im Store (
priorityConfigReducer) ergänzt
- Neuer Service:
MapComponent.jsnutzt jetztdispatch(fetchPriorityConfigThunk())zur Initialisierung- Alle alten
useState+fetch(...)für Prioritätsdaten entfernt
Fixed
- ❌ Fehler
fetchPriorityConfigThunk is not definedbehoben durch Import und richtigen Store-Zugriff - ❌ Bug: Redux Slice zeigte keine Daten – Ursache war fehlendes
dispatchder Thunk-Funktion → behoben
Cleanup
- 🧼
fetchPriorityConfigwird ausschließlich zentral über Redux gehandhabt
Architekturhinweis
- 🔄 Komponente wie
MapComponentist der Trigger:
Thunks, Services und Redux-Slices alleine führen nichts aus – sie müssen durch eindispatch(...)aktiviert werden.
Version
- 📦 Version erhöht auf 1.1.128
[1.1.127] – 2025-05-21
Changed
- 🧱
fetchLocationDevices.jswurde vollständig entfernt (lag zuvor unter/redux/api/fromDB/) - Stattdessen wird der neue Service
fetchLocationDevicesService.jsin/services/database/verwendet - Neuer Thunk
fetchLocationDevicesThunk.jsunter/redux/thunks/database/eingeführt locationDevicesFromDBSlice.jsersetzt durchlocationDevicesSlice.jsmit Anbindung an den neuen ThunkMapComponent.jsnutzt jetztdispatch(fetchLocationDevicesThunk())zur Initialisierung der Geräte
Cleanup
- ❌ Alle direkten Service-Imports aus Slices entfernt (Schnittstelle liegt nun nur noch im Thunk)
- 🧼 Zugriff auf
fetchLocationDevicesFromDB()ersetzt durchfetchLocationDevicesThunk()
Version
- 📦 Version erhöht auf 1.1.127
[1.1.126] – 2025-05-21
Cleanup
- 🧼 Veraltete GIS-API-Fetch-Dateien entfernt, da nun vollständig durch zentrale Redux-Architektur ersetzt:
fetchGisStationsMeasurements.jsfetchGisStationsStatic.jsfetchGisStationsStaticDistrict.jsfetchGisStationsStatusDistrict.jsfetchGisSystemStatic.js
- Ebenso entfernt:
fetchLocationDevices.jsaus/redux/api/fromDB/
Changed
- 🔁 Neue Ordnerstruktur eingeführt:
redux/thunks/webservice/für TALAS WebServices (Port 80)redux/thunks/database/für API-Zugriffe auf eigene DB (Port 3000)
- Alle GIS-Thunks liegen jetzt in
/redux/thunks/webservice/für klare Trennung - Thunks übernehmen den Service-Import – Slices sind vollständig entkoppelt
Fixed
- Alle GIS-Redux-Slices importieren nun ausschließlich zentrale Thunks
MapComponent.js,DataSheet.jsund andere Komponenten nutzen nur noch:gisStationsMeasurementsgisStationsStaticDistrictgisStationsStatusDistrictgisSystemStatic
Version
- 📦 Version erhöht auf 1.1.126
[1.1.125] – 2025-05-21
Cleanup
- 🧼 Unnötige GIS-Fetch-Dateien entfernt:
fetchGisStationsMeasurements.jsfetchGisStationsStatic.jsfetchGisStationsStaticDistrict.jsfetchGisStationsStatusDistrict.jsfetchGisSystemStatic.js
- Alle Datenquellen werden jetzt ausschließlich über zentrale Redux Thunks und zugehörige Services geladen
- Alte Fetch-Struktur (
/redux/api/fromWebService) vollständig obsolet
Fixed
- Alle GIS-Redux-Slices greifen jetzt korrekt auf die Thunks aus
redux/thunks/zu DataSheet.jsundMapComponent.jsverwenden nur noch:gisStationsMeasurementsgisStationsStaticDistrictgisStationsStatusDistrictgisSystemStatic
Changed
- Versionsnummer aktualisiert auf
1.1.125
[1.1.123] – 2025-05-21
Changed
- 🔁 GIS-Datenquellen konsolidiert: Statt 5 werden jetzt nur 4 zentrale Redux-Slices verwendet:
- ✅ Beibehalten:
gisStationsMeasurements,gisStationsStaticDistrict,gisStationsStatusDistrict,gisSystemStatic - ❌ Entfernt:
gisStationsStatic(veraltet / wurde durchStaticDistrictersetzt)
- ✅ Beibehalten:
Fixed
MapComponent.jsundDataSheet.jsbereinigt:- Alle Zugriffe auf
gisStationsStaticentfernt - Zugriff erfolgt nur noch über
selectGisStationsStaticDistrict
- Alle Zugriffe auf
Cleanup
- 🧼 Thunks, Services und Slices konsistent:
- Alle Slices verwenden jetzt zentrale Thunks
- Nicht benötigte Dateien (
fetchGisStatusStationsService.js,fetchGisStatusStationsThunk.js,gisStationsStaticSlice.js) entfernt
- Redux DevTools zeigen saubere States mit
status: "succeeded"für alle vier aktiven GIS-Quellen
[1.1.122] – 2025-05-20
Documentation
- 📄 Für alle Service-Dateien wurde Markdown-Dokumentation erstellt (
/docs/services/) - Jede
.md-Datei enthält:- Kurzbeschreibung der Funktion
- Beschreibung der URL-Parameter und Rückgabewerte
- Zweck im Projektkontext
- Exportiert als ZIP zur Weitergabe und Integration
Strukturierte Services dokumentiert:
- WebServices:
fetchGisStationsMeasurementsServicefetchGisStationsStaticDistrictServicefetchGisStationsStatusDistrictServicefetchGisStatusStationsServicefetchGisSystemStaticServicefetchUserRightsService
- Datenbank-APIs:
fetchDeviceNameByIdServicefetchPoiDataServiceupdateLocationInDatabaseService
- Utilities:
fetchWithTimeout
Motivation
- 🧠 Klare Trennung zwischen Logik und Dokumentation
- 📦 Unterstützt Wartung, Teamarbeit und Onboarding
- ✅ Dokumentation vollständig unabhängig vom Code nutzbar
[1.1.120] – 2025-05-20
Refactor
- 🔁 Alle Webservice- und Datenbank-Fetches vollständig auf strukturierte Service-Dateien umgestellt
- Einheitliches Schema für Servicenamen:
fetchXyzService.js - Webservice-Dateien erwarten keine Importe mehr, sondern holen
?mund?udirekt aus der URL
Struktur
/services/webservice/→ für TALAS WebServices (Port 80)- z. B.
fetchGisSystemStaticService.js,fetchGisStationsMeasurementsService.js
- z. B.
/services/database/→ für API-Fetches von Next.js (Port 3000)- z. B.
fetchDeviceNameByIdService.js,updateLocationInDatabaseService.js
- z. B.
/services/utils/→ z. B.fetchWithTimeout.js
Cleanup
- ❌ Veraltete Hooks entfernt:
useFetchWebServiceMap,setGisSystemStaticLoaded, etc. - 🧼 Nicht verwendete Service-Imports aus
MapComponent.jsbereinigt - ❌ Datei
PoiUtils.jsgelöscht (nicht verwendet)
Motivation
- ✅ Klare Trennung zwischen Webservice- und DB-Logik
- 🧠 Bessere Lesbarkeit im Code durch Postfix
Service - 👨💻 Einfache Navigation & Wartbarkeit der Anwendung
[1.1.117] – 2025-05-20
Changed
- 🔁 Projektstruktur unter
/services/neu organisiert nach Datenquelle:/services/webservice/für TALAS-WebServices (Port 80)/services/database/für eigene Next.js-APIs (Port 3000)/services/utils/für Hilfsfunktionen (z. B.fetchWithTimeout)
- Alle Service-Dateien konsistent benannt nach Schema:
fetchXyzService.js - Beispiel:
fetchGisStationsMeasurementsService.js,fetchPoiData.js,updateLocationInDatabase.js
Motivation
- ✅ Bessere Übersicht nach Quelle und Verantwortung
- 📦 Klare Trennung zwischen WebService-Fetch und App-APIs
- 👨💻 Erleichtert das Onboarding und Debugging
[1.1.108] – 2025-05-20
Removed
- 🧼 Alte POI-Komponenten gelöscht:
AddPoiModalWindowWrapper.jsPoiUpdateModalWrapper.jsPoiUpdateModalWindow.js
- Ersetzt durch moderne Komponenten mit direkter Redux-Anbindung (
ShowAddStationPopup,PoiUpdateModal)
Cleanup
- MapComponent.js nutzt jetzt ausschließlich
ShowAddStationPopupfür das Hinzufügen von POIs - Kein indirekter Wrapper oder Popup-Overhead mehr nötig
Fixed
- Verwirrende doppelte Komponentenbenennungen bereinigt
[1.1.104] – 2025-05-19
Removed
- 🧼
useUpdateGmaData.jsentfernt (Redundant zugisStationsMeasurementsSlice)
Refactor (geplant)
useLineData.jsunduseMapComponentState.jssollen weiter in Redux-Slices überführt werden
[1.1.103] – 2025-05-19
Changed
- 🔁
MapComponent.jsüberarbeitet:usePoiTypDataentfernt- POI-Typen werden jetzt über Redux (
poiTypesSlice) geladen - Zustand
isPoiTypLoadeddurch Reduxstatus === "succeeded"ersetzt
- 🔧 Redux-Selektor und
dispatch(fetchPoiTypes())ergänzt für automatisches Laden
Fixed
- ✅ Fehler "Cannot access 'isPoiTypLoaded' before initialization" behoben
- Build funktioniert wieder nach Hook-Löschung
[1.1.101] – 2025-05-19
Removed
- 🧼 Redundante React-Hooks entfernt, da Funktionalität vollständig in Redux abgebildet ist:
useFetchPriorityConfig.jsuseFetchUserRights.jsuseFetchWebServiceMap.jsuseFetchLineStatusData.js
Refactor
- 🔁 Vorbereitung zur Aufteilung von
useLineData.jsunduseMapComponentState.jsin separate Redux-Slices & spezialisierte Hooks - 🟡 Validierte React-Hooks beibehalten (z. B. Marker-Handling & Layer-Logik)
[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/
- Alle aktiven Redux-Slices als
- 🌐 Neue Markdown-Dateien u. a. für:
poiTypesSlice,urlParameterSlice,zoomTriggerSlicegisStationsStaticSlice,gisSystemStaticSlice, ...polylineLayerVisibleSlice,polylineContextMenuSlice, ...
- Jede Datei enthält:
- Initialzustand, Aktionen, Beispielverwendung, Pfadreferenz
Changed
README.md: Hinweis auf neue Dokumentationsstruktur ergänztCHANGELOG.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.mdzu SharePoint-Ordner für interne Tool-Downloads eingefügt - Projektstruktur aufgeräumt – Installationsdateien blähen Git-Verlauf nicht mehr auf
- Hinweis in
README.mdzu Projektorganisation, Tool-Voraussetzungen und Linkstrategie ergänzt
[1.1.97] – 2025-05-19
Changed
- Recoil vollständig aus dem Projekt entfernt:
_app.js:RecoilRootentferntpackage.json:recoildeinstalliertpackage-lock.json: Recoil-Abhängigkeiten entfernt
- Projekt verwendet ausschließlich Redux mit
@reduxjs/toolkit README.mdaktualisiert:- 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 dokumentiertWiki.mdals veraltet markiert, da alle Dokumentationen in/docs/konsolidiert sind
Removed
recoilauspackage.jsonundnode_modules- Erwähnungen von Recoil in Projekt-Dokumentation
[1.1.95] – 2025-05-19
Changed
- Letzter Recoil-Hook in
useMarkerLayers.jsentfernt:useRecoilValue(mapLayersState)ersetzt durchuseSelector(selectMapLayersState)
- Redux-Selektor
selectMapLayersState()ausmapLayersSlice.jsverwendet - Projekt ist jetzt vollständig Recoil-frei und nur noch Redux-basiert
[1.1.94] – 2025-05-19
Changed
useCreateAndSetDevices.jsvollständig von Recoil auf Redux umgestellt:useRecoilState(polylineEventsDisabledState)entfernt- Stattdessen Zugriff über
useSelector(state => state.polylineEventsDisabled.disabled)
- Redux-Slice
polylineEventsDisabledSlice.jsfinal integriert - Rückgabe von
setPolylineEventsDisabledentfernt, da Zustand nun global über Redux verwaltet wird
[1.1.93] – 2025-05-19
Changed
- Letzte Recoil-Reste entfernt:
AddPoiModalWindow.jsnutztdispatch(incrementTrigger())stattuseSetRecoilState(...)
- Vollständige Migration zu Redux abgeschlossen für
poiReadFromDbTriggerSlice mapLayersVisibilityinAddPoiModalWindow.jskorrekt viauseSelector(...)aus Redux gelesen
Removed
- Recoil vollständig aus Projekt entfernt
[1.1.91] – 2025-05-19
Changed
- Recoil-Atoms
selectedPoiStateundcurrentPoiStatevollständig durch Redux ersetzt - Neue Redux-Slices:
selectedPoiSlice– verwaltet aktuell ausgewählten POIcurrentPoiSlice– verwaltet POI zur Anzeige im Bearbeitungsdialog
PoiUpdateModal.jsumgestellt aufuseSelector(...)für beide Zuständestore.jsumselectedPoiReducerundcurrentPoiReducererweitert
Removed
useRecoilValue(currentPoiState)unduseRecoilValue(selectedPoiState)ausPoiUpdateModal.js
[1.1.90] – 2025-05-19
Changed
- Redux-Slice
urlParameterSlice: Standardwerte fürmapIdunduserIdentferntmapIdunduserIdstarten jetzt mitnullstatt"10"/"484"
[1.1.89] – 2025-05-19
Changed
- Recoil-Atoms
mapIdStateunduserIdStateentfernt - Stattdessen: Umstellung auf Redux-Slice
urlParameterSlice MapComponent.jsverwendet jetzt:useSelector(...)fürmapIdunduserIddispatch(setMapId(...)),dispatch(setUserId(...))inuseEffect
- Redux-Store erweitert um
urlParameterReducer
Removed
- Recoil-Import
useRecoilState(mapIdState / userIdState)entfernt ausMapComponent.js
[1.1.88] – 2025-05-19
Changed
- Recoil-Atom
zoomTriggerStatevollständig durch ReduxzoomTriggerSliceersetzt - Betroffene Komponenten:
MapComponent.js– liestzoomTriggeraus ReduxuseSelector(...)DataSheet.js– verwendetdispatch(incrementZoomTrigger())bei Icon-Klick
- Redux-Store erweitert um
zoomTriggerReducer
Removed
- Entfernt:
useRecoilState(zoomTriggerState)inDataSheet.js - Entfernt:
useRecoilValue(zoomTriggerState)inMapComponent.js
[1.1.86] – 2025-05-17
Changed
- Recoil-State
selectedAreaStatevollständig entfernt - Umstellung auf Redux:
selectedAreaSlice.js→ zentrale Steuerung des Bereichs (Area)DataSheet.js– setztsetSelectedArea(...)über ReduxMapComponent.js– liestselectedAreaaus Redux und zentriert Karte
[1.1.85] – 2025-05-17
Changed
- Recoil-Atom
readPoiMarkersStorevollständig durch Redux-Slice ersetzt - Betroffene Komponenten:
index.js– verwendetuseSelectorunddispatch(setPoiMarkers(...))stattuseRecoilStateAddPOIModal.js– entfernt Recoil, nutzt jetzt ReduxsetPoiMarkers(...)(optional)
- Redux-Store aktualisiert:
- Slice
readPoiMarkersStoreSliceeingebunden
- Slice
Added
- Redux-Slice
readPoiMarkersStoreSlice.jsmit Actions:setPoiMarkers(data)clearPoiMarkers()
[1.1.84] – 2025-05-17
Changed
- Recoil-Atom
polylineEventsDisabledStateentfernt - Migration zu Redux-Slice
polylineEventsDisabledSliceabgeschlossen - Betroffene Komponenten und Funktionen:
MapComponent.js–useSelector(state => state.polylineEventsDisabled.disabled)verwendetinitializeMap.js– Callback-Funktion(value) => dispatch(setDisabled(value))übergebenuseCreateAndSetDevices.js– Verwendung vonuseRecoilStateentfernt (ToDo: an Redux anpassen)
Added
- Neue Redux Actions:
setDisabled,toggleDisabledinpolylineEventsDisabledSlice.js
ToDo
useCreateAndSetDevices.jsnutzt nochuseRecoilState, muss ggf. refaktoriert werden
[1.1.83] – 2025-05-17
Changed
poiReadFromDbTriggerAtomdurch ReduxpoiReadFromDbTriggerSliceersetzt- Alle Komponenten migriert:
index.js– nutzt jetztuseSelectorfür TriggerAddPoiModalWindow.js– verwendetdispatch(incrementTrigger())AddPOIModal.js– entfernt Recoil, setzt Trigger mit ReduxMapComponent.js– liest Trigger-Zustand via Redux statt Recoil
Removed
- Entfernt: alle
useSetRecoilState(...)unduseRecoilValue(...)fürpoiReadFromDbTriggerAtom
Added
- Neue Redux Actions:
incrementTrigger,resetTriggerinpoiReadFromDbTriggerSlice.js
[1.1.82] – 2025-05-17
Changed
- Recoil-Zustand
poiLayerVisibleStatevollständig durch ReduxpoiLayerVisibleSliceersetzt - Betroffene Komponenten:
useMapComponentState.js– Zugriff viauseSelectorstattuseRecoilValueMapComponent.js– Zugriff aufpoiLayerVisibleüber ReduxDataSheet.js–useRecoilStateentfernt,dispatch(setVisible(...))integriert
- Redux-Store (
store.js) erweitert umpoiLayerVisibleReducer
Removed
- Recoil-Atom
poiLayerVisibleStateentfernt
Added
- Neue Redux Actions:
setVisible,toggleVisibleinpoiLayerVisibleSlice.js
[1.1.78] – 2025-05-17
Changed
fetchGisStatusStations.js:- feste URL-Variable
NEXT_PUBLIC_SERVER_URLentfernt - stattdessen dynamische URL-Berechnung per
NEXT_PUBLIC_API_PORT_MODE - Zugriff auf Webservice
GisStationsStatusDistrictfunktioniert jetzt ohne.env.local
- feste URL-Variable
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_URLentfernt - dynamische Proxy-Zieladresse per
NEXT_PUBLIC_API_PORT_MODEdefiniert (dev vs. prod) - Konfiguration via
http-proxy-middlewarevereinfacht
- feste Umgebungsvariable
Added
- Dokumentation erstellt:
docs/server/pages/api/apiProxy.md
[1.1.76] – 2025-05-17
Changed
config.jsangepasst:- Entfernt:
NEXT_PUBLIC_SERVER_URLaus.env.local - Dynamische Berechnung von
serverURLanhandwindow.location+NEXT_PUBLIC_API_PORT_MODE - Zugriff auf Webservices funktioniert jetzt automatisch abhängig von Entwicklungs-/Produktionsumgebung
- Entfernt:
Added
- Dokumentation ergänzt:
docs/frontend/config/config.md
[1.1.75] – 2025-05-17
Changed
setupPolylines.jsundcreateAndSetDevices.jsüberarbeitet:- Entfernt:
NEXT_PUBLIC_BASE_URLaus.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
- Entfernt:
Added
- Dokumentation hinzugefügt:
docs/frontend/utils/polylines/setupPolylines.mddocs/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.jsvereinheitlicht:- zentrale API-Port-Logik über
.env.local(NEXT_PUBLIC_API_PORT_MODE) - URL-Parameter
idMapundidUserwerden dynamisch aus?m=...&u=...extrahiert - Webservice-Aufruf wird korrekt über
GisStationsStatusDistrictaufgebaut
- zentrale API-Port-Logik über
Added
- Dokumentation ergänzt:
docs/frontend/redux/api/fromWebService/fetchGisStationsStatusDistrict.md
[1.1.72] – 2025-05-17
Changed
fetchGisStationsStaticDistrict.jsaktualisiert:- zentrale Steuerung der API-Port-Logik über
.env.local(NEXT_PUBLIC_API_PORT_MODE) - Übergabe von
idMapundidUserüber URL-Parameter?m=...&u=... - Webservice-Endpunkt dynamisch zusammengesetzt
- zentrale Steuerung der API-Port-Logik über
Added
- Dokumentation erstellt:
docs/frontend/redux/api/fromWebService/fetchGisStationsStaticDistrict.md
[1.1.71] – 2025-05-17
Changed
fetchGisStationsStatic.jsaktualisiert:- 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
- zentrale Steuerung der API-Port-Logik über
Added
- Dokumentation hinzugefügt:
docs/frontend/redux/api/fromWebService/fetchGisStationsStatic.md
[1.1.70] – 2025-05-17
Changed
fetchGisSystemStatic.jsumgestellt auf zentrale Port-Logik überNEXT_PUBLIC_API_PORT_MODEfetchGisStationsMeasurements.jsebenfalls angepasst mit gleicher URL-/Port-Strategie- Beide Funktionen lesen
idMapundidUsernun direkt aus der URL (?m=...&u=...)
Added
- Neue Dokumentation:
docs/frontend/redux/api/fromWebService/fetchGisSystemStatic.mddocs/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_3000entfernt - API-URL wird nun dynamisch per
window.location.hostname:3000gesetzt .env.localbereinigt: keine API-URL mehr nötig- Betroffene Dateien:
useFetchPoiData.jspoiTypesSlice.js
[1.1.65] – 2025-05-15
Changed
idMapundidUserwerden nicht mehr aus.env.localgelesen, sondern ausschließlich über die URL übergeben (z. B. von TALAS.web).- Entfernt: Fallback-Variablen
NEXT_PUBLIC_DEFAULT_ID_MAPundNEXT_PUBLIC_DEFAULT_ID_USER. - Dokumentation in
docs/redux/api/fromWebService.mdentsprechend 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.