Commit Graph

574 Commits

Author SHA1 Message Date
Ismail Ali
a55b5b0189 feat: WebSocket durch Socket.io 2025-06-07 07:32:14 +02:00
Ismail Ali
368f1ae095 ws webSocket test 2025-06-06 21:33:54 +02:00
ISA
b6a946660a feat: EditModeToggle zeigt deaktiviertes Icon bei fehlender Bearbeitungsberechtigung (Right 56) 2025-06-06 14:10:40 +02:00
ISA
51d2d58f8e ♻️ Refactor: cleanupMarkers util eingeführt für alle Marker-Typen + Feature: Heap-Memory-Monitoring über Redux-Slice mit Auto-Reload bei >8GB 2025-06-06 11:36:06 +02:00
ISA
1ec0a8a611 feat: automatische Heap-Überwachung integriert mit Reload bei Überschreitung
- 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
2025-06-06 11:05:33 +02:00
ISA
f7f7122620 feat: Marker-Cleanup zur Vermeidung von Memory Leaks implementiert
- 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
2025-06-06 10:21:56 +02:00
ISA
ec31b36b3d feat: Healthcheck um Webservices, API-Routen und .env-Prüfungen erweitert
- 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
2025-06-05 15:23:59 +02:00
ISA
9273195d8f docs: Screenshots in README.md 2025-06-05 11:28:56 +02:00
ISA
f4342e17ef feat(gma): GMA-Werte aus Measurements-Redux im Marker-Tooltip angezeigt
- 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
2025-06-04 12:14:14 +02:00
ISA
d80b36cb2d feat(mock): zentrale Mock-API-Struktur eingeführt mit .env-Steuerung
- Mock-API-Endpunkte unter pages/api/mocks/webservice erstellt (JSON-basiert)
- Zentrale Variable NEXT_PUBLIC_USE_MOCKS zur Modussteuerung eingeführt
- fetchGis*-Services rufen je nach Modus reale oder Mockdaten ab
- Alert-Hinweis im UI für aktive Mockumgebung eingebaut
- .env.production sichert produktives Verhalten (Mocks deaktiviert)
- mockData-Verzeichnis via .gitignore vom Repo ausgeschlossen
- appVersion.js auf 1.1.231 erhöht
2025-06-04 11:18:44 +02:00
ISA
569790d35f fix: Marker-Duplikate & Spiderfy repariert | version 1.1.230 2025-06-04 08:23:55 +02:00
ISA
66afc1cee7 cleanup: veraltete datei für Layers gelöscht 2025-06-04 07:52:12 +02:00
ISA
5cf84fb14e fix: Gerätemarker-Sichtbarkeit an Redux-Layerzustand gekoppelt
- Hardcodiertes Zeichnen der Gerätemarker beim Initialisieren entfernt
- Sichtbarkeitssteuerung vollständig über mapLayersVisibility aus Redux umgesetzt
- Dynamische Layererzeugung aus GisSystemStatic integriert
- Marker werden nur angezeigt, wenn zugehöriger Layer aktiv ist
2025-06-04 07:08:35 +02:00
ISA
be2da8414c git commit -m "refactor: Gerätelayer dynamisch über IdSystem initialisiert
BREAKING CHANGE: Sichtbarkeit der Gerätegruppen basiert nun auf 'system-<IdSystem>' statt auf Namen wie 'SMSFunkmodem'. Statische Layer-Konfiguration im Redux-Slice entfernt."
2025-06-02 09:00:49 +02:00
ISA
313fc24a97 Dynamische Marker-Verwaltung in MapComponent.js 2025-05-28 14:50:59 +02:00
ISA
fe3ecaa900 feat(map): OMS (OverlappingMarkerSpiderfier) vollständig integriert
- 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
2025-05-28 14:23:11 +02:00
ISA
85924e575f wip: Dynamische Layers /Geräte Gruppen Erkennung , overlapping funktioniert es noch nicht 2025-05-28 13:57:34 +02:00
Ismail Ali
97fbb6fdc1 docs 2025-05-27 19:41:17 +02:00
ISA
a19bf96843 fix(ui): Dropdown in MapLayersControlPanel zeigt jetzt Stationen/Bereiche korrekt an
- Zugriff auf GisStationsStaticDistrict.Points korrigiert
- Verhindert leere Dropdown-Liste bei gültigen Daten
- Neue Markdown-Dokus für UI-Komponenten erstellt (MapLayersControlPanel, EditModeToggle, VersionInfoModal, CoordinateInput)
- Version auf 1.1.190 gesetzt
2025-05-27 14:12:01 +02:00
ISA
44cb27ce0f refactor(area): Bereichsaktualisierung von util auf Redux umgestellt
- updateAreaUtil.js entfernt
- updateAreaService, updateAreaThunk, updateAreaSlice eingeführt
- useAreaMarkersLayer nutzt jetzt updateAreaThunk
- MapComponent umgestellt auf Redux-Dispatch
- Version erhöht auf 1.1.182
2025-05-27 07:55:12 +02:00
ISA
5dea7f3e5d refactor(poiTypes): fetch-Logik aus Slice entfernt, fetchPoiTypThunk korrekt eingebunden
- fetchPoiTypes aus poiTypesSlice entfernt
- fetchPoiTypThunk.js + Service verwendet
- dispatch-Aufrufe in Komponenten angepasst
- Fehler "is not a function" beseitigt
- Version auf 1.1.180 erhöht
2025-05-26 14:54:39 +02:00
ISA
cd46401f14 fix(poi): Fehler beim Hinzufügen von POIs behoben (Modal blieb offen)
- Falsche URL im addPoiService korrigiert (/addLocation → /addPoi)
- Redux-Status wird nach erfolgreichem Hinzufügen zurückgesetzt (resetAddPoiStatus)
- Modal schließt jetzt zuverlässig nach dem Dispatch
- Ladeanzeige "Wird hinzugefügt..." verschwindet korrekt
- Version auf 1.1.176 erhöht
2025-05-26 13:52:17 +02:00
ISA
bbca980b5b refactor(hooks): useMapComponentState vollständig auf Redux umgestellt
- fetch-Aufrufe entfernt und durch Redux-Selektoren ersetzt
- poiTypData über poiTypSlice + fetchPoiTypThunk geladen
- locationDeviceData über gisStationsStaticDistrictThunk
- priorityConfig über Redux mit fetchPriorityConfigThunk integriert
- poiLayerVisible direkt aus Redux-State gelesen
- Version auf 1.1.173 erhöht
2025-05-26 11:42:11 +02:00
ISA
03a1f480e0 refactor 2025-05-26 11:12:45 +02:00
ISA
7c8a553235 refactoring 2025-05-26 10:11:58 +02:00
ISA
8034e28a45 refactoring 2025-05-26 10:04:08 +02:00
ISA
90db829095 refactoring 2025-05-26 09:14:13 +02:00
ISA
34f460902e refactoring 2025-05-26 09:05:31 +02:00
Ismail Ali
0d59fff439 User Rights include 56: 2025-05-25 11:20:35 +02:00
Ismail Ali
fc6a706769 refactor: POI aktualisieren auf updatePoiThunk + ID aus react-select umgestellt
- Thunk getDeviceIdByNameThunk entfernt
- idLD direkt aus Dropdown gelesen
- updatePoiThunk + updatePoiService vollständig eingebunden
- Fehlerbehandlung in handleSubmit verbessert
- Version erhöht auf 1.1.162
2025-05-24 09:18:34 +02:00
ISA
b69a3efae3 refactor: POI-Löschfunktion über Redux Thunk deletePoiThunk umgesetzt
- fetch("/deletePoi") in PoiUpdateModal entfernt
- deletePoiService + deletePoiThunk eingeführt
- Kein Redux Slice nötig, da kein Status gespeichert wird
- Version auf 1.1.161 erhöht
2025-05-23 14:28:10 +02:00
ISA
96b36eb706 refactor: PoiUpdateModal auf Redux poiTypSlice umgestellt
- fetch(...) durch fetchPoiTypThunk ersetzt
- Zugriff auf POI-Typen über selectPoiTypData
- Code vereinheitlicht mit AddPOIModal.js
- Version erhöht auf 1.1.160
2025-05-23 14:08:37 +02:00
ISA
28dd0006bc fix: POI-Bearbeiten-Rechte geprüft, Kontextmenü & Modal korrigiert
- 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
2025-05-23 13:49:57 +02:00
ISA
e8f3ed3674 feat: AddPOIModal auf Redux umgestellt, Icon-Problem nach POI-Erstellung behoben
- fetch durch addPoiThunk ersetzt
- Icon-Nachladen über fetchPoiIconsDataThunk integriert
- Modal schließt sich nach erfolgreichem Hinzufügen zuverlässig
- reload entfernt, Statushandling über Redux-Slice `addPoiSlice`
- Version erhöht auf 1.1.158
2025-05-23 13:13:24 +02:00
ISA
a8a0efa8ea refactor: POI-Typ-Fetch in AddPOIModal auf Redux umgestellt
- Manuelle fetch-Anfrage zu /api/talas_v5_DB/poiTyp/readPoiTyp entfernt
- Stattdessen fetchPoiTypes Redux-Thunk verwendet
- Initialwert für poiTypeId weiterhin über useEffect gesetzt
- Code vereinfacht und zentral über Redux-Store verwaltet
2025-05-23 11:56:28 +02:00
ISA
62c508e2c3 cleanup: MapComponent.js 2025-05-23 11:34:53 +02:00
ISA
cb2e038a84 refactor: useRestoreMapSettings entfernt und direkt in MapComponent integriert
- redundante Hook gelöscht
- restoreMapSettings direkt per useEffect in MapComponent verwendet
- mehr Klarheit durch Vereinfachung der Map-Initialisierung
2025-05-23 11:22:23 +02:00
ISA
0a1c0e5fbe refactor: POI-Daten vollständig in Redux integriert
- useFetchPoiData.js entfernt
- Neue Redux-Slices für POI-Typen und POI-Icons erstellt
- Neue Services und Thunks hinzugefügt
- fetch-Aufrufe durch zentralisierte Redux-Logik ersetzt
- store.js aktualisiert und neue States registriert
2025-05-23 11:14:13 +02:00
ISA
08679761fb chore: entferne AddPOIOnPolyline-Komponente 2025-05-23 09:19:36 +02:00
ISA
8cb995040d refactor and cleanup 2025-05-23 08:36:38 +02:00
ISA
41e270cc53 refactor: entferne manuelles fetchGisStationsMeasurements und nutze Redux-Store
- entferne alten updateGmaData useEffect aus MapComponent.js
- verwende gisStationsMeasurements-Daten direkt aus Redux-Slice
- setze useSelector statt useState für GisStationsMeasurements
- beseitigt Fehler beim Abrufen der GMA-Daten in der Konsole
- vereinheitlicht Datenfluss über Redux Toolkit
2025-05-22 15:14:42 +02:00
ISA
b48a5b2b58 chore: config.js entfernt – Konfiguration zentral über .env.local
- alle Importe und Aufrufe von config.js entfernt
- Webservices nutzen direkt window.location + NEXT_PUBLIC_API_PORT_MODE
- zentrale Konfigurationsstrategie über .env.local abgeschlossen
2025-05-22 15:02:57 +02:00
ISA
ef3c511694 feat: lade Linienstatusdaten vollständig aus Redux Store
- Entferne direkte Verwendung von `webserviceGisLinesStatusUrl` aus config.js
- Nutze `useLineData()` mit Redux-Toolkit Store
- Baue URL intern in fetchGisLinesStatusService.js dynamisch auf
- Optimiere Tooltip-Generierung aus Webservice-Daten
2025-05-22 14:27:52 +02:00
ISA
72de632c86 refactor: userRights mit Redux umgesetzt, useLoadUserRights entfernt
- Thunk fetchUserRightsThunk in MapComponent verwendet
- Redux-Slice gisUserRightsFromWebservice selektiert
- useLoadUserRights Hook entfernt
- Zustand isRightsLoaded und hasRights in Redux integriert
- MapComponent vollständig auf Redux umgestellt
2025-05-22 13:40:25 +02:00
ISA
0a0e63feef cleanup: MapComponent.js 2025-05-22 13:25:30 +02:00
ISA
97ee76c5b5 fix: korrigiere fetchGisLinesStatusService für WebService-Antwort 'Statis'
- ersetzt Zugriff auf json.Lines durch json.Statis
- behebt leeren Redux-State bei Linienstatus
- Daten aus Webservice fließen jetzt korrekt in gisLinesStatusSlice
2025-05-22 11:30:03 +02:00
Ismail Ali
c4e5dad49f fix: GIS-Systeme im Control Panel sichtbar + Rename zu MapLayersControlPanel.js
- useEffect-Abhängigkeit um GisSystemStatic erweitert (Fix für leeres Control Panel nach Reload)
- DataSheet.js umbenannt in MapLayersControlPanel.js für bessere Verständlichkeit
- Version erhöht auf 1.1.136
2025-05-21 22:52:04 +02:00
Ismail Ali
7222237e46 fix: DataSheet control panel wird angezeigt 2025-05-21 22:42:56 +02:00
ISA
d003913741 cleanup: entferne mapGisStationsMeasurementsUrl aus config.js und veralteten fetch in MapComponent
- Redux-Thunk fetchGisStationsMeasurementsThunk übernimmt vollständige Steuerung
- fetchGisStationsMeasurementsService verwendet statt direkter URL-Konstante
- config.js um mapGisStationsMeasurementsUrl bereinigt
- Version erhöht auf 1.1.134
2025-05-21 15:34:43 +02:00
ISA
b0448339ab refactor: alte lokale States und ungenutzte Funktionen entfernt
- lineStatusData und setLinesData entfernt (durch Redux ersetzt)
- doppeltes fetchGisStationsMeasurementsThunk entfernt
- Kommentar-Altlasten bereinigt
- Vorbereitung für künftige Migration von lineColors zu Redux
2025-05-21 15:05:47 +02:00