- Alle Vorkommen von process.env.NEXT_PUBLIC_DEBUG_LOG entfernt
- Debug-Konfiguration erfolgt jetzt ausschließlich über public/config.json
- getDebugLog()-Utility überall verwendet
- .env-Dateien werden für Debug-Logging nicht mehr benötigt
- Alle betroffenen Komponenten, Services und API
- minZoom, maxZoom, center, zoomOutCenter und basePath in config.json konfigurierbar gemacht
- Kommentare zur Erklärung als _comment-Felder ergänzt
- initializeMap.js und zoomAndCenterUtils.js angepasst, um Werte aus config.json zu lesen
- OSM-Standards für Zoom-Stufen dokumentiert
basePath wird jetzt in config.json gepflegt statt als NEXT_PUBLIC_BASE_PATH in .env.*
Alle relevanten Code-Stellen lesen basePath dynamisch aus config.json
Dokumentation und Beispiele in Markdown-Dateien entsprechend angepasst
Erhöhte Flexibilität für Deployments ohne Rebuild
- Refactored initializeMap to accept the DOM node instead of the ref object
- Updated all checks to use the DOM node directly
- Improved useInitializeMap to only call initializeMap when the container is ready
- Prevents "mapRef.current ist nicht definiert oder nicht im DOM" errors
- Ensures map is only initialized when the container is attached
- Fehler beim mehrfachen Initialisieren der Leaflet-Map wird nun abgefangen
- Anwendung zeigt keine störende Fehlermeldung mehr im Frontend
- Verbesserte Nutzererfahrung beim Laden und Aktualisieren der Karte
- `createAndSetDevices.js` angepasst, sodass Marker auch ohne `statusDistrictData` erzeugt werden.
- Problem behoben, dass Marker wie GMA trotz vorhandener Koordinaten und Sichtbarkeit nicht gezeichnet wurden.
- Sicherheitsprüfung für Statusdaten optional gemacht, um Systems ohne Messdaten darzustellen.
- POI-Tooltip zeigt jetzt den korrekten Gerätenamen aus Redux (gisStationsStaticDistrict)
- Bearbeitungsmodal (PoiUpdateModal) verwendet Redux-Daten (idLD → Gerätelabel) zur Initialisierung
- Fix: Geräte-Dropdown im Modal zeigt nun den ausgewählten POI korrekt an
- Refactor: `handleUpdatePoi()` nutzt `description` statt `name`
- Fehlerbehandlung im Modal verbessert (alert bei leerem Feld, besseres Logging)
- Redux-Thunk `updatePoiThunk` + `updatePoiService` stabilisiert
- Map aktualisiert POIs nach Bearbeitung automatisch
📦 Version erhöht auf 1.1.253
🗓️ 11.06.2025
- setupPOIs.js angepasst: Gerätedaten (LD_Name) aus GisStationsStaticDistrict verwendet
- MapComponent.js übergibt WebService-Geräte (`Points`) als gisDevices an setupPOIs
- PoiUpdateModal.js nutzt LD_Name für react-select Dropdown statt name aus DB
- Dropdown-Anzeige und Tooltip-Daten für POIs nun konsistent mit WebService-Geräteliste
- WebSocket sendet aktualisierte Webservice-Daten (GisLinesStatus, GisStationsStaticDistrict, GisStationsMeasurements)
- Redux-Thunk wird durch WebSocket ausgelöst → Redux Store aktualisiert
- `useDynamicDeviceLayers` & `createAndSetDevices` reagieren auf neue Redux-Daten
- UI wird nun zuverlässig neu gerendert, wenn sich Marker-Daten ändern
- Verbesserte Stabilität und Konsistenz zwischen Datenquelle, Redux und UI
- Webservice-Antworten werden nun korrekt mit vorherigen Daten verglichen
- Bei Änderungen wird automatisch eine neue JSON-Datei unter /debug erstellt
- Keine Datei-Erstellung bei identischen Antworten
- Funktion `saveJsonIfChanged` erfolgreich in utils/websocket ausgelagert
- Umgebungsvariablen klar getrennt: .env.development für dev, .env.production für Build
- Verhindert versehentliche Verwendung von .env.local bei next build
- Build-Umgebung verwendet jetzt korrekt .env.production
- monitorHeapAndReload() in /utils/common/monitorMemory.js ausgelagert
- automatische Heap-Prüfung im 10s-Intervall in MapComponent integriert
- reload bei Überschreitung von 8 GB Heap zur Stabilisierung bei Langzeitbetrieb
- useEffect-Cleanup ergänzt mit clearInterval für sauberes Entfernen bei Unmount
- Ziel: frühzeitige Entlastung vor möglichem Memory Overflow
- cleanupMarkers() Utility in /utils/common/cleanupMarkers.js erstellt
- Marker-Cleanup in MapComponent.js vor createAndSetDevices() integriert
- createAndSetDevices.js von Cleanup-Verantwortung befreit (reine Erzeugung)
- setupPOIs.js erweitert um cleanupMarkers() vor Layer-Neuerstellung
- poiUtils.js und markerUtils.js angepasst: cleanupMarkers() ersetzt .remove()
- Memory Leaks durch verwaiste Tooltips, Events und Marker behoben
- Grundlage für wiederverwendbare Marker-Cleanup-Logik für POIs, Geräte, Linien geschaffen
- Externe Webservices von TALAS V5 integriert und geprüft (Statuscode + Antwortstruktur)
- Eigene API-Endpunkte wie /api/talas_v5_DB/getDevices hinzugefügt und validiert
- Prüfung von NEXT_PUBLIC_USE_MOCKS zur Vermeidung von Mockdaten in Produktion
- Validierung der Umgebungsvariablen wie DB_HOST, DB_NAME und NODE_ENV ergänzt
- Response-Status 200 bei vollständigem Erfolg, 207 bei Teilfehlern
- Verbesserung der JSON-Antwortstruktur zur einfacheren Analyse
- createAndSetDevices.js erweitert mit dynamischer GMA-Zuordnung
- Tooltip für System 11 zeigt LT, FBT, GT, RLF
- GMA-Zuordnung über gmaMap basierend auf Na und IdLD
- Version auf 1.1.232 erhöht
error: src refspec tags does not match any
error: failed to push some refs to 'http://10.10.0.12:3000/ISA/nodeMap'
PS C:\Users\isa.LTW\Desktop\02.06.2025\NodeMap\02.06.2025 NodeMap>
- Tooltip mit Temperatur, FBT, GT und RLF aus gisStationsMeasurements.js
- Tooltip dauerhaft sichtbar rechts über dem GMA-Marker
- bestehende Popup-Funktionalität bleibt erhalten
- Refactoring in createAndSetDevices.js zur besseren Wartbarkeit
- useCreateAndSetDevices und useDynamicDeviceLayers eingebunden
- Marker werden nun korrekt bei OMS registriert
- Klick auf Plus-Icon spiderfied überlappende Marker
- useDynamicDeviceLayers um oms erweitert
- checkOverlappingMarkers optimiert für dynamische Marker-Gruppen
- Fehlerbehandlung für ungültige Marker-Typen ergänzt
- alle festen "/talas5/" Pfade entfernt
- dynamischer basePath für API-Links und Station öffnen
- README.md und CHANGELOG.md aktualisiert
- Version erhöht auf 1.1.188
- updatePolylineCoordinatesThunk in markerUtils.js und poiUtils.js eingebunden
- zentrale Hilfsfunktion savePolylineRedux erstellt
- fetch() entfernt, Version auf 1.1.183 erhöht
- bindPopup entfernt und durch bindTooltip ersetzt
- Tooltip zeigt POI-Details bei Hover
- Tailwind-Klassen sorgen für einheitliches Design (rund, schatten, padding)
- Version auf 1.1.177 erhöht
- Fehler behoben: Alle POIs zeigten immer dasselbe Icon (z. B. poi-marker-icon-4.png)
- Ursache: In setupPOIs.js wurde iconPath fälschlich anhand von idPoiTyp gesucht, obwohl nur idPoi verfügbar war
- Lösung: Icon-Zuordnung erfolgt jetzt über Mapping idPoi → path (Map)
- Kein Backend-Änderung nötig
- Standard-Icon wird verwendet, wenn kein Eintrag im Mapping vorhanden ist
# Version: 1.1.166
- idPoiTyp an Marker übergeben und in handleEditPoi verwendet
- Dropdown-Zuweisung in PoiUpdateModal.js über Redux poiTypData
- Version erhöht auf 1.1.164
- Rechteprüfung auf .some(r => r.IdRight === 56) umgestellt
- Bug in PoiUpdateModal behoben (falscher fetchLocationDevices Import)
- Modal öffnet sich nur mit gültigem Bearbeitungsrecht
- Version auf 1.1.159 erhöht
- alle Importe und Aufrufe von config.js entfernt
- Webservices nutzen direkt window.location + NEXT_PUBLIC_API_PORT_MODE
- zentrale Konfigurationsstrategie über .env.local abgeschlossen
- ersetzt Zugriff auf json.Lines durch json.Statis
- behebt leeren Redux-State bei Linienstatus
- Daten aus Webservice fließen jetzt korrekt in gisLinesStatusSlice
- lösche nicht mehr benötigte oder veraltete Funktionen aus utils.js
- verschiebe relevante Logik in Dateien wie mapUtils.js
- entferne alle Importe von utils.js im gesamten Projekt
- vereinfache die Projektstruktur und reduziere Duplikate
- createAndSetDevices.js angepasst: Datenbezug jetzt nur noch über Redux-Store (Selectoren)
- fetch aus config.js entfernt (keine Verwendung von mapGisStationsStaticDistrictUrl mehr)
- MapComponent.js und useDynamicMarkerLayers.js entsprechend aktualisiert
- Fehlerbehandlung verbessert („Redux enthält keine gültigen Geräte-/Statusdaten“)
- CHANGELOG.md aktualisiert auf Version 1.1.139